Skip to content

Commit b4d3e00

Browse files
committed
Bug fixing in .tosca generation: properties and metadata
1 parent 87d9fe1 commit b4d3e00

File tree

11 files changed

+121
-84
lines changed

11 files changed

+121
-84
lines changed
Lines changed: 0 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +0,0 @@
1-
tosca_definitions_version: tosca_simple_yaml_1_3
2-
3-
imports:
4-
- file: .tosca
5-
namespace_uri: example.eu.myrtus.nodetypes
6-
namespace_prefix: MYRTUS-
7-
8-
node_types:
9-
example.eu.myrtus.nodetypes.Myrtus-Workstation:
10-
derived_from: tosca.nodes.Compute
11-
metadata:
12-
targetNamespace: "example.eu.myrtus.nodetypes"
13-
abstract: "false"
14-
final: "false"
15-
16-

ToscaDesigner/Generated TOSCA files/MyrtusCameraFeed.tosca

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,12 @@ node_types:
1313
abstract: "false"
1414
final: "false"
1515

16-
16+
requirements:
17+
- faceDetectionService:
18+
capability: Endpoint
19+
relationship: connectsTo
20+
occurrences: [, ]
21+
capabilities:
22+
CameraFeed.WebService:
23+
occurrences: [, ]
24+
type: tosca.capabilities.Endpoint
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
tosca_definitions_version: tosca_simple_yaml_1_3
2+
3+
imports:
4+
- file: .tosca
5+
namespace_uri: example.eu.myrtus.nodetypes
6+
namespace_prefix: MYRTUS-
7+
8+
node_types:
9+
example.eu.myrtus.nodetypes.MyrtusFaceDetectionService:
10+
derived_from: example.eu.myrtus.nodetypes.MyrtusSWComponent
11+
metadata:
12+
targetNamespace: "example.eu.myrtus.nodetypes"
13+
abstract: "false"
14+
final: "false"
15+
16+
capabilities:
17+
FaceDetectionService:
18+
occurrences: [, ]
19+
type: tosca.capabilities.Endpoint
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
tosca_definitions_version: tosca_simple_yaml_1_3
2+
3+
imports:
4+
- file: .tosca
5+
namespace_uri: example.eu.myrtus.nodetypes
6+
namespace_prefix: MYRTUS-
7+
8+
node_types:
9+
example.eu.myrtus.nodetypes.MyrtusProxy:
10+
derived_from: example.eu.myrtus.nodetypes.MyrtusSWComponent
11+
metadata:
12+
targetNamespace: "example.eu.myrtus.nodetypes"
13+
abstract: "false"
14+
final: "false"
15+
requirements:
16+
- egress:
17+
capability: tosca.capabilities.Endpoint
18+
relationship: connectsTo
19+
occurrences: [, ]
20+
capabilities:
21+
MyrtusProxy.WebService:
22+
occurrences: [, ]
23+
type: tosca.capabilities.Endpoint
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
tosca_definitions_version: tosca_simple_yaml_1_3
2+
3+
imports:
4+
- file: .tosca
5+
namespace_uri: example.eu.myrtus.nodetypes
6+
namespace_prefix: MYRTUS-
7+
8+
node_types:
9+
example.eu.myrtus.nodetypes.MyrtusSWComponent:
10+
derived_from: tosca.nodes.SoftwareComponent
11+
metadata:
12+
targetNamespace: "example.eu.myrtus.nodetypes"
13+
abstract: "true"
14+
final: ""
15+
requirements:
16+
- connects:
17+
capability: tosca.capabilities.Endpoint
18+
relationship: tosca.relationships.connectTo
19+
occurrences: [, ]
20+

ToscaDesigner/Generated TOSCA files/MyrtusSmartTrafficManagementTopologyTemplate.tosca

Lines changed: 40 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -16,32 +16,57 @@ topology_template:
1616

