You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by mr...@apache.org on 2007/10/25 01:56:52 UTC

svn commit: r588086 - in /ode/trunk/axis2/src/main/java/org/apache/ode/axis2: ODEServer.java service/ManagementService.java

Author: mriou
Date: Wed Oct 24 16:56:51 2007
New Revision: 588086

URL: http://svn.apache.org/viewvc?rev=588086&view=rev
Log:
ODE-202 Patch from Rich to allow access of PMAPI interfaces from ODEServer.

Modified:
    ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
    ode/trunk/axis2/src/main/java/org/apache/ode/axis2/service/ManagementService.java

Modified: ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java?rev=588086&r1=588085&r2=588086&view=diff
==============================================================================
--- ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java (original)
+++ ode/trunk/axis2/src/main/java/org/apache/ode/axis2/ODEServer.java Wed Oct 24 16:56:51 2007
@@ -64,6 +64,8 @@
 import org.apache.ode.store.ProcessStoreImpl;
 import org.apache.ode.utils.GUID;
 import org.apache.ode.utils.fs.TempFileManager;
+import org.apache.ode.bpel.pmapi.InstanceManagement;
+import org.apache.ode.bpel.pmapi.ProcessManagement;
 
 /**
  * Server class called by our Axis hooks to handle all ODE lifecycle management.
@@ -105,6 +107,7 @@
 
     private BpelServerConnector _connector;
 
+    private ManagementService _mgtService;
 
     public void init(ServletConfig config, AxisConfiguration axisConf) throws ServletException {
         boolean success = false;
@@ -159,7 +162,7 @@
             registerEventListeners();
 
             registerMexInterceptors();
-            
+
             registerExtensionActivityBundles();
 
             try {
@@ -173,7 +176,9 @@
             File deploymentDir = new File(_workRoot, "processes");
             _poller = new DeploymentPoller(deploymentDir, this);
 
-            new ManagementService().enableService(_axisConfig, _server, _store, _appRoot.getAbsolutePath());
+            _mgtService = new ManagementService();
+            _mgtService.enableService(_axisConfig, _server, _store, _appRoot.getAbsolutePath());
+
             new DeploymentWebService().enableService(_axisConfig, _server, _store, _poller, _appRoot.getAbsolutePath(), _workRoot
                     .getAbsolutePath());
 
@@ -472,15 +477,24 @@
         return _server;
     }
 
+    public InstanceManagement getInstanceManagement() {
+        return _mgtService.getInstanceMgmt();
+    }
+
+    public ProcessManagement getProcessManagement() {
+        return _mgtService.getProcessMgmt();
+    }
+
+
     /**
      * Register event listeners configured in the configuration.
      *
      */
     private void registerEventListeners() {
-        
+
         // let's always register the debugging listener....
         _server.registerBpelEventListener(new DebugBpelEventListener());
-        
+
         // then, whatever else they want.
         String listenersStr = _odeConfig.getEventListeners();
         if (listenersStr != null) {
@@ -514,29 +528,29 @@
         }
     }
 
- 	private void registerExtensionActivityBundles() {
+    private void registerExtensionActivityBundles() {
         String extensionsStr = _odeConfig.getExtensionActivityBundles();
         if (extensionsStr != null) {
-        	Map<QName, ExtensionValidator> validators = new HashMap<QName, ExtensionValidator>();
-        	// TODO replace StringTokenizer by regex
-        	for (StringTokenizer tokenizer = new StringTokenizer(extensionsStr, ",;"); tokenizer.hasMoreTokens();) {
+            Map<QName, ExtensionValidator> validators = new HashMap<QName, ExtensionValidator>();
+            // TODO replace StringTokenizer by regex
+            for (StringTokenizer tokenizer = new StringTokenizer(extensionsStr, ",;"); tokenizer.hasMoreTokens();) {
                 String bundleCN = tokenizer.nextToken();
                 try {
-                	// instantiate bundle
-                	AbstractExtensionBundle bundle = (AbstractExtensionBundle) Class.forName(bundleCN).newInstance();
-                	
-                	// register extension bundle (BPEL server)
-                	_server.registerExtensionBundle(bundle);
-                	
-                	//add validators
-                	validators.putAll(bundle.getExtensionValidators());
+                    // instantiate bundle
+                    AbstractExtensionBundle bundle = (AbstractExtensionBundle) Class.forName(bundleCN).newInstance();
+
+                    // register extension bundle (BPEL server)
+                    _server.registerExtensionBundle(bundle);
+
+                    //add validators
+                    validators.putAll(bundle.getExtensionValidators());
                 } catch (Exception e) {
                     __log.warn("Couldn't register the extension bundle " + bundleCN + ", the class couldn't be " +
                             "loaded properly.");
                 }
             }
-        	// register extension bundle (BPEL store)
-        	_store.setExtensionValidators(validators);
+            // register extension bundle (BPEL store)
+            _store.setExtensionValidators(validators);
         }
     }
 
@@ -551,23 +565,23 @@
     private void handleEvent(ProcessStoreEvent pse) {
         __log.debug("Process store event: " + pse);
         switch (pse.type) {
-        case ACTVIATED:
-        case RETIRED:
-            // bounce the process
-            _server.unregister(pse.pid);
-            ProcessConf pconf = _store.getProcessConfiguration(pse.pid);
-            if (pconf != null)
-                _server.register(pconf);
-            else {
-                __log.debug("slighly odd: recevied event " + pse + " for process not in store!");
-            }
-            break;
-        case DISABLED:
-        case UNDEPLOYED:
-            _server.unregister(pse.pid);
-            break;
-        default:
-            __log.debug("Ignoring store event: " + pse);
+            case ACTVIATED:
+            case RETIRED:
+                // bounce the process
+                _server.unregister(pse.pid);
+                ProcessConf pconf = _store.getProcessConfiguration(pse.pid);
+                if (pconf != null)
+                    _server.register(pconf);
+                else {
+                    __log.debug("slighly odd: recevied event " + pse + " for process not in store!");
+                }
+                break;
+            case DISABLED:
+            case UNDEPLOYED:
+                _server.unregister(pse.pid);
+                break;
+            default:
+                __log.debug("Ignoring store event: " + pse);
         }
     }
 }

Modified: ode/trunk/axis2/src/main/java/org/apache/ode/axis2/service/ManagementService.java
URL: http://svn.apache.org/viewvc/ode/trunk/axis2/src/main/java/org/apache/ode/axis2/service/ManagementService.java?rev=588086&r1=588085&r2=588086&view=diff
==============================================================================
--- ode/trunk/axis2/src/main/java/org/apache/ode/axis2/service/ManagementService.java (original)
+++ ode/trunk/axis2/src/main/java/org/apache/ode/axis2/service/ManagementService.java Wed Oct 24 16:56:51 2007
@@ -290,4 +290,14 @@
         if (clazz.equals(String.class)) return str;
         return null;
     }
+    
+    public ProcessManagement getProcessMgmt()
+	{
+		return _processMgmt;
+	}
+
+	public InstanceManagement getInstanceMgmt()
+	{
+		return _instanceMgmt;
+	}
 }