[savara-commits] savara SVN: r204 - 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
Sun Mar 21 10:53:58 EDT 2010


Author: objectiser
Date: 2010-03-21 10:53:57 -0400 (Sun, 21 Mar 2010)
New Revision: 204

Modified:
   tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Catch.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/OnMessage.java
   tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Pick.java
   tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/RepeatUntil.java
   tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/While.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/OnAlarmTest.java
   tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/PickTest.java
   tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/RepeatUntilTest.java
   tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/WhileTest.java
Log:
SAVARA-11 - added remaining unit tests for deriving the URI that will focus on the graphical BPEL component when a marker is created.

Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Catch.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Catch.java	2010-03-21 13:22:30 UTC (rev 203)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Catch.java	2010-03-21 14:53:57 UTC (rev 204)
@@ -177,7 +177,7 @@
 		String ret="";
 		
 		if (elem instanceof BPELActivity) {
-			ret += "@activity";
+			ret = "@activity";
 		}
 		
 		return(ret);

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-21 13:22:30 UTC (rev 203)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/OnAlarm.java	2010-03-21 14:53:57 UTC (rev 204)
@@ -42,16 +42,7 @@
 					org.w3c.dom.Element activity) {
 		super(model, activity);
 		
-		//m_activity = findChildActivity();
-		
-		BPELElement elem=findChildActivity();
-		
-		java.util.List<BPELElement> elems=findChildElements(BPELActivity.class);
-		
-		if (elem instanceof Scope) {
-			m_scope = (Scope)elem;
-		}
-
+		m_activity = findChildActivity();
 	}
 
 	/**
@@ -77,8 +68,8 @@
 	public void setUntil(Until cond) {
 		org.w3c.dom.Element insertBefore=null;
 		
-		if (m_scope != null) {
-			insertBefore = m_scope.getDOMElement();
+		if (m_activity != null) {
+			insertBefore = m_activity.getDOMElement();
 		}
 		
 		setChildElement(findChildElement(Until.UNTIL),
@@ -114,8 +105,8 @@
 	public void setFor(For cond) {	
 		org.w3c.dom.Element insertBefore=null;
 		
-		if (m_scope != null) {
-			insertBefore = m_scope.getDOMElement();
+		if (m_activity != null) {
+			insertBefore = m_activity.getDOMElement();
 		}
 		
 		setChildElement(findChildElement(For.FOR),
@@ -144,13 +135,13 @@
 	}
 
 	/**
-	 * This method sets the scope associated with
-	 * the 'onEvent' construct.
+	 * This method sets the activity associated with
+	 * the 'else' construct.
 	 * 
-	 * @param scope The scope
+	 * @param act The activity
 	 */
-	public void setScope(Scope scope) {
-		m_scope = scope;
+	public void setActivity(BPELElement act) {
+		m_activity = act;
 		
 		BPELElement existing=findChildActivity();
 		org.w3c.dom.Element existingElem=null;
@@ -161,30 +152,31 @@
 
 		org.w3c.dom.Element insertBefore=null;
 		
-		setChildElement(existingElem, scope,
+		setChildElement(existingElem, act,
 						insertBefore);
 	}
 	
 	/**
-	 * This method returns the scope associated with
-	 * the 'onEvent' construct.
+	 * This method returns the activity associated with
+	 * the 'else' construct.
 	 * 
-	 * @return The scope
+	 * @return The activity
 	 */
-	public Scope getScope() {
-		return(m_scope);
+	public BPELElement getActivity() {
+		return(m_activity);
 	}
-	
+		
 	protected String getLocalURIPart(BPELElement elem) {
 		String ret="";
 		
 		if (elem instanceof Scope) {
-			ret += "@scope";
+			ret = "@scope";
+		} else {
+			ret = "@activity";
 		}
 		
 		return(ret);
 	}
 	
-	private Scope m_scope;	
-	//private BPELElement m_activity;
+	private BPELElement m_activity;
 }

Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/OnMessage.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/OnMessage.java	2010-03-21 13:22:30 UTC (rev 203)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/OnMessage.java	2010-03-21 14:53:57 UTC (rev 204)
@@ -223,5 +223,15 @@
 		}
 	}
 	
+	protected String getLocalURIPart(BPELElement elem) {
+		String ret="";
+		
+		if (elem instanceof BPELActivity) {
+			ret = "@activity";
+		}
+		
+		return(ret);
+	}
+	
 	private BPELElement m_activity;
 }

Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Pick.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Pick.java	2010-03-21 13:22:30 UTC (rev 203)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Pick.java	2010-03-21 14:53:57 UTC (rev 204)
@@ -265,6 +265,18 @@
 		activities.add(elem);
 	}
 
