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 2004/12/20 07:06:25 UTC
svn commit: r122818 - in webservices/axis/trunk/java/dev/scratch/prototype2/src: java/org/apache/axis/deployment java/org/apache/axis/description java/org/apache/axis/phaseresolver samples/deployment/module1/META-INF test/org/apache/axis/deployment
Author: deepal
Date: Sun Dec 19 22:06:24 2004
New Revision: 122818
URL: http://svn.apache.org/viewcvs?view=rev&rev=122818
Log:
Change the Phase Resolver , to match with last chat
That is to create EC cahins for AxisGlobal
Modified:
webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/deployment/DeploymentEngine.java
webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/description/AxisGlobal.java
webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/phaseresolver/PhaseHolder.java
webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/phaseresolver/PhaseResolver.java
webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/module1/META-INF/module.xml
webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/deployment/ServiceTest.java
Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/deployment/DeploymentEngine.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/deployment/DeploymentEngine.java?view=diff&rev=122818&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/deployment/DeploymentEngine.java&r1=122817&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/deployment/DeploymentEngine.java&r2=122818
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/deployment/DeploymentEngine.java (original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/deployment/DeploymentEngine.java Sun Dec 19 22:06:24 2004
@@ -121,7 +121,7 @@
fileName = serverconfigName;
} else
fileName = "src/test-resources/deployment/server.xml";
-
+
File tempfile = new File(fileName);
try {
InputStream in = new FileInputStream(tempfile);
@@ -140,15 +140,19 @@
* This methode used to check the modules referd by server.xml
* are exist , or they have deployed
*/
- private void valideServerModule() throws AxisFault{
+ private void valideServerModule() throws AxisFault, PhaseException{
int moduleCount = server.getModuleCount();
+ AxisGlobal global = engineRegistry.getGlobal();
QName moduleName;
for (int i = 0; i < moduleCount ; i++) {
moduleName = server.getModule(i);
if(getModule(moduleName) == null ){
throw new AxisFault(server.getName() + " Refer to invalid module " + moduleName + " has not bean deployed yet !");
- }
+ } else
+ global.addModule(moduleName);
}
+ PhaseResolver phaseResolver = new PhaseResolver(engineRegistry);
+ phaseResolver.buildGlobalChains(global);
}
Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/description/AxisGlobal.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/description/AxisGlobal.java?view=diff&rev=122818&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/description/AxisGlobal.java&r1=122817&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/description/AxisGlobal.java&r2=122818
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/description/AxisGlobal.java (original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/description/AxisGlobal.java Sun Dec 19 22:06:24 2004
@@ -44,6 +44,7 @@
public AxisGlobal(){
paramInclude = new ParameterIncludeImpl();
phasesInclude = new PhasesIncludeImpl();
+ modules = new Vector();
}
public void addModule(QName moduleref) {
Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/phaseresolver/PhaseHolder.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/phaseresolver/PhaseHolder.java?view=diff&rev=122818&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/phaseresolver/PhaseHolder.java&r1=122817&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/phaseresolver/PhaseHolder.java&r2=122818
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/phaseresolver/PhaseHolder.java (original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/phaseresolver/PhaseHolder.java Sun Dec 19 22:06:24 2004
@@ -2,6 +2,7 @@
import org.apache.axis.deployment.DeploymentConstants;
import org.apache.axis.deployment.metadata.ServerMetaData;
+import org.apache.axis.description.AxisGlobal;
import org.apache.axis.description.AxisService;
import org.apache.axis.description.HandlerMetaData;
import org.apache.axis.engine.AxisFault;
@@ -174,5 +175,62 @@
throw new PhaseException(e);
}
}
+
+
+ public void buildGoblalChain(AxisGlobal axisGlobal, int chainType) throws PhaseException {
+ try {
+ OrderdPhases();
+ Vector tempHander = new Vector();
+ HandlerMetaData[] handlers;
+
+ switch (chainType) {
+ case 1 : {
+ ArrayList inChain = new ArrayList();// service.getExecutableInChain();
+ for (int i = 0; i < phaseholder.size(); i++) {
+ PhaseMetaData phase = (PhaseMetaData) phaseholder.elementAt(i);
+ Phase axisPhase = new Phase(phase.getName());
+ handlers = phase.getOrderedHandlers();
+ for (int j = 0; j < handlers.length; j++) {
+ axisPhase.addHandler(handlers[j].getHandler());
+ }
+ inChain.add(axisPhase);
+ }
+ axisGlobal.setPhases(inChain,EngineRegistry.INFLOW);
+ break;
+ }
+ case 2 : {
+ ArrayList outChain =new ArrayList();// service.getExecutableOutChain();
+ for (int i = 0; i < phaseholder.size(); i++) {
+ PhaseMetaData phase = (PhaseMetaData) phaseholder.elementAt(i);
+ Phase axisPhase = new Phase(phase.getName());
+ handlers = phase.getOrderedHandlers();
+ for (int j = 0; j < handlers.length; j++) {
+ axisPhase.addHandler(handlers[j].getHandler());
+ }
+ outChain.add(axisPhase);
+ }
+ axisGlobal.setPhases(outChain,EngineRegistry.OUTFLOW);
+ break;
+ }
+ case 3 : {
+ ArrayList faultChain = new ArrayList();//service.getExecutableFaultChain();
+ for (int i = 0; i < phaseholder.size(); i++) {
+ PhaseMetaData phase = (PhaseMetaData) phaseholder.elementAt(i);
+ Phase axisPhase = new Phase(phase.getName());
+ handlers = phase.getOrderedHandlers();
+ for (int j = 0; j < handlers.length; j++) {
+ axisPhase.addHandler(handlers[j].getHandler());
+ }
+ faultChain.add(axisPhase);
+ }
+ axisGlobal.setPhases(faultChain,EngineRegistry.FAULTFLOW);
+ break;
+ }
+ }
+ } catch (AxisFault e) {
+ throw new PhaseException(e);
+ }
+ }
+
}
Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/phaseresolver/PhaseResolver.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/phaseresolver/PhaseResolver.java?view=diff&rev=122818&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/phaseresolver/PhaseResolver.java&r1=122817&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/phaseresolver/PhaseResolver.java&r2=122818
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/phaseresolver/PhaseResolver.java (original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/java/org/apache/axis/phaseresolver/PhaseResolver.java Sun Dec 19 22:06:24 2004
@@ -2,13 +2,9 @@
import org.apache.axis.deployment.DeploymentEngine;
import org.apache.axis.deployment.metadata.ServerMetaData;
-import org.apache.axis.description.AxisModule;
-import org.apache.axis.description.AxisService;
-import org.apache.axis.description.Flow;
-import org.apache.axis.description.HandlerMetaData;
+import org.apache.axis.description.*;
import org.apache.axis.engine.AxisFault;
import org.apache.axis.engine.EngineRegistry;
-import org.apache.axis.engine.ExecutionChain;
import javax.xml.namespace.QName;
import java.util.Vector;
@@ -38,6 +34,13 @@
private ServerMetaData server = DeploymentEngine.getServerMetaData();
+ /**
+ * default constructor , to obuild chains for AxisGlobal
+ */
+ public PhaseResolver(EngineRegistry engineRegistry) {
+ this.engineRegistry = engineRegistry;
+ }
+
public PhaseResolver(EngineRegistry engineRegistry, AxisService axisService ) {
this.engineRegistry = engineRegistry;
this.axisService = axisService;
@@ -60,41 +63,42 @@
* @param type
* @throws AxisFault
*/
- public void buildExcutionChains(int type) throws AxisFault, PhaseException {
+ private void buildExcutionChains(int type) throws AxisFault, PhaseException {
int flowtype = type;
Vector allHandlers = new Vector();
int count = server.getModuleCount();
QName moduleName;
AxisModule module;
Flow flow = null;
+ /*
//adding server specific handlers . global
for(int intA=0 ; intA < count; intA ++){
- moduleName = server.getModule(intA);
- module = engineRegistry.getModule(moduleName);
- switch (flowtype){
- case 1 : {
- flow = module.getInFlow();
- break;
- }
- case 2 : {
- flow = module.getOutFlow();
- break;
- }
- case 3 : {
- flow = module.getFaultFlow();
- break;
- }
- }
- for(int j= 0 ; j < flow.getHandlerCount() ; j++ ){
- HandlerMetaData metadata = flow.getHandler(j);
- //todo change this in properway
- if (metadata.getRules().getPhaseName().equals("")){
- metadata.getRules().setPhaseName("global");
- }
- allHandlers.add(metadata);
- }
+ moduleName = server.getModule(intA);
+ module = engineRegistry.getModule(moduleName);
+ switch (flowtype){
+ case 1 : {
+ flow = module.getInFlow();
+ break;
+ }
+ case 2 : {
+ flow = module.getOutFlow();
+ break;
+ }
+ case 3 : {
+ flow = module.getFaultFlow();
+ break;
}
-
+ }
+ for(int j= 0 ; j < flow.getHandlerCount() ; j++ ){
+ HandlerMetaData metadata = flow.getHandler(j);
+ //todo change this in properway
+ if (metadata.getRules().getPhaseName().equals("")){
+ metadata.getRules().setPhaseName("global");
+ }
+ allHandlers.add(metadata);
+ }
+ }
+ */
// service module handlers
Vector modules = (Vector)axisService.getModules();
for (int i = 0; i < modules.size(); i++) {
@@ -158,16 +162,44 @@
}
- public void craeteChain4Flow(Flow flow , ExecutionChain chain) throws AxisFault, PhaseException{
- phaseHolder = new PhaseHolder(server,null);
- for(int j= 0 ; j < flow.getHandlerCount() ; j++ ){
- HandlerMetaData metadata = flow.getHandler(j);
- if (metadata.getRules().getPhaseName().equals("")){
- metadata.getRules().setPhaseName("service");
+ public void buildGlobalChains(AxisGlobal global) throws AxisFault, PhaseException {
+ Vector modules = (Vector)global.getModules();
+ int count = modules.size();
+ QName moduleName;
+ AxisModule module;
+ Flow flow = null;
+ for(int type = 1 ; type < 4 ; type ++){
+ phaseHolder = new PhaseHolder(server,null);
+ for(int intA=0 ; intA < count; intA ++){
+ moduleName = (QName)modules.get(intA);
+ module = engineRegistry.getModule(moduleName);
+ switch (type){
+ case 1 : {
+ flow = module.getInFlow();
+ break;
+ }
+ case 2 : {
+ flow = module.getOutFlow();
+ break;
+ }
+ case 3 : {
+ flow = module.getFaultFlow();
+ break;
+ }
+ }
+ for(int j= 0 ; j < flow.getHandlerCount() ; j++ ){
+ HandlerMetaData metadata = flow.getHandler(j);
+ //todo change this in properway
+ if (metadata.getRules().getPhaseName().equals("")){
+ metadata.getRules().setPhaseName("global");
+ }
+ phaseHolder.addHandler(metadata);
+
+ }
+
}
- phaseHolder.addHandler(metadata);
+ phaseHolder.buildGoblalChain(global, type);
}
-
}
}
Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/module1/META-INF/module.xml
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/module1/META-INF/module.xml?view=diff&rev=122818&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/module1/META-INF/module.xml&r1=122817&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/module1/META-INF/module.xml&r2=122818
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/module1/META-INF/module.xml (original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/samples/deployment/module1/META-INF/module.xml Sun Dec 19 22:06:24 2004
@@ -3,7 +3,7 @@
<parameter name="para245" locked="xsd:false">Colombo</parameter>
<!-- Module TypeMapping -->
<typeMapping>Type mappping should come here</typeMapping>
-<inflow>
+ <inflow>
<handler name="h1" class="org.apache.axis.registry.Handler3">
<order phase="p1" phaseFirst="true"/>
<parameter name="para8" locked="xsd:true">123</parameter>
@@ -11,7 +11,7 @@
<parameter name="para10" locked="xsd:true">789</parameter>
</handler>
<handler name="h2" class="org.apache.axis.registry.Handler3"/>
- </inflow>
+ </inflow>
<outflow>
<handler name="h3" class="org.apache.axis.registry.Handler3">
@@ -38,7 +38,7 @@
<parameter name="para9" locked="xsd:true">456</parameter>
<parameter name="para10" locked="xsd:true">789</parameter>
</handler>
- </faultflow>
+ </faultflow>
</module>
Modified: webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/deployment/ServiceTest.java
Url: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/deployment/ServiceTest.java?view=diff&rev=122818&p1=webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/deployment/ServiceTest.java&r1=122817&p2=webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/deployment/ServiceTest.java&r2=122818
==============================================================================
--- webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/deployment/ServiceTest.java (original)
+++ webservices/axis/trunk/java/dev/scratch/prototype2/src/test/org/apache/axis/deployment/ServiceTest.java Sun Dec 19 22:06:24 2004
@@ -37,20 +37,20 @@
}
/*
public static void main(String args []){
- String filename = "./target/test-resources" ;
- DeploymentEngine deploymentEngine = new DeploymentEngine(filename);
- EngineRegistry er = null;
- try {
- er = deploymentEngine.start();
- } catch (AxisFault axisFault) {
- axisFault.printStackTrace(); //To change body of catch statement use Options | File Templates.
- } catch (PhaseException e) {
- e.printStackTrace(); //To change body of catch statement use Options | File Templates.
- } catch (DeploymentException e) {
- e.printStackTrace(); //To change body of catch statement use Options | File Templates.
- } catch (XMLStreamException e) {
- e.printStackTrace(); //To change body of catch statement use Options | File Templates.
+ String filename = "./target/test-resources" ;
+ DeploymentEngine deploymentEngine = new DeploymentEngine(filename);
+ EngineRegistry er = null;
+ try {
+ er = deploymentEngine.start();
+ } catch (AxisFault axisFault) {
+ axisFault.printStackTrace(); //To change body of catch statement use Options | File Templates.
+ } catch (PhaseException e) {
+ e.printStackTrace(); //To change body of catch statement use Options | File Templates.
+ } catch (DeploymentException e) {
+ e.printStackTrace(); //To change body of catch statement use Options | File Templates.
+ } catch (XMLStreamException e) {
+ e.printStackTrace(); //To change body of catch statement use Options | File Templates.
+ }
}
- }
- */
+ */
}