[savara-commits] savara SVN: r201 - 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 17:42:32 EDT 2010


Author: objectiser
Date: 2010-03-19 17:42:31 -0400 (Fri, 19 Mar 2010)
New Revision: 201

Modified:
   tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/BPELElementFactory.java
   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/CatchAll.java
   tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Exit.java
   tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/FaultHandlers.java
   tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Flow.java
   tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/ForEach.java
   tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/If.java
   tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Invoke.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/Process.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/Reply.java
   tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Rethrow.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/java/org/jboss/savara/tools/bpel/model/component/Sequence.java
   tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Throw.java
   tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Wait.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/FaultHandlersTest.java
   tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/SequenceTest.java
Log:
SAVARA-11 - added support for navigation in Eclipse BPEL editor. Added some tests, but need to add more.

Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/BPELElementFactory.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/BPELElementFactory.java	2010-03-18 23:14:37 UTC (rev 200)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/BPELElementFactory.java	2010-03-19 21:42:31 UTC (rev 201)
@@ -57,8 +57,8 @@
 			ret = (BPELElement)con.newInstance(new Object[]{model, elem});
 			
 		} catch(Exception e) {
-			logger.error("Unable to find BPEL element class '"+
-							clsName+"'", e);
+			logger.warn("Unable to find BPEL element class '"+
+							clsName+"'");
 		}
 		
 		return(ret);

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-18 23:14:37 UTC (rev 200)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Catch.java	2010-03-19 21:42:31 UTC (rev 201)
@@ -71,7 +71,7 @@
 	 * 
 	 * @param act The activity
 	 */
-	public void setActivity(BPELElement act) {
+	public void setActivity(BPELActivity act) {
 		m_activity = act;
 		
 		BPELElement existing=findChildActivity();
@@ -93,7 +93,7 @@
 	 * 
 	 * @return The activity
 	 */
-	public BPELElement getActivity() {
+	public BPELActivity getActivity() {
 		return(m_activity);
 	}
 	
@@ -173,5 +173,15 @@
 				getDOMElement().getAttribute(FAULT_MESSAGE_ELEMENT):null);
 	}
 
-	private BPELElement m_activity;
+	protected String getLocalURIPart(BPELElement elem) {
+		String ret="";
+		
+		if (elem instanceof BPELActivity) {
+			ret += "@activity";
+		}
+		
+		return(ret);
+	}
+	
+	private BPELActivity m_activity;
 }

Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/CatchAll.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/CatchAll.java	2010-03-18 23:14:37 UTC (rev 200)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/CatchAll.java	2010-03-19 21:42:31 UTC (rev 201)
@@ -66,7 +66,7 @@
 	 * 
 	 * @param act The activity
 	 */
