PlantUML: Also render 'RAMifies' links between attributes
This commit is contained in:
parent
0bcee87bc1
commit
80beadfe08
2 changed files with 13 additions and 11 deletions
|
|
@ -106,20 +106,21 @@ def render_trace_ramifies(state, mm, ramified_mm):
|
|||
mm_scd = scd.SCD(mm, state)
|
||||
ramified_mm_scd = scd.SCD(ramified_mm, state)
|
||||
|
||||
# output = (
|
||||
# render_package("original", render_class_diagram(state, mm))
|
||||
# + '\n'
|
||||
# + render_package("RAMified", render_class_diagram(state, ramified_mm))
|
||||
# )
|
||||
|
||||
output = ""
|
||||
|
||||
# output += "\n"
|
||||
|
||||
# Render RAMifies-edges between classes
|
||||
for ram_name, ram_class_node in ramified_mm_scd.get_classes().items():
|
||||
original_class, = bottom.read_outgoing_elements(ram_class_node, ramify.RAMIFIES_LABEL)
|
||||
original_name = mm_scd.get_class_name(original_class)
|
||||
output += f"\n{make_id(ram_class_node)} ..> {make_id(original_class)} #line:green;text:green : RAMifies "
|
||||
output += f"\n{make_id(ram_class_node)} ..> {make_id(original_class)} #line:green;text:green : RAMifies"
|
||||
|
||||
# and between attributes
|
||||
for (ram_attr_name, ram_attr_edge) in od.get_attributes(bottom, ram_class_node):
|
||||
orig_attr_edge, = bottom.read_outgoing_elements(ram_attr_edge, ramify.RAMIFIES_LABEL)
|
||||
orig_class_node = bottom.read_edge_source(orig_attr_edge)
|
||||
# dirty AF:
|
||||
orig_attr_name = mm_scd.get_class_name(orig_attr_edge)[len(original_name)+1:]
|
||||
output += f"\n{make_id(ram_class_node)}::{ram_attr_name} ..> {make_id(orig_class_node)}::{orig_attr_name} #line:green;text:green : RAMifies"
|
||||
|
||||
return output
|
||||
|
||||
|
|
@ -142,12 +143,13 @@ def render_trace_conformance(state, m, mm):
|
|||
|
||||
def render_trace_match(state, mapping):
|
||||
bottom = Bottom(state)
|
||||
class_type = od.get_scd_mm_class_node(bottom)
|
||||
|
||||
output = ""
|
||||
|
||||
for pattern_el, host_el in mapping.items():
|
||||
# only render 'match'-edges between objects (= those elements where the type of the type is 'Class'):
|
||||
if od.get_type(bottom, od.get_type(bottom, pattern_el)) == od.get_scd_mm_class_node(bottom):
|
||||
if od.get_type(bottom, od.get_type(bottom, pattern_el)) == class_type:
|
||||
output += f"\n{make_id(pattern_el)} ..> {make_id(host_el)} #line:grey;text:grey : matchedWith"
|
||||
|
||||
return output
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue