44
55import fr .softeam .toscadesigner .api .IToscaDesignerPeerModule ;
66import fr .softeam .toscadesigner .api .ToscaDesignerProxyFactory ;
7+ import fr .softeam .toscadesigner .api .tosca .standard .association .TRelationshipTemplate ;
78import fr .softeam .toscadesigner .api .tosca .standard .class_ .TNodeTemplate ;
89import fr .softeam .toscadesigner .api .tosca .standard .package_ .TGroup ;
910import fr .softeam .toscadesigner .api .tosca .standard .package_ .TTopologyTemplate ;
1415
1516import org .modelio .api .module .propertiesPage .IModulePropertyTable ;
1617import org .modelio .metamodel .uml .infrastructure .ModelElement ;
18+ import org .modelio .metamodel .uml .statik .Association ;
1719import org .modelio .metamodel .uml .statik .Class ;
1820
1921@ objid ("a7f33f74-8435-4a95-a221-94a56c5f4cfd" )
@@ -46,7 +48,7 @@ public void changeProperty(int row, String value) {
4648 break ;
4749
4850 case 3 :
49- Class elt2 = (Class ) getModelElt (TNodeTemplate .MdaTypes .STEREOTYPE_ELT .getExtendedElement (), value );
51+ Class elt2 = (Class ) getModelElt (TNodeTemplate .MdaTypes .STEREOTYPE_ELT .getExtendedElement (), value );
5052 if ((elt2 != null )
5153 && (elt2 .isStereotyped (IToscaDesignerPeerModule .MODULE_NAME , TNodeTemplate .STEREOTYPE_NAME ))) {
5254 Object pc = ToscaDesignerProxyFactory .instantiate (elt2 );
@@ -57,6 +59,19 @@ public void changeProperty(int row, String value) {
5759 }
5860 }
5961 break ;
62+
63+ case 4 :
64+ Association elt3 = (Association ) getModelElt (TRelationshipTemplate .MdaTypes .STEREOTYPE_ELT .getExtendedElement (), value );
65+ if ((elt3 != null )
66+ && (elt3 .isStereotyped (IToscaDesignerPeerModule .MODULE_NAME , TRelationshipTemplate .STEREOTYPE_NAME ))) {
67+ Object pc = ToscaDesignerProxyFactory .instantiate (elt3 );
68+ if (value .startsWith (this ._add )) {
69+ this ._element .addRelationshipTemplates ((TRelationshipTemplate ) pc );
70+ } else {
71+ this ._element .removeRelationshipTemplates ((TRelationshipTemplate ) pc );
72+ }
73+ }
74+ break ;
6075 }
6176 }
6277
@@ -67,16 +82,16 @@ public void update(IModulePropertyTable table) {
6782 table .addProperty ("Name" , _element .getElement ().getName ());
6883
6984 // groups
70- List <ModelElement > members_elt1 = extractModelElements (this ._element .getGroups ());
85+ List <ModelElement > members_elt = extractModelElements (this ._element .getGroups ());
7186 List <ModelElement > groupList = (TGroup .MdaTypes .STEREOTYPE_ELT .getExtendedElement () != null )
7287 ? TGroup .MdaTypes .STEREOTYPE_ELT .getExtendedElement ()
7388 : Collections .emptyList ();
7489
75- table .addProperty ("Groups" , getToscaValue (members_elt1 ),
90+ table .addProperty ("Groups" , getToscaValue (members_elt ),
7691 getAddRemove (groupList , extractModelElements (this ._element .getGroups ())));
7792
7893 // node templates
79- List < ModelElement > members_elt = extractModelElements (this ._element .getNodeTemplates ());
94+ members_elt = extractModelElements (this ._element .getNodeTemplates ());
8095 List <ModelElement > nodeTemplateList = (TNodeTemplate .MdaTypes .STEREOTYPE_ELT .getExtendedElement () != null )
8196 ? TNodeTemplate .MdaTypes .STEREOTYPE_ELT .getExtendedElement ()
8297 : Collections .emptyList ();
@@ -86,6 +101,18 @@ public void update(IModulePropertyTable table) {
86101 getToscaValue (members_elt ),
87102 getAddRemove (nodeTemplateList , extractModelElements (this ._element .getNodeTemplates ()))
88103 );
104+
105+ //relationship templates
106+ members_elt = extractModelElements (this ._element .getRelationshipTemplates ());
107+ List <ModelElement > relationshipTemplates = (TRelationshipTemplate .MdaTypes .STEREOTYPE_ELT .getExtendedElement () != null )
108+ ? TRelationshipTemplate .MdaTypes .STEREOTYPE_ELT .getExtendedElement ()
109+ : Collections .emptyList ();
110+
111+ table .addProperty (
112+ "Relationship templates" ,
113+ getToscaValue (members_elt ),
114+ getAddRemove (relationshipTemplates , extractModelElements (this ._element .getRelationshipTemplates ()))
115+ );
89116 }
90117
91118}
0 commit comments