Author: objectiser
Date: 2011-01-28 07:18:34 -0500 (Fri, 28 Jan 2011)
New Revision: 631
Modified:
branches/experimental/2.0.x/bundles/org.savara.common/src/main/java/org/savara/common/model/annotation/AnnotationDefinitions.java
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/ConditionalConverterRuleImpl.java
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/FinalizeConverterRuleImpl.java
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/FinalizerHandlerConverterRuleImpl.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/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ParallelConverterRuleImpl.java
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/PerformConverterRuleImpl.java
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ProtocolConverterRuleImpl.java
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ProtocolModelConverterRuleImpl.java
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/SequenceConverterRuleImpl.java
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/WhileConverterRuleImpl.java
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/test/resources/results/protocol/ESBBroker.spr
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/test/resources/results/protocol/PurchaseGoods.spr
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/test/resources/results/protocol/ReqRespFault.spr
Log:
Recording 'source component' id information as an annotation, rather than a
property, so that it is carried through to the monitorable representation and potentially
into generated activity events.
Modified:
branches/experimental/2.0.x/bundles/org.savara.common/src/main/java/org/savara/common/model/annotation/AnnotationDefinitions.java
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.common/src/main/java/org/savara/common/model/annotation/AnnotationDefinitions.java 2011-01-27
23:06:35 UTC (rev 630)
+++
branches/experimental/2.0.x/bundles/org.savara.common/src/main/java/org/savara/common/model/annotation/AnnotationDefinitions.java 2011-01-28
12:18:34 UTC (rev 631)
@@ -23,34 +23,46 @@
*/
public class AnnotationDefinitions {
- // Annotations
+ // General annotation property names
+ public static final String NAME_PROPERTY="name";
+ public static final String ROLE_PROPERTY="role";
+ public static final String ID_PROPERTY="id";
+
+
+ // Interface annotation (has name property)
public static final String INTERFACE = "Interface";
+
+ // Fault annotation (has name property)
public static final String FAULT = "Fault";
public static final String TYPE="Type";
+
// XSD sub types
public static final String XSD_ELEMENT = "XSDElement";
public static final String XSD_TYPE = "XSDType";
+
+ // Correlation properties
public static final String CORRELATION = "Correlation";
- public static final String NAMESPACE = "Namespace";
-
- // Annotation property names
- public static final String NAME_PROPERTY="name";
-
- public static final String ROLE_PROPERTY="role";
-
public static final String REQUEST_PROPERTY = "request";
public static final String REPLY_TO_PROPERTY = "replyTo";
+
+ // Namespace annotation and properties
+ public static final String NAMESPACE = "Namespace";
+
public static final String PREFIX_PROPERTY="prefix";
public static final String NAMESPACE_PROPERTY="namespace";
public static final String LOCATION_PROPERTY="location";
+ // Source Component annotation (uses id property)
+ public static final String SOURCE_COMPONENT="SourceComponent";
+
+
// Annotation access methods
private static final String ANNOTATIONS = "Annotations";
@@ -62,6 +74,7 @@
* @param create Whether a list should be create if one does not exist
* @return The list of annotations, or null if not found and create flag is false
*/
+ @SuppressWarnings("unchecked")
public static java.util.List<Annotation>
getAnnotations(java.util.Map<String,Object> modelObjProps, boolean create) {
java.util.List<Annotation> ret=(java.util.List<Annotation>)
modelObjProps.get(ANNOTATIONS);
@@ -98,6 +111,7 @@
* @param name The annotation name
* @return The list of annotations with the supplied name
*/
+ @SuppressWarnings("unchecked")
public static java.util.List<Annotation>
getAnnotations(java.util.Map<String,Object> modelObjProps, String name) {
java.util.List<Annotation> ret=new java.util.Vector<Annotation>();
@@ -123,6 +137,7 @@
* @param name The annotation name
* @return The first annotation with the supplied name, or null if not found
*/
+ @SuppressWarnings("unchecked")
public static Annotation getAnnotation(java.util.Map<String,Object> modelObjProps,
String name) {
java.util.List<Annotation> ret=new java.util.Vector<Annotation>();
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 2011-01-27
23:06:35 UTC (rev 630)
+++
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ChoiceConverterRuleImpl.java 2011-01-28
12:18:34 UTC (rev 631)
@@ -149,6 +149,12 @@
ConverterUtil.getLabel(ed));
}
}
+
+ Annotation
scannotation=AnnotationDefinitions.createAnnotation(block.getProperties(),
+ AnnotationDefinitions.SOURCE_COMPONENT);
+
+ scannotation.getProperties().put(AnnotationDefinitions.ID_PROPERTY,
+ CDLTypeUtil.getURIFragment(ed));
}
}
@@ -232,7 +238,10 @@
//}
if (ret != null) {
- ret.getProperties().put("CDLType",
+ Annotation scannotation=AnnotationDefinitions.createAnnotation(ret.getProperties(),
+ AnnotationDefinitions.SOURCE_COMPONENT);
+
+ scannotation.getProperties().put(AnnotationDefinitions.ID_PROPERTY,
CDLTypeUtil.getURIFragment(cdl));
}
Modified:
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ConditionalConverterRuleImpl.java
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ConditionalConverterRuleImpl.java 2011-01-27
23:06:35 UTC (rev 630)
+++
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ConditionalConverterRuleImpl.java 2011-01-28
12:18:34 UTC (rev 631)
@@ -74,7 +74,10 @@
}
//ret.getSource().setComponentURI(
- ret.getProperties().put("CDLType",
+ Annotation scannotation=AnnotationDefinitions.createAnnotation(ret.getProperties(),
+ AnnotationDefinitions.SOURCE_COMPONENT);
+
+ scannotation.getProperties().put(AnnotationDefinitions.ID_PROPERTY,
CDLTypeUtil.getURIFragment(cdl));
When block=new When();
Modified:
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/FinalizeConverterRuleImpl.java
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/FinalizeConverterRuleImpl.java 2011-01-27
23:06:35 UTC (rev 630)
+++
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/FinalizeConverterRuleImpl.java 2011-01-28
12:18:34 UTC (rev 631)
@@ -21,6 +21,8 @@
import org.pi4soa.cdl.*;
import org.pi4soa.cdl.util.CDLTypeUtil;
+import org.savara.common.model.annotation.Annotation;
+import org.savara.common.model.annotation.AnnotationDefinitions;
import org.scribble.protocol.model.*;
public class FinalizeConverterRuleImpl implements ConverterRule {
@@ -55,7 +57,10 @@
new org.scribble.protocol.model.Run();
org.pi4soa.cdl.Finalize cdl=(org.pi4soa.cdl.Finalize)cdlType;
- ret.getProperties().put("CDLType",
+ Annotation scannotation=AnnotationDefinitions.createAnnotation(ret.getProperties(),
+ AnnotationDefinitions.SOURCE_COMPONENT);
+
+ scannotation.getProperties().put(AnnotationDefinitions.ID_PROPERTY,
CDLTypeUtil.getURIFragment(cdl));
ProtocolReference ref=new ProtocolReference();
Modified:
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/FinalizerHandlerConverterRuleImpl.java
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/FinalizerHandlerConverterRuleImpl.java 2011-01-27
23:06:35 UTC (rev 630)
+++
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/FinalizerHandlerConverterRuleImpl.java 2011-01-28
12:18:34 UTC (rev 631)
@@ -26,6 +26,8 @@
import org.pi4soa.cdl.util.CDLTypeUtil;
import org.pi4soa.common.util.NamesUtil;
import org.pi4soa.common.xml.XMLUtils;
+import org.savara.common.model.annotation.Annotation;
+import org.savara.common.model.annotation.AnnotationDefinitions;
import org.scribble.protocol.model.*;
public class FinalizerHandlerConverterRuleImpl implements ConverterRule {
@@ -61,7 +63,10 @@
Protocol ret=new Protocol();
FinalizerHandler choreo=(FinalizerHandler)cdlType;
- ret.getProperties().put("CDLType",
+ Annotation scannotation=AnnotationDefinitions.createAnnotation(ret.getProperties(),
+ AnnotationDefinitions.SOURCE_COMPONENT);
+
+ scannotation.getProperties().put(AnnotationDefinitions.ID_PROPERTY,
CDLTypeUtil.getURIFragment(choreo));
context.pushScope();
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 2011-01-27
23:06:35 UTC (rev 630)
+++
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/InteractionConverterRuleImpl.java 2011-01-28
12:18:34 UTC (rev 631)
@@ -276,7 +276,10 @@
//interaction.getSource().setComponentURI(
- interaction.getProperties().put("CDLType",
+ Annotation
scannotation=AnnotationDefinitions.createAnnotation(interaction.getProperties(),
+ AnnotationDefinitions.SOURCE_COMPONENT);
+
+ scannotation.getProperties().put(AnnotationDefinitions.ID_PROPERTY,
CDLTypeUtil.getURIFragment(details));
// Check if interaction's channel has been explicitly defined
Modified:
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ParallelConverterRuleImpl.java
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ParallelConverterRuleImpl.java 2011-01-27
23:06:35 UTC (rev 630)
+++
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ParallelConverterRuleImpl.java 2011-01-28
12:18:34 UTC (rev 631)
@@ -21,6 +21,8 @@
import org.pi4soa.cdl.*;
import org.pi4soa.cdl.util.CDLTypeUtil;
+import org.savara.common.model.annotation.Annotation;
+import org.savara.common.model.annotation.AnnotationDefinitions;
import org.scribble.protocol.model.*;
public class ParallelConverterRuleImpl implements ConverterRule {
@@ -55,7 +57,10 @@
new org.scribble.protocol.model.Parallel();
org.pi4soa.cdl.Parallel cdl=(org.pi4soa.cdl.Parallel)cdlType;
- ret.getProperties().put("CDLType",
+ Annotation scannotation=AnnotationDefinitions.createAnnotation(ret.getProperties(),
+ AnnotationDefinitions.SOURCE_COMPONENT);
+
+ scannotation.getProperties().put(AnnotationDefinitions.ID_PROPERTY,
CDLTypeUtil.getURIFragment(cdl));
// Process all of the activities within the
Modified:
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/PerformConverterRuleImpl.java
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/PerformConverterRuleImpl.java 2011-01-27
23:06:35 UTC (rev 630)
+++
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/PerformConverterRuleImpl.java 2011-01-28
12:18:34 UTC (rev 631)
@@ -23,6 +23,8 @@
import org.pi4soa.cdl.*;
import org.pi4soa.cdl.util.CDLTypeUtil;
+import org.savara.common.model.annotation.Annotation;
+import org.savara.common.model.annotation.AnnotationDefinitions;
import org.scribble.protocol.model.*;
public class PerformConverterRuleImpl implements ConverterRule {
@@ -96,7 +98,10 @@
// possibly when split is supported
}
- run.getProperties().put("CDLType",
+ Annotation scannotation=AnnotationDefinitions.createAnnotation(run.getProperties(),
+ AnnotationDefinitions.SOURCE_COMPONENT);
+
+ scannotation.getProperties().put(AnnotationDefinitions.ID_PROPERTY,
CDLTypeUtil.getURIFragment(cdl));
ProtocolReference ref=new ProtocolReference();
Modified:
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ProtocolConverterRuleImpl.java
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ProtocolConverterRuleImpl.java 2011-01-27
23:06:35 UTC (rev 630)
+++
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ProtocolConverterRuleImpl.java 2011-01-28
12:18:34 UTC (rev 631)
@@ -72,8 +72,10 @@
Protocol ret=new Protocol();
Choreography choreo=(Choreography)cdlType;
- //ret.getSource().setComponentURI(
- ret.getProperties().put("CDLType",
+ Annotation scannotation=AnnotationDefinitions.createAnnotation(ret.getProperties(),
+ AnnotationDefinitions.SOURCE_COMPONENT);
+
+ scannotation.getProperties().put(AnnotationDefinitions.ID_PROPERTY,
CDLTypeUtil.getURIFragment(choreo));
context.pushScope();
Modified:
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ProtocolModelConverterRuleImpl.java
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ProtocolModelConverterRuleImpl.java 2011-01-27
23:06:35 UTC (rev 630)
+++
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/ProtocolModelConverterRuleImpl.java 2011-01-28
12:18:34 UTC (rev 631)
@@ -63,8 +63,10 @@
ProtocolModel ret=new ProtocolModel();
org.pi4soa.cdl.Package cdlpack=(org.pi4soa.cdl.Package)cdlType;
- //ret.getSource().setComponentURI(
- ret.getProperties().put("CDLType",
+ Annotation scannotation=AnnotationDefinitions.createAnnotation(ret.getProperties(),
+ AnnotationDefinitions.SOURCE_COMPONENT);
+
+ scannotation.getProperties().put(AnnotationDefinitions.ID_PROPERTY,
CDLTypeUtil.getURIFragment(cdlpack));
// Convert information types into type imports
Modified:
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/SequenceConverterRuleImpl.java
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/SequenceConverterRuleImpl.java 2011-01-27
23:06:35 UTC (rev 630)
+++
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/SequenceConverterRuleImpl.java 2011-01-28
12:18:34 UTC (rev 631)
@@ -21,6 +21,8 @@
import org.pi4soa.cdl.*;
import org.pi4soa.cdl.util.CDLTypeUtil;
+import org.savara.common.model.annotation.Annotation;
+import org.savara.common.model.annotation.AnnotationDefinitions;
import org.scribble.protocol.model.*;
public class SequenceConverterRuleImpl implements ConverterRule {
@@ -55,7 +57,10 @@
new org.scribble.protocol.model.Block();
org.pi4soa.cdl.Sequence cdl=(org.pi4soa.cdl.Sequence)cdlType;
- ret.getProperties().put("CDLType",
+ Annotation scannotation=AnnotationDefinitions.createAnnotation(ret.getProperties(),
+ AnnotationDefinitions.SOURCE_COMPONENT);
+
+ scannotation.getProperties().put(AnnotationDefinitions.ID_PROPERTY,
CDLTypeUtil.getURIFragment(cdl));
context.pushState();
Modified:
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/WhileConverterRuleImpl.java
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/WhileConverterRuleImpl.java 2011-01-27
23:06:35 UTC (rev 630)
+++
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/main/java/org/savara/pi4soa/cdm/parser/rules/WhileConverterRuleImpl.java 2011-01-28
12:18:34 UTC (rev 631)
@@ -21,6 +21,8 @@
import org.pi4soa.cdl.*;
import org.pi4soa.cdl.util.CDLTypeUtil;
+import org.savara.common.model.annotation.Annotation;
+import org.savara.common.model.annotation.AnnotationDefinitions;
import org.scribble.protocol.model.*;
public class WhileConverterRuleImpl implements ConverterRule {
@@ -55,7 +57,10 @@
new org.scribble.protocol.model.Repeat();
org.pi4soa.cdl.While cdl=(org.pi4soa.cdl.While)cdlType;
- ret.getProperties().put("CDLType",
+ Annotation scannotation=AnnotationDefinitions.createAnnotation(ret.getProperties(),
+ AnnotationDefinitions.SOURCE_COMPONENT);
+
+ scannotation.getProperties().put(AnnotationDefinitions.ID_PROPERTY,
CDLTypeUtil.getURIFragment(cdl));
context.pushState();
Modified:
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/test/resources/results/protocol/ESBBroker.spr
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/test/resources/results/protocol/ESBBroker.spr 2011-01-27
23:06:35 UTC (rev 630)
+++
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/test/resources/results/protocol/ESBBroker.spr 2011-01-28
12:18:34 UTC (rev 631)
@@ -1,4 +1,5 @@
import xsd "bookingReference" as BookingReference, "buy" as Buy,
"cancel" as Cancel, "CreditCheckRequest" as CreditInformation,
"CreditCheckInvalid" as CreditInvalid, "CreditCheckOk" as CreditValid,
"enquiry" as Enquiry, "orderConfirmed" as OrderConfirmed,
"orderRejected" as OrderRejected, "quote" as Quote,
"quoteList" as QuoteList, "requestForQuote" as RequestForQuote;
+[[ SourceComponent(id=//(a)choreographies.0) ]]
[[
Namespace(name=http://www.pi4soa.org/ESBBroker/Broker,role=Broker) ]]
[[
Namespace(name=http://www.pi4soa.org/ESBBroker/Buyer,role=Buyer) ]]
[[
Namespace(name=http://www.pi4soa.org/ESBBroker/CreditAgency,role=CreditAg... ]]
@@ -13,38 +14,52 @@
[[
Namespace(name=http://www.pi4soa.org/ESBBroker/Supplier,role=SupplierQuot... ]]
protocol ESBBrokerProcess {
role Broker, Buyer, CreditAgency, Supplier;
+ [[ SourceComponent(id=//@choreographies.0/@activities.0/(a)exchangeDetails.0) ]]
[[
Interface(name={http://www.pi4soa.org/ESBBroker}BrokerBehavior) ]]
[[ Correlation(request=makeEnquiry) ]]
makeEnquiry(Enquiry) from Buyer to Broker;
+ [[ SourceComponent(id=//@choreographies.0/(a)activities.1) ]]
repeat {
+ [[ SourceComponent(id=//@choreographies.0/@activities.1/(a)activities.0) ]]
run RequestForQuote(Broker);
}
+ [[
SourceComponent(id=//@choreographies.0/@activities.2/@activities.0/(a)exchangeDetails.0) ]]
[[
Interface(name={http://www.pi4soa.org/ESBBroker}BrokerBehavior) ]]
[[ Correlation(replyTo=makeEnquiry) ]]
makeEnquiry(QuoteList) from Broker to Buyer;
+ [[ SourceComponent(id=//@choreographies.0/(a)activities.3) ]]
choice from Buyer to Broker {
[[ Correlation(request=buy) ]]
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.0/(a)exchangeDetails.0)
]]
buy(Buy):
role SupplierTxnProcessor;
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.1/(a)exchangeDetails.0)
]]
[[
Interface(name={http://www.pi4soa.org/ESBBroker}CreditAgencyBehavior) ]]
[[ Correlation(request=checkCredit) ]]
checkCredit(CreditInformation) from Broker to CreditAgency;
+ [[ SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/(a)activities.2) ]]
choice from CreditAgency to Broker {
[[ Correlation(replyTo=checkCredit) ]]
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.2/@activities.0/@activities.0/(a)exchangeDetails.0)
]]
checkCredit(CreditValid):
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.2/@activities.0/@activities.1/(a)exchangeDetails.0)
]]
[[
Interface(name={http://www.pi4soa.org/ESBBroker}SupplierBehavior) ]]
[[ Correlation(request=confirm) ]]
confirm(OrderConfirmed) from Broker to SupplierTxnProcessor;
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.2/@activities.0/@activities.1/(a)exchangeDetails.1)
]]
[[
Interface(name={http://www.pi4soa.org/ESBBroker}SupplierBehavior) ]]
[[ Correlation(replyTo=confirm) ]]
confirm(BookingReference) from SupplierTxnProcessor to Broker;
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.2/@activities.0/@activities.2/(a)exchangeDetails.0)
]]
[[
Interface(name={http://www.pi4soa.org/ESBBroker}BrokerBehavior) ]]
[[ Correlation(replyTo=buy) ]]
buy(BookingReference) from Broker to Buyer;
[[ Fault(name=invalidCredit) ]]
[[ Correlation(replyTo=checkCredit) ]]
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.2/@activities.1/@activities.0/(a)exchangeDetails.0)
]]
checkCredit(CreditInvalid):
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.2/@activities.1/@activities.1/(a)exchangeDetails.0)
]]
[[ Fault(name=rejected) ]]
[[
Interface(name={http://www.pi4soa.org/ESBBroker}BrokerBehavior) ]]
[[ Correlation(replyTo=buy) ]]
@@ -52,34 +67,45 @@
}
+ [[
SourceComponent(id=//@choreographies.0/@activities.3/@activities.1/@activities.0/(a)exchangeDetails.0)
]]
cancel(Cancel):
}
+ [[ SourceComponent(id=//@choreographies.0/(a)enclosedChoreographies.0) ]]
[[
Namespace(name=http://www.pi4soa.org/ESBBroker/Supplier,role=SupplierTxnP...
]]
protocol CompleteTransaction(role Buyer, role Broker, role CreditAgency) {
role SupplierTxnProcessor;
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.0/(a)exchangeDetails.0)
]]
[[
Interface(name={http://www.pi4soa.org/ESBBroker}BrokerBehavior) ]]
[[ Correlation(request=buy) ]]
buy(Buy) from Buyer to Broker;
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.1/(a)exchangeDetails.0)
]]
[[
Interface(name={http://www.pi4soa.org/ESBBroker}CreditAgencyBehavior) ]]
[[ Correlation(request=checkCredit) ]]
checkCredit(CreditInformation) from Broker to CreditAgency;
+ [[ SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/(a)activities.2) ]]
choice from CreditAgency to Broker {
[[ Correlation(replyTo=checkCredit) ]]
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.2/@activities.0/@activities.0/(a)exchangeDetails.0)
]]
checkCredit(CreditValid):
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.2/@activities.0/@activities.1/(a)exchangeDetails.0)
]]
[[
Interface(name={http://www.pi4soa.org/ESBBroker}SupplierBehavior) ]]
[[ Correlation(request=confirm) ]]
confirm(OrderConfirmed) from Broker to SupplierTxnProcessor;
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.2/@activities.0/@activities.1/(a)exchangeDetails.1)
]]
[[
Interface(name={http://www.pi4soa.org/ESBBroker}SupplierBehavior) ]]
[[ Correlation(replyTo=confirm) ]]
confirm(BookingReference) from SupplierTxnProcessor to Broker;
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.2/@activities.0/@activities.2/(a)exchangeDetails.0)
]]
[[
Interface(name={http://www.pi4soa.org/ESBBroker}BrokerBehavior) ]]
[[ Correlation(replyTo=buy) ]]
buy(BookingReference) from Broker to Buyer;
[[ Fault(name=invalidCredit) ]]
[[ Correlation(replyTo=checkCredit) ]]
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.2/@activities.1/@activities.0/(a)exchangeDetails.0)
]]
checkCredit(CreditInvalid):
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.0/@activities.2/@activities.1/@activities.1/(a)exchangeDetails.0)
]]
[[ Fault(name=rejected) ]]
[[
Interface(name={http://www.pi4soa.org/ESBBroker}BrokerBehavior) ]]
[[ Correlation(replyTo=buy) ]]
@@ -87,12 +113,15 @@
}
}
+ [[ SourceComponent(id=//@choreographies.0/(a)enclosedChoreographies.1) ]]
[[
Namespace(name=http://www.pi4soa.org/ESBBroker/Supplier,role=SupplierQuot... ]]
protocol RequestForQuote(role Broker) {
role SupplierQuoteEngine;
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.1/@activities.0/(a)exchangeDetails.0)
]]
[[
Interface(name={http://www.pi4soa.org/ESBBroker}SupplierBehavior) ]]
[[ Correlation(request=getQuote) ]]
getQuote(RequestForQuote) from Broker to SupplierQuoteEngine;
+ [[
SourceComponent(id=//@choreographies.0/@enclosedChoreographies.1/@activities.0/(a)exchangeDetails.1)
]]
[[
Interface(name={http://www.pi4soa.org/ESBBroker}SupplierBehavior) ]]
[[ Correlation(replyTo=getQuote) ]]
getQuote(Quote) from SupplierQuoteEngine to Broker;
Modified:
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/test/resources/results/protocol/PurchaseGoods.spr
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/test/resources/results/protocol/PurchaseGoods.spr 2011-01-27
23:06:35 UTC (rev 630)
+++
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/test/resources/results/protocol/PurchaseGoods.spr 2011-01-28
12:18:34 UTC (rev 631)
@@ -1,6 +1,7 @@
import xsd "{http://www.jboss.org/examples/store}BuyConfirmed" as BuyConfirmed,
"{http://www.jboss.org/examples/store}BuyFailed" as BuyFailed,
"{http://www.jboss.org/examples/store}BuyRequest" as BuyRequest from
"http://www.jboss.org/examples/store";
import xsd "{java:org.jboss.savara.examples.purchasing}CreditCheckInvalid" as
CreditCheckInvalid, "{java:org.jboss.savara.examples.purchasing}CreditCheckOk"
as CreditCheckOk,
"{java:org.jboss.savara.examples.purchasing}CreditCheckRequest" as
CreditCheckRequest from "java:org.jboss.savara.examples.purchasing";
import xsd "{http://www.w3.org/2001/XMLSchema}string" as IDType,
"{http://www.w3.org/2001/XMLSchema}anyURI" as URITokenType from
"http://www.w3.org/2001/XMLSchema";
+[[ SourceComponent(id=//(a)choreographies.0) ]]
[[
Namespace(name=http://www.jboss.org/savara/examples,role=Buyer) ]]
[[ Namespace(name=java:org.jboss.savara.examples.purchasing,role=CreditAgency) ]]
[[
Namespace(name=http://www.jboss.org/examples/store,role=Store) ]]
@@ -10,22 +11,29 @@
[[
Type(prefix=sto,namespace=http://www.jboss.org/examples/store) ]]
protocol PurchaseGoodsProcess {
role Buyer, CreditAgency, Store;
+ [[ SourceComponent(id=//@choreographies.0/@activities.0/(a)exchangeDetails.0) ]]
[[
Interface(name={http://www.jboss.org/examples/store}StoreInterface) ]]
[[ Correlation(request=buy) ]]
buy(BuyRequest) from Buyer to Store;
+ [[ SourceComponent(id=//@choreographies.0/@activities.1/(a)exchangeDetails.0) ]]
[[ Interface(name={java:org.jboss.savara.examples.purchasing}CreditAgencyInterface) ]]
[[ Correlation(request=checkCredit) ]]
checkCredit(CreditCheckRequest) from Store to CreditAgency;
+ [[ SourceComponent(id=//@choreographies.0/(a)activities.2) ]]
choice from CreditAgency to Store {
[[ Correlation(replyTo=checkCredit) ]]
+ [[
SourceComponent(id=//@choreographies.0/@activities.2/@activities.0/@activities.0/(a)exchangeDetails.0)
]]
checkCredit(CreditCheckOk):
+ [[
SourceComponent(id=//@choreographies.0/@activities.2/@activities.0/@activities.1/(a)exchangeDetails.0)
]]
[[
Interface(name={http://www.jboss.org/examples/store}StoreInterface) ]]
[[ Correlation(replyTo=buy) ]]
buy(BuyConfirmed) from Store to Buyer;
[[ Fault(name=CreditCheckFailed) ]]
[[ Correlation(replyTo=checkCredit) ]]
+ [[
SourceComponent(id=//@choreographies.0/@activities.2/@activities.1/@activities.0/(a)exchangeDetails.0)
]]
checkCredit(CreditCheckInvalid):
+ [[
SourceComponent(id=//@choreographies.0/@activities.2/@activities.1/@activities.1/(a)exchangeDetails.0)
]]
[[ Fault(name=BuyFailed) ]]
[[
Interface(name={http://www.jboss.org/examples/store}StoreInterface) ]]
[[ Correlation(replyTo=buy) ]]
Modified:
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/test/resources/results/protocol/ReqRespFault.spr
===================================================================
---
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/test/resources/results/protocol/ReqRespFault.spr 2011-01-27
23:06:35 UTC (rev 630)
+++
branches/experimental/2.0.x/bundles/org.savara.pi4soa.cdm/src/test/resources/results/protocol/ReqRespFault.spr 2011-01-28
12:18:34 UTC (rev 631)
@@ -1,4 +1,5 @@
import xsd "CreditCheckRequest" as CreditInformation,
"CreditCheckInvalid" as CreditInvalid, "CreditCheckOk" as
CreditValid;
+[[ SourceComponent(id=//(a)choreographies.0) ]]
[[
Namespace(name=http://www.pi4soa.org/ReqRespFault/Buyer,role=Buyer) ]]
[[
Namespace(name=http://www.pi4soa.org/ReqRespFault/Seller,role=Seller) ]]
[[
Type(prefix=tns,namespace=http://www.pi4soa.org/ReqRespFault) ]]
@@ -7,15 +8,19 @@
[[
Type(prefix=slr,namespace=http://www.pi4soa.org/ReqRespFault/Seller) ]]
protocol ReqRespFaultProcess {
role Buyer, Seller;
+ [[ SourceComponent(id=//@choreographies.0/@activities.0/(a)exchangeDetails.0) ]]
[[
Interface(name={http://www.pi4soa.org/ReqRespFault}SellerBehavior) ]]
[[ Correlation(request=checkCredit) ]]
checkCredit(CreditInformation) from Buyer to Seller;
+ [[ SourceComponent(id=//@choreographies.0/(a)activities.1) ]]
choice from Seller to Buyer {
[[ Correlation(replyTo=checkCredit) ]]
+ [[
SourceComponent(id=//@choreographies.0/@activities.1/@activities.0/@activities.0/(a)exchangeDetails.0)
]]
checkCredit(CreditValid):
[[ Fault(name=insufficientCredit) ]]
[[ Correlation(replyTo=checkCredit) ]]
+ [[
SourceComponent(id=//@choreographies.0/@activities.1/@activities.1/@activities.0/(a)exchangeDetails.0)
]]
checkCredit(CreditInvalid):
}