File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -213,6 +213,38 @@ function getActivityNameByUuid($uuid, $dimensionsAggregated) {
213213}
214214
215215
216+ function getUuidByActivityName ($ activityName , $ dimensionsAggregated ) {
217+ $ activity = getActivityByActivityName ($ activityName , $ dimensionsAggregated );
218+ if ($ activity ) {
219+ return $ activity ["uuid " ];
220+ } else {
221+ return null ;
222+ }
223+ }
224+
225+
226+ function getActivityByActivityName ($ activityName , $ dimensionsAggregated ) {
227+ foreach ($ dimensionsAggregated as $ dimension => $ subdimensions ) {
228+ ksort ($ subdimensions );
229+ foreach ($ subdimensions as $ subdimension => $ elements ) {
230+ if (sizeof ($ elements ) == 0 ) {
231+ echo "unsetting $ subdimension \n" ;
232+ unset($ dimensionsAggregated [$ dimension ][$ subdimension ]);
233+ continue ;
234+ }
235+ if (substr ($ subdimension , 0 , 1 ) == "_ " ) {
236+ continue ;
237+ }
238+
239+ if (array_key_exists ($ activityName , $ elements )) {
240+ return $ elements [$ activityName ];
241+ }
242+ }
243+ }
244+ return null ;
245+ }
246+
247+
216248/**
217249 *
218250 * @param unknown $headings
Original file line number Diff line number Diff line change 4848} else {
4949 $ dimensionsAggregated = $ dimensions ;
5050}
51-
51+ $ errorMsg = array ();
5252foreach ($ dimensionsAggregated as $ dimension => $ subdimensions ) {
5353 ksort ($ subdimensions );
5454 foreach ($ subdimensions as $ subdimension => $ elements ) {
6868 var_dump ($ activity );
6969 echo "</pre> " ;
7070 exit ;
71- }
71+ }
7272
73+ if (!array_key_exists ("uuid " , $ activity )) {
74+ array_push ($ errorMsg , "$ activityName is missing an uuid in $ dimension " );
75+ } else {
76+ $ uuid = $ dimensionsAggregated [$ dimension ][$ subdimension ][$ activityName ]["uuid " ];
77+ $ tmp_activityName = getActivityNameByUuid ($ uuid , $ dimensionsAggregated );
78+ if ($ tmp_activityName != $ activityName ) {
79+ array_push ($ errorMsg , "Duplicate UUID: $ uuid in ' $ dimension' \n - " . $ tmp_activityName ."\n - " . $ activityName );
80+ }
81+
82+ if ($ uuid != getUuidByActivityName ($ activityName , $ dimensionsAggregated )) {
83+ array_push ($ errorMsg , "Duplicate activity name: " . $ activityName ."" );
84+ }
85+ }
86+
87+
7388 if (!array_key_exists ("tags " , $ activity )) {
7489 $ dimensionsAggregated [$ dimension ][$ subdimension ][$ activityName ]["tags " ] = ["none " ];
7590 }
126141 }
127142 }
128143}
144+ if (count ($ errorMsg ) > 0 ) {
145+ echo "\n\nFound " . count ($ errorMsg ) . " errors: \n" ;
146+ foreach ($ errorMsg as $ e ) {
147+ echo "ERROR: $ e \n" ;
148+ }
149+ exit ("Please fix the errors " );
150+ }
151+
152+
129153foreach ($ dimensionsAggregated as $ dimension => $ subdimensions ) {
130154 if (sizeof ($ subdimensions ) == 0 ) {
131155 echo "unsetting $ dimension \n" ;
You can’t perform that action at this time.
0 commit comments