You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by de...@apache.org on 2006/01/24 11:31:16 UTC

svn commit: r371883 - in /webservices/axis2/trunk/java/modules/core: src/org/apache/axis2/deployment/ src/org/apache/axis2/description/ src/org/apache/axis2/engine/ src/org/apache/axis2/util/ test/org/apache/axis2/deployment/

Author: deepal
Date: Tue Jan 24 02:30:49 2006
New Revision: 371883

URL: http://svn.apache.org/viewcvs?rev=371883&view=rev
Log:
-added module notification when they engage to an AxisDescription
- improved AxisObserver interface to notify them when adding a module to system , so if some administrator want to override some module data he can do that as well.

Modified:
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/DeploymentEngine.java
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/AxisService.java
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/AxisServiceGroup.java
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/AxisConfiguration.java
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/AxisEvent.java
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/AxisObserver.java
    webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/util/Utils.java
    webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/deployment/AxisObserverImpl.java

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/DeploymentEngine.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/DeploymentEngine.java?rev=371883&r1=371882&r2=371883&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/DeploymentEngine.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/deployment/DeploymentEngine.java Tue Jan 24 02:30:49 2006
@@ -480,7 +480,6 @@
     private void engageModules() throws AxisFault {
         for (Iterator iterator = modulelist.iterator(); iterator.hasNext();) {
             QName name = (QName) iterator.next();
-
             axisConfig.engageModule(name);
         }
     }

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/AxisService.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/AxisService.java?rev=371883&r1=371882&r2=371883&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/AxisService.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/AxisService.java Tue Jan 24 02:30:49 2006
@@ -23,6 +23,7 @@
 import org.apache.axis2.Constants;
 import org.apache.axis2.engine.AxisConfiguration;
 import org.apache.axis2.engine.MessageReceiver;
+import org.apache.axis2.modules.Module;
 import org.apache.axis2.util.PolicyUtil;
 import org.apache.axis2.wsdl.writer.WOMWriter;
 import org.apache.axis2.wsdl.writer.WOMWriterFactory;