-	public void setActivity(BPELElement act) {
+	public void setActivity(BPELActivity act) {
 		m_activity = act;
 		
 		BPELElement existing=findChildActivity();
@@ -88,9 +88,19 @@
 	 * 
 	 * @return The activity
 	 */
-	public BPELElement getActivity() {
+	public BPELActivity getActivity() {
 		return(m_activity);
 	}
 	
-	private BPELElement m_activity;
+	protected String getLocalURIPart(BPELElement elem) {
+		String ret="";
+		
+		if (elem instanceof BPELActivity) {
+			ret += "@activity";
+		}
+		
+		return(ret);
+	}
+	
+	private BPELActivity m_activity;
 }

Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Exit.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Exit.java	2010-03-18 23:14:37 UTC (rev 200)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Exit.java	2010-03-19 21:42:31 UTC (rev 201)
@@ -76,6 +76,7 @@
 	 */
 	protected void convertActivity(java.util.List<Activity> activities,
 			ConversionContext context) {
+		getSource().setComponentURI(getURI());
 	}
 
 }

Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/FaultHandlers.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/FaultHandlers.java	2010-03-18 23:14:37 UTC (rev 200)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/FaultHandlers.java	2010-03-19 21:42:31 UTC (rev 201)
@@ -128,6 +128,18 @@
 	public void convert(List<Activity> activities, ConversionContext context) {
 	}
 
+	protected String getLocalURIPart(BPELElement elem) {
+		String ret="";
+		
+		if (elem instanceof Catch) {
+			ret += "@catch."+getCatchPaths().indexOf(elem);
+		} else if (elem instanceof CatchAll) {
+			ret += "@catchAll";
+		}
+		
+		return(ret);
+	}
+	
 	private static Log logger=LogFactory.getLog(FaultHandlers.class);
 	
 	private CatchAll m_catchAll=null;

Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Flow.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Flow.java	2010-03-18 23:14:37 UTC (rev 200)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Flow.java	2010-03-19 21:42:31 UTC (rev 201)
@@ -238,6 +238,7 @@
 	 */
 	protected void convertActivity(java.util.List<Activity> activities,
 			ConversionContext context) {
+		getSource().setComponentURI(getURI());
 		
 		// If links have been defined, represent them as boolean
 		// variables that can be tested using a 'when' clause

Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/ForEach.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/ForEach.java	2010-03-18 23:14:37 UTC (rev 200)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/ForEach.java	2010-03-19 21:42:31 UTC (rev 201)
@@ -107,6 +107,7 @@
 	 */
 	protected void convertActivity(java.util.List<Activity> activities,
 			ConversionContext context) {
+		getSource().setComponentURI(getURI());
 	}
 
 	private Scope m_scope=null;

Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/If.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/If.java	2010-03-18 23:14:37 UTC (rev 200)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/If.java	2010-03-19 21:42:31 UTC (rev 201)
@@ -105,6 +105,7 @@
 	 */
 	protected void convertActivity(java.util.List<Activity> activities,
 			ConversionContext context) {
+		getSource().setComponentURI(getURI());
 		
 		org.scribble.conversation.model.If elem=
 					new org.scribble.conversation.model.If();

Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Invoke.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Invoke.java	2010-03-18 23:14:37 UTC (rev 200)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Invoke.java	2010-03-19 21:42:31 UTC (rev 201)
@@ -117,6 +117,7 @@
 	 */
 	protected void convertActivity(java.util.List<Activity> activities,
 			ConversionContext context) {
+		getSource().setComponentURI(getURI());
 		
 		convertRequest(activities, context);
 		

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-18 23:14:37 UTC (rev 200)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Pick.java	2010-03-19 21:42:31 UTC (rev 201)
@@ -243,6 +243,7 @@
 	 */
 	protected void convertActivity(java.util.List<Activity> activities,
 			ConversionContext context) {
+		getSource().setComponentURI(getURI());
 		
 		org.scribble.conversation.model.If elem=
 					new org.scribble.conversation.model.If();

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-18 23:14:37 UTC (rev 200)
+++ 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)
@@ -872,6 +872,8 @@
 		
 		if (elem instanceof BPELActivity) {
 			ret += "@activity";
+		} else if (elem instanceof FaultHandlers) {
+			ret += "@faultHandlers";
 		}
 		
 		return(ret);

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-18 23:14:37 UTC (rev 200)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/RepeatUntil.java	2010-03-19 21:42:31 UTC (rev 201)
@@ -86,6 +86,7 @@
 	 */
 	protected void convertActivity(java.util.List<Activity> activities,
 			ConversionContext context) {
+		getSource().setComponentURI(getURI());
 	}
 
 	/**

Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Reply.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Reply.java	2010-03-18 23:14:37 UTC (rev 200)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Reply.java	2010-03-19 21:42:31 UTC (rev 201)
@@ -118,6 +118,8 @@
 	 */
 	protected void convertActivity(java.util.List<Activity> activities,
 			ConversionContext context) {
+		getSource().setComponentURI(getURI());
+
 		ConversationInteraction interaction=new ConversationInteraction();
 		interaction.derivedFrom(this);
 		

Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Rethrow.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Rethrow.java	2010-03-18 23:14:37 UTC (rev 200)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Rethrow.java	2010-03-19 21:42:31 UTC (rev 201)
@@ -76,6 +76,7 @@
 	 */
 	protected void convertActivity(java.util.List<Activity> activities,
 			ConversionContext context) {
+		getSource().setComponentURI(getURI());
 	}
 
 }

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-18 23:14:37 UTC (rev 200)
+++ 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)
@@ -529,6 +529,7 @@
 	 */
 	protected void convertActivity(java.util.List<Activity> activities,
 			ConversionContext context) {
+		getSource().setComponentURI(getURI());
 		
 		// Add variables to the context
 		for (int i=0; i < m_variables.size(); i++) {

Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Sequence.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Sequence.java	2010-03-18 23:14:37 UTC (rev 200)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Sequence.java	2010-03-19 21:42:31 UTC (rev 201)
@@ -138,6 +138,7 @@
 	 */
 	protected void convertActivity(java.util.List<Activity> activities,
 			ConversionContext context) {
+		getSource().setComponentURI(getURI());
 		
 		for (int i=0; i < m_activities.size(); i++) {
 			m_activities.get(i).convert(activities, context);

Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Throw.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Throw.java	2010-03-18 23:14:37 UTC (rev 200)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Throw.java	2010-03-19 21:42:31 UTC (rev 201)
@@ -117,6 +117,7 @@
 	 */
 	protected void convertActivity(java.util.List<Activity> activities,
 			ConversionContext context) {
+		getSource().setComponentURI(getURI());
 	}
 
 }

Modified: tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Wait.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Wait.java	2010-03-18 23:14:37 UTC (rev 200)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/Wait.java	2010-03-19 21:42:31 UTC (rev 201)
@@ -142,6 +142,7 @@
 	 */
 	protected void convertActivity(java.util.List<Activity> activities,
 			ConversionContext context) {
+		getSource().setComponentURI(getURI());
 	}
 
 }

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-18 23:14:37 UTC (rev 200)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/java/org/jboss/savara/tools/bpel/model/component/While.java	2010-03-19 21:42:31 UTC (rev 201)
@@ -86,6 +86,7 @@
 	 */
 	protected void convertActivity(java.util.List<Activity> activities,
 			ConversionContext context) {
+		getSource().setComponentURI(getURI());
 		
 		org.scribble.conversation.model.While elem=
 					new org.scribble.conversation.model.While();

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-18 23:14:37 UTC (rev 200)
+++ 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)
@@ -230,4 +230,163 @@
 									getLocalName());
 		}
 	}	
+	
+	
+	public void testGetURICatch() {
+		BPELLanguageModel model=new DefaultBPELLanguageModel(null);
+
+		String xml="<process xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
+	       		"<faultHandlers>"+
+					"<catch>"+
+			       		"<sequence>"+
+			       			"<receive/>"+
+		       			"</sequence>"+
+					"</catch>"+
+		       "</faultHandlers>"+
+	       		"</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);		
+		
+		FaultHandlers fhs=component.getFaultHandlers();
+		
+		if (fhs == null) {
+			fail("No fault handlers");
+		}
+		
+		if (fhs.getCatchPaths().size() != 1) {
+			fail("Expecting one catch: "+fhs.getCatchPaths().size());
+		}
+		
+		Catch c=fhs.getCatchPaths().get(0);
+		
+		BPELActivity act=c.getActivity();
+		
+		if ((act instanceof Sequence) == false) {
+			fail("Activity is not a sequence");
+		}
+		
+		Sequence seq=(Sequence)act;
+		
+		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("//@faultHandlers/@catch.0/@activity/@activities.0") == false) {
+			fail("URI is invalid: "+uri);
+		}
+	}	
+
+	public void testGetURICatchAll() {
+		BPELLanguageModel model=new DefaultBPELLanguageModel(null);
+
+		String xml="<process xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
+	       		"<faultHandlers>"+
+					"<catchAll>"+
+			       		"<sequence>"+
+			       			"<receive/>"+
+		       			"</sequence>"+
+					"</catchAll>"+
+		       "</faultHandlers>"+
+	       		"</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);		
+		
+		FaultHandlers fhs=component.getFaultHandlers();
+		
+		if (fhs == null) {
+			fail("No fault handlers");
+		}
+		
+		if (fhs.getCatchAll() == null) {
+			fail("CatchAll not set");
+		}
+		
+		CatchAll c=fhs.getCatchAll();
+		
+		BPELActivity act=c.getActivity();
+		
+		if ((act instanceof Sequence) == false) {
+			fail("Activity is not a sequence");
+		}
+		
+		Sequence seq=(Sequence)act;
+		
+		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("//@faultHandlers/@catchAll/@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/SequenceTest.java
===================================================================
--- tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/SequenceTest.java	2010-03-18 23:14:37 UTC (rev 200)
+++ tools/eclipse/trunk/plugins/org.jboss.savara.tools.bpel/src/test/org/jboss/savara/tools/bpel/model/component/SequenceTest.java	2010-03-19 21:42:31 UTC (rev 201)
@@ -262,4 +262,72 @@
 									getLocalName());
 		}
 	}