+	protected String getLocalURIPart(BPELElement elem) {
+		String ret="";
+		
+		if (elem instanceof OnMessage) {
+			ret += "@onMessage."+getOnMessages().indexOf(elem);
+		} else if (elem instanceof OnAlarm) {
+			ret += "@onAlarm."+getOnAlarms().indexOf(elem);
+		}
+		
+		return(ret);
+	}
+	
 	private java.util.List<OnMessage> m_onMessages=
 					new java.util.Vector<OnMessage>();
 	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/RepeatUntil.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/RepeatUntil.java	2010-03-21 13:22:30 UTC (rev 203)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/RepeatUntil.java	2010-03-21 14:53:57 UTC (rev 204)
@@ -145,6 +145,16 @@
 		return(m_activity);
 	}
 	
+	protected String getLocalURIPart(BPELElement elem) {
+		String ret="";
+		
+		if (elem instanceof BPELActivity) {
+			ret = "@activity";
+		}
+		
+		return(ret);
+	}
+	
 	private Condition m_condition=null;
 	private BPELElement m_activity=null;
 }

Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/While.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/While.java	2010-03-21 13:22:30 UTC (rev 203)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/While.java	2010-03-21 14:53:57 UTC (rev 204)
@@ -158,6 +158,16 @@
 		return(m_activity);
 	}
 	
+	protected String getLocalURIPart(BPELElement elem) {
+		String ret="";
+		
+		if (elem instanceof BPELActivity) {
+			ret = "@activity";
+		}
+		
+		return(ret);
+	}
+	
 	private Condition m_condition=null;
 	private BPELElement m_activity=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-21 13:22:30 UTC (rev 203)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/EventHandlersTest.java	2010-03-21 14:53:57 UTC (rev 204)
@@ -371,8 +371,12 @@
 		
 		OnAlarm one=scope.getEventHandlers().getOnAlarms().get(0);
 		
-		Scope innerScope=one.getScope();
+		if ((one.getActivity() instanceof Scope) == false) {
+			fail("Activity is not Scope");
+		}
 		
+		Scope innerScope=(Scope)one.getActivity();
+		
 		if (innerScope == null) {
 			fail("Inner scope not set");
 		}

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-21 13:22:30 UTC (rev 203)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/OnAlarmTest.java	2010-03-21 14:53:57 UTC (rev 204)
@@ -87,8 +87,8 @@
 					expr1+"' but got '"+result+"'");
 		}
 
-		if (component.getScope() == null) {
-			fail("No scope");
+		if (component.getActivity() == null) {
+			fail("No activity");
 		}
 	}
 	
@@ -144,7 +144,7 @@
 					expr1+"' but got '"+result+"'");
 		}
 
-		if (component.getScope() == null) {
+		if (component.getActivity() == null) {
 			fail("No activity");
 		}
 	}
@@ -681,10 +681,10 @@
 		}
 		
 		Scope sub=new Scope(model);
-		component.setScope(sub);
+		component.setActivity(sub);
 
-		if (component.getScope() == null) {
-			fail("No scope");
+		if (component.getActivity() == null) {
+			fail("No activity");
 		}
 		
 		if (component.getDOMElement().getChildNodes().item(1).
@@ -747,10 +747,10 @@
 		}
 		
 		Scope sub=new Scope(model);
-		component.setScope(sub);
+		component.setActivity(sub);
 
-		if (component.getScope() == null) {
-			fail("No Scope");
+		if (component.getActivity() == null) {
+			fail("No activity");
 		}
 		
 		if (component.getDOMElement().getChildNodes().item(1).
@@ -801,8 +801,8 @@
 			fail("Until condition should not be set");
 		}
 		
-		if (component.getScope() == null) {
-			fail("No Scope");
+		if (component.getActivity() == null) {
+			fail("No activity");
 		}
 		
 		For cond=new For(model);
@@ -876,8 +876,8 @@
 			fail("Until condition should not be set");
 		}
 		
-		if (component.getScope() == null) {
-			fail("No Scope");
+		if (component.getActivity() == null) {
+			fail("No activity");
 		}
 		
 		Until cond=new Until(model);

Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/PickTest.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/PickTest.java	2010-03-21 13:22:30 UTC (rev 203)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/PickTest.java	2010-03-21 14:53:57 UTC (rev 204)
@@ -216,4 +216,202 @@
 									getLocalName());
 		}
 	}
