Author: veithen
Date: Mon Jan  8 01:32:39 2018
New Revision: 1820513

URL: http://svn.apache.org/viewvc?rev=1820513&view=rev
Log:
AXIS2-5904: Simplify the calculateEffectivePolicy and isPolicyUpdated code in 
AxisBindingMessage.

Modified:
    
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/AxisBindingMessage.java

Modified: 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/AxisBindingMessage.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/AxisBindingMessage.java?rev=1820513&r1=1820512&r2=1820513&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/AxisBindingMessage.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/kernel/src/org/apache/axis2/description/AxisBindingMessage.java
 Mon Jan  8 01:32:39 2018
@@ -24,7 +24,6 @@ import org.apache.axiom.om.OMElement;
 import org.apache.axiom.om.OMFactory;
 import org.apache.axiom.om.OMNamespace;
 import org.apache.axis2.AxisFault;
-import org.apache.axis2.engine.AxisConfiguration;
 import org.apache.axis2.util.PolicyUtil;
 import org.apache.axis2.util.WSDL20Util;
 import org.apache.axis2.util.WSDLSerializationUtil;
@@ -233,127 +232,29 @@ public class AxisBindingMessage extends
     }
 
     public Policy calculateEffectivePolicy() {
-        PolicySubject policySubject = null;
         Collection<PolicyComponent> policyList = new 
ArrayList<PolicyComponent>();
 
-        // AxisBindingMessage
-        policySubject = getPolicySubject();
-        policyList.addAll(policySubject.getAttachedPolicyComponents());
-
-        // AxisBindingOperation policies
-        AxisBindingOperation axisBindingOperation = getAxisBindingOperation();
-        if (axisBindingOperation != null) {
-            policyList.addAll(axisBindingOperation.getPolicySubject()
-                    .getAttachedPolicyComponents());
-        }
-
-        // AxisBinding
-        AxisBinding axisBinding = (axisBindingOperation == null) ? null
-                : axisBindingOperation.getAxisBinding();
-        if (axisBinding != null) {
-            policyList.addAll(axisBinding.getPolicySubject()
-                    .getAttachedPolicyComponents());
-        }
-
-        // AxisEndpoint
-        AxisEndpoint axisEndpoint = (axisBinding == null) ? null : axisBinding
-                .getAxisEndpoint();
-        if (axisEndpoint != null) {
-            policyList.addAll(axisEndpoint.getPolicySubject()
-                    .getAttachedPolicyComponents());
-        }
-
-        // AxisMessage
-        if (axisMessage != null) {
-            policyList.addAll(axisMessage.getPolicySubject()
-                    .getAttachedPolicyComponents());
-        }
-
-        // AxisOperation
-        AxisOperation axisOperation = (axisMessage == null) ? null
-                : axisMessage.getAxisOperation();
-        if (axisOperation != null) {
-            policyList.addAll(axisOperation.getPolicySubject()
-                    .getAttachedPolicyComponents());
-        }
-
-        // AxisService
-        AxisService axisService = (axisOperation == null) ? null
-                : axisOperation.getAxisService();
-        if (axisService != null) {
-            policyList.addAll(axisService.getPolicySubject()
-                    .getAttachedPolicyComponents());
-        }
-
-        // AxisConfiguration
-        AxisConfiguration axisConfiguration = (axisService == null) ? null
-                : axisService.getAxisConfiguration();
-        if (axisConfiguration != null) {
-            policyList.addAll(axisConfiguration.getPolicySubject()
-                    .getAttachedPolicyComponents());
-        }
+        AxisDescription description = this;
+        AxisService axisService = null;
+        do {
+            
policyList.addAll(description.getPolicySubject().getAttachedPolicyComponents());
+            if (description instanceof AxisService) {
+                axisService = (AxisService)description;
+            }
+        } while ((description = description.getParent()) != null);
+        
 
         return PolicyUtil.getMergedPolicy(policyList, axisService);
     }
     
     private boolean isPolicyUpdated() {
-        if (getPolicySubject().getLastUpdatedTime().after(
-                lastPolicyCalculatedTime)) {
-            return true;
-        }
-        // AxisBindingOperation
-        AxisBindingOperation axisBindingOperation = getAxisBindingOperation();
-        if (axisBindingOperation != null
-                && axisBindingOperation.getPolicySubject().getLastUpdatedTime()
-                        .after(lastPolicyCalculatedTime)) {
-            return true;
-        }
-        // AxisBinding
-        AxisBinding axisBinding = (axisBindingOperation == null) ? null
-                : axisBindingOperation.getAxisBinding();
-        if (axisBinding != null
-                && axisBinding.getPolicySubject().getLastUpdatedTime().after(
-                lastPolicyCalculatedTime)) {
-            return true;
-        }
-        // AxisEndpoint
-        AxisEndpoint axisEndpoint = (axisBinding == null) ? null : axisBinding
-                .getAxisEndpoint();
-        if (axisEndpoint != null
-                && axisEndpoint.getPolicySubject().getLastUpdatedTime().after(
-                lastPolicyCalculatedTime)) {
-            return true;
-        }
-        // AxisMessage
-        if (axisMessage != null
-                && axisMessage.getPolicySubject().getLastUpdatedTime().after(
-                lastPolicyCalculatedTime)) {
-            return true;
-        }
-        // AxisOperation
-        AxisOperation axisOperation = (axisMessage == null) ? null
-                : axisMessage.getAxisOperation();
-        if (axisOperation != null
-                && axisOperation.getPolicySubject().getLastUpdatedTime().after(
-                lastPolicyCalculatedTime)) {
-            return true;
-        }
-        // AxisService
-        AxisService axisService = (axisOperation == null) ? null
-                : axisOperation.getAxisService();
-        if (axisService != null
-                && axisService.getPolicySubject().getLastUpdatedTime().after(
-                lastPolicyCalculatedTime)) {
-            return true;
-        }
-        // AxisConfiguration
-        AxisConfiguration axisConfiguration = (axisService == null) ? null
-                : axisService.getAxisConfiguration();
-        if (axisConfiguration != null
-                && axisConfiguration.getPolicySubject().getLastUpdatedTime()
-                        .after(lastPolicyCalculatedTime)) {
-            return true;
-        }
+        AxisDescription description = this;
+        do {
+            if (description.getPolicySubject().getLastUpdatedTime().after(
+                    lastPolicyCalculatedTime)) {
+                return true;
+            }
+        } while ((description = description.getParent()) != null);
         return false;
     }
     


Reply via email to