+	
+	public void testGetURI() {
+		BPELLanguageModel model=new DefaultBPELLanguageModel(null);
+
+		String xml="<process xmlns=\"http://docs.oasis-open.org/wsbpel/2.0/process/executable\">"+
+	       		"<sequence>"+
+	       			"<receive/>"+
+	       			"<invoke/>"+
+	       		"</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 act=component.getActivity();
+		
+		if ((act instanceof Sequence) == false) {
+			fail("Activity is not a sequence");
+		}
+		
+		Sequence seq=(Sequence)act;
+		
+		if (seq.getActivities().size() != 2) {
+			fail("Expecting 2 child activities: "+
+							seq.getActivities().size());
+		}
+		
+		if ((seq.getActivities().get(0) instanceof Receive) == false) {
+			fail("First activity should be receive");
+		}
+		
+		if ((seq.getActivities().get(1) instanceof Invoke) == false) {
+			fail("Second activity should be invoke");
+		}
+		
+		Invoke invoke=(Invoke)seq.getActivities().get(1);
+		
+		String uri=invoke.getURI();
+		
+		if (uri == null) {
+			fail("URI is null");
+		}
+		
+		if (uri.equals("//@activity/@activities.1") == false) {
+			fail("URI is invalid: "+uri);
+		}
+	}
 }



More information about the savara-commits mailing list