You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by de...@apache.org on 2005/04/19 11:30:40 UTC

svn commit: r161863 - webservices/axis/trunk/java/modules/core/samples/deployment/module1/META-INF webservices/axis/trunk/java/modules/core/samples/deployment/module2/META-INF webservices/axis/trunk/java/modules/core/src/org/apache/axis/context webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/repository/utill webservices/axis/trunk/java/modules/core/src/org/apache/axis/modules

Author: deepal
Date: Tue Apr 19 02:30:39 2005
New Revision: 161863

URL: http://svn.apache.org/viewcvs?view=rev&rev=161863
Log:
modified to support module int()

Modified:
    webservices/axis/trunk/java/modules/core/samples/deployment/module1/META-INF/module.xml
    webservices/axis/trunk/java/modules/core/samples/deployment/module2/META-INF/module.xml
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/context/ContextBuilder.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentEngine.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentParser.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/repository/utill/HDFileItem.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/modules/Module.java

Modified: webservices/axis/trunk/java/modules/core/samples/deployment/module1/META-INF/module.xml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/samples/deployment/module1/META-INF/module.xml?view=diff&r1=161862&r2=161863
==============================================================================
--- webservices/axis/trunk/java/modules/core/samples/deployment/module1/META-INF/module.xml (original)
+++ webservices/axis/trunk/java/modules/core/samples/deployment/module1/META-INF/module.xml Tue Apr 19 02:30:39 2005
@@ -1,4 +1,4 @@
-<module name="module1" class="module1.java">
+<module name="module1" class="org.apache.module.Module1Impl">
     <inflow>
         <handler name="h1" class="org.apache.axis.registry.Handler3">
             <order phase="global" />

Modified: webservices/axis/trunk/java/modules/core/samples/deployment/module2/META-INF/module.xml
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/samples/deployment/module2/META-INF/module.xml?view=diff&r1=161862&r2=161863
==============================================================================
--- webservices/axis/trunk/java/modules/core/samples/deployment/module2/META-INF/module.xml (original)
+++ webservices/axis/trunk/java/modules/core/samples/deployment/module2/META-INF/module.xml Tue Apr 19 02:30:39 2005
@@ -1,4 +1,4 @@
-<module name="module2" class="module1.java">
+<module name="module2" class="org.apache.module.Module2Impl">
     <inflow>
         <handler name="h1" class="org.apache.axis.registry.Handler4">
             <order phase="global" />

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/context/ContextBuilder.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/context/ContextBuilder.java?view=diff&r1=161862&r2=161863
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/context/ContextBuilder.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/context/ContextBuilder.java Tue Apr 19 02:30:39 2005
@@ -7,6 +7,10 @@
 import org.apache.axis.phaseresolver.PhaseResolver;
 import org.apache.axis.phaseresolver.PhaseException;
 import org.apache.axis.description.AxisService;
