Skip to content

Commit 5f7f206

Browse files
committed
Alert on non-existing dependsOn
1 parent 29d98e9 commit 5f7f206

2 files changed

Lines changed: 17 additions & 8 deletions

File tree

yaml-generation/functions.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -209,7 +209,7 @@ function getActivityNameByUuid($uuid, $dimensionsAggregated) {
209209
}
210210
}
211211
}
212-
return "TODO:Mapping";
212+
return null;
213213
}
214214

215215

yaml-generation/generateDimensions.php

Lines changed: 16 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
$files = glob("src/assets/YAML/default/*/*.yaml");
1717
$dimensions = array();
1818
foreach ($files as $filename) {
19-
//echo "Found $filename";
19+
//echo "Found $filename\n";
2020
if (preg_match("/_meta.yaml/", $filename)) continue;
2121
$dimension = getDimensions($filename);
2222
if (array_key_exists("_yaml_references", $dimension)) {
@@ -125,16 +125,25 @@
125125
if (array_key_exists("dependsOn", $activity)) {
126126
foreach($activity['dependsOn'] as $index => $dependingElement) {
127127
if(!is_string($dependingElement)) {
128-
echo "$dependingElement is not a string in $activityName";
129-
var_dump($dependingElement);
128+
array_push($errorMsg, "The 'dependsOn' is not a string in $activityName: $dependingElement");
130129
continue;
131130
}
132-
if(str_starts_with($dependingElement, "uuid:" )) {
133-
echo "$dependingElement is having a uuuid\n";
134-
$dependsOnUuid = str_replace("uuid:", "", $dependingElement);
135-
$dimensionsAggregated[$dimension][$subdimension][$activityName]["dependsOn"][$index] = $dependsOnUuid;
131+
$uuidRegExp = "/(uuid:)?\s*([0-9a-f]{6,}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{6,})/";
132+
if (preg_match($uuidRegExp, $dependingElement, $matches)) {
133+
$dependsOnUuid = $matches[2];
136134
$dependsOnActivityName = getActivityNameByUuid($dependsOnUuid, $dimensionsAggregated);
135+
if (is_null($dependsOnActivityName)) {
136+
array_push($errorMsg,"DependsOn non-existing activity uuid: $dependsOnUuid (in activity: $activityName)");
137+
} else if ($matches[1] == "") {
138+
echo "WARNING: DependsOn is not prefixed by 'uuid:' for $dependsOnUuid (in activity: $activityName)\n";
139+
}
140+
137141
$dimensionsAggregated[$dimension][$subdimension][$activityName]["dependsOn"][$index] = $dependsOnActivityName;
142+
// echo "exchanged $dependingElement to name $dependsOnActivityName\n";
143+
} else {
144+
if (is_null(getUuidByActivityName($dependingElement, $dimensionsAggregated))) {
145+
array_push($errorMsg,"DependsOn non-existing activity: '$dependingElement' (in activity: $activityName)");
146+
}
138147
}
139148
}
140149
}

0 commit comments

Comments
 (0)