You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by ms...@apache.org on 2007/08/07 00:49:56 UTC

svn commit: r563321 - in /ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2: ./ hooks/ service/

Author: mszefler
Date: Mon Aug  6 15:49:54 2007
New Revision: 563321

URL: http://svn.apache.org/viewvc?view=rev&rev=563321
Log:
Merged to trunk@563315

Modified:
    ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java
    ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/Messages.java
    ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
    ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/hooks/ODEAxisService.java
    ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/hooks/ODEMessageReceiver.java
    ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java
    ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/service/ManagementService.java

Modified: ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java
URL: http://svn.apache.org/viewvc/ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java?view=diff&rev=563321&r1=563320&r2=563321
==============================================================================
--- ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java (original)
+++ ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java Mon Aug  6 15:49:54 2007
@@ -36,9 +36,9 @@
 /**
  * AXIS2 implementation of the {@link org.apache.ode.bpel.iapi.BindingContext}
  * interface. Deals with the activation of endpoints.
- * 
+ *
  * @author Maciej Szefler - m s z e f l e r @ g m a i l . c o m
- * 
+ *
  */
 public class BindingContextImpl implements BindingContext {
     private ODEServer _server;
@@ -51,7 +51,7 @@
 
     public EndpointReference activateMyRoleEndpoint(QName processId, Endpoint myRoleEndpoint) {
         try {
-            ProcessConf pconf = _store.getProcessConfiguration(processId); 
+            ProcessConf pconf = _store.getProcessConfiguration(processId);
         	Definition wsdl = pconf.getDefinitionForService(myRoleEndpoint.serviceName);
         	if (wsdl == null)
         		throw new ContextException("Unable to access WSDL definition to activate MyRole endpoint for service " + myRoleEndpoint.serviceName
@@ -72,9 +72,13 @@
                                                        Endpoint initialPartnerEndpoint) {
         // NOTE: This implementation assumes that the initial value of the
         // partner role determines the binding.
-        return _server.createExternalService(_store
-                .getProcessConfiguration(processId).getDefinitionForService(initialPartnerEndpoint.serviceName),
-                initialPartnerEndpoint.serviceName, initialPartnerEndpoint.portName);
+        ProcessConf pconf = _store.getProcessConfiguration(processId);
+        Definition wsdl = pconf.getDefinitionForService(initialPartnerEndpoint.serviceName);
+        if (wsdl == null) {
+            throw new ContextException("Cannot find definition for service " + initialPartnerEndpoint.serviceName
+                                       + " in the context of process "+processId);
+        }
+        return _server.createExternalService(wsdl, initialPartnerEndpoint.serviceName, initialPartnerEndpoint.portName);
     }
 
 }

Modified: ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/Messages.java
URL: http://svn.apache.org/viewvc/ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/Messages.java?view=diff&rev=563321&r1=563320&r2=563321
==============================================================================
--- ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/Messages.java (original)
+++ ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/Messages.java Mon Aug  6 15:49:54 2007
@@ -135,6 +135,10 @@
         return format("Registered custom BPEL event listener: {0}", listenerCN);
     }
 
+    public String msgMessageExchangeInterceptorRegistered(String interceptorCN) {
+        return format("Registered message exchange interceptor: {0}", interceptorCN);
+    }
+
     public String msgOdeShutdownCompleted() {
         return "Shutdown completed. ";
     }

Modified: ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
URL: http://svn.apache.org/viewvc/ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java?view=diff&rev=563321&r1=563320&r2=563321
==============================================================================
--- ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java (original)
+++ ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java Mon Aug  6 15:49:54 2007
@@ -61,7 +61,7 @@
 
 /**
  * Server class called by our Axis hooks to handle all ODE lifecycle management.
- * 
+ *
  * @author Matthieu Riou <mriou at apache dot org>
  */
 public class ODEServer {
@@ -149,10 +149,11 @@
             __log.debug("Initializing BPEL server.");
             initBpelServer();
 
-            // Register BPEL event listeners configured in axis2.properties
-            // file.
+            // Register BPEL event listeners configured in axis2.properties file.
             registerEventListeners();
 
+            registerMexInterceptors();
+
             try {
                 _server.start();
             } catch (Exception ex) {
@@ -207,7 +208,7 @@
     /**
      * Shutdown the service engine. This performs cleanup before the BPE is terminated. Once this method has been called, init()
      * must be called before the transformation engine can be started again with a call to start().
-     * 
+     *
      * @throws AxisFault
      *             if the engine is unable to shut down.
      */
@@ -263,7 +264,7 @@
             if (_db != null)
                 try {
                     _db.shutdown();
-                    
+
                 } catch (Throwable ex) {
                     __log.debug("DB shutdown failed.", ex);
                 } finally {
@@ -272,7 +273,6 @@
 
             if (_txMgr != null) {
                 __log.debug("shutting down transaction manager.");
-                // TODO: we need to shutdown jotm if it is running.
                 _txMgr = null;
             }
 
@@ -393,14 +393,14 @@
             try {
                 _connector.start();
             } catch (Exception e) {
-                __log.error("Failed to initialize JCA connector.");
+                __log.error("Failed to initialize JCA connector.", e);
             }
         }
     }
 
     /**
      * Initialize the DAO.
-     * 
+     *
      * @throws ServletException
      */
     protected void initDAO() throws ServletException {
@@ -411,7 +411,7 @@
             String errmsg = __msgs.msgDAOInstantiationFailed(_odeConfig.getDAOConnectionFactory());
             __log.error(errmsg, ex);
             throw new ServletException(errmsg, ex);
-            
+
         }
     }
 
@@ -473,11 +473,28 @@
                     __log.info(__msgs.msgBpelEventListenerRegistered(listenerCN));
                 } catch (Exception e) {
                     __log.warn("Couldn't register the event listener " + listenerCN + ", the class couldn't be "
-                            + "loaded properly.");
+                            + "loaded properly: " + e);
                 }
             }
 
         }
