You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by bf...@apache.org on 2011/03/02 20:30:20 UTC

svn commit: r1076346 - in /oodt/branches/wengine-branch/wengine/src/main: java/org/apache/oodt/cas/workflow/engine/ java/org/apache/oodt/cas/workflow/server/action/ java/org/apache/oodt/cas/workflow/server/channel/ java/org/apache/oodt/cas/workflow/ser...

Author: bfoster
Date: Wed Mar  2 19:30:19 2011
New Revision: 1076346

URL: http://svn.apache.org/viewvc?rev=1076346&view=rev
Log:

- added ability to get ProcessorStub via InstanceId

- updates to TraceWorkflow action

Modified:
    oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/WorkflowEngine.java
    oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/WorkflowEngineClient.java
    oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/WorkflowEngineLocal.java
    oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/action/TraceWorkflow.java
    oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/AbstractCommunicationChannelServer.java
    oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/CommunicationChannelClient.java
    oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/CommunicationChannelServer.java
    oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/MultiCommunicationChannelClient.java
    oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/rmi/RmiCommunicationChannelClient.java
    oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/rmi/RmiCommunicationChannelServer.java
    oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/rmi/RmiCommunicationChannelServerInterface.java
    oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/rmi/RmiCommunicationChannelServerMBean.java
    oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/xmlrpc/XmlRpcCommunicationChannelClient.java
    oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/xmlrpc/XmlRpcCommunicationChannelServer.java
    oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/xmlrpc/XmlRpcCommunicationServerInterface.java
    oodt/branches/wengine-branch/wengine/src/main/resources/policy/workflows/WorkflowModelTestFile.xml

Modified: oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/WorkflowEngine.java
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/WorkflowEngine.java?rev=1076346&r1=1076345&r2=1076346&view=diff
==============================================================================
--- oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/WorkflowEngine.java (original)
+++ oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/WorkflowEngine.java Wed Mar  2 19:30:19 2011
@@ -150,7 +150,11 @@ public interface WorkflowEngine {
     public ProcessorSkeleton getWorkflow(String instanceId) throws EngineException;
 
     public WorkflowState getWorkflowState(String instanceId) throws EngineException;
-    
+
+    public ProcessorStub getWorkflowStub(String instanceId) throws EngineException;
+
+    public ProcessorStub getWorkflowStub(String instanceId, String modelId) throws EngineException;
+
 	public QueryPage getNextPage(QueryPage page) throws EngineException;
 	
 	public QueryPage getPage(PageInfo pageInfo, QueryExpression queryExpression) throws EngineException;

Modified: oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/WorkflowEngineClient.java
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/WorkflowEngineClient.java?rev=1076346&r1=1076345&r2=1076346&view=diff
==============================================================================
--- oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/WorkflowEngineClient.java (original)
+++ oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/WorkflowEngineClient.java Wed Mar  2 19:30:19 2011
@@ -186,6 +186,22 @@ public class WorkflowEngineClient implem
 			throw new EngineException(e);
     	}
     }
+    
+    public ProcessorStub getWorkflowStub(String instanceId) throws EngineException {
+    	try {
+    		return this.client.getWorkflowStub(instanceId);
+    	}catch (Exception e) {
+			throw new EngineException(e);
+    	}
+    }
+    
+    public ProcessorStub getWorkflowStub(String instanceId, String modelId) throws EngineException {
+    	try {
+    		return this.client.getWorkflowStub(instanceId, modelId);
+    	}catch (Exception e) {
+			throw new EngineException(e);
+    	}
+    }
 	
 	public Metadata getWorkflowMetadata(String instanceId) throws EngineException {
 		try {

Modified: oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/WorkflowEngineLocal.java
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/WorkflowEngineLocal.java?rev=1076346&r1=1076345&r2=1076346&view=diff
==============================================================================
--- oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/WorkflowEngineLocal.java (original)
+++ oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/engine/WorkflowEngineLocal.java Wed Mar  2 19:30:19 2011
@@ -251,6 +251,14 @@ public class WorkflowEngineLocal impleme
 		}
     }
     
