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