+	
+	public void testGetURIOnAlarm() {
+		BPELLanguageModel model=new DefaultBPELLanguageModel(null);
+
+		String xml="<process xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
+				"<sequence>"+
+		       		"<pick>"+
+						"<onAlarm>"+
+							"<scope>"+
+				       		"<sequence>"+
+				       			"<receive/>"+
+			       			"</sequence>"+
+			       			"</scope>"+
+						"</onAlarm>"+
+			       "</pick>"+
+	       		"</sequence>"+
+	       		"</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 Sequence) == false) {
+			fail("Top level activity is not Sequence");
+		}
+		
+		Sequence topseq=(Sequence)topact;
+		
+		if (topseq.getActivities().size() != 1) {
+			fail("Top sequence should have 1 activity");
+		}
+		
+		if ((topseq.getActivities().get(0) instanceof Pick) == false) {
+			fail("Activity is not Pick");
+		}
+		
+		Pick pick=(Pick)topseq.getActivities().get(0);
+		
+		OnAlarm one=pick.getOnAlarms().get(0);
+		
+		if ((one.getActivity() instanceof Scope) == false) {
+			fail("Activity is not scope");
+		}
+		
+		Scope innerScope=(Scope)one.getActivity();
+		
+		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/@activities.0/@onAlarm.0/@scope/@activity/@activities.0") == false) {
+			fail("URI is invalid: "+uri);
+		}
+	}	
+	
+	public void testGetURIOnMessage() {
+		BPELLanguageModel model=new DefaultBPELLanguageModel(null);
+
+		String xml="<process xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
+				"<sequence>"+
+		       		"<pick>"+
+						"<onMessage>"+
+							"<scope>"+
+				       		"<sequence>"+
+				       			"<receive/>"+
+			       			"</sequence>"+
+			       			"</scope>"+
+						"</onMessage>"+
+			       "</pick>"+
+	       		"</sequence>"+
+	       		"</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 Sequence) == false) {
+			fail("Top level activity is not Sequence");
+		}
+		
+		Sequence topseq=(Sequence)topact;
+		
+		if (topseq.getActivities().size() != 1) {
+			fail("Top sequence should have 1 activity");
+		}
+		
+		if ((topseq.getActivities().get(0) instanceof Pick) == false) {
+			fail("Activity is not Pick");
+		}
+		
+		Pick pick=(Pick)topseq.getActivities().get(0);
+		
+		OnMessage one=pick.getOnMessages().get(0);
+		
+		if ((one.getActivity() instanceof Scope) == false) {
+			fail("Activity is not scope");
+		}
+		
+		Scope innerScope=(Scope)one.getActivity();
+		
+		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/@activities.0/@onMessage.0/@activity/@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/RepeatUntilTest.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/RepeatUntilTest.java	2010-03-21 13:22:30 UTC (rev 203)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/RepeatUntilTest.java	2010-03-21 14:53:57 UTC (rev 204)
@@ -400,4 +400,78 @@
 									getLocalName());
 		}
 	}	
+
+	public void testGetURI() {
+		BPELLanguageModel model=new DefaultBPELLanguageModel(null);
+
+		String xml="<process xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
+					"<repeatUntil xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
+		       		"<sequence>"+
+	       			"<receive/>"+
+       			"</sequence>"+
+		       "</repeatUntil>"+
+	       		"</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 RepeatUntil) == false) {
+			fail("Top level activity is not RepeatUntil");
+		}
+		
+		RepeatUntil top=(RepeatUntil)topact;
+		
+		if (top.getActivity() == null) {
+			fail("While activity is null");
+		}
+		
+		if ((top.getActivity() instanceof Sequence) == false) {
+			fail("While activity is not sequence");
+		}
+		
+		Sequence seq=(Sequence)top.getActivity();
+		
+		if (seq.getActivities().size() != 1) {
+			fail("Should have 1 activity: "+seq.getActivities().size());
+		}
+		
+		if ((seq.getActivities().get(0) instanceof Receive) == false) {
+			fail("Activty 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/@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/WhileTest.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/WhileTest.java	2010-03-21 13:22:30 UTC (rev 203)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/WhileTest.java	2010-03-21 14:53:57 UTC (rev 204)
@@ -398,4 +398,78 @@
 									getLocalName());
 		}
 	}	
+
+	public void testGetURI() {
+		BPELLanguageModel model=new DefaultBPELLanguageModel(null);
+
+		String xml="<process xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
+					"<while xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
+		       		"<sequence>"+
+	       			"<receive/>"+
+       			"</sequence>"+
+		       "</while>"+
+	       		"</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 While) == false) {
+			fail("Top level activity is not While");
+		}
+		
+		While top=(While)topact;
+		
+		if (top.getActivity() == null) {
+			fail("While activity is null");
+		}
+		
+		if ((top.getActivity() instanceof Sequence) == false) {
+			fail("While activity is not sequence");
+		}
+		
+		Sequence seq=(Sequence)top.getActivity();
+		
+		if (seq.getActivities().size() != 1) {
+			fail("Should have 1 activity: "+seq.getActivities().size());
+		}
+		
+		if ((seq.getActivities().get(0) instanceof Receive) == false) {
+			fail("Activty 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/@activity/@activities.0") == false) {
+			fail("URI is invalid: "+uri);
+		}
+	}	
 }



More information about the savara-commits mailing list