|
@@ -719,7 +719,12 @@ Element function execute_operation(operation_id : String, input_models : Element
|
|
|
model_create(merged_model, model_name, merged_metamodel_id, "Model")
|
|
|
output("Operating on: " + cast_string(model_name))
|
|
|
// We want to modify, so modify
|
|
|
- modify(merged_model, True)
|
|
|
+ if (modify(merged_model, True)):
|
|
|
+ // Overwrite the merged model
|
|
|
+ model_overwrite(merged_model, get_entry_id(model_name), merged_metamodel_id)
|
|
|
+ else:
|
|
|
+ // Reload the merged model
|
|
|
+ merged_model = get_full_model(get_entry_id(model_name), merged_metamodel_id)
|
|
|
//model_delete(get_entry_id(model_name))
|
|
|
result = True
|
|
|
elif (exact_type == "ActionLanguage"):
|
|
@@ -1686,8 +1691,10 @@ String function transformation_add(source_models : Element, target_models : Elem
|
|
|
merged_formalism = model_fuse(formalism_map)
|
|
|
model_create(merged_formalism, "merged/" + operation_name, get_entry_id("formalisms/SimpleClassDiagrams"), "Model")
|
|
|
output("Operating on: merged/" + operation_name)
|
|
|
- modify(merged_formalism, True)
|
|
|
- model_overwrite(merged_formalism, get_entry_id("merged/" + operation_name), get_entry_id("formalisms/SimpleClassDiagrams"))
|
|
|
+ if (modify(merged_formalism, True)):
|
|
|
+ model_overwrite(merged_formalism, get_entry_id("merged/" + operation_name), get_entry_id("formalisms/SimpleClassDiagrams"))
|
|
|
+ else:
|
|
|
+ merged_formalism = get_full_model(get_entry_id("merged/" + operation_name), get_entry_id("formalisms/SimpleClassDiagrams"))
|
|
|
|
|
|
if (operation_type == "manual"):
|
|
|
// Finished with all information, now create the model itself!
|
|
@@ -1829,7 +1836,10 @@ String function cmd_transformation_add_MT(source_models : Element, target_models
|
|
|
merged_formalism = model_fuse(to_ramify)
|
|
|
model_create(merged_formalism, "merged/" + operation_name, get_entry_id("formalisms/SimpleClassDiagrams"), "Model")
|
|
|
output("Operating on: merged/" + operation_name)
|
|
|
- modify(merged_formalism, True)
|
|
|
+ if (modify(merged_formalism, True)):
|
|
|
+ model_overwrite(merged_formalism, get_entry_id("merged/" + operation_name), get_entry_id("formalisms/SimpleClassDiagrams"))
|
|
|
+ else:
|
|
|
+ merged_formalism = get_full_model(get_entry_id("merged/" + operation_name), get_entry_id("formalisms/SimpleClassDiagrams"))
|
|
|
model_overwrite(merged_formalism, get_entry_id("merged/" + operation_name), get_entry_id("formalisms/SimpleClassDiagrams"))
|
|
|
|
|
|
ramified_metamodel = ramify(merged_formalism)
|