+    public ProcessorStub getWorkflowStub(String instanceId) throws EngineException {
+    	return this.queueManager.getWorkflowProcessor(instanceId).getStub();
+    }
+    
+    public ProcessorStub getWorkflowStub(String instanceId, String modelId) throws EngineException {
+    	return WorkflowUtils.findProcessor(this.queueManager.getWorkflowProcessor(instanceId), modelId).getStub();
+    }
+    
 	public void setWorkflowState(String instanceId, String modelId, WorkflowState state) throws EngineException {
 		this.queueManager.setState(instanceId, modelId, state);
 	}

Modified: oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/action/TraceWorkflow.java
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/action/TraceWorkflow.java?rev=1076346&r1=1076345&r2=1076346&view=diff
==============================================================================
--- oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/action/TraceWorkflow.java (original)
+++ oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/action/TraceWorkflow.java Wed Mar  2 19:30:19 2011
@@ -17,6 +17,7 @@
 package org.apache.oodt.cas.workflow.server.action;
 
 //JDK imports
+import java.util.List;
 import java.util.Vector;
 
 //OODT imports
@@ -24,6 +25,7 @@ import org.apache.oodt.cas.metadata.Meta
 import org.apache.oodt.cas.workflow.engine.WorkflowEngineClient;
 import org.apache.oodt.cas.workflow.exceptions.EngineException;
 import org.apache.oodt.cas.workflow.instance.WorkflowConnectTaskInstance;
