[savara-commits] savara SVN: r202 - in tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src: test/org/jboss/savara/tools/bpel/model/component and 1 other directory.
do-not-reply at jboss.org
do-not-reply at jboss.org
Fri Mar 19 19:11:22 EDT 2010
Author: objectiser
Date: 2010-03-19 19:11:21 -0400 (Fri, 19 Mar 2010)
New Revision: 202
Modified:
tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/EventHandlers.java
tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/OnAlarm.java
tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/OnEvent.java
tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Process.java
tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Scope.java
tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/EventHandlersTest.java
tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/FaultHandlersTest.java
tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/OnAlarmTest.java
Log:
Added tests for event and fault handlers.
Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/EventHandlers.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/EventHandlers.java 2010-03-19 21:42:31 UTC (rev 201)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/EventHandlers.java 2010-03-19 23:11:21 UTC (rev 202)
@@ -211,6 +211,18 @@
ConversionContext context) {
}
+ protected String getLocalURIPart(BPELElement elem) {
+ String ret="";
+
+ if (elem instanceof OnEvent) {
+ ret += "@onEvent."+getOnEvents().indexOf(elem);
+ } else if (elem instanceof OnAlarm) {
+ ret += "@onAlarm."+getOnAlarms().indexOf(elem);
+ }
+
+ return(ret);
+ }
+
private java.util.List<OnEvent> m_onEvents=
new java.util.Vector<OnEvent>();
private java.util.List<OnAlarm> m_onAlarms=
Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/OnAlarm.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/OnAlarm.java 2010-03-19 21:42:31 UTC (rev 201)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/OnAlarm.java 2010-03-19 23:11:21 UTC (rev 202)
@@ -42,7 +42,16 @@
org.w3c.dom.Element activity) {
super(model, activity);
- m_activity = findChildActivity();
+ //m_activity = findChildActivity();
+
+ BPELElement elem=findChildActivity();
+
+ java.util.List<BPELElement> elems=findChildElements(BPELActivity.class);
+
+ if (elem instanceof Scope) {
+ m_scope = (Scope)elem;
+ }
+
}
/**
@@ -68,8 +77,8 @@
public void setUntil(Until cond) {
org.w3c.dom.Element insertBefore=null;
- if (m_activity != null) {
- insertBefore = m_activity.getDOMElement();
+ if (m_scope != null) {
+ insertBefore = m_scope.getDOMElement();
}
setChildElement(findChildElement(Until.UNTIL),
@@ -105,8 +114,8 @@
public void setFor(For cond) {
org.w3c.dom.Element insertBefore=null;
- if (m_activity != null) {
- insertBefore = m_activity.getDOMElement();
+ if (m_scope != null) {
+ insertBefore = m_scope.getDOMElement();
}
setChildElement(findChildElement(For.FOR),
@@ -135,13 +144,13 @@
}
/**
- * This method sets the activity associated with
- * the 'else' construct.
+ * This method sets the scope associated with
+ * the 'onEvent' construct.
*
- * @param act The activity
+ * @param scope The scope
*/
- public void setActivity(BPELElement act) {
- m_activity = act;
+ public void setScope(Scope scope) {
+ m_scope = scope;
BPELElement existing=findChildActivity();
org.w3c.dom.Element existingElem=null;
@@ -152,19 +161,30 @@
org.w3c.dom.Element insertBefore=null;
- setChildElement(existingElem, act,
+ setChildElement(existingElem, scope,
insertBefore);
}
/**
- * This method returns the activity associated with
- * the 'else' construct.
+ * This method returns the scope associated with
+ * the 'onEvent' construct.
*
- * @return The activity
+ * @return The scope
*/
- public BPELElement getActivity() {
- return(m_activity);
+ public Scope getScope() {
+ return(m_scope);
}
- private BPELElement m_activity;
+ protected String getLocalURIPart(BPELElement elem) {
+ String ret="";
+
+ if (elem instanceof Scope) {
+ ret += "@scope";
+ }
+
+ return(ret);
+ }
+
+ private Scope m_scope;
+ //private BPELElement m_activity;
}
Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/OnEvent.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/OnEvent.java 2010-03-19 21:42:31 UTC (rev 201)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/OnEvent.java 2010-03-19 23:11:21 UTC (rev 202)
@@ -177,5 +177,15 @@
}
+ protected String getLocalURIPart(BPELElement elem) {
+ String ret="";
+
+ if (elem instanceof Scope) {
+ ret += "@scope";
+ }
+
+ return(ret);
+ }
+
private Scope m_scope;
}
Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Process.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Process.java 2010-03-19 21:42:31 UTC (rev 201)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Process.java 2010-03-19 23:11:21 UTC (rev 202)
@@ -874,6 +874,8 @@
ret += "@activity";
} else if (elem instanceof FaultHandlers) {
ret += "@faultHandlers";
+ } else if (elem instanceof EventHandlers) {
+ ret += "@eventHandlers";
}
return(ret);
Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Scope.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Scope.java 2010-03-19 21:42:31 UTC (rev 201)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Scope.java 2010-03-19 23:11:21 UTC (rev 202)
@@ -646,6 +646,20 @@
}
}
+ protected String getLocalURIPart(BPELElement elem) {
+ String ret="";
+
+ if (elem instanceof BPELActivity) {
+ ret += "@activity";
+ } else if (elem instanceof FaultHandlers) {
+ ret += "@faultHandlers";
+ } else if (elem instanceof EventHandlers) {
+ ret += "@eventHandlers";
+ }
+
+ return(ret);
+ }
+
private org.w3c.dom.Element m_partnerLinksElem=null;
private org.w3c.dom.Element m_variablesElem=null;
private org.w3c.dom.Element m_messageExchangesElem=null;
Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/EventHandlersTest.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/EventHandlersTest.java 2010-03-19 21:42:31 UTC (rev 201)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/EventHandlersTest.java 2010-03-19 23:11:21 UTC (rev 202)
@@ -216,4 +216,192 @@
getLocalName());
}
}
+
+ public void testGetURIOnEvent() {
+ BPELLanguageModel model=new DefaultBPELLanguageModel(null);
+
+ String xml="<process xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
+ "<scope>"+
+ "<eventHandlers>"+
+ "<onEvent>"+
+ "<scope>"+
+ "<sequence>"+
+ "<receive/>"+
+ "</sequence>"+
+ "</scope>"+
+ "</onEvent>"+
+ "</eventHandlers>"+
+ "<sequence/>"+
+ "</scope>"+
+ "</process>";
+
+ org.w3c.dom.Element elem=null;
+
+ try {
+ javax.xml.parsers.DocumentBuilderFactory factory=
+ javax.xml.parsers.DocumentBuilderFactory.newInstance();
+
+ factory.setNamespaceAware(true);
+
+ javax.xml.parsers.DocumentBuilder builder=
+ factory.newDocumentBuilder();
+
+ java.io.InputStream is=new java.io.ByteArrayInputStream(xml.getBytes());
+
+ org.w3c.dom.Document doc=builder.parse(is);
+ elem = doc.getDocumentElement();
+
+ is.close();
+ } catch(Exception e) {
+ e.printStackTrace();
+ fail("Failed to convert to doc");
+ }
+
+ Process component=new Process(model, elem);
+
+ BPELActivity topact=component.getActivity();
+
+ if ((topact instanceof Scope) == false) {
+ fail("Top level activity is not scope");
+ }
+
+ Scope scope=(Scope)topact;
+
+ if (scope.getEventHandlers() == null) {
+ fail("Event handlers not set");
+ }
+
+ if (scope.getEventHandlers().getOnEvents().size() != 1) {
+ fail("Event handlers should have 1 onEvent: "+scope.getEventHandlers().getOnEvents().size());
+ }
+
+ OnEvent one=scope.getEventHandlers().getOnEvents().get(0);
+
+ Scope innerScope=one.getScope();
+
+ if (innerScope == null) {
+ fail("Inner scope not set");
+ }
+
+ if ((innerScope.getActivity() instanceof Sequence) == false) {
+ fail("Inner scope activity is not a sequence");
+ }
+
+ Sequence seq=(Sequence)innerScope.getActivity();
+
+ if (seq.getActivities().size() != 1) {
+ fail("Expecting 1 child activities: "+
+ seq.getActivities().size());
+ }
+
+ if ((seq.getActivities().get(0) instanceof Receive) == false) {
+ fail("First activity should be receive");
+ }
+
+ Receive recv=(Receive)seq.getActivities().get(0);
+
+ String uri=recv.getURI();
+
+ if (uri == null) {
+ fail("URI is null");
+ }
+
+ if (uri.equals("//@activity/@eventHandlers/@onEvent.0/@scope/@activity/@activities.0") == false) {
+ fail("URI is invalid: "+uri);
+ }
+ }
+
+ public void testGetURIOnAlarm() {
+ BPELLanguageModel model=new DefaultBPELLanguageModel(null);
+
+ String xml="<process xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
+ "<scope>"+
+ "<eventHandlers>"+
+ "<onAlarm>"+
+ "<scope>"+
+ "<sequence>"+
+ "<receive/>"+
+ "</sequence>"+
+ "</scope>"+
+ "</onAlarm>"+
+ "</eventHandlers>"+
+ "<sequence/>"+
+ "</scope>"+
+ "</process>";
+
+ org.w3c.dom.Element elem=null;
+
+ try {
+ javax.xml.parsers.DocumentBuilderFactory factory=
+ javax.xml.parsers.DocumentBuilderFactory.newInstance();
+
+ factory.setNamespaceAware(true);
+
+ javax.xml.parsers.DocumentBuilder builder=
+ factory.newDocumentBuilder();
+
+ java.io.InputStream is=new java.io.ByteArrayInputStream(xml.getBytes());
+
+ org.w3c.dom.Document doc=builder.parse(is);
+ elem = doc.getDocumentElement();
+
+ is.close();
+ } catch(Exception e) {
+ e.printStackTrace();
+ fail("Failed to convert to doc");
+ }
+
+ Process component=new Process(model, elem);
+
+ BPELActivity topact=component.getActivity();
+
+ if ((topact instanceof Scope) == false) {
+ fail("Top level activity is not scope");
+ }
+
+ Scope scope=(Scope)topact;
+
+ if (scope.getEventHandlers() == null) {
+ fail("Event handlers not set");
+ }
+
+ if (scope.getEventHandlers().getOnAlarms().size() != 1) {
+ fail("Event handlers should have 1 onAlarm: "+scope.getEventHandlers().getOnAlarms().size());
+ }
+
+ OnAlarm one=scope.getEventHandlers().getOnAlarms().get(0);
+
+ Scope innerScope=one.getScope();
+
+ if (innerScope == null) {
+ fail("Inner scope not set");
+ }
+
+ if ((innerScope.getActivity() instanceof Sequence) == false) {
+ fail("Inner scope activity is not a sequence");
+ }
+
+ Sequence seq=(Sequence)innerScope.getActivity();
+
+ if (seq.getActivities().size() != 1) {
+ fail("Expecting 1 child activities: "+
+ seq.getActivities().size());
+ }
+
+ if ((seq.getActivities().get(0) instanceof Receive) == false) {
+ fail("First activity should be receive");
+ }
+
+ Receive recv=(Receive)seq.getActivities().get(0);
+
+ String uri=recv.getURI();
+
+ if (uri == null) {
+ fail("URI is null");
+ }
+
+ if (uri.equals("//@activity/@eventHandlers/@onAlarm.0/@scope/@activity/@activities.0") == false) {
+ fail("URI is invalid: "+uri);
+ }
+ }
}
Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/FaultHandlersTest.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/FaultHandlersTest.java 2010-03-19 21:42:31 UTC (rev 201)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/FaultHandlersTest.java 2010-03-19 23:11:21 UTC (rev 202)
@@ -231,7 +231,6 @@
}
}
-
public void testGetURICatch() {
BPELLanguageModel model=new DefaultBPELLanguageModel(null);
Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/OnAlarmTest.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/OnAlarmTest.java 2010-03-19 21:42:31 UTC (rev 201)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/OnAlarmTest.java 2010-03-19 23:11:21 UTC (rev 202)
@@ -43,7 +43,7 @@
String xml="<onAlarm xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">" +
"<until>"+expr1+"</until>"+
- "<sequence/></onAlarm>";
+ "<scope/></onAlarm>";
org.w3c.dom.Element elem=null;
try {
@@ -87,13 +87,9 @@
expr1+"' but got '"+result+"'");
}
- if (component.getActivity() == null) {
- fail("No activity");
+ if (component.getScope() == null) {
+ fail("No scope");
}
-
- if ((component.getActivity() instanceof Sequence) == false) {
- fail("Activity is not a sequence");
- }
}
public void testBuildOnAlarmFor() {
@@ -103,7 +99,7 @@
String xml="<onAlarm xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
"<for>"+expr1+"</for>"+
- "<sequence/>"+
+ "<scope/>"+
"</onAlarm>";
org.w3c.dom.Element elem=null;
@@ -148,13 +144,9 @@
expr1+"' but got '"+result+"'");
}
- if (component.getActivity() == null) {
+ if (component.getScope() == null) {
fail("No activity");
}
-
- if ((component.getActivity() instanceof Sequence) == false) {
- fail("Activity is not a sequence");
- }
}
public void testSetUntilNew() {
@@ -688,20 +680,16 @@
expr1+"' but got '"+result+"'");
}
- Sequence sub=new Sequence(model);
- component.setActivity(sub);
+ Scope sub=new Scope(model);
+ component.setScope(sub);
- if (component.getActivity() == null) {
- fail("No activity");
+ if (component.getScope() == null) {
+ fail("No scope");
}
- if ((component.getActivity() instanceof Sequence) == false) {
- fail("Activity is not a sequence");
- }
-
if (component.getDOMElement().getChildNodes().item(1).
- getLocalName().equals(Sequence.SEQUENCE) == false) {
- fail("Second element was not a sequence: "+
+ getLocalName().equals(Scope.SCOPE) == false) {
+ fail("Second element was not a scope: "+
component.getDOMElement().getChildNodes().item(1).
getLocalName());
}
@@ -758,20 +746,16 @@
expr1+"' but got '"+result+"'");
}
- Sequence sub=new Sequence(model);
- component.setActivity(sub);
+ Scope sub=new Scope(model);
+ component.setScope(sub);
- if (component.getActivity() == null) {
- fail("No activity");
+ if (component.getScope() == null) {
+ fail("No Scope");
}
- if ((component.getActivity() instanceof Sequence) == false) {
- fail("Activity is not a sequence");
- }
-
if (component.getDOMElement().getChildNodes().item(1).
- getLocalName().equals(Sequence.SEQUENCE) == false) {
- fail("Second element was not a sequence: "+
+ getLocalName().equals(Scope.SCOPE) == false) {
+ fail("Second element was not a Scope: "+
component.getDOMElement().getChildNodes().item(1).
getLocalName());
}
@@ -783,7 +767,7 @@
String expr1="Test Expression 1";
String xml="<onAlarm xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">" +
- "<sequence/>"+
+ "<scope/>"+
"</onAlarm>";
org.w3c.dom.Element elem=null;
@@ -817,14 +801,10 @@
fail("Until condition should not be set");
}
- if (component.getActivity() == null) {
- fail("No activity");
+ if (component.getScope() == null) {
+ fail("No Scope");
}
- if ((component.getActivity() instanceof Sequence) == false) {
- fail("Activity is not a sequence");
- }
-
For cond=new For(model);
cond.setExpression(expr1);
@@ -849,8 +829,8 @@
}
if (component.getDOMElement().getChildNodes().item(1).
- getLocalName().equals(Sequence.SEQUENCE) == false) {
- fail("Second element was not a sequence: "+
+ getLocalName().equals(Scope.SCOPE) == false) {
+ fail("Second element was not a Scope: "+
component.getDOMElement().getChildNodes().item(1).
getLocalName());
}
@@ -862,7 +842,7 @@
String expr1="Test Expression 1";
String xml="<onAlarm xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">" +
- "<sequence/>"+
+ "<scope/>"+
"</onAlarm>";
org.w3c.dom.Element elem=null;
@@ -896,14 +876,10 @@
fail("Until condition should not be set");
}
- if (component.getActivity() == null) {
- fail("No activity");
+ if (component.getScope() == null) {
+ fail("No Scope");
}
- if ((component.getActivity() instanceof Sequence) == false) {
- fail("Activity is not a sequence");
- }
-
Until cond=new Until(model);
cond.setExpression(expr1);
@@ -928,8 +904,8 @@
}
if (component.getDOMElement().getChildNodes().item(1).
- getLocalName().equals(Sequence.SEQUENCE) == false) {
- fail("Second element was not a sequence: "+
+ getLocalName().equals(Scope.SCOPE) == false) {
+ fail("Second element was not a Scope: "+
component.getDOMElement().getChildNodes().item(1).
getLocalName());
}
More information about the savara-commits
mailing list