+import org.apache.axis.modules.Module;
+
+import javax.xml.namespace.QName;
+import java.util.ArrayList;
 
 /**
  * Created by IntelliJ IDEA.
@@ -24,12 +28,29 @@
             PhaseResolver phaseResolver = new PhaseResolver(configuration);
             engineContext = phaseResolver.buildGlobalChains();
             phaseResolver.buildTranspotsChains();
+            initModules(engineContext);
         } catch (AxisFault axisFault) {
             throw new DeploymentException(axisFault.getMessage()) ;
         } catch (PhaseException e) {
             throw new DeploymentException(e.getMessage()) ;
         }
         return engineContext;
+    }
+
+
+    private void initModules(EngineContext context) throws DeploymentException {
+        try{
+            ArrayList modules = (ArrayList)context.getEngineConfig().getGlobal().getModules();
+            for (int i = 0; i < modules.size(); i++) {
+                QName name = (QName) modules.get(i);
+                Module module = context.getEngineConfig().getModule(name).getModule();
+                if(module != null ){
+                    module.init(context);
+                }
+            }
+        }catch (AxisFault e){
+            throw new DeploymentException(e.getMessage());
+        }
     }
 
     public ServiceContext refresh(AxisService service,EngineContext context) throws PhaseException {

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentEngine.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentEngine.java?view=diff&r1=161862&r2=161863
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentEngine.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentEngine.java Tue Apr 19 02:30:39 2005
@@ -25,6 +25,7 @@
 import org.apache.axis.deployment.scheduler.SchedulerTask;
 import org.apache.axis.description.*;
 import org.apache.axis.engine.*;
+import org.apache.axis.modules.Module;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
@@ -295,6 +296,20 @@
 
     }
 
+    private void loadModuleClass(AxisModule module) throws AxisFault {
+        Class moduleClass = null;
+        try {
+            String readInClass = currentFileItem.getModuleClass();
+            if (readInClass != null && !"".equals(readInClass)) {
+                moduleClass = Class.forName(readInClass, true,currentFileItem.getClassLoader());
+                module.setModule((Module)moduleClass.newInstance());
+            }
+        } catch (Exception e) {
+            throw new AxisFault(e.getMessage(), e);
+        }
+
+    }
+
 
     private void addFlowHandlers(Flow flow) throws AxisFault {
         int count = flow.getHandlerCount();
@@ -334,7 +349,6 @@
 
     private void addNewModule(AxisModule moduelmetada) throws AxisFault {
         currentFileItem.setClassLoader();
-
         Flow inflow = moduelmetada.getInFlow();
         addFlowHandlers(inflow);
 
@@ -346,7 +360,7 @@
 
         Flow faultOutFlow = moduelmetada.getFaultOutFlow();
         addFlowHandlers(faultOutFlow);
-
+        loadModuleClass(moduelmetada);
         engineconfig.addMdoule(moduelmetada);
     }
 

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentParser.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentParser.java?view=diff&r1=161862&r2=161863
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentParser.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/DeploymentParser.java Tue Apr 19 02:30:39 2005
@@ -673,6 +673,7 @@
     public void processModule(AxisModule module) throws DeploymentException {
         int attribCount = pullparser.getAttributeCount();
         boolean ref_name = false;
+        boolean foundClass = false;
 
         if (attribCount > 0) {
             for (int i = 0; i < attribCount; i++) {
@@ -686,7 +687,11 @@
                         module.setName(new QName(attvalue));
                         ref_name = true;
                     }
-                } else if (REF.equals(attname)) {
+                }else if (CLASSNAME.equals(attname)) {
+                    foundClass = true;
+                    dpengine.getCurrentFileItem().setModuleClass(attvalue);
+                }
+                else if (REF.equals(attname)) {
                     if (ref_name) {
                         throw new DeploymentException("Module canot have both name and ref  " + attvalue);
                     } else {

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/repository/utill/HDFileItem.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/repository/utill/HDFileItem.java?view=diff&r1=161862&r2=161863
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/repository/utill/HDFileItem.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/deployment/repository/utill/HDFileItem.java Tue Apr 19 02:30:39 2005
@@ -33,6 +33,7 @@
     private File file = null;
     private int type;
     private String messgeReceiver;
+    private String moduleClass;
     private String name;
 
     public HDFileItem(int type, String name) {
@@ -82,6 +83,14 @@
 
     public void setClassLoader(ClassLoader classLoader) {
         this.classLoader = classLoader;
+    }
+
+    public String getModuleClass() {
+        return moduleClass;
+    }
+
+    public void setModuleClass(String moduleClass) {
+        this.moduleClass = moduleClass;
     }
 
     public void setClassLoader() throws AxisFault {

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/modules/Module.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/modules/Module.java?view=diff&r1=161862&r2=161863
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/modules/Module.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/modules/Module.java Tue Apr 19 02:30:39 2005
@@ -1,4 +1,3 @@
-
 /*
  * Copyright 2004,2005 The Apache Software Foundation.
  *
@@ -18,12 +17,14 @@
  */
 package org.apache.axis.modules;
 
-import org.apache.axis.context.ModuleContext;
+import org.apache.axis.context.EngineContext;
 import org.apache.axis.engine.AxisFault;
 import org.apache.axis.engine.ExecutionChain;
 
 public interface Module {
-    public void init(ModuleContext moduleContext) throws AxisFault;
-    public void engage(ExecutionChain exeChain)throws AxisFault;
-    public void shutDown()throws AxisFault;
+    public void init(EngineContext moduleContext) throws AxisFault;
+
+    public void engage(ExecutionChain exeChain) throws AxisFault;
+
+    public void shutDown() throws AxisFault;
 }