1717
properties:
1818
dockerImage: "thebigpotatoe/face-recognition-docker"
19-
20-
21-
MyrtusCameraFeed_0:
22-
type: example.eu.myrtus.nodetypes.MyrtusCameraFeed
23-
24-
properties:
25-
dockerImage: "ci.hesi.energy:5000/myrtus/examples/myrtusface/camera_feed:web"
26-
19+
requirements:
20+
- host:
21+
node: Myrtus_Workstation_1
22+
relationship: con_HostedOn_0
23+
capability: host
24+
2725

2826
Myrtus_Proxy_0:
2927
type: example.eu.myrtus.nodetypes.MyrtusProxy
3028

3129
properties:
3230
dockerImage: "nginx:alpine"
3331
port: "443"
32+
requirements:
33+
- egress1:
34+
node: MyrtusCameraFeed_0
35+
relationship: con_ConnectsTo_0
36+
capability: CameraFeed.WebService
37+
38+
- egress2:
39+
node: MyrtusFaceDetectionService_0
40+
relationship: con_ConnectsTo_1
41+
capability: FaceDetectionService
42+
43+
- host:
44+
node: Myrtus_Workstation_1
45+
relationship: con_HostedOn_2
46+
capability: host
47+
48+
artifacts:
49+
MyrtusCameraFeed_0:
50+
type: example.eu.myrtus.nodetypes.MyrtusCameraFeed
3451

52+
properties:
53+
dockerImage: "ci.hesi.energy:5000/myrtus/examples/myrtusface/camera_feed:web"
54+
requirements:
55+
- host:
56+
node: Myrtus_Workstation_1
57+
relationship: con_HostedOn_1
58+
capability: host
59+
3560

3661

3762
relationship_templates:
38-
hostedOn:
39-
type: hostedOn
40-
hostedOn:
41-
type: hostedOn
42-
hostedOn:
63+
con_HostedOn_2:
4364
type: hostedOn
44-
connectsOn:
65+
con_HostedOn_1:
4566
type: hostedOn
46-
connectsOn:
67+
con_HostedOn_0:
4768
type: hostedOn
69+
con_ConnectsTo_1:
70+
type: connectsTo
71+
con_ConnectsTo_0:
72+
type: connectsTo

ToscaDesigner/src/main/conf/module.xml

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1052,9 +1052,9 @@
10521052
<Scope metaclass="Standard.Package" stereotype="ToscaDesigner#ToscaModel"/>
10531053
<Scope metaclass="Infrastructure.ModelElement" stereotype="ToscaDesigner#TNodeType"/>
10541054
<Scope metaclass="Infrastructure.ModelElement" stereotype="ToscaDesigner#TTopologyTemplate"/>
1055-
<Handler class="fr.softeam.toscadesigner.handlers.commands.ToacaModelExport">
1055+
<Handler class="fr.softeam.toscadesigner.handlers.commands.ExportToscaModelCommand">
10561056
<HParameter name="name" value=""/>
1057-
</Handler>r>
1057+
</Handler>
10581058
</Command>
10591059
<Command id="Service_Template_Diagram" label="%command.Service_Template_Diagram.label" tooltip="%command.Service_Template_Diagram.tooltip" image="res/icon/gui/diagram/service_template_diag24.png" modify-model="true">
10601060
<Scope metaclass="Standard.Package" stereotype="ToscaDesigner#ToscaModel"/>
@@ -1299,13 +1299,6 @@
12991299
<CommandRef refid="Topology_Template_Diagram" group="%group.Topology_Template.label" group-image=""/>
13001300
<CommandRef refid="Tosca_Model" group="" group-image=""/>
13011301
</ContextualMenu>
1302-
<ContextualMenu>
1303-
<CommandRef refid="Export" group="" group-image=""/>
1304-
<CommandRef refid="Tosca_Model_Diagram" group="" group-image=""/>
1305-
<CommandRef refid="Service_Template_Diagram" group="%group.Service_Template.label" group-image=""/>
1306-
<CommandRef refid="Topology_Template_Diagram" group="%group.Topology_Template.label" group-image=""/>
1307-
<CommandRef refid="Tosca_Model" group="" group-image=""/>
1308-
</ContextualMenu>
13091302
<Diagrams>
13101303
<DiagramType base-diagram="Standard.StaticDiagram" stereotype="ToscaDesigner#ToscaDiagram">
13111304
<Palette keepBasePalette="false">

