Skip to content

Commit 6864021

Browse files
update
1 parent 3197b7c commit 6864021

File tree

6 files changed

+141
-52
lines changed

6 files changed

+141
-52
lines changed

ToscaDesigner/src/main/conf/module_fr.properties

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
ModuleDescription=
1+
ModuleDescription=The TOSCA Designer module is a component within TOSCA-based cloud orchestration frameworks that facilitates the creation, editing, and visualization of TOSCA-compliant application and service templates. \r\nThis module typically provides a graphical user interface (GUI) or integrated development environment (IDE) where users can visually design, model, and manipulate TOSCA templates, including topology templates, node types, relationship types, policies, and plans.\r\n
22
ModuleLabel=ToscaDesigner
33

44
command.Export.label=Export
@@ -9,20 +9,20 @@ command.Topology_Template_Diagram.label=Topology_Template_Diagram
99
command.Topology_Template_Diagram.tooltip=
1010
command.Tosca_Model.label=Tosca_Model
1111
command.Tosca_Model.tooltip=
12-
command.Tosca_Model_Diagram.label=Tosca_Model_Diagram
12+
command.Tosca_Model_Diagram.label=Cloud_Service_Archive_Diagram
1313
command.Tosca_Model_Diagram.tooltip=
1414

1515
group.Artifact_Template.label=Artifact_Template
1616
group.Common.label=Common
1717
group.Connectors.label=Connectors
1818
group.Group0.label=Group0
19-
group.Node_Templates.label=Group0
20-
group.Plans.label=Group3
19+
group.Node_Templates.label=Node_Templates
20+
group.Plans.label=Plans
2121
group.Relationship_Templates.label=Relationship_Templates
2222
group.Service_Template.label=Service_Template
2323
group.Templates.label=Templates
2424
group.Topology_Template.label=Topology_Template
25-
group.Types.label=Group0
25+
group.Types.label=Types
2626

