|
From: <ra...@us...> - 2010-08-19 04:22:09
|
Revision: 745
http://mooshabaya.svn.sourceforge.net/mooshabaya/?rev=745&view=rev
Author: ramith
Date: 2010-08-19 04:22:03 +0000 (Thu, 19 Aug 2010)
Log Message:
-----------
Modified Paths:
--------------
branches/ogce-branch2/src/main/java/edu/indiana/extreme/xbaya/test/service/ServiceNotificationSender.java
Modified: branches/ogce-branch2/src/main/java/edu/indiana/extreme/xbaya/test/service/ServiceNotificationSender.java
===================================================================
--- branches/ogce-branch2/src/main/java/edu/indiana/extreme/xbaya/test/service/ServiceNotificationSender.java 2010-08-19 04:20:58 UTC (rev 744)
+++ branches/ogce-branch2/src/main/java/edu/indiana/extreme/xbaya/test/service/ServiceNotificationSender.java 2010-08-19 04:22:03 UTC (rev 745)
@@ -9,11 +9,16 @@
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.InvocationContext;
import edu.indiana.extreme.lead.workflow_tracking.common.InvocationEntity;
+import edu.indiana.extreme.lead.workflow_tracking.common.WorkflowTrackingContext;
import edu.indiana.extreme.lead.workflow_tracking.util.MessageUtil;
+import edu.indiana.extreme.xbaya.porting.XsulOmBridge;
import edu.indiana.extreme.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;
@@ -32,128 +37,142 @@
*/
public class ServiceNotificationSender {
- private final static MLogger logger = MLogger.getLogger();
+ private final static MLogger logger = MLogger.getLogger();
- private final static String INVOKED_MESSAGE = "Service is invoked";
+ private final static String INVOKED_MESSAGE = "Service is invoked";
- private final static String SENDING_RESULT_MESSAGE = "Sending successful result of invocation";
+ private final static String SENDING_RESULT_MESSAGE = "Sending successful result of invocation";
- private Notifier notifier;
+ private Notifier notifier;
- private InvocationEntity initiator;
+ private InvocationEntity initiator;
- private InvocationEntity receiver;
+ private InvocationEntity receiver;
- private InvocationContext invocationContext;
+ private InvocationContext invocationContext;
- private SoapUtil soapFragrance;
+ private SoapUtil soapFragrance;
- /**
- * @param inputElement
- * @return The ServiceNotificationSender
- */
- public static ServiceNotificationSender invoked(XmlElement inputElement) {
- try {
+ private WorkflowTrackingContext workflowTrackingContext = null;
- XmlElement soapBody = (XmlElement) inputElement.getParent();
- XmlElement soapEnvelope = (XmlElement) soapBody.getParent();
- SoapUtil soapFragrance = SoapUtil.selectSoapFragrance(soapEnvelope,
- new SoapUtil[] { Soap11Util.getInstance(),
- Soap12Util.getInstance() });
- XmlElement soapHeader = soapEnvelope.element(null,
- XmlConstants.S_HEADER);
- XmlElement leadHeader = soapHeader.element(LeadContextHeader.NS,
- LeadContextHeader.TYPE.getLocalPart());
- logger.finest("leadHeader: "
- + XMLUtil.xmlElementToString(leadHeader));
- if (leadHeader == null) {
- return null;
- }
- LeadContextHeader leadContext = new LeadContextHeader(leadHeader);
- ServiceNotificationSender sender = new ServiceNotificationSender(
- soapFragrance, leadContext);
- sender.serviceInvoked(inputElement);
+ /**
+ * @param inputElement
+ * @return The ServiceNotificationSender
+ */
+ public static ServiceNotificationSender invoked(XmlElement inputElement) {
+ try {
- return sender;
- } catch (RuntimeException e) {
- logger.caught(e);
- return null;
- }
- }
+ XmlElement soapBody = (XmlElement) inputElement.getParent();
+ XmlElement soapEnvelope = (XmlElement) soapBody.getParent();
+ SoapUtil soapFragrance = SoapUtil.selectSoapFragrance(soapEnvelope,
+ new SoapUtil[] { Soap11Util.getInstance(),
+ Soap12Util.getInstance() });
+ XmlElement soapHeader = soapEnvelope.element(null,
+ XmlConstants.S_HEADER);
+ XmlElement leadHeader = soapHeader.element(LeadContextHeader.NS,
+ LeadContextHeader.TYPE.getLocalPart());
+ logger.finest("leadHeader: "
+ + XMLUtil.xmlElementToString(leadHeader));
+ if (leadHeader == null) {
+ return null;
+ }
+ LeadContextHeader leadContext = new LeadContextHeader(leadHeader);
+ ServiceNotificationSender sender = new ServiceNotificationSender(
+ soapFragrance, leadContext);
+ sender.serviceInvoked(inputElement);
- /**
- * Constructs a ServiceNotificationSender.
- *
- * @param soapFragrance
- * @param leadContext
- */
- private ServiceNotificationSender(SoapUtil soapFragrance,
- LeadContextHeader leadContext) {
- this.soapFragrance = soapFragrance;
+ return sender;
+ } catch (RuntimeException e) {
+ logger.caught(e);
+ return null;
+ }
+ }
- ConstructorProps props = MessageUtil
- .createConstructorPropsFromLeadContext(leadContext);
- this.notifier = NotifierFactory.createNotifier(props);
+ /**
+ * Constructs a ServiceNotificationSender.
+ *
+ * @param soapFragrance
+ * @param leadContext
+ */
+ private ServiceNotificationSender(SoapUtil soapFragrance,
+ LeadContextHeader leadContext) {
+ this.soapFragrance = soapFragrance;
- URI workflowID = leadContext.getWorkflowId();
- String serviceIDString = leadContext.getServiceId();
- if (serviceIDString == null) {
- serviceIDString = "serviceIDWasNull";
- }
- URI serviceID = URI.create(serviceIDString);
- String nodeID = leadContext.getNodeId();
- String timeStepString = leadContext.getTimeStep();
- Integer timeStep = null;
- if (timeStepString != null) {
- try {
- timeStep = new Integer(timeStepString);
- } catch (NumberFormatException e) {
- logger.caught(e);
- }
- }
- this.initiator = this.notifier.createEntity(workflowID, serviceID,
- nodeID, timeStep);
- this.receiver = this.notifier.createEntity(workflowID, serviceID,
- nodeID, timeStep);
- }
+ edu.indiana.extreme.lead.commons.LeadContextHeader portedLeadContext = XsulOmBridge
+ .bridge(leadContext);
- /**
- * @param inputElement
- */
- private void serviceInvoked(XmlElement inputElement) {
- XmlElement soapBody = (XmlElement) inputElement.getParent();
- XmlElement soapEnvelope = (XmlElement) soapBody.getParent();
- 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, INVOKED_MESSAGE);
- }
+ ConstructorProps props = MessageUtil
+ .createConstructorPropsFromLeadContext(portedLeadContext);
- /**
- * @param outputElement
- */
- public void sendingResult(XmlElement outputElement) {
- try {
- XmlDocument document = this.soapFragrance
- .wrapBodyContent(outputElement);
- XmlElement soapEnvelope = document.getDocumentElement();
- XmlElement soapHeader = soapEnvelope.element(null,
- XmlConstants.S_HEADER);
- XmlElement soapBody = soapEnvelope.element(null,
- XmlConstants.S_BODY);
- XmlObject headerObject = null;
- if (soapHeader != null) {
- headerObject = XBeansUtil.xmlElementToXmlObject(soapHeader);
- }
- XmlObject bodyObject = XBeansUtil.xmlElementToXmlObject(soapBody);
- this.notifier.sendingResult(this.invocationContext, headerObject,
- bodyObject, SENDING_RESULT_MESSAGE);
- } catch (RuntimeException e) {
- logger.caught(e);
- }
- }
+ this.notifier = NotifierFactory.createNotifier();
+
+ URI workflowID = leadContext.getWorkflowId();
+ String serviceIDString = leadContext.getServiceId();
+ if (serviceIDString == null) {
+ serviceIDString = "serviceIDWasNull";
+ }
+ URI serviceID = URI.create(serviceIDString);
+ String nodeID = leadContext.getNodeId();
+ String timeStepString = leadContext.getTimeStep();
+ Integer timeStep = null;
+ if (timeStepString != null) {
+ try {
+ timeStep = new Integer(timeStepString);
+ } catch (NumberFormatException e) {
+ logger.caught(e);
+ }
+ }
+
+ this.workflowTrackingContext = this.notifier.createTrackingContext(
+ null, new EndpointReference((String) props
+ .get(ConstructorConsts.BROKER_EPR)), workflowID,
+ serviceID, nodeID, timeStep);
+
+ this.initiator = this.notifier.createEntity(workflowTrackingContext,
+ workflowID, serviceID, nodeID, timeStep);
+ this.receiver = this.notifier.createEntity(workflowTrackingContext,
+ workflowID, serviceID, nodeID, timeStep);
+ }
+
+ /**
+ * @param inputElement
+ */
+ private void serviceInvoked(XmlElement inputElement) {
+ XmlElement soapBody = (XmlElement) inputElement.getParent();
+ XmlElement soapEnvelope = (XmlElement) soapBody.getParent();
+ XmlElement soapHeader = soapEnvelope.element(null,
+ XmlConstants.S_HEADER);
+ XmlObject headerObject = XBeansUtil.xmlElementToXmlObject(soapHeader);
+ XmlObject bodyObject = XBeansUtil.xmlElementToXmlObject(soapBody);
+ this.invocationContext = this.notifier.serviceInvoked(
+ this.workflowTrackingContext, this.initiator, headerObject,
+ bodyObject, INVOKED_MESSAGE);
+ }
+
+ /**
+ * @param outputElement
+ */
+ public void sendingResult(XmlElement outputElement) {
+ try {
+ XmlDocument document = this.soapFragrance
+ .wrapBodyContent(outputElement);
+ XmlElement soapEnvelope = document.getDocumentElement();
+ XmlElement soapHeader = soapEnvelope.element(null,
+ XmlConstants.S_HEADER);
+ XmlElement soapBody = soapEnvelope.element(null,
+ XmlConstants.S_BODY);
+ XmlObject headerObject = null;
+ if (soapHeader != null) {
+ headerObject = XBeansUtil.xmlElementToXmlObject(soapHeader);
+ }
+ XmlObject bodyObject = XBeansUtil.xmlElementToXmlObject(soapBody);
+ this.notifier.sendingResult(this.workflowTrackingContext,
+ this.invocationContext, headerObject, bodyObject,
+ SENDING_RESULT_MESSAGE);
+ } catch (RuntimeException e) {
+ logger.caught(e);
+ }
+ }
}
/*
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|