ToscaDesigner/src/main/java/fr/softeam/toscadesigner/export/AbstractToscaFileGenerator.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,8 +76,6 @@ private Handlebars setupHandlebars() {
7676
propertyStringValue = context.getProperty(stereotype, searchedPropertyName);
7777

7878
if (stereotype.getName().equals("TRequirement")) {
79-
80-
8179
TRequirement tRequirement = TRequirement.safeInstantiate((Class) context);
8280
if (searchedPropertyName.equals("node")) {
8381
TNodeTemplate node = tRequirement.getNode();
@@ -90,7 +88,6 @@ private Handlebars setupHandlebars() {
9088
propertyStringValue = relationship != null ? relationship.getElement().getName() : "";
9189
}
9290
} else if (stereotype.getName().equals("TRequirementDefinition")) {
93-
} else if (stereotype.getName().equals("TRequirementDefinition")) {
9491

9592
TRequirementDefinition tRequirementDefinition = TRequirementDefinition
9693
.safeInstantiate((Class) context);

ToscaDesigner/src/main/java/fr/softeam/toscadesigner/handlers/commands/ToacaModelExport.java

Lines changed: 0 additions & 36 deletions
This file was deleted.

ToscaDesigner/src/main/resources/fr/softeam/templates/TNodeType.hbs

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,19 @@ node_types:
77
targetNamespace: "{{getProperty this "targetNamespace"}}"
88
abstract: "{{getProperty this "abstract"}}"
99
final: "{{getProperty this "final"}}"
10-
{{#unless (noStereotypeApplications this "RequirementDefinitionsType")}}requirements:{{/unless}}
11-
{{#each ownedElement}}{{#extension}}{{#eq name "RequirementDefinitionsType"}}{{#each ../ownedElement}}{{#extension}}{{#eq name "TRequirementDefinition"}}
10+
{{#unless (noStereotypeApplications this "PropertyDefinitionType")}}properties:{{/unless}}
11+
{{#each ../ownedAttribute}}{{#extension}}{{#eq name "PropertyDefinitionType"}}
12+
{{../name}}: "{{../value}}"
13+
{{/eq}}{{/extension}}{{/each}}
14+
{{#unless (noStereotypeApplications this "TRequirementDefinitionType")}}requirements:{{/unless}}
15+
{{#each ownedElement}}{{#extension}}{{#eq name "TRequirementDefinitionType"}}{{#each ../ownedElement}}{{#extension}}{{#eq name "TRequirementDefinition"}}
1216
- {{../name}}:
1317
capability: {{getProperty ../this "capability"}}
1418
relationship: {{getProperty ../this "relationshipType"}}
1519
occurrences: [{{../multiplicityMin}}, {{../multiplicityMax}}]
1620
{{/eq}}{{/extension}}{{/each}}{{/eq}}{{/extension}}{{/each}}
17-
{{#unless (noStereotypeApplications this "CapabilityDefinitionsType")}}capabilities:{{/unless}}
18-
{{#each ownedElement}}{{#extension}}{{#eq name "CapabilityDefinitionsType"}}{{#each ../ownedElement}}{{#extension}}{{#eq name "TCapabilityDefinition"}}
21+
{{#unless (noStereotypeApplications this "TCapabilityDefinitionsType")}}capabilities:{{/unless}}
22+
{{#each ownedElement}}{{#extension}}{{#eq name "TCapabilityDefinitionsType"}}{{#each ../ownedElement}}{{#extension}}{{#eq name "TCapabilityDefinition"}}
1923
{{../name}}:
2024
occurrences: [{{../multiplicityMin}}, {{../multiplicityMax}}]
2125
type: tosca.capabilities.Endpoint

0 commit comments

Comments
 (0)