Author: objectiser
Date: 2010-12-31 11:15:46 -0500 (Fri, 31 Dec 2010)
New Revision: 516
Modified:
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/BPELDefinitions.java
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ChoiceModelChangeRule.java
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/InteractionModelChangeRule.java
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/InteractionPatterns.java
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ProtocolModelChangeRule.java
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/util/InteractionUtil.java
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/util/PartnerLinkUtil.java
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/util/VariableUtil.java
branches/experimental/2.0.x/bundles/org.savara.core/META-INF/MANIFEST.MF
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ChoiceConverterRuleImpl.java
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ConverterUtil.java
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/InteractionConverterRuleImpl.java
branches/experimental/2.0.x/tools/plugins/org.savara.tools.bpel/src/java/org/savara/tools/bpel/generator/Generator.java
branches/experimental/2.0.x/tools/plugins/org.savara.tools.core/src/java/org/savara/core/eclipse/osgi/Activator.java
Log:
Updates to generate similar BPEL to previous version. Namespace is an issue at the
moment.
Modified:
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/BPELDefinitions.java
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/BPELDefinitions.java 2010-12-23
12:25:28 UTC (rev 515)
+++
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/BPELDefinitions.java 2010-12-31
16:15:46 UTC (rev 516)
@@ -23,4 +23,6 @@
public static final String BPEL_TYPE="bpel";
+ public static final String BPEL_SCOPE_PROPERTY="bpel.scope";
+
}
Modified:
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ChoiceModelChangeRule.java
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ChoiceModelChangeRule.java 2010-12-23
12:25:28 UTC (rev 515)
+++
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ChoiceModelChangeRule.java 2010-12-31
16:15:46 UTC (rev 516)
@@ -19,6 +19,7 @@
import javax.xml.namespace.QName;
+import org.savara.bpel.BPELDefinitions;
import org.savara.bpel.model.TActivityContainer;
import org.savara.bpel.model.TBoolean;
import org.savara.bpel.model.TCatch;
@@ -112,23 +113,30 @@
if (context.getParent() instanceof TSequence) {
// Find fault handler
TSequence seq=(TSequence)context.getParent();
- TScope scope=new TScope();
+ TScope
scope=(TScope)context.getProperties().get(BPELDefinitions.BPEL_SCOPE_PROPERTY);
+
+ if (scope == null) {
+ scope = new TScope();
+ scope.setFaultHandlers(new TFaultHandlers());
+
+ context.getProperties().put(BPELDefinitions.BPEL_SCOPE_PROPERTY, scope);
+ }
+
TFaultHandlers fh=scope.getFaultHandlers();
for (int i=0; i < paths.size(); i++) {
When path=paths.get(i);
- if (path.getBlock().getContents().size() > 0) {
- Activity act=path.getBlock().getContents().get(0);
+ //if (path.getBlock().getContents().size() > 0) {
+ // Activity act=path.getBlock().getContents().get(0);
TSequence subseq=null;
- if (act instanceof Interaction &&
- InteractionPatterns.isFaultResponse(
- (Interaction)act)) {
- String faultName=InteractionPatterns.getFaultName((Interaction)act);
+ if (//act instanceof Interaction &&
+ InteractionPatterns.isFaultResponse(path)) {
+ String faultName=InteractionPatterns.getFaultName(path);
Contract contract = ModelChangeUtils.getContract(context,
- ((Interaction)act).getFromRole().getName());
+ elem.getFromRole().getName());
// Define fault message type
QName qname= WSDLGeneratorUtil.getFaultMessageType(contract.getNamespace(),
@@ -167,21 +175,21 @@
java.util.List<Object> acts=
((TSequence)context.getParent()).getActivity();
- if (acts.size() > 0 && act instanceof Interaction &&
+ if (acts.size() > 0 && //act instanceof Interaction &&
acts.get(acts.size()-1) instanceof TInvoke) {
Contract contract = ModelChangeUtils.getContract(context,
- ((Interaction)act).getFromRole().getName());
+ elem.getFromRole().getName());
QName qname=null;
- if (InteractionUtil.isRequest((Interaction)act)) {
+ if (InteractionUtil.isRequest(path)) {
qname = WSDLGeneratorUtil.getRequestMessageType(contract.getNamespace(),
- ((Interaction)act).getMessageSignature().getOperation());
- } else if (InteractionPatterns.isFaultResponse((Interaction)act)) {
+ path.getMessageSignature().getOperation());
+ } else if (InteractionPatterns.isFaultResponse(path)) {
qname = WSDLGeneratorUtil.getFaultMessageType(contract.getNamespace(),
- InteractionPatterns.getFaultName((Interaction)act));
+ InteractionPatterns.getFaultName(path));
} else {
qname = WSDLGeneratorUtil.getResponseMessageType(contract.getNamespace(),
- ((Interaction)act).getMessageSignature().getOperation());
+ path.getMessageSignature().getOperation());
}
String varName=qname.getLocalPart()+"Var";
//InteractionPatterns.getVariableName((Interaction)act);
@@ -191,7 +199,7 @@
// Create variable
if (varName != null) {
- createVariable(context, varName, (Interaction)act, bpelModel);
+ createVariable(context, varName, path, bpelModel);
}
}
}
@@ -200,12 +208,12 @@
context.setParent(subseq);
- for (int j=1; j < path.getBlock().getContents().size(); j++) {
+ for (int j=0; j < path.getBlock().getContents().size(); j++) {
context.insert(model, path.getBlock().getContents().get(j), null);
}
context.setParent(parent);
- }
+ //}
}
} else {
// TODO: Error handling
@@ -213,16 +221,24 @@
} else if (InteractionPatterns.isSwitch(elem)) {
TPick act=new TPick();
+ Contract contract=ModelChangeUtils.getContract(context,
+ elem.enclosingProtocol().getRole().getName());
+
if (context.getParent() instanceof TSequence) {
((TSequence)context.getParent()).getActivity().add(act);
}
Role role=null;
+ String roleNamespace=null;
if (elem.enclosingProtocol() != null) {
role = elem.enclosingProtocol().getRole();
}
+ if (contract != null) {
+ roleNamespace = contract.getNamespace();
+ }
+
for (int i=0; i < paths.size(); i++) {
When path=paths.get(i);
@@ -254,8 +270,6 @@
//String mainPrefix=null;
- Contract contract=ModelChangeUtils.getContract(context,
elem.enclosingProtocol().getRole().getName());
-
/* TODO: namespace issue
if (contract != null) {
mainPrefix = bpelModel.addNamespace(contract.getNamespace());
@@ -275,7 +289,7 @@
String
plt=elem.getFromRole().getName()+"To"+role.getName()+"Service"+"LT";
- pl.setPartnerLinkType(new QName(contract.getNamespace(), plt));
+ pl.setPartnerLinkType(new QName(roleNamespace, plt));
contract = ModelChangeUtils.getContract(context, role.getName());
@@ -300,7 +314,7 @@
String
plt=role.getName()+"To"+elem.getFromRole().getName()+"Requester"+"LT";
- pl.setPartnerLinkType(new QName(contract.getNamespace(), plt));
+ pl.setPartnerLinkType(new QName(roleNamespace, plt));
//portType = role.getName()+
// recv.getFromRole().getName()+"CallbackPT";
Modified:
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/InteractionModelChangeRule.java
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/InteractionModelChangeRule.java 2010-12-23
12:25:28 UTC (rev 515)
+++
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/InteractionModelChangeRule.java 2010-12-31
16:15:46 UTC (rev 516)
@@ -19,6 +19,7 @@
import javax.xml.namespace.QName;
+import org.savara.bpel.BPELDefinitions;
import org.savara.bpel.model.TActivity;
import org.savara.bpel.model.TBoolean;
import org.savara.bpel.model.TFaultHandlers;
@@ -110,6 +111,7 @@
String portType=null;
String varName=null; //InteractionPatterns.getVariableName(interaction);
Interface intf=null;
+ String roleNamespace=null;
if (interaction.enclosingProtocol() != null) {
role = interaction.enclosingProtocol().getRole();
@@ -129,6 +131,10 @@
}
*/
+ if (contract != null) {
+ roleNamespace = contract.getNamespace();
+ }
+
Role roleType=null;
if (InteractionUtil.isRequest(interaction)) {
@@ -243,6 +249,8 @@
scope.setFaultHandlers(fhs);
context.setParent(seq);
+
+ context.getProperties().put(BPELDefinitions.BPEL_SCOPE_PROPERTY, scope);
}
act = new TInvoke();
@@ -253,7 +261,7 @@
String
plt=role.getName()+"To"+interaction.getToRoles().get(0).getName()+"LT";
- pl.setPartnerLinkType(new QName(contract.getNamespace(), plt));
+ pl.setPartnerLinkType(new QName(roleNamespace, plt));
//portType = interaction.getToRole().getName()+"PT";
@@ -270,7 +278,7 @@
String
plt=interaction.getToRoles().get(0)+"To"+role.getName()+"Service"+"LT";
- pl.setPartnerLinkType(new QName(contract.getNamespace(), plt));
+ pl.setPartnerLinkType(new QName(roleNamespace, plt));
//portType = role.getName()+"PT";
@@ -332,7 +340,7 @@
String
plt=interaction.getFromRole().getName()+"To"+role.getName()+"Service"+"LT";
- pl.setPartnerLinkType(new QName(contract.getNamespace(), plt));
+ pl.setPartnerLinkType(new QName(roleNamespace, plt));
//portType = role.getName()+"PT";
} else {
@@ -342,7 +350,7 @@
String
plt=role.getName()+"To"+interaction.getFromRole().getName()+"Requester"+"LT";
- pl.setPartnerLinkType(new QName(contract.getNamespace(), plt));
+ pl.setPartnerLinkType(new QName(roleNamespace, plt));
//portType = role.getName()+
// interaction.getFromRole().getName()+"CallbackPT";
Modified:
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/InteractionPatterns.java
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/InteractionPatterns.java 2010-12-23
12:25:28 UTC (rev 515)
+++
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/InteractionPatterns.java 2010-12-31
16:15:46 UTC (rev 516)
@@ -127,6 +127,13 @@
int matched=0;
for (int i=0; i < paths.size(); i++) {
+ When when=paths.get(i);
+
+ if (InteractionUtil.isResponse(when) &&
+ getReplyToLabel(when).equals(requestLabel)) {
+ matched++;
+ }
+ /*
if (paths.get(i).getBlock().getContents().size() > 0) {
Interaction in=getPickPathInteraction(paths.get(i).getBlock());
@@ -136,6 +143,7 @@
matched++;
}
}
+ */
}
if (matched == paths.size()) {
Modified:
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ProtocolModelChangeRule.java
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ProtocolModelChangeRule.java 2010-12-23
12:25:28 UTC (rev 515)
+++
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/model/change/ProtocolModelChangeRule.java 2010-12-31
16:15:46 UTC (rev 516)
@@ -17,6 +17,7 @@
*/
package org.savara.bpel.model.change;
+import org.savara.bpel.BPELDefinitions;
import org.savara.bpel.model.TImport;
import org.savara.bpel.model.TProcess;
import org.savara.bpel.model.TScope;
@@ -179,6 +180,8 @@
// the fact that added elements are copied (in
// turn due to an xml parser exception).
scope.setSequence(seq);
+
+ context.getProperties().put(BPELDefinitions.BPEL_SCOPE_PROPERTY, scope);
}
// Process the activities within the conversation
Modified:
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/util/InteractionUtil.java
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/util/InteractionUtil.java 2010-12-23
12:25:28 UTC (rev 515)
+++
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/util/InteractionUtil.java 2010-12-31
16:15:46 UTC (rev 516)
@@ -85,7 +85,8 @@
if (role != null && ((interaction.getFromRole() != null &&
interaction.getFromRole().equals(
role)) ||
- (interaction.getToRoles().contains(
+ (interaction.getToRoles().size() > 0 &&
+ interaction.getToRoles().contains(
role) == false))) {
ret = true;
}
Modified:
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/util/PartnerLinkUtil.java
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/util/PartnerLinkUtil.java 2010-12-23
12:25:28 UTC (rev 515)
+++
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/util/PartnerLinkUtil.java 2010-12-31
16:15:46 UTC (rev 516)
@@ -24,6 +24,10 @@
public static TPartnerLink getPartnerLink(TProcess process, String name) {
TPartnerLink ret=null;
+ if (process.getPartnerLinks() == null) {
+ process.setPartnerLinks(new TPartnerLinks());
+ }
+
java.util.List<TPartnerLink> pls=process.getPartnerLinks().getPartnerLink();
for (int i=0; ret == null && i < pls.size(); i++) {
if (pls.get(i).getName().equals(name)) {
Modified:
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/util/VariableUtil.java
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/util/VariableUtil.java 2010-12-23
12:25:28 UTC (rev 515)
+++
branches/experimental/2.0.x/bundles/org.savara.bpel/src/main/java/org/savara/bpel/util/VariableUtil.java 2010-12-31
16:15:46 UTC (rev 516)
@@ -24,6 +24,10 @@
public static TVariable getVariable(TProcess process, String varName) {
TVariable ret=null;
+ if (process.getVariables() == null) {
+ process.setVariables(new TVariables());
+ }
+
java.util.List<TVariable> vars=process.getVariables().getVariable();
for (int i=0; ret == null && i < vars.size(); i++) {
if (vars.get(i).getName().equals(varName)) {
Modified: branches/experimental/2.0.x/bundles/org.savara.core/META-INF/MANIFEST.MF
===================================================================
--- branches/experimental/2.0.x/bundles/org.savara.core/META-INF/MANIFEST.MF 2010-12-23
12:25:28 UTC (rev 515)
+++ branches/experimental/2.0.x/bundles/org.savara.core/META-INF/MANIFEST.MF 2010-12-31
16:15:46 UTC (rev 516)
@@ -10,4 +10,5 @@
org.scribble.protocol.model
Require-Bundle: org.scribble.common
Export-Package: org.savara.model.change,
+ org.savara.model.generator,
org.savara.util
Modified:
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ChoiceConverterRuleImpl.java
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ChoiceConverterRuleImpl.java 2010-12-23
12:25:28 UTC (rev 515)
+++
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ChoiceConverterRuleImpl.java 2010-12-31
16:15:46 UTC (rev 516)
@@ -126,6 +126,10 @@
if (toRoles.contains(toRole) == false) {
toRoles.add(toRole);
}
+
+ if (ed.getAction() == ExchangeActionType.RESPOND) {
+ block.getProperties().put("ReplyToLabel",
ConverterUtil.getLabel(ed));
+ }
}
}
Modified:
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ConverterUtil.java
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ConverterUtil.java 2010-12-23
12:25:28 UTC (rev 515)
+++
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ConverterUtil.java 2010-12-31
16:15:46 UTC (rev 516)
@@ -21,6 +21,7 @@
import javax.xml.namespace.QName;
+import org.pi4soa.cdl.ExchangeDetails;
import org.scribble.protocol.model.*;
/**
@@ -69,4 +70,22 @@
return(ret);
}
+
+ /**
+ * This method creates a label appropriate for the request
+ * response correlation associated with the supplied exchange.
+ *
+ * @param details The exchange
+ * @return The label
+ */
+ public static String getLabel(ExchangeDetails details) {
+ String ret=null;
+
+ if (details.getInteraction() != null) {
+ ret = details.getInteraction().getOperation();
+ }
+
+ return(ret);
+ }
+
}
Modified:
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/InteractionConverterRuleImpl.java
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/InteractionConverterRuleImpl.java 2010-12-23
12:25:28 UTC (rev 515)
+++
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/InteractionConverterRuleImpl.java 2010-12-31
16:15:46 UTC (rev 516)
@@ -380,7 +380,7 @@
InteractionUtil.getResponseExchangeDetails(details);
if (resps != null && resps.size() > 0) {
- interaction.getProperties().put("RequestLabel", getLabel(details));
+ interaction.getProperties().put("RequestLabel",
ConverterUtil.getLabel(details));
}
// Check if fault thrown
@@ -436,7 +436,7 @@
}
if (details.getAction() == ExchangeActionType.RESPOND) {
- interaction.getProperties().put("ReplyToLabel", getLabel(details));
+ interaction.getProperties().put("ReplyToLabel",
ConverterUtil.getLabel(details));
}
// Check if fault thrown
@@ -773,23 +773,6 @@
}
/**
- * This method creates a label appropriate for the request
- * response correlation associated with the supplied exchange.
- *
- * @param details The exchange
- * @return The label
- */
- protected String getLabel(ExchangeDetails details) {
- String ret=null;
-
- if (details.getInteraction() != null) {
- ret = details.getInteraction().getOperation();
- }
-
- return(ret);
- }
-
- /**
* This method returns the interface name associated with the
* supplied role type.
*
Modified:
branches/experimental/2.0.x/tools/plugins/org.savara.tools.bpel/src/java/org/savara/tools/bpel/generator/Generator.java
===================================================================
---
branches/experimental/2.0.x/tools/plugins/org.savara.tools.bpel/src/java/org/savara/tools/bpel/generator/Generator.java 2010-12-23
12:25:28 UTC (rev 515)
+++
branches/experimental/2.0.x/tools/plugins/org.savara.tools.bpel/src/java/org/savara/tools/bpel/generator/Generator.java 2010-12-31
16:15:46 UTC (rev 516)
@@ -217,6 +217,8 @@
CachedJournal journal=new CachedJournal();
+ System.out.println("PROJECTOR="+ScribbleServices.getProtocolProjector());
+
ProtocolModel local=ScribbleServices.getProtocolProjector().project(m_protocolModel,
localRole, journal);
Modified:
branches/experimental/2.0.x/tools/plugins/org.savara.tools.core/src/java/org/savara/core/eclipse/osgi/Activator.java
===================================================================
---
branches/experimental/2.0.x/tools/plugins/org.savara.tools.core/src/java/org/savara/core/eclipse/osgi/Activator.java 2010-12-23
12:25:28 UTC (rev 515)
+++
branches/experimental/2.0.x/tools/plugins/org.savara.tools.core/src/java/org/savara/core/eclipse/osgi/Activator.java 2010-12-31
16:15:46 UTC (rev 516)
@@ -22,6 +22,7 @@
import org.osgi.framework.ServiceReference;
import org.savara.core.eclipse.ScribbleServices;
import org.scribble.protocol.parser.ProtocolParserManager;
+import org.scribble.protocol.projection.ProtocolProjector;
import java.util.logging.*;
@@ -61,6 +62,13 @@
ProtocolParserManager ppm=(ProtocolParserManager)context.getService(sref);
ScribbleServices.setParserManager(ppm);
+
+ // Initialize the protocol projector
+ sref=context.getServiceReference(ProtocolProjector.class.getName());
+
+ ProtocolProjector pp=(ProtocolProjector)context.getService(sref);
+
+ ScribbleServices.setProtocolProjector(pp);
}
/*