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;
}