2727
profile.Automatic.description=
2828
profile.Automatic.label=Automatic
@@ -72,17 +72,17 @@ stereotype.TEntityTemplate.label=TEntityTemplate
7272
stereotype.TExtensibleElements.description=
7373
stereotype.TExtensibleElements.label=TExtensibleElements
7474
stereotype.TNodeTemplate.description=
75-
stereotype.TNodeTemplate.label=NodeTemplate
75+
stereotype.TNodeTemplate.label=TNodeTemplate
7676
stereotype.TNodeType.description=
77-
stereotype.TNodeType.label=NodeType
77+
stereotype.TNodeType.label=TNodeType
7878
stereotype.TPlan.description=
7979
stereotype.TPlan.label=TPlan
8080
stereotype.TPlans.description=
8181
stereotype.TPlans.label=TPlans
8282
stereotype.TPolicy.description=
8383
stereotype.TPolicy.label=TPolicy
8484
stereotype.TRelationshipTemplate.description=
85-
stereotype.TRelationshipTemplate.label=RelationshipTemplate
85+
stereotype.TRelationshipTemplate.label=TRelationshipTemplate
8686
stereotype.TRelationshipType.description=
8787
stereotype.TRelationshipType.label=TRelationshipType
8888
stereotype.TRequirement.description=
@@ -94,9 +94,9 @@ stereotype.TRequirementDefinitionType.label=RequirementDefinitionsType
9494
stereotype.TServiceTemplate.description=
9595
stereotype.TServiceTemplate.label=TServiceTemplate
9696
stereotype.TTopologyElementInstanceStates.description=
97-
stereotype.TTopologyElementInstanceStates.label=TopologyElementInstanceStates
97+
stereotype.TTopologyElementInstanceStates.label=TTopologyElementInstanceStates
9898
stereotype.TTopologyTemplate.description=
99-
stereotype.TTopologyTemplate.label=TopologyTemplate
99+
stereotype.TTopologyTemplate.label=TTopologyTemplate
100100
stereotype.TargetElementType.description=
101101
stereotype.TargetElementType.label=TargetElementType
102102
stereotype.TopologyTemplateDiagram.description=
468 Bytes
Loading
Lines changed: 121 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,121 @@
1+
/*
2+
* WARNING: GENERATED FILE - DO NOT EDIT
3+
* Module: ToscaDesigner v0.0.00
4+
5+
* This file was generated on 24/05/2024 13:55 by Modelio Studio.
6+
*/
7+
package fr.softeam.toscadesigner.api.tosca.standard.association;
8+
9+
import java.util.Collection;
10+
import java.util.HashMap;
11+
import java.util.HashSet;
12+
import java.util.Map;
13+
import java.util.Set;
14+
import com.modeliosoft.modelio.javadesigner.annotations.objid;
15+
import org.modelio.api.modelio.model.scope.ElementScope;
16+
import org.modelio.api.module.mda.IMdaExpert;
17+
import org.modelio.metamodel.uml.infrastructure.ModelElement;
18+
import org.modelio.metamodel.uml.infrastructure.Stereotype;
19+
import org.modelio.metamodel.uml.statik.Association;
20+
import org.modelio.vcore.smkernel.mapi.MClass;
21+
import org.modelio.vcore.smkernel.mapi.MMetamodel;
22+
import org.modelio.vcore.smkernel.mapi.MObject;
23+
24+
/**
25+
* MDA expert to handle a {@link Association} with << TRelationshipTemplate >> stereotype.
26+
* <p>
27+
* This link can be created between:
28+
* </p>
29+
* <table summary="Creation rules" border="1">
30+
* <tr>
31+
* <th>Possible source</th>
32+
* <th>Possible target</th>
33+
* </tr>
34+
* <tr><td>Class << TNodeTemplate >> </td><td>Class << TNodeTemplate >> </td></tr>
35+
*
36+
* </table>
37+
*/
38+
@objid ("435b1c2d-3b24-4667-a856-17bfac15539e")
39+
public class TRelationshipTemplateExpert implements IMdaExpert {
40+
@objid ("0e7ca738-0518-472a-b39c-d8546256d415")
41+
@Override
42+
public boolean canSource(final Stereotype linkStereotype, final MClass linkMetaclass, final MClass fromMetaclass) {
43+
MMetamodel metamodel = linkMetaclass.getMetamodel();
44+
return (fromMetaclass.hasBase(metamodel.getMClass("Standard.Class")));
45+
}
46+
47+
@objid ("b28ca1c0-88ee-4f3f-9874-6920bf7ed71b")
48+
@Override
49+
public boolean canSource(final Stereotype linkStereotype, final MObject linkElement, final MObject fromElement) {
50+
MMetamodel metamodel = linkElement.getMClass().getMetamodel();
51+
return (fromElement.getMClass().hasBase(metamodel.getMClass("Standard.Class")) && ((ModelElement)fromElement).getExtension().stream().anyMatch(s -> s.getUuid().equals("1a20bf91-0a92-434a-9d1f-35c86788784e")));
52+
}
53+
54+
@objid ("801b26ae-5d8f-4000-9b3e-26f3903c050d")
55+
@Override
56+
public boolean canSource(final ElementScope linkScope, final MObject fromElement) {
57+
MMetamodel metamodel = linkScope.getMetaclass().getMetamodel();
58+
return (fromElement.getMClass().hasBase(metamodel.getMClass("Standard.Class")) && ((ModelElement)fromElement).getExtension().stream().anyMatch(s -> s.getUuid().equals("1a20bf91-0a92-434a-9d1f-35c86788784e")));
59+
}
60+
61+
@objid ("fb3e4e30-1be6-4bd9-a8da-be7ca8024162")
62+
@Override
63+
public boolean canTarget(final Stereotype linkStereotype, final MClass linkMetaclass, final MClass toMetaclass) {
64+
MMetamodel metamodel = linkMetaclass.getMetamodel();
65+
return (toMetaclass.hasBase(metamodel.getMClass("Standard.Class")));
66+
}
67+
68+
@objid ("e614602f-431d-4406-b004-e03a0dfeae0a")
69+
@Override
70+
public boolean canTarget(final Stereotype linkStereotype, final MObject linkElement, final MObject toElement) {
71+
MMetamodel metamodel = linkElement.getMClass().getMetamodel();
72+
return (toElement.getMClass().hasBase(metamodel.getMClass("Standard.Class")) && ((ModelElement)toElement).getExtension().stream().anyMatch(s -> s.getUuid().equals("1a20bf91-0a92-434a-9d1f-35c86788784e")));
73+
}
74+
75+
@objid ("b0d52f14-978c-4e9c-902f-70baa780d6e7")
76+
@Override
77+
public boolean canLink(final Stereotype linkStereotype, final MClass linkMetaclass, final MClass fromMetaclass, final MClass toMetaclass) {
78+
MMetamodel metamodel = linkMetaclass.getMetamodel();
79+
return ((fromMetaclass.hasBase(metamodel.getMClass("Standard.Class"))) && (toMetaclass.hasBase(metamodel.getMClass("Standard.Class"))));
80+
}
81+
82+
@objid ("ea26f15c-0d27-4aff-82fa-46d2295c404e")
83+
@Override
84+
public boolean canLink(final Stereotype linkStereotype, final MClass linkMetaclass, final MObject fromElement, final MObject toElement) {
85+
MMetamodel metamodel = linkMetaclass.getMetamodel();
86+
return ((fromElement.getMClass().hasBase(metamodel.getMClass("Standard.Class")) && ((ModelElement)fromElement).getExtension().stream().anyMatch(s -> s.getUuid().equals("1a20bf91-0a92-434a-9d1f-35c86788784e"))) && (toElement.getMClass().hasBase(metamodel.getMClass("Standard.Class")) && ((ModelElement)toElement).getExtension().stream().anyMatch(s -> s.getUuid().equals("1a20bf91-0a92-434a-9d1f-35c86788784e"))));
87+
}
88+
89+
@objid ("c9e7246a-3a48-4c1d-ac12-0ed86f446295")
90+
@Override
91+
public Collection<MClass> getPossibleSourceMetaclasses(final Stereotype linkStereotype, final MClass targetMetaclass) {
92+
MMetamodel metamodel = linkStereotype.getMClass().getMetamodel();
93+
Set<MClass> metaclasses = new HashSet<>();
94+
if ((targetMetaclass.hasBase(metamodel.getMClass("Standard.Class")))) {
95+
MClass mc = metamodel.getMClass("Standard.Class");
96+
metaclasses.add(mc);
97+
metaclasses.addAll(mc.getSub(true));
98+
}
99+
return metaclasses;
100+
}
101+
102+
@objid ("a3fae9c6-1160-4ee3-b08f-567c6eca4705")
103+
@Override
104+
public Collection<MClass> getPossibleTargetMetaclasses(final Stereotype linkStereotype, final MClass sourceMetaclass) {
105+
MMetamodel metamodel = linkStereotype.getMClass().getMetamodel();
106+
Set<MClass> metaclasses = new HashSet<>();
107+
if ((sourceMetaclass.hasBase(metamodel.getMClass("Standard.Class")))) {
108+
MClass mc = metamodel.getMClass("Standard.Class");
109+
metaclasses.add(mc);
110+
metaclasses.addAll(mc.getSub(true));
111+
}
112+
return metaclasses;
113+
}
114+
115+
@objid ("9014cd21-f6b3-4c83-8238-26872336b28a")
116+
@Override
117+
public boolean isMultiple(final Stereotype linkStereotype) {
118+
return false;
119+
}
120+
121+
}

