You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2011/08/26 23:51:08 UTC
svn commit: r1162271 - in /incubator/airavata/trunk/modules/xbaya-gui: ./
src/main/java/org/apache/airavata/xbaya/
src/main/java/org/apache/airavata/xbaya/interpretor/
src/main/java/org/apache/airavata/xbaya/jython/lib/
src/main/java/org/apache/airavat...
Author: lahiru
Date: Fri Aug 26 21:51:08 2011
New Revision: 1162271
URL: http://svn.apache.org/viewvc?rev=1162271&view=rev
Log:
removing old workflow-tracking dependency from xbaya-gui.
Modified:
incubator/airavata/trunk/modules/xbaya-gui/pom.xml
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/GpelWorkflowClient.java
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpreter.java
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/jython/lib/GenericInvoker.java
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/jython/lib/NotificationSender.java
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/jython/lib/ServiceNotificationSender.java
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/lead/NotificationHandler.java
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/test/MonitorTestCase.java
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/test/ResourceNotifierTestCase.java
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/test/WorkflowModificationTestCase.java
incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/test/service/ServiceNotificationSender.java
Modified: incubator/airavata/trunk/modules/xbaya-gui/pom.xml
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/pom.xml?rev=1162271&r1=1162270&r2=1162271&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/pom.xml (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/pom.xml Fri Aug 26 21:51:08 2011
@@ -269,16 +269,6 @@
<version>0.9b4-1</version>
</dependency>
<dependency>
- <groupId>workflow-tracking</groupId>
- <artifactId>workflow_tracking</artifactId>
- <version>2.7.1</version>
- </dependency>
- <dependency>
- <groupId>workflow-tracking</groupId>
- <artifactId>workflow_tracking_types</artifactId>
- <version>2.6</version>
- </dependency>
- <dependency>
<groupId>xutil</groupId>
<artifactId>xutil</artifactId>
<version>0.2</version>
Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/GpelWorkflowClient.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/GpelWorkflowClient.java?rev=1162271&r1=1162270&r2=1162271&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/GpelWorkflowClient.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/GpelWorkflowClient.java Fri Aug 26 21:51:08 2011
@@ -32,6 +32,9 @@ import java.util.List;
import javax.xml.namespace.QName;
+import org.apache.airavata.workflow.tracking.client.Callback;
+import org.apache.airavata.workflow.tracking.client.LeadNotificationManager;
+import org.apache.airavata.workflow.tracking.client.NotificationType;
import org.apache.airavata.wsmg.client.WseMsgBrokerClient;
import org.apache.airavata.xbaya.component.ComponentException;
import org.apache.airavata.xbaya.component.ws.WSComponentPort;
@@ -58,9 +61,7 @@ import xsul.invoker.gsi.GsiInvoker;
import xsul.lead.LeadContextHeader;
import xsul.ws_addressing.WsaEndpointReference;
import xsul5.wsdl.WsdlDefinitions;
-import edu.indiana.extreme.lead.workflow_tracking.client.Callback;
-import edu.indiana.extreme.lead.workflow_tracking.client.LeadNotificationManager;
-import edu.indiana.extreme.lead.workflow_tracking.client.NotificationType;
+
public class GpelWorkflowClient implements Callback {
@@ -106,7 +107,7 @@ public class GpelWorkflowClient implemen
invoke(userName, password, topic, workflow, inputs);
LeadNotificationManager.createMessageBoxSubscription("http://127.0.0.1:13333/MsgBox", "127.0.0.1:12346",
- "topic123", "", new GpelWorkflowClient(), "");
+ "topic123", "", new GpelWorkflowClient(), false);
}
Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpreter.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpreter.java?rev=1162271&r1=1162270&r2=1162271&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpreter.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/interpretor/WorkflowInterpreter.java Fri Aug 26 21:51:08 2011
@@ -459,7 +459,7 @@ public class WorkflowInterpreter {
Object inputVal = findInputFromPort(node.getInputPort(0));
String instanceId = inputVal.toString();
- this.notifier.resourceMapping(instanceId, "Terminating EC2 Instance:" + instanceId);
+// this.notifier.resourceMapping(instanceId, "Terminating EC2 Instance:" + instanceId);
/*
* Terminate instance
@@ -645,7 +645,7 @@ public class WorkflowInterpreter {
// find inputs
List<DataPort> inputPorts = node.getInputPorts();
ODEClient odeClient = new ODEClient();
- List<WSComponentPort> inputComponents = odeClient.getInputs(this.workflow);
+ List<WSComponentPort> inputComponents = odeClient.getInputs(this.workflow);
for (DataPort port : inputPorts) {
Object inputVal = findInputFromPort(port);
Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/jython/lib/GenericInvoker.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/jython/lib/GenericInvoker.java?rev=1162271&r1=1162270&r2=1162271&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/jython/lib/GenericInvoker.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/jython/lib/GenericInvoker.java Fri Aug 26 21:51:08 2011
@@ -48,6 +48,7 @@ import org.xmlpull.v1.builder.XmlElement
import xsul.invoker.gsi.GsiInvoker;
import xsul.lead.LeadContextHeader;
+import xsul.ws_addressing.WsaEndpointReference;
import xsul.wsdl.WsdlDefinitions;
import xsul.wsdl.WsdlException;
import xsul.wsdl.WsdlResolver;
@@ -248,12 +249,16 @@ public class GenericInvoker implements W
// Set LEAD context header.
LeadContextHeaderHelper leadContextHelper = new LeadContextHeaderHelper();
LeadContextHeader leadContext = leadContextHelper.getLeadContextHeader();
- leadContext.setEventSink(this.notifier.getEventSink());
+ try {
+ leadContext.setEventSink(new WsaEndpointReference(new URI(this.notifier.getEventSink().getAddress())));
+ leadContext.setServiceId(this.nodeID);
+ leadContext.setNodeId(this.nodeID);
+ leadContext.setWorkflowId(this.notifier.getWorkflowID());
+ leadContext.setTimeStep("1");
+ } catch (URISyntaxException e) {
+
+ }
StickySoapHeaderHandler handler = new StickySoapHeaderHandler("use-lead-header", leadContext);
- leadContext.setServiceId(this.nodeID);
- leadContext.setNodeId(this.nodeID);
- leadContext.setWorkflowId(this.notifier.getWorkflowID());
- leadContext.setTimeStep("1");
// if(this.configuration != null){
// leadContext.setMyleadAgentUrl(configuration.getMyLeadAgentURL());
// leadContext.setXRegistryUrl(configuration.getXRegistryURL());
@@ -348,7 +353,7 @@ public class GenericInvoker implements W
logger.entering();
try {
- WSIFMessage inputMessage = this.invoker.getInputs();
+ WSIFMessage inputMessage = this.invoker.getInputs();
logger.finest("inputMessage: " + XMLUtil.xmlElementToString((XmlElement) inputMessage));
this.notifier.invokingService(inputMessage);
Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/jython/lib/NotificationSender.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/jython/lib/NotificationSender.java?rev=1162271&r1=1162270&r2=1162271&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/jython/lib/NotificationSender.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/jython/lib/NotificationSender.java Fri Aug 26 21:51:08 2011
@@ -22,29 +22,25 @@
package org.apache.airavata.xbaya.jython.lib;
import java.net.URI;
+import java.util.Properties;
-import org.apache.airavata.wsmg.client.WseMsgBrokerClient;
+import org.apache.airavata.workflow.tracking.NotifierFactory;
+import org.apache.airavata.workflow.tracking.WorkflowNotifier;
+import org.apache.airavata.workflow.tracking.common.*;
import org.apache.airavata.xbaya.util.StringUtil;
import org.apache.airavata.xbaya.util.XMLUtil;
+import org.apache.axis2.addressing.EndpointReference;
import org.python.core.PyObject;
import org.xmlpull.infoset.XmlElement;
-import xsul.XmlConstants;
import xsul.ws_addressing.WsaEndpointReference;
import xsul5.MLogger;
-import edu.indiana.extreme.lead.workflow_tracking.Notifier;
-import edu.indiana.extreme.lead.workflow_tracking.NotifierFactory;
-import edu.indiana.extreme.lead.workflow_tracking.common.AnnotationProps;
-import edu.indiana.extreme.lead.workflow_tracking.common.ConstructorConsts;
-import edu.indiana.extreme.lead.workflow_tracking.common.ConstructorProps;
-import edu.indiana.extreme.lead.workflow_tracking.common.InvocationContext;
-import edu.indiana.extreme.lead.workflow_tracking.common.InvocationEntity;
public class NotificationSender {
protected static final MLogger logger = MLogger.getLogger();
- protected Notifier notifier;
+ protected WorkflowNotifier notifier;
protected String brokerURL;
@@ -58,7 +54,9 @@ public class NotificationSender {
protected InvocationContext invocationContext;
- protected WsaEndpointReference eventSink;
+ protected EndpointReference eventSink;
+
+ protected WorkflowTrackingContext context;
/**
* Constructs a NotificationSender.
@@ -84,19 +82,16 @@ public class NotificationSender {
this.brokerURL = brokerURL;
this.workflowID = URI.create(StringUtil.convertToJavaIdentifier(this.topic));
//todo have to remove the xsul dependency completely
- URI temporaryURI = URI.create(WseMsgBrokerClient.createEndpointReference(this.brokerURL, this.topic).getAddress());
- this.eventSink = new WsaEndpointReference(temporaryURI);
- ConstructorProps props = ConstructorProps.newProps();
- props.set(ConstructorConsts.BROKER_EPR, XmlConstants.BUILDER.serializeToString(this.eventSink));
- AnnotationProps annotationProps = AnnotationProps.newProps();
- props.set(ConstructorConsts.ANNOTATIONS, annotationProps);
-
- this.notifier = NotifierFactory.createNotifier(props);
+ this.eventSink = new EndpointReference(this.brokerURL);
+ Properties props = new Properties();
+ this.notifier = NotifierFactory.createNotifier();
URI initiatorWorkflowID = null;
URI initiatorServiceID = URI.create("XBaya");
String initiatorWorkflowNodeID = null;
Integer initiatorWorkflowTimeStep = null;
+ context = this.notifier.createTrackingContext(props,eventSink,initiatorWorkflowID,
+ initiatorServiceID,initiatorWorkflowNodeID,initiatorWorkflowTimeStep);
this.initiator = this.notifier.createEntity(initiatorWorkflowID, initiatorServiceID, initiatorWorkflowNodeID,
initiatorWorkflowTimeStep);
@@ -111,7 +106,7 @@ public class NotificationSender {
/**
* @return The event sink EPR.
*/
- public WsaEndpointReference getEventSink() {
+ public EndpointReference getEventSink() {
return this.eventSink;
}
@@ -128,7 +123,7 @@ public class NotificationSender {
}
message += keywords[i] + "=" + args[i];
}
- this.invocationContext = this.notifier.workflowInvoked(this.receiver, this.initiator, message);
+ this.invocationContext = this.notifier.workflowInvoked(this.context,this.initiator, message);
}
public void workflowStarted(Object[] args, String[] keywords) {
@@ -140,7 +135,7 @@ public class NotificationSender {
}
message += keywords[i] + "=" + args[i];
}
- this.invocationContext = this.notifier.workflowInvoked(this.receiver, this.initiator, message);
+ this.invocationContext = this.notifier.workflowInvoked(this.context,this.initiator, message);
}
/**
@@ -156,8 +151,8 @@ public class NotificationSender {
}
message += keywords[i] + "=" + args[i];
}
- this.notifier.sendingResult(this.invocationContext, message);
- this.notifier.workflowTerminated(this.workflowID, "Workflow finished successfully.");
+ this.notifier.sendingResult(context,this.invocationContext, message);
+ this.notifier.workflowTerminated(context,this.workflowID, "Workflow finished successfully.");
}
public void sendingPartialResults(Object[] args, String[] keywords) {
@@ -169,7 +164,7 @@ public class NotificationSender {
}
message += keywords[i] + "=" + args[i];
}
- this.notifier.sendingResult(this.invocationContext, message);
+ this.notifier.sendingResult(context,this.invocationContext, message);
}
/**
@@ -185,12 +180,12 @@ public class NotificationSender {
}
message += keywords[i] + "=" + args[i];
}
- this.notifier.sendingResult(this.invocationContext, message);
- this.notifier.workflowTerminated(this.workflowID, "Workflow finished successfully.");
+ this.notifier.sendingResult(context,this.invocationContext, message);
+ this.notifier.workflowTerminated(context,this.workflowID, "Workflow finished successfully.");
}
public void workflowTerminated() {
- this.notifier.workflowTerminated(this.workflowID, "Workflow finished successfully.");
+ this.notifier.workflowTerminated(context,this.workflowID, "Workflow finished successfully.");
}
/**
@@ -232,18 +227,14 @@ public class NotificationSender {
String stackTrace = StringUtil.getStackTraceInString(e);
XmlElement stackTraceElement = XMLUtil.BUILDER.newFragment("stackTrace");
stackTraceElement.addChild(stackTrace);
- this.notifier.sendingFault(this.invocationContext, message, XMLUtil.xmlElementToString(stackTraceElement));
+ this.notifier.sendingFault(context,this.invocationContext, message, XMLUtil.xmlElementToString(stackTraceElement));
} else {
- this.notifier.sendingFault(this.invocationContext, message);
+ this.notifier.sendingFault(context,this.invocationContext, message);
}
}
public void info(String message) {
- this.notifier.info(this.invocationContext, message);
- }
-
- public void resourceMapping(String host, String... message) {
- this.notifier.resourceMapping(this.invocationContext, host, 1, message);
+ this.notifier.info(context,message);
}
/**
@@ -251,6 +242,7 @@ public class NotificationSender {
* @return The ServiceNoficationSender created.
*/
public ServiceNotificationSender createServiceNotificationSender(String nodeID) {
- return new ServiceNotificationSender(this.notifier, this.eventSink, this.initiator, this.workflowID, nodeID);
+ return new ServiceNotificationSender(this.notifier, this.eventSink, this.initiator, this.workflowID, nodeID,
+ this.context);
}
}
\ No newline at end of file
Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/jython/lib/ServiceNotificationSender.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/jython/lib/ServiceNotificationSender.java?rev=1162271&r1=1162270&r2=1162271&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/jython/lib/ServiceNotificationSender.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/jython/lib/ServiceNotificationSender.java Fri Aug 26 21:51:08 2011
@@ -24,8 +24,14 @@ package org.apache.airavata.xbaya.jython
import java.net.URI;
import java.util.Iterator;
+import org.apache.airavata.workflow.tracking.WorkflowNotifier;
+import org.apache.airavata.workflow.tracking.common.InvocationContext;
+import org.apache.airavata.workflow.tracking.common.InvocationEntity;
+import org.apache.airavata.workflow.tracking.common.WorkflowTrackingContext;
+import org.apache.airavata.workflow.tracking.impl.state.InvocationContextImpl;
import org.apache.airavata.xbaya.util.StringUtil;
import org.apache.airavata.xbaya.util.XMLUtil;
+import org.apache.axis2.addressing.EndpointReference;
import org.apache.xmlbeans.XmlException;
import org.apache.xmlbeans.XmlObject;
import org.xmlpull.infoset.XmlElement;
@@ -33,16 +39,12 @@ import org.xmlpull.infoset.XmlElement;
import xsul.ws_addressing.WsaEndpointReference;
import xsul.wsif.WSIFMessage;
import xsul5.MLogger;
-import edu.indiana.extreme.lead.workflow_tracking.Notifier;
-import edu.indiana.extreme.lead.workflow_tracking.common.InvocationContext;
-import edu.indiana.extreme.lead.workflow_tracking.common.InvocationEntity;
-import edu.indiana.extreme.lead.workflow_tracking.impl.state.InvocationContextImpl;
public class ServiceNotificationSender {
private static final MLogger logger = MLogger.getLogger();
- private Notifier notifier;
+ private WorkflowNotifier notifier;
private URI workflowID;
@@ -56,7 +58,9 @@ public class ServiceNotificationSender {
private InvocationContext invocationContext;
- private WsaEndpointReference eventSink;
+ private WorkflowTrackingContext context;
+
+ private EndpointReference eventSink;
/**
* Constructs a ServiceNotificationSender.
@@ -67,13 +71,14 @@ public class ServiceNotificationSender {
* @param workflowID
* @param nodeID
*/
- protected ServiceNotificationSender(Notifier notifier, WsaEndpointReference eventSink, InvocationEntity initiator,
- URI workflowID, String nodeID) {
+ protected ServiceNotificationSender(WorkflowNotifier notifier, EndpointReference eventSink, InvocationEntity initiator,
+ URI workflowID, String nodeID,WorkflowTrackingContext context) {
this.notifier = notifier;
this.eventSink = eventSink;
this.initiator = initiator;
this.workflowID = workflowID;
this.nodeID = nodeID;
+ this.context = context;
// In case of creating a service on the fly, there is no serviceID at
// the beginning.
this.serviceID = "";
@@ -104,7 +109,7 @@ public class ServiceNotificationSender {
/**
* @return The event sink.
*/
- public WsaEndpointReference getEventSink() {
+ public EndpointReference getEventSink() {
return this.eventSink;
}
@@ -140,7 +145,7 @@ public class ServiceNotificationSender {
logger.warning("Failed to parse " + inputs.toString(), e);
body = null; // Send notification anyway.
}
- this.invocationContext = this.notifier.invokingService(this.initiator, this.receiver, header, body, message);
+ this.invocationContext = this.notifier.invokingService(this.context,this.initiator, header, body, message);
}
/**
@@ -168,7 +173,7 @@ public class ServiceNotificationSender {
logger.warning("Failed to parse " + outputs.toString(), e);
body = null; // Send notification anyway.
}
- this.notifier.receivedResult(this.invocationContext, header, body, message);
+ this.notifier.receivedResult(this.context,this.invocationContext,header, body, message);
}
/**
@@ -204,9 +209,9 @@ public class ServiceNotificationSender {
XmlElement stackTraceElement = XMLUtil.BUILDER.newFragment("stackTrace");
stackTraceElement.addChild(stackTrace);
String annotation = XMLUtil.xmlElementToString(stackTraceElement);
- this.notifier.invokingServiceFailed(this.invocationContext, e, message, annotation);
+ this.notifier.invokingServiceFailed(this.context,this.invocationContext, e, message, annotation);
} else {
- this.notifier.invokingServiceFailed(this.invocationContext, message);
+ this.notifier.invokingServiceFailed(this.context,this.invocationContext, message);
}
}
@@ -227,7 +232,7 @@ public class ServiceNotificationSender {
if (message == null || "".equals(message)) {
message = "Error";
}
- this.notifier.receivedFault(this.invocationContext, message);
+ this.notifier.receivedFault(this.context,this.invocationContext, message);
}
/**
@@ -251,6 +256,6 @@ public class ServiceNotificationSender {
logger.warning("Failed to parse " + fault.toString(), e);
body = null; // Send notification anyway.
}
- this.notifier.receivedFault(this.invocationContext, header, body, message);
+ this.notifier.receivedFault(this.context,this.invocationContext, header, body, message);
}
}
\ No newline at end of file
Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/lead/NotificationHandler.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/lead/NotificationHandler.java?rev=1162271&r1=1162270&r2=1162271&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/lead/NotificationHandler.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/lead/NotificationHandler.java Fri Aug 26 21:51:08 2011
@@ -23,9 +23,16 @@ package org.apache.airavata.xbaya.lead;
import java.net.URI;
import java.net.URISyntaxException;
+import java.util.Properties;
+import org.apache.airavata.workflow.tracking.NotifierFactory;
+import org.apache.airavata.workflow.tracking.WorkflowNotifier;
+import org.apache.airavata.workflow.tracking.common.InvocationContext;
+import org.apache.airavata.workflow.tracking.common.InvocationEntity;
+import org.apache.airavata.workflow.tracking.common.WorkflowTrackingContext;
import org.apache.airavata.xbaya.XBayaConstants;
import org.apache.airavata.xbaya.util.XMLUtil;
+import org.apache.axis2.addressing.EndpointReference;
import org.apache.xmlbeans.XmlObject;
import org.xmlpull.v1.builder.XmlElement;
@@ -36,12 +43,7 @@ import xsul.message_router.MessageContex
import xsul.xbeans_util.XBeansUtil;
import xsul.xhandler.BaseHandler;
import xsul5.MLogger;
-import edu.indiana.extreme.lead.workflow_tracking.Notifier;
-import edu.indiana.extreme.lead.workflow_tracking.NotifierFactory;
-import edu.indiana.extreme.lead.workflow_tracking.common.ConstructorProps;
-import edu.indiana.extreme.lead.workflow_tracking.common.InvocationContext;
-import edu.indiana.extreme.lead.workflow_tracking.common.InvocationEntity;
-import edu.indiana.extreme.lead.workflow_tracking.util.MessageUtil;
+
public class NotificationHandler extends BaseHandler {
@@ -55,10 +57,14 @@ public class NotificationHandler extends
private LeadContextHeader leadContext;
- private Notifier notifier;
+ private WorkflowNotifier notifier;
+
+ private WorkflowTrackingContext context;
private InvocationContext invocationContext;
+ private InvocationEntity invocationEntity;
+
/**
* Constructs a NotificationHandler.
*
@@ -67,20 +73,8 @@ public class NotificationHandler extends
public NotificationHandler(LeadContextHeader leadContext) {
super(NotificationHandler.class.getName());
this.leadContext = leadContext;
- ConstructorProps props = MessageUtil.createConstructorPropsFromLeadContext(leadContext);
- this.notifier = NotifierFactory.createNotifier(props);
- }
-
- /**
- * @see xsul.xhandler.BaseHandler#processOutgoingXml(org.xmlpull.v1.builder.XmlElement,
- * xsul.message_router.MessageContext)
- */
- @Override
- public boolean processOutgoingXml(XmlElement soapEnvelope, MessageContext context)
- throws DynamicInfosetInvokerException {
- logger.finest("soapEnvelope: " + XMLUtil.xmlElementToString(soapEnvelope));
-
- URI myWorkflowID = null;
+ this.notifier = NotifierFactory.createNotifier();
+ URI myWorkflowID = null;
URI myServiceID = URI.create(XBayaConstants.APPLICATION_SHORT_NAME);
String userDN = this.leadContext.getUserDn();
if (userDN != null || userDN.trim().length() == 0) {
@@ -93,7 +87,22 @@ public class NotificationHandler extends
}
String myNodeID = null;
Integer myTimestep = null;
- InvocationEntity myEntity = this.notifier.createEntity(myWorkflowID, myServiceID, myNodeID, myTimestep);
+ EndpointReference epr = new EndpointReference(leadContext.getEventSink().getAddress().toString());
+ this.invocationEntity = this.notifier.createEntity(myWorkflowID, myServiceID, myNodeID, myTimestep);
+ this.context = this.notifier.createTrackingContext(new Properties(),epr,myWorkflowID,
+ myServiceID,myNodeID,myTimestep);
+ }
+
+ /**
+ * @see xsul.xhandler.BaseHandler#processOutgoingXml(org.xmlpull.v1.builder.XmlElement,
+ * xsul.message_router.MessageContext)
+ */
+ @Override
+ public boolean processOutgoingXml(XmlElement soapEnvelope, MessageContext context)
+ throws DynamicInfosetInvokerException {
+ logger.finest("soapEnvelope: " + XMLUtil.xmlElementToString(soapEnvelope));
+
+
URI serviceWorkflowID = null;
URI serviceServiceID = this.leadContext.getWorkflowId();
@@ -110,9 +119,6 @@ public class NotificationHandler extends
logger.caught(e);
}
}
- InvocationEntity serviceEntity = this.notifier.createEntity(serviceWorkflowID, serviceServiceID, serviceNodeID,
- serviceTimestep);
-
XmlElement soapHeader = soapEnvelope.element(null, XmlConstants.S_HEADER);
XmlElement soapBody = soapEnvelope.element(null, XmlConstants.S_BODY);
XmlObject headerObject = null;
@@ -121,9 +127,9 @@ public class NotificationHandler extends
}
XmlObject bodyObject = XBeansUtil.xmlElementToXmlObject(soapBody);
- this.invocationContext = this.notifier.invokingService(myEntity, serviceEntity, headerObject, bodyObject,
+ this.invocationContext = this.notifier.invokingService(this.context,this.invocationEntity, headerObject, bodyObject,
INVOKING_MESSAGE);
- return super.processOutgoingXml(soapEnvelope, context);
+ return super.processOutgoingXml(soapEnvelope,context);
}
/**
@@ -145,9 +151,9 @@ public class NotificationHandler extends
XmlObject bodyObject = XBeansUtil.xmlElementToXmlObject(soapBody);
XmlElement faultElement = soapBody.element(null, "Fault");
if (faultElement == null) {
- this.notifier.receivedResult(this.invocationContext, headerObject, bodyObject, RECEIVE_RESULT_MESSAGE);
+ this.notifier.receivedResult(this.context,this.invocationContext, headerObject, bodyObject, RECEIVE_RESULT_MESSAGE);
} else {
- this.notifier.receivedFault(this.invocationContext, headerObject, bodyObject, RECEIVE_FAULT_MESSAGE);
+ this.notifier.receivedFault(this.context,this.invocationContext, headerObject, bodyObject, RECEIVE_FAULT_MESSAGE);
}
return super.processIncomingXml(soapEnvelope, context);
Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/test/MonitorTestCase.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/test/MonitorTestCase.java?rev=1162271&r1=1162270&r2=1162271&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/test/MonitorTestCase.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/test/MonitorTestCase.java Fri Aug 26 21:51:08 2011
@@ -23,15 +23,16 @@ package org.apache.airavata.xbaya.test;
import java.net.URI;
import java.util.ArrayList;
+import java.util.Properties;
+import org.apache.airavata.workflow.tracking.Notifier;
+import org.apache.airavata.workflow.tracking.NotifierFactory;
+import org.apache.airavata.workflow.tracking.common.InvocationEntity;
+import org.apache.airavata.workflow.tracking.common.WorkflowTrackingContext;
+import org.apache.airavata.workflow.tracking.impl.state.DataObjImpl;
import org.apache.airavata.wsmg.client.WseMsgBrokerClient;
import org.apache.axis2.addressing.EndpointReference;
-import edu.indiana.extreme.lead.workflow_tracking.Notifier;
-import edu.indiana.extreme.lead.workflow_tracking.NotifierFactory;
-import edu.indiana.extreme.lead.workflow_tracking.common.ConstructorConsts;
-import edu.indiana.extreme.lead.workflow_tracking.common.ConstructorProps;
-import edu.indiana.extreme.lead.workflow_tracking.common.InvocationEntity;
-import edu.indiana.extreme.lead.workflow_tracking.impl.state.DataObjImpl;
+
public class MonitorTestCase extends XBayaTestCase {
@@ -44,18 +45,16 @@ public class MonitorTestCase extends XBa
EndpointReference brokerEPR = WseMsgBrokerClient.createEndpointReference(this.configuration.getBrokerURL()
.toString(), this.configuration.getTopic());
- ConstructorProps props = ConstructorProps.newProps();
- props.set(ConstructorConsts.BROKER_EPR, brokerEPR);
- Notifier notifier = NotifierFactory.createNotifier(props);
-
- InvocationEntity entity = notifier.createEntity(URI.create("workflowID"), URI.create("serviceID"),
- "workflowNodeID", new Integer(1) /* step */);
- notifier.publishURL(entity, "title", "http://www.google.com", "descriptionAndAnnotation");
+ Notifier notifier = NotifierFactory.createNotifier();
+
+ WorkflowTrackingContext context = notifier.createTrackingContext(new Properties(), brokerEPR,
+ URI.create("workflowID"), URI.create("serviceID"), "workflowNodeID", new Integer(1));
+ notifier.publishURL(context, "title", "http://www.google.com", "descriptionAndAnnotation");
- notifier.workflowInitialized(WORKFLOW_INSTANCE_ID);
+ notifier.workflowInitialized(context,WORKFLOW_INSTANCE_ID);
DataObjImpl dataObj = new DataObjImpl(URI.create("test"), new ArrayList<URI>());
- notifier.dataConsumed(entity, dataObj, "description");
+ notifier.dataConsumed(context, dataObj, "description");
}
/**
Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/test/ResourceNotifierTestCase.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/test/ResourceNotifierTestCase.java?rev=1162271&r1=1162270&r2=1162271&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/test/ResourceNotifierTestCase.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/test/ResourceNotifierTestCase.java Fri Aug 26 21:51:08 2011
@@ -22,17 +22,15 @@
package org.apache.airavata.xbaya.test;
import java.net.URI;
+import java.util.Properties;
-import edu.indiana.extreme.lead.workflow_tracking.Notifier;
-import edu.indiana.extreme.lead.workflow_tracking.NotifierFactory;
-import edu.indiana.extreme.lead.workflow_tracking.common.ConstructorConsts;
-import edu.indiana.extreme.lead.workflow_tracking.common.ConstructorProps;
-import edu.indiana.extreme.lead.workflow_tracking.common.InvocationEntity;
+
+import org.apache.airavata.workflow.tracking.Notifier;
+import org.apache.airavata.workflow.tracking.NotifierFactory;
+import org.apache.airavata.workflow.tracking.common.WorkflowTrackingContext;
import org.apache.airavata.wsmg.client.WseMsgBrokerClient;
-import org.apache.airavata.xbaya.util.XMLUtil;
import org.apache.axis2.addressing.EndpointReference;
-import xsul.ws_addressing.WsaEndpointReference;
public class ResourceNotifierTestCase extends XBayaTestCase {
@@ -42,25 +40,21 @@ public class ResourceNotifierTestCase ex
public void test() {
EndpointReference brokerEPR = WseMsgBrokerClient.createEndpointReference(this.configuration.getBrokerURL()
.toString(), this.configuration.getTopic());
- //TODO remove the xsul dependency here to WsaEndpointReference object
- URI temporaryURI = URI.create(brokerEPR.getAddress());
- ConstructorProps props = ConstructorProps.newProps();
- props.set(ConstructorConsts.BROKER_EPR, XMLUtil.xmlElementToString(new WsaEndpointReference(temporaryURI)));
- Notifier notifier = NotifierFactory.createNotifier(props);
+ Notifier notifier = NotifierFactory.createNotifier();
URI initiatorWorkflowID = URI.create("Workflow");
URI initiatorServiceID = URI.create("Adder_add");
String initiatorWorkflowNodeID1 = "Adder_add";
Integer workflowTimeStep = new Integer(0);
- InvocationEntity entity1 = notifier.createEntity(initiatorWorkflowID, initiatorServiceID,
- initiatorWorkflowNodeID1, workflowTimeStep);
- notifier.resourceMapping(entity1, "resource1.example.com", 1);
- notifier.resourceMapping(entity1, "resource2.example.com", 2);
- notifier.resourceMapping(entity1, "resource3.example.com", 3);
+ WorkflowTrackingContext context = notifier.createTrackingContext(new Properties(),brokerEPR,
+ initiatorWorkflowID,initiatorServiceID,initiatorWorkflowNodeID1,workflowTimeStep);
+ notifier.resourceMapping(context, "resource1.example.com", 1,null);
+ notifier.resourceMapping(context, "resource2.example.com", 2);
+ notifier.resourceMapping(context, "resource3.example.com", 3);
String initiatorWorkflowNodeID2 = "Adder_add_2";
- InvocationEntity entity2 = notifier.createEntity(initiatorWorkflowID, initiatorServiceID,
- initiatorWorkflowNodeID2, workflowTimeStep);
- notifier.resourceMapping(entity2, "resource.example.com", 0);
+ context = notifier.createTrackingContext(new Properties(),brokerEPR,
+ initiatorWorkflowID,initiatorServiceID,initiatorWorkflowNodeID2,workflowTimeStep);
+ notifier.resourceMapping(context, "resource.example.com", 0);
}
}
\ No newline at end of file
Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/test/WorkflowModificationTestCase.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/test/WorkflowModificationTestCase.java?rev=1162271&r1=1162270&r2=1162271&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/test/WorkflowModificationTestCase.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/test/WorkflowModificationTestCase.java Fri Aug 26 21:51:08 2011
@@ -27,7 +27,16 @@ import java.io.IOException;
import java.net.URI;
import java.util.HashMap;
import java.util.Map;
+import java.util.Properties;
+import org.apache.airavata.workflow.tracking.client.Callback;
+import org.apache.airavata.workflow.tracking.client.NotificationType;
+import org.apache.airavata.workflow.tracking.common.InvocationContext;
+import org.apache.airavata.workflow.tracking.common.InvocationEntity;
+import org.apache.airavata.workflow.tracking.common.WorkflowTrackingContext;
+import org.apache.airavata.workflow.tracking.impl.NotifierImpl;
+import org.apache.airavata.workflow.tracking.impl.publish.LoopbackPublisher;
+import org.apache.airavata.workflow.tracking.impl.publish.NotificationPublisher;
import org.apache.airavata.xbaya.XBayaConstants;
import org.apache.airavata.xbaya.XBayaEngine;
import org.apache.airavata.xbaya.component.Component;
@@ -57,6 +66,7 @@ import org.apache.airavata.xbaya.util.WS
import org.apache.airavata.xbaya.util.XMLUtil;
import org.apache.airavata.xbaya.wf.Workflow;
import org.apache.airavata.xbaya.workflow.WorkflowClient;
+import org.apache.axis2.addressing.EndpointReference;
import org.apache.xmlbeans.XmlObject;
import org.xmlpull.infoset.view.XmlValidationException;
import org.xmlpull.v1.builder.XmlElement;
@@ -73,13 +83,8 @@ import xsul.xwsif_runtime.WSIFRuntime;
import xsul5.MLogger;
import xsul5.wsdl.WsdlDefinitions;
import xsul5.wsdl.WsdlResolver;
-import edu.indiana.extreme.lead.workflow_tracking.client.Callback;
-import edu.indiana.extreme.lead.workflow_tracking.client.NotificationType;
-import edu.indiana.extreme.lead.workflow_tracking.common.InvocationContext;
-import edu.indiana.extreme.lead.workflow_tracking.common.InvocationEntity;
-import edu.indiana.extreme.lead.workflow_tracking.impl.NotifierImpl;
-import edu.indiana.extreme.lead.workflow_tracking.impl.publish.LoopbackPublisher;
-import edu.indiana.extreme.lead.workflow_tracking.impl.publish.NotificationPublisher;
+
+
public class WorkflowModificationTestCase extends XBayaTestCase {
@@ -289,11 +294,13 @@ public class WorkflowModificationTestCas
Integer serviceTimestep = null;
InvocationEntity serviceEntity = notifier.createEntity(serviceWorkflowID, serviceServiceID, serviceNodeID,
serviceTimestep);
+ EndpointReference epr = new EndpointReference(this.configuration.getBrokerURL().toASCIIString());
+ WorkflowTrackingContext workflowContext = notifier.createTrackingContext(new Properties(),epr,myWorkflowID,myServiceID,myNodeID,myTimestep);
XmlElement inputBody = (XmlElement) ((XmlElement) inputMessage).getParent();
XmlObject inputBodyObject = XBeansUtil.xmlElementToXmlObject(inputBody);
- InvocationContext context = notifier.invokingService(myEntity, serviceEntity, null, inputBodyObject);
+ InvocationContext context = notifier.invokingService(workflowContext, serviceEntity, null, inputBodyObject);
if (outputMap != null) {
WSIFMessage outputMessage = operation.createOutputMessage();
@@ -305,7 +312,7 @@ public class WorkflowModificationTestCas
XmlElement outputBody = (XmlElement) ((XmlElement) outputMessage).getParent();
XmlObject outputBodyObject = XBeansUtil.xmlElementToXmlObject(outputBody);
- notifier.receivedResult(context, null, outputBodyObject);
+ notifier.receivedResult(workflowContext,context, null, outputBodyObject);
}
}
@@ -328,7 +335,7 @@ public class WorkflowModificationTestCas
* @param publisher
*/
public MonitorNotifier(NotificationPublisher publisher) {
- super(publisher, false);
+ super();
}
}
Modified: incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/test/service/ServiceNotificationSender.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/test/service/ServiceNotificationSender.java?rev=1162271&r1=1162270&r2=1162271&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/test/service/ServiceNotificationSender.java (original)
+++ incubator/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/test/service/ServiceNotificationSender.java Fri Aug 26 21:51:08 2011
@@ -22,8 +22,15 @@
package org.apache.airavata.xbaya.test.service;
import java.net.URI;
+import java.util.Properties;
+import org.apache.airavata.workflow.tracking.Notifier;
+import org.apache.airavata.workflow.tracking.NotifierFactory;
+import org.apache.airavata.workflow.tracking.common.InvocationContext;
+import org.apache.airavata.workflow.tracking.common.InvocationEntity;
+import org.apache.airavata.workflow.tracking.common.WorkflowTrackingContext;
import org.apache.airavata.xbaya.util.XMLUtil;
+import org.apache.axis2.addressing.EndpointReference;
import org.apache.xmlbeans.XmlObject;
import org.xmlpull.v1.builder.XmlDocument;
import org.xmlpull.v1.builder.XmlElement;
@@ -35,12 +42,8 @@ import xsul.soap11_util.Soap11Util;
import xsul.soap12_util.Soap12Util;
import xsul.xbeans_util.XBeansUtil;
import xsul5.MLogger;
-import edu.indiana.extreme.lead.workflow_tracking.Notifier;
-import edu.indiana.extreme.lead.workflow_tracking.NotifierFactory;
-import edu.indiana.extreme.lead.workflow_tracking.common.ConstructorProps;
-import edu.indiana.extreme.lead.workflow_tracking.common.InvocationContext;
-import edu.indiana.extreme.lead.workflow_tracking.common.InvocationEntity;
-import edu.indiana.extreme.lead.workflow_tracking.util.MessageUtil;
+
+
public class ServiceNotificationSender {
@@ -58,6 +61,8 @@ public class ServiceNotificationSender {
private InvocationContext invocationContext;
+ private WorkflowTrackingContext context;
+
private SoapUtil soapFragrance;
/**
@@ -96,9 +101,7 @@ public class ServiceNotificationSender {
*/
private ServiceNotificationSender(SoapUtil soapFragrance, LeadContextHeader leadContext) {
this.soapFragrance = soapFragrance;
-
- ConstructorProps props = MessageUtil.createConstructorPropsFromLeadContext(leadContext);
- this.notifier = NotifierFactory.createNotifier(props);
+ this.notifier = NotifierFactory.createNotifier();
URI workflowID = leadContext.getWorkflowId();
String serviceIDString = leadContext.getServiceId();
@@ -118,6 +121,8 @@ public class ServiceNotificationSender {
}
this.initiator = this.notifier.createEntity(workflowID, serviceID, nodeID, timeStep);
this.receiver = this.notifier.createEntity(workflowID, serviceID, nodeID, timeStep);
+ EndpointReference epr = new EndpointReference(leadContext.getEventSink().getAddress().toString());
+ this.context = this.notifier.createTrackingContext(new Properties(),epr,workflowID,serviceID,nodeID,timeStep);
}
/**
@@ -129,7 +134,7 @@ public class ServiceNotificationSender {
XmlElement soapHeader = soapEnvelope.element(null, XmlConstants.S_HEADER);
XmlObject headerObject = XBeansUtil.xmlElementToXmlObject(soapHeader);
XmlObject bodyObject = XBeansUtil.xmlElementToXmlObject(soapBody);
- this.invocationContext = this.notifier.serviceInvoked(this.receiver, this.initiator, headerObject, bodyObject,
+ this.invocationContext = this.notifier.serviceInvoked(this.context,this.initiator, headerObject, bodyObject,
INVOKED_MESSAGE);
}
@@ -147,7 +152,7 @@ public class ServiceNotificationSender {
headerObject = XBeansUtil.xmlElementToXmlObject(soapHeader);
}
XmlObject bodyObject = XBeansUtil.xmlElementToXmlObject(soapBody);
- this.notifier.sendingResult(this.invocationContext, headerObject, bodyObject, SENDING_RESULT_MESSAGE);
+ this.notifier.sendingResult(this.context,this.invocationContext, headerObject, bodyObject, SENDING_RESULT_MESSAGE);
} catch (RuntimeException e) {
logger.caught(e);
}