[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