You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by va...@apache.org on 2010/06/18 01:32:03 UTC

svn commit: r955786 - in /ode/trunk: axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java

Author: vanto
Date: Thu Jun 17 23:32:03 2010
New Revision: 955786

URL: http://svn.apache.org/viewvc?rev=955786&view=rev
Log:
fixing a potential NPE when a service has not properly been initialized.

Modified:
    ode/trunk/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java
    ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java

Modified: ode/trunk/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java?rev=955786&r1=955785&r2=955786&view=diff
==============================================================================
--- ode/trunk/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java (original)
+++ ode/trunk/axis2/src/main/java/org/apache/ode/axis2/BindingContextImpl.java Thu Jun 17 23:32:03 2010
@@ -120,6 +120,7 @@ public class BindingContextImpl implemen
         ODEService odeService = new ODEService(axisService, pconf, serviceName, portName, _server._bpelServer, _server._txMgr);
 
         destroyService(serviceName, portName);
+
         _services.put(serviceName, portName, odeService);
 
         // Setting our new service on the ODE receiver
@@ -146,14 +147,18 @@ public class BindingContextImpl implemen
             try {
                 String axisServiceName = service.getAxisService().getName();
                 AxisService axisService = _server._axisConfig.getService(axisServiceName);
-                // first, de-allocate its schemas
-                axisService.releaseSchemaList();
-                // then, de-allocate its parameters
-                // the service's wsdl object model is stored as one of its parameters!
-                // can't stress strongly enough how important it is to clean this up.
-                ArrayList<Parameter> parameters = (ArrayList<Parameter>) axisService.getParameters();
-                for (Parameter parameter : parameters) {
-                    axisService.removeParameter(parameter);
+                
+                //axisService might be null if it could not be properly activated before. 
+                if (axisService != null) {
+                    // first, de-allocate its schemas
+                    axisService.releaseSchemaList();
+                    // then, de-allocate its parameters
+                    // the service's wsdl object model is stored as one of its parameters!
+                    // can't stress strongly enough how important it is to clean this up.
+                    ArrayList<Parameter> parameters = (ArrayList<Parameter>) axisService.getParameters();
+                    for (Parameter parameter : parameters) {
+                        axisService.removeParameter(parameter);
+                    }
                 }
                 // now, stop the service
                 _server._axisConfig.stopService(axisServiceName);

Modified: ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java
URL: http://svn.apache.org/viewvc/ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java?rev=955786&r1=955785&r2=955786&view=diff
==============================================================================
--- ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java (original)
+++ ode/trunk/bpel-runtime/src/main/java/org/apache/ode/bpel/engine/BpelServerImpl.java Thu Jun 17 23:32:03 2010
@@ -316,7 +316,7 @@ public class BpelServerImpl implements B
             __log.debug("Registering process " + conf.getProcessId() + " with server.");
 
             BpelProcess process = createBpelProcess(conf);
-        process._classLoader = Thread.currentThread().getContextClassLoader();
+            process._classLoader = Thread.currentThread().getContextClassLoader();
 
             _engine.registerProcess(process);
             _registeredProcesses.add(process);