@@ -177,6 +178,11 @@
             }
 
             try {
+                Module moduleImpl = module.getModule();
+                if (moduleImpl != null) {
+                    // notyfying module for service engagement
+                    moduleImpl.engageNotify(axisOperation);
+                }
                 axisOperation.engageModule(module, axisConfig);
             } catch (AxisFault axisFault) {
                 log.info("Trying to engage a module which is already engege:"
@@ -258,7 +264,11 @@
 
         while (operations.hasNext()) {
             AxisOperation axisOperation = (AxisOperation) operations.next();
-
+            Module moduleImpl = moduleref.getModule();
+            if (moduleImpl != null) {
+                // notyfying module for service engagement
+                moduleImpl.engageNotify(axisOperation);
+            }
             axisOperation.engageModule(moduleref, axisConfig);
         }
 

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/AxisServiceGroup.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/AxisServiceGroup.java?rev=371883&r1=371882&r2=371883&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/AxisServiceGroup.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/description/AxisServiceGroup.java Tue Jan 24 02:30:49 2006
@@ -20,6 +20,7 @@
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.engine.AxisConfiguration;
 import org.apache.axis2.engine.AxisEvent;
+import org.apache.axis2.modules.Module;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
@@ -40,7 +41,7 @@
 
     // to store modeule configuration info
     private HashMap moduleConfigmap;
-    
+
     // class loader
     private ClassLoader serviceGroupClassLoader;
 
@@ -51,7 +52,6 @@
      * Field services
      */
 //    private HashMap services;
-
     public AxisServiceGroup() {
 //        services = new HashMap();
         moduleConfigmap = new HashMap();
@@ -93,6 +93,11 @@
                 AxisModule axisModule = axisConfig.getModule(moduleName);
 
                 if (axisModule != null) {
+                    Module moduleImpl = axisModule.getModule();
+                    if (moduleImpl != null) {
+                        // notyfying module for service engagement
+                        moduleImpl.engageNotify(service);
+                    }
                     service.engageModule(axisModule, axisConfig);
                 } else {
                     throw new AxisFault("Trying to engage a module which is not " + "available : "
@@ -129,6 +134,11 @@
             // engaging each service
             AxisService axisService = (AxisService) srevice.next();
             try {
+                Module moduleImpl = module.getModule();
+                if (moduleImpl != null) {
+                    // notyfying module for service engagement
+                    moduleImpl.engageNotify(axisService);
+                }
                 axisService.engageModule(module, (AxisConfiguration) getParent());
             } catch (AxisFault axisFault) {
                 log.info(axisFault.getMessage());
@@ -169,7 +179,7 @@
 
     public AxisService getService(String name) throws AxisFault {
 //        return (AxisService) services.get(name);
-    	return (AxisService) getChild(name);
+        return (AxisService) getChild(name);
     }
 
     public ClassLoader getServiceGroupClassLoader() {
@@ -182,11 +192,11 @@
 
     public Iterator getServices() {
 //        return services.values().iterator();
-    	return getChildren();
+        return getChildren();
     }
 
     public void setAxisDescription(AxisConfiguration axisDescription) {
-    	setParent(axisDescription);
+        setParent(axisDescription);
     }
 
     public void setServiceGroupClassLoader(ClassLoader serviceGroupClassLoader) {
@@ -196,8 +206,8 @@
     public void setServiceGroupName(String serviceGroupName) {
         this.serviceGroupName = serviceGroupName;
     }
-    
+
     public Object getKey() {
-    	return getServiceGroupName();
+        return getServiceGroupName();
     }
 }

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/AxisConfiguration.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/AxisConfiguration.java?rev=371883&r1=371882&r2=371883&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/AxisConfiguration.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/AxisConfiguration.java Tue Jan 24 02:30:49 2006
@@ -19,6 +19,7 @@
 
 import org.apache.axis2.AxisFault;
 import org.apache.axis2.Constants;
+import org.apache.axis2.modules.Module;
 import org.apache.axis2.deployment.DeploymentConstants;
 import org.apache.axis2.deployment.DeploymentEngine;
 import org.apache.axis2.deployment.repository.util.ArchiveReader;
@@ -136,6 +137,7 @@
      */
     public void addModule(AxisModule module) throws AxisFault {
         module.setParent(this);
+        notifyObservers(AxisEvent.MODULE_DEPLOY,module);
         allModules.put(module.getName(), module);
     }
 
@@ -367,12 +369,22 @@
     }
 
     public void notifyObservers(int event_type, AxisService service) {
-        AxisEvent event = new AxisEvent(service, event_type);
+        AxisEvent event = new AxisEvent(event_type);
 
         for (int i = 0; i < observersList.size(); i++) {
             AxisObserver axisObserver = (AxisObserver) observersList.get(i);
 
-            axisObserver.update(event);
+            axisObserver.serviceUpdate(event, service);
+        }
+    }
+
+     public void notifyObservers(int event_type, AxisModule moule) {
+        AxisEvent event = new AxisEvent(event_type);
+
+        for (int i = 0; i < observersList.size(); i++) {
+            AxisObserver axisObserver = (AxisObserver) observersList.get(i);
+
+            axisObserver.moduleUpdate(event, moule);
         }
     }
 

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/AxisEvent.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/AxisEvent.java?rev=371883&r1=371882&r2=371883&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/AxisEvent.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/AxisEvent.java Tue Jan 24 02:30:49 2006
@@ -17,23 +17,21 @@
 
 package org.apache.axis2.engine;
 
-import org.apache.axis2.description.AxisService;
-
 public class AxisEvent {
 
     /**
      * An Axis event is sent to registered listeners whenever anything significant
      * happens to <code>AxisConfiguration</code>.
      */
-    public static final int SERVICE_DEPLOY = 1;
-    public static final int SERVICE_REMOVE = 0;
-    public static final int SERVICE_STOP=2;
-    public static final int SERVICE_START=3;
+    public static final int SERVICE_DEPLOY    = 1;
+    public static final int SERVICE_REMOVE    = 0;
+    public static final int SERVICE_STOP      = 2;
+    public static final int SERVICE_START     = 3;
+    public static final int MODULE_DEPLOY     = 4;
+    public static final int MODULE_REMOVE     = 5;
     private int EVENT_TYPE;
-    private AxisService service;
 
-    public AxisEvent(AxisService service, int EVENT_TYPE) {
-        this.service = service;
+    public AxisEvent(int EVENT_TYPE) {
         this.EVENT_TYPE = EVENT_TYPE;
     }
 
@@ -41,7 +39,4 @@
         return EVENT_TYPE;
     }
 
-    public AxisService getService() {
-        return service;
-    }
 }

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/AxisObserver.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/AxisObserver.java?rev=371883&r1=371882&r2=371883&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/AxisObserver.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/engine/AxisObserver.java Tue Jan 24 02:30:49 2006
@@ -17,6 +17,8 @@
 
 package org.apache.axis2.engine;
 
+import org.apache.axis2.description.AxisModule;
+import org.apache.axis2.description.AxisService;
 import org.apache.axis2.description.ParameterInclude;
 
 public interface AxisObserver extends ParameterInclude {
@@ -24,5 +26,7 @@
     // The initilization code will go here
     void init();
 
-    void update(AxisEvent event);
+    void serviceUpdate(AxisEvent event, AxisService service);
+
+    void moduleUpdate(AxisEvent event, AxisModule module);
 }

Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/util/Utils.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/util/Utils.java?rev=371883&r1=371882&r2=371883&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/util/Utils.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/util/Utils.java Tue Jan 24 02:30:49 2006
@@ -221,7 +221,7 @@
      * moduleName-00.0000 as an exmple addressing-01.0001.aar
      */
 
-    private static String getModuleName(String moduleName) {
+    public static String getModuleName(String moduleName) {
         char version_seperator = '-';
         int version_index = moduleName.indexOf(version_seperator);
         if (version_index > 0) {
@@ -231,7 +231,7 @@
         }
     }
 
-    private static String getModuleVersion(String moduleName) {
+    public static String getModuleVersion(String moduleName) {
         char version_seperator = '-';
         int version_index = moduleName.indexOf(version_seperator);
         if (version_index > 0) {

Modified: webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/deployment/AxisObserverImpl.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/deployment/AxisObserverImpl.java?rev=371883&r1=371882&r2=371883&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/deployment/AxisObserverImpl.java (original)
+++ webservices/axis2/trunk/java/modules/core/test/org/apache/axis2/deployment/AxisObserverImpl.java Tue Jan 24 02:30:49 2006
@@ -17,6 +17,8 @@
 package org.apache.axis2.deployment;
 
 import org.apache.axis2.AxisFault;
+import org.apache.axis2.description.AxisModule;
+import org.apache.axis2.description.AxisService;
 import org.apache.axis2.description.Parameter;
 import org.apache.axis2.description.ParameterIncludeImpl;
 import org.apache.axis2.engine.AxisEvent;
@@ -25,7 +27,7 @@
 
 import java.util.ArrayList;
 
-public class AxisObserverImpl implements AxisObserver{
+public class AxisObserverImpl implements AxisObserver {
 
     ParameterIncludeImpl parameterimpl;
 
@@ -34,10 +36,13 @@
         parameterimpl = new ParameterIncludeImpl();
     }
 
-    public void update(AxisEvent event) {
+    public void serviceUpdate(AxisEvent event, AxisService service) {
     }
 
-    public void addParameter(Parameter param) throws AxisFault{
+    public void moduleUpdate(AxisEvent event, AxisModule module) {
+    }
+
+    public void addParameter(Parameter param) throws AxisFault {
     }
 
     public Parameter getParameter(String name) {
@@ -45,7 +50,7 @@
     }
 
     public ArrayList getParameters() {
-       return null;
+        return null;
     }
 
     //to check whether the parameter is locked at any levle