Browse Source

Prepare for tracability generation, though up to now no use cases

Yentl Van Tendeloo 8 years ago
parent
commit
19bad64e18

+ 5 - 4
bootstrap/model_management.alc

@@ -220,7 +220,7 @@ Element function model_join(models : Element, metamodel : Element, tracability_m
 
 	return new_model!
 	
-Element function model_split(merged_model : Element, models : Element):
+Element function model_split(merged_model : Element, models : Element, tracability : Boolean):
 	Element result
 	Element metamodel
 	Element model_tuple
@@ -259,8 +259,8 @@ Element function model_split(merged_model : Element, models : Element):
 		if (list_len(splitted) == 1):
 			// Only one, so no split possible
 			// Indicates a tracability element!
-			key = ""
-			log("TRACABILITY: ignoring for now")
+			if (tracability):
+				log("TRACABILITY: ignoring for now")
 		else:
 			retyping_key = splitted[0]
 
@@ -298,6 +298,7 @@ Element function model_split(merged_model : Element, models : Element):
 			second_keys = create_node()
 
 	// Finally, we also add tracability information as a separate model
-	//dict_add_fast(result, "__tracability", tracability_model)
+	if (tracability):
+		dict_add_fast(result, "__tracability", tracability_model)
 
 	return result!

+ 4 - 4
core/core_algorithm.alc

@@ -579,7 +579,7 @@ Boolean function enact_action(pm : Element, element : String, prefix : String, u
 				set_add(model_tuples, create_tuple(key, get_full_model(get_model_id(key))))
 
 			Element splitted_models
-			splitted_models = model_split(merged_model, model_tuples)
+			splitted_models = model_split(merged_model, model_tuples, False)
 
 			Element keys
 			keys = dict_keys(splitted_models)
@@ -681,7 +681,7 @@ Boolean function enact_action(pm : Element, element : String, prefix : String, u
 				set_add(model_tuples, create_tuple(key, get_full_model(get_model_id(key))))
 
 			Element splitted_models
-			splitted_models = model_split(merged_model, model_tuples)
+			splitted_models = model_split(merged_model, model_tuples, False)
 
 			keys = dict_keys(splitted_models)
 			while (read_nr_out(keys) > 0):
@@ -1022,7 +1022,7 @@ Void function user_function_skip_init(user_id : String):
 									set_add(model_tuples, create_tuple(key, get_full_model(get_model_id(key))))
 
 								Element splitted_models
-								splitted_models = model_split(merged_model, model_tuples)
+								splitted_models = model_split(merged_model, model_tuples, False)
 
 								keys = dict_keys(splitted_models)
 								while (read_nr_out(keys) > 0):
@@ -1119,7 +1119,7 @@ Void function user_function_skip_init(user_id : String):
 									set_add(model_tuples, create_tuple(key, get_full_model(get_model_id(key))))
 
 								Element splitted_models
-								splitted_models = model_split(merged_model, model_tuples)
+								splitted_models = model_split(merged_model, model_tuples, False)
 
 								keys = dict_keys(splitted_models)
 								while (read_nr_out(keys) > 0):

+ 1 - 1
interface/HUTN/includes/model_management.alh

@@ -2,4 +2,4 @@ Element function model_fuse(models : Element)
 Element function model_copy(model : Element)
 Element function model_retype_on_name(model : Element, new_MM : Element, operation : String, name : String)
 Element function model_join(models : Element, metamodel : Element, tracability : Element)
-Element function model_split(merged_model : Element, models : Element)
+Element function model_split(merged_model : Element, models : Element, tracability : Boolean)