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/05 13:56:05 UTC

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

Author: deepal
Date: Thu May  5 04:56:04 2005
New Revision: 168322

URL: http://svn.apache.org/viewcvs?rev=168322&view=rev
Log: (empty)

Modified:
    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/PhaseResolver.java
URL: http://svn.apache.org/viewcvs/webservices/axis/trunk/java/modules/core/src/org/apache/axis/phaseresolver/PhaseResolver.java?rev=168322&r1=168321&r2=168322&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 Thu May  5 04:56:04 2005
@@ -86,6 +86,48 @@
         return this.serviceContext;
     }
 
+    private void buildModuleHandlers(ArrayList allHandlers  , AxisModule module , int flowtype) throws PhaseException {
+        Flow flow = null;
+        switch (flowtype) {
+            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 the phase property of a handler is pre-dispatch then those handlers
+                 * should go to the global chain , to the pre-dispatch phase
+                 */
+                if (PhaseMetadata.PRE_DISPATCH.equals(metadata.getRules().getPhaseName())) {
+                    continue;
+                }
+                if (metadata.getRules().getPhaseName().equals("")) {
+                    throw new PhaseException("Phase dose not specified");
+                }
+                allHandlers.add(metadata);
+            }
+        }
+    }
+
     /**
      * this opeartion is used to build all the three cahins ,
      * so type varible is used to difrenciate them
@@ -110,94 +152,59 @@
             QName name = (QName) modules.get(i);
             module = engineConfig.getModule(name);
             if (module != null) {
-                switch (flowtype) {
-                    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 the phase property of a handler is pre-dispatch then those handlers
-                         * should go to the global chain , to the pre-dispatch phase
-                         */
-                        if (PhaseMetadata.PRE_DISPATCH.equals(metadata.getRules().getPhaseName())) {
-                            continue;
-                        }
-                        if (metadata.getRules().getPhaseName().equals("")) {
-                            metadata.getRules().setPhaseName("global");
-                        }
-                        allHandlers.add(metadata);
-                    }
-                }
+                buildModuleHandlers(allHandlers,module,flowtype);
             } else {
                 throw new PhaseException("Referred module is NULL " + name.getLocalPart());
             }
         }
 
+        ///////////////////////////////////////////////////////////////////////////////////////////
+        ////////////////////////// SERVICE HANDLERS ///////////////////////////////////////////////
+
+
+        switch (flowtype) {
+            case PhaseMetadata.IN_FLOW:
+                {
+                    flow = axisService.getInFlow();
+                    break;
+                }
+            case PhaseMetadata.OUT_FLOW:
+                {
+                    flow = axisService.getOutFlow();
+                    break;
+                }
+            case PhaseMetadata.FAULT_IN_FLOW:
+                {
+                    flow = axisService.getFaultInFlow();
+                    break;
+                }
+            case PhaseMetadata.FAULT_OUT_FLOW:
+                {
+                    flow = axisService.getFaultOutFlow();
+                    break;
+                }
+        }
+        if (flow != null) {
+            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("service");
+                }
+                allHandlers.add(metadata);
+            }
+        }
+
         ///////////////////////////////////////////////////////////////////////////////////////
-        ///////////////////// SERVICE HANDLERS ////////////////////////////////////////////////
+        ///////////////////// SERVICE MODULE HANDLERS ////////////////////////////////////////////////
         Collection collection = axisService.getModules();
         Iterator itr = collection.iterator();
         while (itr.hasNext()) {
             QName moduleref = (QName) itr.next();
             module = engineConfig.getModule(moduleref);
-            switch (flowtype) {
-                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 the phase property of a handler is pre-dispatch then those handlers
-                     * should go to the global chain , to the pre-dispatch phase
-                     */
-                    if (PhaseMetadata.PRE_DISPATCH.equals(metadata.getRules().getPhaseName())) {
-                        continue;
-                    }
-                    if (metadata.getRules().getPhaseName().equals("")) {
-                        metadata.getRules().setPhaseName("service");
-                    }
-                    allHandlers.add(metadata);
-                }
+            if(module != null){
+                 buildModuleHandlers(allHandlers,module,flowtype);
             }
         }
         ///////////////////////////////////////////////////////////////////////////////////////
@@ -207,44 +214,8 @@
         while (opitr.hasNext()) {
             QName moduleref = (QName) opitr.next();
             module = engineConfig.getModule(moduleref);
-            switch (flowtype) {
-                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 the phase property of a handler is pre-dispatch then those handlers
-                     * should go to the global chain , to the pre-dispatch phase
-                     */
-                    if (PhaseMetadata.PRE_DISPATCH.equals(metadata.getRules().getPhaseName())) {
-                        continue;
-                    }
-                    if (metadata.getRules().getPhaseName().equals("")) {
-                        metadata.getRules().setPhaseName("service");
-                    }
-                    allHandlers.add(metadata);
-                }
+            if(module != null ){
+                 buildModuleHandlers(allHandlers,module,flowtype);
             }
         }