Skip to content

Commit fb075fb

Browse files
committed
fixes issue with BPELInstanceData Plugin not finding the proper XML element to inject instance data handling for Defrost Plan Generation
Signed-off-by: Kálmán Képes <[email protected]>
1 parent c817f2f commit fb075fb

File tree

2 files changed

+16
-4
lines changed
  • org.opentosca.planbuilder.core.bpel/src/org/opentosca/planbuilder/core/bpel/context
  • org.opentosca.planbuilder.postphase.plugin.instancedata/src/org/opentosca/planbuilder/postphase/plugin/instancedata/bpel

2 files changed

+16
-4
lines changed

org.opentosca.planbuilder.core.bpel/src/org/opentosca/planbuilder/core/bpel/context/BPELPlanContext.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import java.io.File;
44
import java.util.ArrayList;
5+
import java.util.Arrays;
56
import java.util.Collection;
67
import java.util.HashMap;
78
import java.util.HashSet;
@@ -10,6 +11,7 @@
1011
import java.util.Objects;
1112
import java.util.Set;
1213

14+
import javax.swing.event.ListSelectionEvent;
1315
import javax.wsdl.Definition;
1416
import javax.wsdl.Port;
1517
import javax.wsdl.PortType;
@@ -259,20 +261,24 @@ public boolean appendToInitSequence(final Node node) {
259261
return true;
260262
}
261263

262-
public BPELPlanContext createContext(final AbstractNodeTemplate nodeTemplate, ActivityType activityType) {
264+
public BPELPlanContext createContext(final AbstractNodeTemplate nodeTemplate, ActivityType... activityType) {
263265
LOG.debug("Trying to create {} plan context for nodeTemplate {}", activityType, nodeTemplate);
264266
for(BPELScope scope : this.templateBuildPlan.getBuildPlan().getTemplateBuildPlans()) {
265-
if(scope.getNodeTemplate() != null && scope.getNodeTemplate().equals(nodeTemplate) && scope.getActivity().getType().equals(activityType)) {
267+
if(scope.getNodeTemplate() != null && scope.getNodeTemplate().equals(nodeTemplate) && Arrays.asList(activityType).contains(scope.getActivity().getType())) {
266268
LOG.debug("Found scope of nodeTemplate");
267269
return new BPELPlanContext((BPELPlan) this.plan, scope, this.propertyMap, this.serviceTemplate, this.serviceInstanceURLVarName,
268270
this.serviceInstanceIDVarName, this.serviceTemplateURLVarName, this.csarFileName);
269271
}
270272
}
271273

274+
275+
272276
return null;
273277
}
274278

275279

280+
281+
276282
/**
277283
* Generates a bpel string variable with the given name + "_" + randomPositiveInt.
278284
*

org.opentosca.planbuilder.postphase.plugin.instancedata/src/org/opentosca/planbuilder/postphase/plugin/instancedata/bpel/Handler.java

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1378,8 +1378,14 @@ public boolean handleCreate(final BPELPlanContext context,
13781378
final AbstractNodeTemplate sourceNodeTemplate = context.getRelationshipTemplate().getSource();
13791379
LOG.debug("Trying to create provisioning plan context for sourceNodeTemplate {} of relationshipTemplate {}", sourceNodeTemplate.toString(), context.getRelationshipTemplate().toString());
13801380

1381-
injectionPreElement = context.createContext(sourceNodeTemplate,ActivityType.PROVISIONING).getPostPhaseElement();
1382-
injectionPostElement = context.createContext(sourceNodeTemplate,ActivityType.PROVISIONING).getPostPhaseElement();
1381+
// Right now the knowledge of DEFROST and PROVISIONING activities is to hard of an assumption, if you ask me
1382+
BPELPlanContext sourceContext = context.createContext(sourceNodeTemplate,ActivityType.PROVISIONING, ActivityType.DEFROST);
1383+
if(sourceContext == null) {
1384+
LOG.error("Couldn't create context for sourceNodeTemplate {}" , sourceNodeTemplate.toString());
1385+
return false;
1386+
}
1387+
injectionPreElement = sourceContext.getPostPhaseElement();
1388+
injectionPostElement = sourceContext.getPostPhaseElement();
13831389
}
13841390

13851391
if (injectionPostElement == null | injectionPreElement == null | sourceInstanceVarName == null

0 commit comments

Comments
 (0)