ToscaDesigner/src/main/java/fr/softeam/toscadesigner/handlers/commands/submodel/CreateServiceTemplateDigramCommand.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,8 @@ public void actionPerformed(final List<MObject> selectedElements, final IModule
3838
subModel.getElement().getProduct().add(diagram.getElement());
3939

4040
subModel.setDefaultName("Service Template");
41-
diagram.setDefaultName(subModel.getName() + " diagram"); this.openDiagram(diagram.getElement());
41+
diagram.setDefaultName(subModel.getName() + " diagram");
42+
this.openDiagram(diagram.getElement());
4243

4344
transaction.commit();
4445

ToscaDesigner/src/main/java/fr/softeam/toscadesigner/handlers/tools/RelationshipTemplateTool.java

Lines changed: 5 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,6 @@
11
package fr.softeam.toscadesigner.handlers.tools;
22

33
import com.modeliosoft.modelio.javadesigner.annotations.objid;
4-
import fr.softeam.toscadesigner.api.tosca.standard.class_.TNodeTemplate;
5-
//import fr.softeam.toscadesigner.api.tosca.standard.class_.TRelationshipTemplate;
6-
import fr.softeam.toscadesigner.impl.ToscaDesignerModule;
74
import org.eclipse.jface.dialogs.MessageDialog;
85
import org.eclipse.swt.widgets.Display;
96
import org.modelio.api.modelio.diagram.IDiagramGraphic;
@@ -12,58 +9,27 @@
129
import org.modelio.api.modelio.diagram.ILinkPath;
1310
import org.modelio.api.modelio.diagram.ILinkRoute;
1411
import org.modelio.api.modelio.diagram.tools.DefaultLinkTool;
15-
import org.modelio.api.modelio.model.IModelingSession;
16-
import org.modelio.api.modelio.model.ITransaction;
17-
import org.modelio.vcore.smkernel.mapi.MObject;
1812

1913
@objid ("1d1a3b00-63d7-41b1-a3e0-137271d640f6")
2014
public class RelationshipTemplateTool extends DefaultLinkTool {
21-
@objid ("878d75ef-26b7-4d9a-831a-3f498007b500")
22-
private TNodeTemplate nodeT1 = null;
23-
24-
@objid ("e9ab605f-4418-4d00-81ac-20f8849ccaac")
25-
private TNodeTemplate nodeT2 = null;
26-
2715
@objid ("d8953096-35c2-44ae-94bf-b91a29a47d82")
2816
@Override
29-
public boolean acceptFirstElement(final IDiagramHandle diagramHandle, final IDiagramGraphic sourceNode) {
30-
MObject element = sourceNode.getElement();
31-
32-
if (TNodeTemplate.canInstantiate(element)) {
33-
this.nodeT1 = TNodeTemplate.instantiate((org.modelio.metamodel.uml.statik.Class) element);
34-
return true;
35-
}
17+
public boolean acceptFirstElement(final IDiagramHandle diagramHandle, final IDiagramGraphic targetNode) {
18+
// TODO Auto-generated method stub
3619
return false;
3720
}
3821

3922
@objid ("e12e06bd-fca6-45f7-a695-8c1fcd35dfb0")
4023
@Override
4124
public boolean acceptSecondElement(final IDiagramHandle diagramHandle, final IDiagramGraphic originNode, final IDiagramGraphic targetNode) {
42-
MObject element = targetNode.getElement();
43-
44-
if (TNodeTemplate.canInstantiate(element)) {
45-
this.nodeT2 = TNodeTemplate.instantiate((org.modelio.metamodel.uml.statik.Class) element);
46-
return true;
47-
}
25+
// TODO Auto-generated method stub
4826
return false;
4927
}
5028

5129
@objid ("bcfa634d-4c04-40fc-a602-d2bcccc0b01b")
5230
public void actionPerformed(final IDiagramHandle diagramHandle, final IDiagramGraphic originNode, final IDiagramGraphic targetNode, final LinkRouterKind touterType, final ILinkPath path) {
53-
IModelingSession session = ToscaDesignerModule.getInstance().getModuleContext().getModelingSession();
54-
try (ITransaction transaction = session.createTransaction(" RelationshipTemplate")) {
55-
/*
56-
TRelationshipTemplate toscaElt = TRelationshipTemplate.create(session);
57-
toscaElt.setSourceElement(this.nodeT1.getName());
58-
toscaElt.setTargetElement(this.nodeT2.getName());
59-
60-
diagramHandle.unmask(toscaElt.getElement(), path.getPoints().get(0).x, path.getPoints().get(1).x);
61-
62-
diagramHandle.save();
63-
diagramHandle.close();
64-
transaction.commit();
65-
*/
66-
}
31+
// TODO implement the RelationshipTemplateTool handler.
32+
MessageDialog.openInformation(Display.getDefault().getActiveShell(), "RelationshipTemplateTool", "Tool not implemented!");
6733
}
6834

6935
@objid ("8d0f7e46-2ec1-4eaf-8501-3f08d3432d6e")

ToscaDesigner/src/main/java/fr/softeam/toscadesigner/impl/ToscaDesignerModule.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import org.modelio.api.module.parameter.IParameterEditionModel;
99
import org.modelio.metamodel.uml.infrastructure.Stereotype;
1010

11-
@objid ("76d0c540-ed36-4597-90ed-7c8f8ec4c1c5")
11+
@objid ("942db9f9-6869-472c-b269-9ca7ec36a014")
1212
public class ToscaDesignerModule extends AbstractJavaModule {
1313
@objid ("b3e03ba1-58e4-433b-91ff-d9eed70a9321")
1414
private static final String MODULE_IMAGE = "/res/icon/module.png";
@@ -90,7 +90,8 @@ public IMdaExpert getMdaExpert(final Stereotype st) {
9090
@objid ("a46b8dae-28ae-4eba-aaed-6b65d095530f")
9191
private IMdaExpert getGeneratedMdaExpert(final Stereotype st) {
9292
switch (st.getUuid()) {
93-
default: return null;
93+
case "7f01001b-511e-4017-b6b4-729f68c85911": return new fr.softeam.toscadesigner.api.tosca.standard.association.TRelationshipTemplateExpert();
94+
default: return null;
9495
}
9596
}
9697

0 commit comments

Comments
 (0)