+    }
+
+    private void registerMexInterceptors() {
+        // TODO: put back.
+//        String listenersStr = _odeConfig.getMessageExchangeInterceptors();
+//        if (listenersStr != null) {
+//            for (StringTokenizer tokenizer = new StringTokenizer(listenersStr, ",;"); tokenizer.hasMoreTokens();) {
+//                String interceptorCN = tokenizer.nextToken();
+//                try {
+//                    _server.registerMessageExchangeInterceptor((MessageExchangeInterceptor) Class.forName(interceptorCN).newInstance());
+//                    __log.info(__msgs.msgMessageExchangeInterceptorRegistered(interceptorCN));
+//                } catch (Exception e) {
+//                    __log.warn("Couldn't register the event listener " + interceptorCN + ", the class couldn't be "
+//                            + "loaded properly: " + e);
+//                }
+//            }
+//        }
     }
 
     private class ProcessStoreListenerImpl implements ProcessStoreListener {

Modified: ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/hooks/ODEAxisService.java
URL: http://svn.apache.org/viewvc/ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/hooks/ODEAxisService.java?view=diff&rev=563321&r1=563320&r2=563321
==============================================================================
--- ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/hooks/ODEAxisService.java (original)
+++ ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/hooks/ODEAxisService.java Mon Aug  6 15:49:54 2007
@@ -66,9 +66,9 @@
                       +" WSDL="+wsdlDefinition.getDocumentBaseURI()
                       +" BPEL="+pconf.getBpelDocument());
         }
-        
+
         try {
-            URI baseUri = pconf.getBaseURL().toURI().resolve(wsdlDefinition.getDocumentBaseURI());
+        	URI baseUri = pconf.getBaseURI().resolve(wsdlDefinition.getDocumentBaseURI());
             InputStream is = baseUri.toURL().openStream();
             WSDL11ToAxisServiceBuilder serviceBuilder = new WSDL11ToAxisServiceBuilder(is, wsdlServiceName, portName);
             serviceBuilder.setBaseUri(baseUri.toString());
@@ -95,7 +95,7 @@
     }
     return axisService;
         } catch (Exception e) {
-            throw new AxisFault(e);
+            throw AxisFault.makeFault(e);
         }
   }
 
@@ -182,5 +182,5 @@
     }
   }
 
-    
+
 }

