Explorar o código

Fix CBD OML generator

Joeri Exelmans %!s(int64=2) %!d(string=hai) anos
pai
achega
5f4bbfe91a
Modificáronse 1 ficheiros con 20 adicións e 4 borrados
  1. 20 4
      drawio2oml/cbd/oml_template_cbd.j2

+ 20 - 4
drawio2oml/cbd/oml_template_cbd.j2

@@ -7,21 +7,36 @@ description <{{output_namespace}}#> as my_cbd {
   uses <{{namespaces.cbd}}#> as cbd
   uses <{{namespaces.object_diagram}}#> as object_diagram
 
-  ci model : cbd:Model []
+  ci model : cbd:Model [
+    object_diagram:hasName {{(model_name+"_cbd")|to_oml_string_literal}}
+  ]
 
   // Blocks and ports
   {% for block in model.blocks %}
-  ci {{ cbd_names[block] }} : cbd:Block []
+  ci {{ cbd_names[block] }} : cbd:Block [
+    object_diagram:inModel model
+    cbd:hasName {{ block.name | to_oml_string_literal }}
+  ]
 
   {% for port in block.in_ports %}
   ci {{ cbd_names[port] }} : cbd:InputPort [
-    ofBlock {{ cbd_names[block] }}
+    object_diagram:inModel model
+    cbd:ofBlock {{ cbd_names[block] }}
+    cbd:hasName {{ port.name | to_oml_string_literal }}
+    {% for incoming in port.incoming -%}
+    cbd:incomingConnection {{ cbd_names[incoming.from_port] }}
+    {% endfor %}
   ]
   {% endfor %}
 
   {% for port in block.out_ports %}
   ci {{ cbd_names[port] }} : cbd:OutputPort [
-    ofBlock {{ cbd_names[block] }}
+    object_diagram:inModel model
+    cbd:ofBlock {{ cbd_names[block] }}
+    cbd:hasName {{ port.name | to_oml_string_literal }}
+    {% for outgoing in port.outgoing -%}
+    cbd:outgoingConnection {{ cbd_names[outgoing.to_port] }}
+    {% endfor %}
   ]
   {% endfor %}
   {% endfor %}
@@ -31,6 +46,7 @@ description <{{output_namespace}}#> as my_cbd {
   ri {{ cbd_names[conn] }} : cbd:Connection [
     from {{ cbd_names[conn.from_port] }}
     to {{ cbd_names[conn.to_port] }}
+    object_diagram:inModel model
   ]
   {% endfor %}
 }