Author: veithen
Date: Mon Jan 8 02:04:33 2018
New Revision: 1820516
URL: http://svn.apache.org/viewvc?rev=1820516&view=rev
Log:
AXIS2-5904: Revert r1820513.
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=1820516&r1=1820515&r2=1820516&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 02:04:33 2018
@@ -24,6 +24,7 @@ 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;
@@ -232,29 +233,127 @@ public class AxisBindingMessage extends
}
public Policy calculateEffectivePolicy() {
+ PolicySubject policySubject = null;
Collection<PolicyComponent> policyList = new
ArrayList<PolicyComponent>();
- AxisDescription description = this;
- AxisService axisService = null;
- do {
-
policyList.addAll(description.getPolicySubject().getAttachedPolicyComponents());
- if (description instanceof AxisService) {
- axisService = (AxisService)description;
- }
- } while ((description = description.getParent()) != null);
-
+ // 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());
+ }
return PolicyUtil.getMergedPolicy(policyList, axisService);
}
private boolean isPolicyUpdated() {
- AxisDescription description = this;
- do {
- if (description.getPolicySubject().getLastUpdatedTime().after(
- lastPolicyCalculatedTime)) {
- return true;
- }
- } while ((description = description.getParent()) != null);
+ 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;
+ }
return false;
}