+import org.apache.oodt.cas.workflow.processor.ProcessorStub;
 
 /**
  * @author bfoster
@@ -54,12 +56,13 @@ public class TraceWorkflow extends Workf
 				parentWorkflowInstanceId = weClient.getWorkflowMetadata(currentInstanceId).getMetadata(WorkflowConnectTaskInstance.SPAWNED_BY_WORKFLOW);
 			}while(parentWorkflowInstanceId != null);
 			if (this.mode.equals(Mode.RELATIVES)) {
-				String index = "";
+				String indent = "";
 				for (String parent : parents) {
-					System.out.println(index + " - InstanceId = '" + parent + " : State = '" + weClient.getWorkflowState(parent).getName() + "'");
-					index += "  ";
+					ProcessorStub stub = weClient.getWorkflowStub(parent);
+					System.out.println(indent + " - InstanceId = '" + parent + " : ModelId = '" + stub.getModelId() + "' : State = '" + stub.getState().getName() + "'");
+					indent += "  ";
 				}
-				this.printTree(weClient, currentInstanceId, index);
+				this.printTree(weClient, currentInstanceId, indent);
 			}else if (this.mode.equals(Mode.COMPLETE)) {
 				this.printTree(weClient, currentInstanceId, "");
 			}			
@@ -69,10 +72,13 @@ public class TraceWorkflow extends Workf
 	}
 	
 	private void printTree(WorkflowEngineClient weClient, String instanceId, String indent) throws EngineException {
-		System.out.println(indent + " - InstanceId = '" + instanceId + "' : State = '" + weClient.getWorkflowState(instanceId).getName() + "'");
+		ProcessorStub stub = weClient.getWorkflowStub(instanceId);
+		System.out.println(indent + " - InstanceId = '" + instanceId + " : ModelId = '" + stub.getModelId() + "' : State = '" + stub.getState().getName() + "'");
 		Metadata metadata = weClient.getWorkflowMetadata(instanceId);
-		for (String child : metadata.getAllMetadata(WorkflowConnectTaskInstance.SPAWNED_WORKFLOWS))
-			this.printTree(weClient, child, indent + "  ");
+		List<String> spawnedWorkflows = metadata.getAllMetadata(WorkflowConnectTaskInstance.SPAWNED_WORKFLOWS);
+		if (spawnedWorkflows != null)
+			for (String child : spawnedWorkflows)
+				this.printTree(weClient, child, indent + "  ");
 	}
 	
 	public void setInstanceId(String instanceId) {
@@ -80,7 +86,7 @@ public class TraceWorkflow extends Workf
 	}
 	
 	public void setMode(String mode) {
-		this.mode = Mode.valueOf(mode);
+		this.mode = Mode.valueOf(mode.toUpperCase());
 	}
 
 }

Modified: oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/AbstractCommunicationChannelServer.java
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/AbstractCommunicationChannelServer.java?rev=1076346&r1=1076345&r2=1076346&view=diff
==============================================================================
--- oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/AbstractCommunicationChannelServer.java (original)
+++ oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/AbstractCommunicationChannelServer.java Wed Mar  2 19:30:19 2011
@@ -191,6 +191,24 @@ public abstract class AbstractCommunicat
 		}
     }
     
+    public ProcessorStub getWorkflowStub(String instanceId) throws Exception {
+    	try {
+    		return this.workflowEngine.getWorkflowStub(instanceId);
+		}catch (Exception e) {
+			LOG.log(Level.SEVERE, "Failed to get processor stub for workflow [instanceid='" + instanceId  + "'] from engine : " + e.getMessage(), e);
+			throw new Exception("Failed to get processor stub for workflow [instanceid='" + instanceId  + "'] from engine : " + e.getMessage(), e);
+		}
+    }
+    
+    public ProcessorStub getWorkflowStub(String instanceId, String modelId) throws Exception {
+    	try {
+    		return this.workflowEngine.getWorkflowStub(instanceId);
+		}catch (Exception e) {
+			LOG.log(Level.SEVERE, "Failed to get processor stub for workflow [instanceid='" + instanceId  + "',modelId='" + modelId + "'] from engine : " + e.getMessage(), e);
+			throw new Exception("Failed to get processor stub for workflow [instanceid='" + instanceId  + "',modelId='" + modelId + "'] from engine : " + e.getMessage(), e);
+		}
+    }
+    
     public ProcessorInfo getProcessorInfo(String instanceId, String modelId) throws Exception {
     	try {
     		return this.workflowEngine.getProcessorInfo(instanceId, modelId);

Modified: oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/CommunicationChannelClient.java
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/CommunicationChannelClient.java?rev=1076346&r1=1076345&r2=1076346&view=diff
==============================================================================
--- oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/CommunicationChannelClient.java (original)
+++ oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/CommunicationChannelClient.java Wed Mar  2 19:30:19 2011
@@ -97,6 +97,10 @@ public interface CommunicationChannelCli
 
     public void updateWorkflowAndInstance(String instanceId, String modelId, WorkflowState state, Metadata metadata, String jobId, Metadata instanceMetadata) throws Exception;
     
+    public ProcessorStub getWorkflowStub(String instanceId) throws Exception;
+
+    public ProcessorStub getWorkflowStub(String instanceId, String modelId) throws Exception;
+
     public void setWorkflowState(String instanceId, String modelId, WorkflowState state) throws Exception;
 
     public void setWorkflowPriority(String instanceId, String modelId, Priority priority) throws Exception;

Modified: oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/CommunicationChannelServer.java
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/CommunicationChannelServer.java?rev=1076346&r1=1076345&r2=1076346&view=diff
==============================================================================
--- oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/CommunicationChannelServer.java (original)
+++ oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/CommunicationChannelServer.java Wed Mar  2 19:30:19 2011
@@ -102,6 +102,10 @@ public interface CommunicationChannelSer
 
     public void updateWorkflowAndInstance(String instanceId, String modelId, WorkflowState state, Metadata metadata, String jobId, Metadata instanceMetadata) throws Exception;
 
+    public ProcessorStub getWorkflowStub(String instanceId) throws Exception;
+
+    public ProcessorStub getWorkflowStub(String instanceId, String modelId) throws Exception;
+
     public void setWorkflowState(String instanceId, String modelId, WorkflowState state) throws Exception;
 
     public void setWorkflowPriority(String instanceId, String modelId, Priority priority) throws Exception;

Modified: oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/MultiCommunicationChannelClient.java
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/MultiCommunicationChannelClient.java?rev=1076346&r1=1076345&r2=1076346&view=diff
==============================================================================
--- oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/MultiCommunicationChannelClient.java (original)
+++ oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/MultiCommunicationChannelClient.java Wed Mar  2 19:30:19 2011
@@ -90,6 +90,14 @@ public class MultiCommunicationChannelCl
 	public Date getLaunchDate() throws Exception {
 		return useClient.getLaunchDate();
 	}
+	
+    public ProcessorStub getWorkflowStub(String instanceId) throws Exception {
+    	return useClient.getWorkflowStub(instanceId);
+    }
+    
+    public ProcessorStub getWorkflowStub(String instanceId, String modelId) throws Exception {
+    	return useClient.getWorkflowStub(instanceId, modelId);
+    }
 
 	public List<Metadata> getMetadata(QueryPage page) throws Exception {
 		return useClient.getMetadata(page);

Modified: oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/rmi/RmiCommunicationChannelClient.java
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/rmi/RmiCommunicationChannelClient.java?rev=1076346&r1=1076345&r2=1076346&view=diff
==============================================================================
--- oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/rmi/RmiCommunicationChannelClient.java (original)
+++ oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/rmi/RmiCommunicationChannelClient.java Wed Mar  2 19:30:19 2011
@@ -131,6 +131,14 @@ public class RmiCommunicationChannelClie
 		return (List<WorkflowGraph>) this.serializer.deserializeObject(List.class, this.getRmiServer().rmi_getWorkflowGraphs());
     }
     
+    public ProcessorStub getWorkflowStub(String instanceId) throws Exception {
+		return this.serializer.deserializeObject(ProcessorStub.class, this.getRmiServer().rmi_getWorkflowStub(instanceId));
+    }
+
+    public ProcessorStub getWorkflowStub(String instanceId, String modelId) throws Exception {
+		return this.serializer.deserializeObject(ProcessorStub.class, this.getRmiServer().rmi_getWorkflowStub(instanceId, modelId));
+    }
+    
     public ProcessorInfo getProcessorInfo(String instanceId) throws Exception {
 		return this.serializer.deserializeObject(ProcessorInfo.class, this.getRmiServer().rmi_getProcessorInfo(instanceId));
     }

Modified: oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/rmi/RmiCommunicationChannelServer.java
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/rmi/RmiCommunicationChannelServer.java?rev=1076346&r1=1076345&r2=1076346&view=diff
==============================================================================
--- oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/rmi/RmiCommunicationChannelServer.java (original)
+++ oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/rmi/RmiCommunicationChannelServer.java Wed Mar  2 19:30:19 2011
@@ -230,6 +230,22 @@ public class RmiCommunicationChannelServ
 			throw new RemoteException(e.getMessage(), e);
 		}
     }
+
+    public String rmi_getWorkflowStub(String instanceId) throws RemoteException {
+		try {
+			return this.serializer.serializeObject(this.getWorkflowStub(instanceId));
+		}catch (Exception e) {
+			throw new RemoteException(e.getMessage(), e);
+		}
+    }
+    
+    public String rmi_getWorkflowStub(String instanceId, String modelId) throws RemoteException {
+		try {
+			return this.serializer.serializeObject(this.getWorkflowStub(instanceId, modelId));
+		}catch (Exception e) {
+			throw new RemoteException(e.getMessage(), e);
+		}
+    }
     
     public String rmi_getProcessorInfo(String instanceId) throws RemoteException {
 		try {

Modified: oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/rmi/RmiCommunicationChannelServerInterface.java
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/rmi/RmiCommunicationChannelServerInterface.java?rev=1076346&r1=1076345&r2=1076346&view=diff
==============================================================================
--- oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/rmi/RmiCommunicationChannelServerInterface.java (original)
+++ oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/rmi/RmiCommunicationChannelServerInterface.java Wed Mar  2 19:30:19 2011
@@ -125,6 +125,10 @@ public interface RmiCommunicationChannel
 	
 	public String rmi_getMetadata(String page) throws RemoteException;
 	
+    public String rmi_getWorkflowStub(String instanceId) throws RemoteException;
+    
+    public String rmi_getWorkflowStub(String instanceId, String modelId) throws RemoteException;
+
 	public String rmi_getWorkflowState(String instanceId) throws RemoteException;
 	
 }

Modified: oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/rmi/RmiCommunicationChannelServerMBean.java
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/rmi/RmiCommunicationChannelServerMBean.java?rev=1076346&r1=1076345&r2=1076346&view=diff
==============================================================================
--- oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/rmi/RmiCommunicationChannelServerMBean.java (original)
+++ oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/rmi/RmiCommunicationChannelServerMBean.java Wed Mar  2 19:30:19 2011
@@ -35,6 +35,7 @@ import org.apache.oodt.cas.workflow.proc
 import org.apache.oodt.cas.workflow.state.WorkflowState;
 
 //JDK imports
+import java.rmi.RemoteException;
 import java.util.Comparator;
 import java.util.Date;
 import java.util.List;
@@ -98,6 +99,10 @@ public interface RmiCommunicationChannel
 
     public void setWorkflowPriority(String instanceId, String modelId, Priority priority) throws Exception;
 
+    public String rmi_getWorkflowStub(String instanceId) throws RemoteException;
+    
+    public String rmi_getWorkflowStub(String instanceId, String modelId) throws RemoteException;
+    
     public Metadata getWorkflowMetadata(String instanceId) throws Exception;
 
     public Metadata getWorkflowMetadata(String instanceId, String modelId) throws Exception;

Modified: oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/xmlrpc/XmlRpcCommunicationChannelClient.java
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/xmlrpc/XmlRpcCommunicationChannelClient.java?rev=1076346&r1=1076345&r2=1076346&view=diff
==============================================================================
--- oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/xmlrpc/XmlRpcCommunicationChannelClient.java (original)
+++ oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/xmlrpc/XmlRpcCommunicationChannelClient.java Wed Mar  2 19:30:19 2011
@@ -170,6 +170,19 @@ public class XmlRpcCommunicationChannelC
 		Vector<Object> args = new Vector<Object>();
 		return this.serializer.deserializeObject(List.class, (String) this.client.execute(XmlRpcCommunicationChannelServer.class.getSimpleName() + ".xmlrpc_getWorkflowGraphs", args));
 	}
+
+    public ProcessorStub getWorkflowStub(String instanceId) throws Exception {
+		Vector<Object> args = new Vector<Object>();
+		args.add(instanceId);
+		return this.serializer.deserializeObject(ProcessorStub.class, (String) this.client.execute(XmlRpcCommunicationChannelServer.class.getSimpleName() + ".xmlrpc_getWorkflowStub", args));
+    }
+	
+    public ProcessorStub getWorkflowStub(String instanceId, String modelId) throws Exception {
+		Vector<Object> args = new Vector<Object>();
+		args.add(instanceId);
+		args.add(modelId);
+		return this.serializer.deserializeObject(ProcessorStub.class, (String) this.client.execute(XmlRpcCommunicationChannelServer.class.getSimpleName() + ".xmlrpc_getWorkflowStub", args));
+    }
 	
     public ProcessorInfo getProcessorInfo(String instanceId) throws Exception {
 		Vector<Object> args = new Vector<Object>();

Modified: oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/xmlrpc/XmlRpcCommunicationChannelServer.java
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/xmlrpc/XmlRpcCommunicationChannelServer.java?rev=1076346&r1=1076345&r2=1076346&view=diff
==============================================================================
--- oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/xmlrpc/XmlRpcCommunicationChannelServer.java (original)
+++ oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/xmlrpc/XmlRpcCommunicationChannelServer.java Wed Mar  2 19:30:19 2011
@@ -113,6 +113,14 @@ public class XmlRpcCommunicationChannelS
 		return this.serializer.serializeObject(this.xmlrpc_getSupportedProcessorIds());
 	}
 
+    public String xmlrpc_getWorkflowStub(String instanceId) throws Exception {
+		return this.serializer.serializeObject(this.getWorkflowStub(instanceId));
+    }
+    
+    public String xmlrpc_getWorkflowStub(String instanceId, String modelId) throws Exception {
+		return this.serializer.serializeObject(this.getWorkflowStub(instanceId, modelId));
+    }
+    
     public String xmlrpc_getProcessorInfo(String instanceId) throws Exception {
 		return this.serializer.serializeObject(this.getProcessorInfo(instanceId));
     }

Modified: oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/xmlrpc/XmlRpcCommunicationServerInterface.java
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/xmlrpc/XmlRpcCommunicationServerInterface.java?rev=1076346&r1=1076345&r2=1076346&view=diff
==============================================================================
--- oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/xmlrpc/XmlRpcCommunicationServerInterface.java (original)
+++ oodt/branches/wengine-branch/wengine/src/main/java/org/apache/oodt/cas/workflow/server/channel/xmlrpc/XmlRpcCommunicationServerInterface.java Wed Mar  2 19:30:19 2011
@@ -48,6 +48,10 @@ public interface XmlRpcCommunicationServ
 
 	public String xmlrpc_getWorkflowGraphs() throws Exception;
 
+	public String xmlrpc_getWorkflowStub(String instanceId) throws Exception;
+
+    public String xmlrpc_getWorkflowStub(String instanceId, String modelId) throws Exception;
+    
 	public String xmlrpc_getProcessorInfo(String instanceId) throws Exception;
 
     public String xmlrpc_getProcessorInfo(String instanceId, String modelId) throws Exception;

Modified: oodt/branches/wengine-branch/wengine/src/main/resources/policy/workflows/WorkflowModelTestFile.xml
URL: http://svn.apache.org/viewvc/oodt/branches/wengine-branch/wengine/src/main/resources/policy/workflows/WorkflowModelTestFile.xml?rev=1076346&r1=1076345&r2=1076346&view=diff
==============================================================================
--- oodt/branches/wengine-branch/wengine/src/main/resources/policy/workflows/WorkflowModelTestFile.xml (original)
+++ oodt/branches/wengine-branch/wengine/src/main/resources/policy/workflows/WorkflowModelTestFile.xml Wed Mar  2 19:30:19 2011
@@ -6,7 +6,6 @@
 	
 	<!-- Connection Workflow Test -->
 	<workflow id="ConnectWorkflowTest" execution="sequential">
-		<configuration extends="test"/>
 		<task id-ref="Orbit"/>
 		<task id="MultiRun" class="org.apache.oodt.cas.workflow.instance.WorkflowConnectTaskInstance">
 			<configuration>
@@ -15,9 +14,10 @@
 				<property name="SimpleNCalculator/N" value="3"/>
 			</configuration>
 		</task>
-	</workflow> 
+		<task id-ref="TestConnectTask" alias="FinalCheck" p:validateKey="Orbit_key,TestConnectTask"/>
+	</workflow>
 	<task id="TestConnectTask" class="org.apache.oodt.cas.workflow.instance.ValidateMetadataInstance"/>
-
+	
 	<!-- Workflow Metadata Flow Test -->
 	<workflow id="TestWorkflow" execution="sequential">
 		<configuration extends="test"/>