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/05/04 12:23:59 UTC

svn commit: r168110 - /webservices/axis/trunk/java/modules/core/src/org/apache/axis/phaseresolver/PhaseHolder.java /webservices/axis/trunk/java/modules/core/src/org/apache/axis/phaseresolver/PhaseResolver.java

Author: deepal
Date: Wed May  4 03:23:57 2005
New Revision: 168110

URL: http://svn.apache.org/viewcvs?rev=168110&view=rev
Log:
to resolve pre-dispatch phase 

Modified:
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/phaseresolver/PhaseHolder.java
    webservices/axis/trunk/java/modules/core/src/org/apache/axis/phaseresolver/PhaseResolver.java

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/phaseresolver/PhaseHolder.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/phaseresolver/PhaseHolder.java?rev=168110&r1=168109&r2=168110&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/phaseresolver/PhaseHolder.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/phaseresolver/PhaseHolder.java Wed May  4 03:23:57 2005
@@ -121,13 +121,17 @@
             PhaseMetadata pm = new PhaseMetadata(name);
             inPhases.add(pm);
         }
+        inPhases.add(0,PhaseMetadata.PRE_DISPATCH);
         tempPhases = registry.getOutPhases();
         for (int i = 0; i < tempPhases.size(); i++) {
             String name = (String) tempPhases.get(i);
             PhaseMetadata pm = new PhaseMetadata(name);
             outPhases.add(pm);
         }
+        outPhases.add(PhaseMetadata.PRE_DISPATCH);
+
         tempPhases = registry.getInFaultPhases();
+        faultInPhases.add(0,PhaseMetadata.PRE_DISPATCH);
         for (int i = 0; i < tempPhases.size(); i++) {
             String name = (String) tempPhases.get(i);
             PhaseMetadata pm = new PhaseMetadata(name);
@@ -139,6 +143,7 @@
             PhaseMetadata pm = new PhaseMetadata(name);
             faultOutPhases.add(pm);
         }
+        faultOutPhases.add(PhaseMetadata.PRE_DISPATCH);
     }
 
     /**

Modified: webservices/axis/trunk/java/modules/core/src/org/apache/axis/phaseresolver/PhaseResolver.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/phaseresolver/PhaseResolver.java?rev=168110&r1=168109&r2=168110&view=diff
==============================================================================
--- webservices/axis/trunk/java/modules/core/src/org/apache/axis/phaseresolver/PhaseResolver.java (original)
+++ webservices/axis/trunk/java/modules/core/src/org/apache/axis/phaseresolver/PhaseResolver.java Wed May  4 03:23:57 2005
@@ -34,6 +34,7 @@
 import org.apache.axis.description.HandlerMetadata;
 import org.apache.axis.engine.AxisFault;
 import org.apache.axis.engine.EngineConfiguration;
+import org.apache.axis.engine.EngineConfigurationImpl;
 
 /**
  * Class PhaseResolver
@@ -362,9 +363,10 @@
         for (int type = 1; type < 4; type++) {
             phaseHolder = new PhaseHolder(engineConfig);
             phaseHolder.setFlowType(type);
-            for (int intA = 0; intA < count; intA++) {
-                moduleName = (QName) modules.get(intA);
-                module = engineConfig.getModule(moduleName);
+            List globalModule = (List)((EngineConfigurationImpl)engineConfig).getModules().values();
+            int gcount =  globalModule.size();
+            for (int intA = 0; intA < gcount; intA++) {
+                module = (AxisModule) globalModule.get(intA);
                 switch (type) {
                     case PhaseMetadata.IN_FLOW:
                         {
@@ -395,6 +397,43 @@
                          * should go to the global chain , to the pre-dispatch phase
                          */
                         if(PhaseMetadata.PRE_DISPATCH.equals(metadata.getRules().getPhaseName())){
+                            phaseHolder.addHandler(metadata);
+                        }  else {
+                            continue;
+                        }
+                    }
+                }
+            }
+            ///////////////////////////////////////////////////
+            for (int intA = 0; intA < count; intA++) {
+                moduleName = (QName) modules.get(intA);
+                module = engineConfig.getModule(moduleName);
+                switch (type) {
+                    case PhaseMetadata.IN_FLOW:
+                        {
+                            flow = module.getInFlow();
+                            break;
+                        }
+                    case PhaseMetadata.OUT_FLOW:
+                        {
+                            flow = module.getOutFlow();
+                            break;
+                        }
+                    case PhaseMetadata.FAULT_IN_FLOW:
+                        {
+                            flow = module.getFaultInFlow();
+                            break;
+                        }
+                    case PhaseMetadata.FAULT_OUT_FLOW:
+                        {
+                            flow = module.getFaultOutFlow();
+                            break;
+                        }
+                }
+                if (flow != null) {
+                    for (int j = 0; j < flow.getHandlerCount(); j++) {
+                        HandlerMetadata metadata = flow.getHandler(j);
+                        if(! PhaseMetadata.PRE_DISPATCH.equals(metadata.getRules().getPhaseName())){
                             phaseHolder.addHandler(metadata);
                         }  else {
                             continue;