Modified: ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/hooks/ODEMessageReceiver.java
URL: http://svn.apache.org/viewvc/ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/hooks/ODEMessageReceiver.java?view=diff&rev=563321&r1=563320&r2=563321
==============================================================================
--- ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/hooks/ODEMessageReceiver.java (original)
+++ ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/hooks/ODEMessageReceiver.java Mon Aug  6 15:49:54 2007
@@ -25,6 +25,7 @@
 import org.apache.axis2.engine.AxisEngine;
 import org.apache.axis2.receivers.AbstractMessageReceiver;
 import org.apache.axis2.util.Utils;
+import org.apache.axis2.wsdl.WSDLConstants;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.ode.axis2.ODEService;
@@ -38,7 +39,7 @@
 
   private ODEService _service;
 
-  public final void receive(final MessageContext msgContext) throws AxisFault {
+  public final void invokeBusinessLogic(final MessageContext msgContext) throws AxisFault {
     if (hasResponse(msgContext.getAxisOperation())) {
             if (__log.isDebugEnabled())
                 __log.debug("Received request message for " + msgContext.getAxisService().getName() + "."
@@ -73,14 +74,14 @@
   }
 
   private boolean hasResponse(AxisOperation op) {
-        switch (op.getAxisSpecifMEPConstant()) {
-        case AxisOperation.WSDL20_2004Constants.MEP_CONSTANT_IN_OUT:
+        switch (op.getAxisSpecificMEPConstant()) {
+        case WSDLConstants.MEP_CONSTANT_IN_OUT:
             return true;
-        case AxisOperation.WSDL20_2004Constants.MEP_CONSTANT_OUT_ONLY:
+        case WSDLConstants.MEP_CONSTANT_OUT_ONLY:
             return true;
-        case AxisOperation.WSDL20_2004Constants.MEP_CONSTANT_OUT_OPTIONAL_IN:
+        case WSDLConstants.MEP_CONSTANT_OUT_OPTIONAL_IN:
             return true;
-        case AxisOperation.WSDL20_2004Constants.MEP_CONSTANT_ROBUST_OUT_ONLY:
+        case WSDLConstants.MEP_CONSTANT_ROBUST_OUT_ONLY:
             return true;
         default:
             return false;

Modified: ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java
URL: http://svn.apache.org/viewvc/ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java?view=diff&rev=563321&r1=563320&r2=563321
==============================================================================
--- ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java (original)
+++ ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/service/DeploymentWebService.java Mon Aug  6 15:49:54 2007
@@ -89,7 +89,8 @@
             WSDLReader wsdlReader = WSDLFactory.newInstance().newWSDLReader();
             wsdlReader.setFeature("javax.wsdl.verbose", false);
 
-            def = wsdlReader.readWSDL(rootpath + "/deploy.wsdl");
+            File wsdlFile = new File(rootpath + "/deploy.wsdl");
+            def = wsdlReader.readWSDL(wsdlFile.toURI().toString());
             AxisService deployService = ODEAxisService.createService(
                     axisConfig, new QName("http://www.apache.org/ode/deployapi", "DeploymentService"),
                     "DeploymentPort", "DeploymentService", def, new DeploymentMessageReceiver());
@@ -104,7 +105,7 @@
 
     class DeploymentMessageReceiver extends AbstractMessageReceiver {
 
-        public void receive(MessageContext messageContext) throws AxisFault {
+        public void invokeBusinessLogic(MessageContext messageContext) throws AxisFault {
             String operation = messageContext.getAxisOperation().getName().getLocalPart();
             SOAPFactory factory = getSOAPFactory(messageContext);
             boolean unknown = false;

Modified: ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/service/ManagementService.java
URL: http://svn.apache.org/viewvc/ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/service/ManagementService.java?view=diff&rev=563321&r1=563320&r2=563321
==============================================================================
--- ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/service/ManagementService.java (original)
+++ ode/branches/bart/axis2/src/main/java/org/apache/ode/axis2/service/ManagementService.java Mon Aug  6 15:49:54 2007
@@ -19,6 +19,23 @@
 
 package org.apache.ode.axis2.service;
 
+import java.io.File;
+import java.io.IOException;
+import java.lang.reflect.Array;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+
+import javax.wsdl.Definition;
+import javax.wsdl.WSDLException;
+import javax.wsdl.factory.WSDLFactory;
+import javax.wsdl.xml.WSDLReader;
+import javax.xml.namespace.QName;
+import javax.xml.stream.XMLStreamException;
+import javax.xml.stream.XMLStreamReader;
+
 import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.impl.builder.StAXOMBuilder;
 import org.apache.axiom.soap.SOAPEnvelope;
@@ -31,6 +48,7 @@
 import org.apache.axis2.engine.AxisEngine;
 import org.apache.axis2.receivers.AbstractMessageReceiver;
 import org.apache.axis2.util.Utils;
+import org.apache.axis2.wsdl.WSDLConstants;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.ode.axis2.OdeFault;
@@ -45,21 +63,6 @@
 import org.apache.xmlbeans.XmlObject;
 import org.w3c.dom.Node;
 
-import javax.wsdl.Definition;
-import javax.wsdl.WSDLException;
-import javax.wsdl.factory.WSDLFactory;
-import javax.wsdl.xml.WSDLReader;
-import javax.xml.namespace.QName;
-import javax.xml.stream.XMLStreamException;
-import javax.xml.stream.XMLStreamReader;
-import java.io.IOException;
-import java.lang.reflect.Array;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
 /**
  * Axis2 wrapper for process and instance management interfaces.
  */
@@ -80,7 +83,8 @@
             WSDLReader wsdlReader = WSDLFactory.newInstance().newWSDLReader();
             wsdlReader.setFeature("javax.wsdl.verbose", false);
 
-            def = wsdlReader.readWSDL(rootpath + "/pmapi.wsdl");
+            File wsdlFile = new File(rootpath + "/pmapi.wsdl");
+            def = wsdlReader.readWSDL(wsdlFile.toURI().toString());
             AxisService processService = ODEAxisService.createService(
                     axisConfig, new QName("http://www.apache.org/ode/pmapi", "ProcessManagementService"),
                     "ProcessManagementPort", "ProcessManagement", def, new ProcessMessageReceiver());
@@ -96,7 +100,7 @@
         }
     }
 
-    private static void receive(MessageContext msgContext, Class mgmtClass,
+    private static void invokeBusinessLogic(MessageContext msgContext, Class mgmtClass,
                                 Object mgmtObject, SOAPFactory soapFactory) throws AxisFault {
         if (__log.isDebugEnabled())
             __log.debug("Received mgmt message for " + msgContext.getAxisService().getName() +
@@ -211,25 +215,25 @@
     }
 
     private static boolean hasResponse(AxisOperation op) {
-        switch(op.getAxisSpecifMEPConstant()) {
-            case AxisOperation.WSDL20_2004Constants.MEP_CONSTANT_IN_OUT: return true;
-            case AxisOperation.WSDL20_2004Constants.MEP_CONSTANT_OUT_ONLY: return true;
-            case AxisOperation.WSDL20_2004Constants.MEP_CONSTANT_OUT_OPTIONAL_IN: return true;
-            case AxisOperation.WSDL20_2004Constants.MEP_CONSTANT_ROBUST_OUT_ONLY: return true;
+        switch(op.getAxisSpecificMEPConstant()) {
+            case WSDLConstants.MEP_CONSTANT_IN_OUT: return true;
+            case WSDLConstants.MEP_CONSTANT_OUT_ONLY: return true;
+            case WSDLConstants.MEP_CONSTANT_OUT_OPTIONAL_IN: return true;
+            case WSDLConstants.MEP_CONSTANT_ROBUST_OUT_ONLY: return true;
             default: return false;
         }
     }
 
     class ProcessMessageReceiver extends AbstractMessageReceiver {
-        public void receive(MessageContext messageContext) throws AxisFault {
-            ManagementService.receive(messageContext, ProcessManagement.class,
+        public void invokeBusinessLogic(MessageContext messageContext) throws AxisFault {
+            ManagementService.invokeBusinessLogic(messageContext, ProcessManagement.class,
                     _processMgmt, getSOAPFactory(messageContext));
         }
     }
 
     class InstanceMessageReceiver extends AbstractMessageReceiver {
-        public void receive(MessageContext messageContext) throws AxisFault {
-            ManagementService.receive(messageContext, InstanceManagement.class,
+        public void invokeBusinessLogic(MessageContext messageContext) throws AxisFault {
+            ManagementService.invokeBusinessLogic(messageContext, InstanceManagement.class,
                     _instanceMgmt, getSOAPFactory(messageContext));
         }
     }