You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by he...@apache.org on 2006/04/13 19:34:45 UTC
svn commit: r393863 -
/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/client/WSDLBasedPolicyProcessor.java
Author: hemapani
Date: Thu Apr 13 10:34:44 2006
New Revision: 393863
URL: http://svn.apache.org/viewcvs?rev=393863&view=rev
Log:
add policy based enagedment, enage only if not already engaed.. with policy things it is very hard to do this witout this
Modified:
webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/client/WSDLBasedPolicyProcessor.java
Modified: webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/client/WSDLBasedPolicyProcessor.java
URL: http://svn.apache.org/viewcvs/webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/client/WSDLBasedPolicyProcessor.java?rev=393863&r1=393862&r2=393863&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/client/WSDLBasedPolicyProcessor.java (original)
+++ webservices/axis2/trunk/java/modules/core/src/org/apache/axis2/client/WSDLBasedPolicyProcessor.java Thu Apr 13 10:34:44 2006
@@ -79,40 +79,58 @@
}
- public void configureOperationPolices(AxisOperation op)throws AxisFault{
- PolicyInclude policyInclude = op.getPolicyInclude();
-
- if(policyInclude != null ){
- Policy policy = policyInclude.getEffectivePolicy();
- if(policy != null){
- if (!policy.isNormalized()) {
- policy = (Policy) policy.normalize();
- }
+ public void configureOperationPolices(AxisOperation op) throws AxisFault {
+ PolicyInclude policyInclude = op.getPolicyInclude();
- XorCompositeAssertion XOR = (XorCompositeAssertion) policy.getTerms()
- .get(0);
- AndCompositeAssertion AND = (AndCompositeAssertion) XOR.getTerms().get(
- 0);
-
- Iterator pAsserations = AND.getTerms().iterator();
- while(pAsserations.hasNext()){
- PrimitiveAssertion pa = (PrimitiveAssertion) pAsserations.next();
- String namespace = pa.getName().getNamespaceURI();
- ArrayList moduleList = (ArrayList)ns2modules.get(namespace);
-
- if (moduleList == null) {
- System.err.println("cannot find a module to process "
- + namespace + "type assertions");
- continue;
- }else{
- for(int i = 0;i<moduleList.size();i++){
- AxisModule axisModule = (AxisModule) moduleList.get(i);
- op.engageModule(axisModule,configctx.getAxisConfiguration());
- axisModule.getModule().engageNotify(op);
- }
- }
- }
- }
- }
- }
+ if (policyInclude != null) {
+ Policy policy = policyInclude.getEffectivePolicy();
+ if (policy != null) {
+ if (!policy.isNormalized()) {
+ policy = (Policy) policy.normalize();
+ }
+
+ XorCompositeAssertion XOR = (XorCompositeAssertion) policy
+ .getTerms().get(0);
+ AndCompositeAssertion AND = (AndCompositeAssertion) XOR
+ .getTerms().get(0);
+
+ Iterator pAsserations = AND.getTerms().iterator();
+ while (pAsserations.hasNext()) {
+ PrimitiveAssertion pa = (PrimitiveAssertion) pAsserations
+ .next();
+ String namespace = pa.getName().getNamespaceURI();
+ ArrayList moduleList = (ArrayList) ns2modules
+ .get(namespace);
+
+ if (moduleList == null) {
+ System.err.println("cannot find a module to process "
+ + namespace + "type assertions");
+ continue;
+ } else {
+ for (int i = 0; i < moduleList.size(); i++) {
+ AxisModule axisModule = (AxisModule) moduleList
+ .get(i);
+ Iterator engagedModules = op.getEngagedModules()
+ .iterator();
+ boolean found = false;
+ while (engagedModules.hasNext()) {
+ AxisModule module = (AxisModule) engagedModules
+ .next();
+ if (module.getName().equals(
+ axisModule.getName())) {
+ found = true;
+ break;
+ }
+ }
+ if (!found) {
+ op.engageModule(axisModule, configctx
+ .getAxisConfiguration());
+ axisModule.getModule().engageNotify(op);
+ }
+ }
+ }
+ }
+ }
+ }
+ }
}