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 na...@apache.org on 2008/08/18 17:52:10 UTC
svn commit: r686796 -
/webservices/axis2/branches/java/1_4/modules/kernel/src/org/apache/axis2/description/AxisMessage.java
Author: nandana
Date: Mon Aug 18 08:52:09 2008
New Revision: 686796
URL: http://svn.apache.org/viewvc?rev=686796&view=rev
Log:
Policies are not updated correctly, fixing an issue found during testing
Modified:
webservices/axis2/branches/java/1_4/modules/kernel/src/org/apache/axis2/description/AxisMessage.java
Modified: webservices/axis2/branches/java/1_4/modules/kernel/src/org/apache/axis2/description/AxisMessage.java
URL: http://svn.apache.org/viewvc/webservices/axis2/branches/java/1_4/modules/kernel/src/org/apache/axis2/description/AxisMessage.java?rev=686796&r1=686795&r2=686796&view=diff
==============================================================================
--- webservices/axis2/branches/java/1_4/modules/kernel/src/org/apache/axis2/description/AxisMessage.java (original)
+++ webservices/axis2/branches/java/1_4/modules/kernel/src/org/apache/axis2/description/AxisMessage.java Mon Aug 18 08:52:09 2008
@@ -34,6 +34,7 @@
import javax.xml.namespace.QName;
import java.util.ArrayList;
+import java.util.Date;
import java.util.Iterator;
import java.util.List;
@@ -65,7 +66,7 @@
private Policy effectivePolicy = null;
- private boolean policyCalculated = false;
+ private Date lastPolicyCalcuatedTime = null;
public String getMessagePartName() {
return messagePartName;
@@ -240,14 +241,10 @@
}
public Policy getEffectivePolicy() {
- if (getPolicySubject().isUpdated()) {
- effectivePolicy = calculateEffectivePolicy();
- } else {
- if (effectivePolicy == null && !policyCalculated) {
- effectivePolicy = calculateEffectivePolicy();
- }
- }
- return effectivePolicy;
+ if (lastPolicyCalcuatedTime == null || isPolicyUpdated()) {
+ effectivePolicy = calculateEffectivePolicy();
+ }
+ return effectivePolicy;
}
public Policy calculateEffectivePolicy() {
@@ -282,38 +279,39 @@
}
Policy result = PolicyUtil.getMergedPolicy(policyList, axisService);
- policyCalculated = true;
+ lastPolicyCalcuatedTime = new Date();
return result;
}
public boolean isPolicyUpdated() {
- // AxisMessage
- PolicySubject policySubject = getPolicySubject();
- if (policySubject.isUpdated()) {
- return true;
- }
-
- // AxisOperation
- AxisOperation axisOperation = getAxisOperation();
- if (axisOperation != null
- && axisOperation.getPolicySubject().isUpdated()) {
- return true;
- }
-
- // AxisService
- AxisService axisService = (axisOperation == null) ? null
- : axisOperation.getAxisService();
- if (axisService != null && axisService.getPolicySubject().isUpdated()) {
- return true;
- }
-
- // AxisConfiguration
- AxisConfiguration axisConfiguration = (axisService == null) ? null
- : axisService.getAxisConfiguration();
- if (axisConfiguration != null
- && axisConfiguration.getPolicySubject().isUpdated()) {
- return true;
- }
- return false;
+ // AxisMessage
+ if (getPolicySubject().getLastUpdatedTime().after(
+ lastPolicyCalcuatedTime)) {
+ return true;
+ }
+ // AxisOperation
+ AxisOperation axisOperation = (AxisOperation) parent;
+ if (axisOperation != null
+ && axisOperation.getPolicySubject().getLastUpdatedTime().after(
+ lastPolicyCalcuatedTime)) {
+ return true;
+ }
+ // AxisService
+ AxisService axisService = (axisOperation == null) ? null
+ : axisOperation.getAxisService();
+ if (axisService != null
+ && axisService.getPolicySubject().getLastUpdatedTime().after(
+ lastPolicyCalcuatedTime)) {
+ return true;
+ }
+ // AxisConfiguration
+ AxisConfiguration axisConfiguration = (axisService == null) ? null
+ : axisService.getAxisConfiguration();
+ if (axisConfiguration != null
+ && axisConfiguration.getPolicySubject().getLastUpdatedTime()
+ .after(lastPolicyCalcuatedTime)) {
+ return true;
+ }
+ return false;
}
}