You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by dk...@apache.org on 2009/03/09 19:15:38 UTC
svn commit: r751784 - in /cxf/trunk/rt/ws/policy/src/main:
java/org/apache/cxf/ws/policy/ resources/schemas/
Author: dkulp
Date: Mon Mar 9 18:15:37 2009
New Revision: 751784
URL: http://svn.apache.org/viewvc?rev=751784&view=rev
Log:
Add ability to turn off the policy engine (since it now defaults to on)
Modified:
cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/ClientPolicyInFaultInterceptor.java
cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyEngineImpl.java
cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyInInterceptor.java
cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyOutInterceptor.java
cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyVerificationInFaultInterceptor.java
cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/ServerPolicyOutFaultInterceptor.java
cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/WSPolicyFeature.java
cxf/trunk/rt/ws/policy/src/main/resources/schemas/policy.xsd
Modified: cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/ClientPolicyInFaultInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/ClientPolicyInFaultInterceptor.java?rev=751784&r1=751783&r2=751784&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/ClientPolicyInFaultInterceptor.java (original)
+++ cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/ClientPolicyInFaultInterceptor.java Mon Mar 9 18:15:37 2009
@@ -39,7 +39,8 @@
*
*/
public class ClientPolicyInFaultInterceptor extends AbstractPolicyInterceptor {
-
+ public static final ClientPolicyInFaultInterceptor INSTANCE = new ClientPolicyInFaultInterceptor();
+
private static final Logger LOG = LogUtils.getL7dLogger(ClientPolicyInFaultInterceptor.class);
public ClientPolicyInFaultInterceptor() {
Modified: cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyEngineImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyEngineImpl.java?rev=751784&r1=751783&r2=751784&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyEngineImpl.java (original)
+++ cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyEngineImpl.java Mon Mar 9 18:15:37 2009
@@ -111,9 +111,10 @@
public synchronized void setEnabled(boolean e) {
enabled = e;
-
- if (!addedBusInterceptors) {
+ if (enabled && !addedBusInterceptors) {
addBusInterceptors();
+ } else if (!enabled && addedBusInterceptors) {
+ removeBusInterceptors();
}
}
@@ -292,9 +293,17 @@
}
+ public synchronized void removeBusInterceptors() {
+ bus.getInInterceptors().remove(PolicyInInterceptor.INSTANCE);
+ bus.getOutInterceptors().remove(PolicyOutInterceptor.INSTANCE);
+ bus.getInFaultInterceptors().remove(ClientPolicyInFaultInterceptor.INSTANCE);
+ bus.getOutFaultInterceptors().remove(ServerPolicyOutFaultInterceptor.INSTANCE);
+ bus.getInFaultInterceptors().add(PolicyVerificationInFaultInterceptor.INSTANCE);
+ addedBusInterceptors = false;
+ }
@PostConstruct
- public void addBusInterceptors() {
+ public synchronized void addBusInterceptors() {
if (null == alternativeSelector) {
alternativeSelector = new MinimalAlternativeSelector();
@@ -309,18 +318,11 @@
abr.setIgnoreUnknownAssertions(ignoreUnknownAssertions);
}
- PolicyInInterceptor serverIn = new PolicyInInterceptor();
- bus.getInInterceptors().add(serverIn);
- PolicyOutInterceptor serverOut = new PolicyOutInterceptor();
- bus.getOutInterceptors().add(serverOut);
-
-
- ClientPolicyInFaultInterceptor clientInFault = new ClientPolicyInFaultInterceptor();
- bus.getInFaultInterceptors().add(clientInFault);
- ServerPolicyOutFaultInterceptor serverOutFault = new ServerPolicyOutFaultInterceptor();
- bus.getOutFaultInterceptors().add(serverOutFault);
- PolicyVerificationInFaultInterceptor verifyInFault = new PolicyVerificationInFaultInterceptor();
- bus.getInFaultInterceptors().add(verifyInFault);
+ bus.getInInterceptors().add(PolicyInInterceptor.INSTANCE);
+ bus.getOutInterceptors().add(PolicyOutInterceptor.INSTANCE);
+ bus.getInFaultInterceptors().add(ClientPolicyInFaultInterceptor.INSTANCE);
+ bus.getOutFaultInterceptors().add(ServerPolicyOutFaultInterceptor.INSTANCE);
+ bus.getInFaultInterceptors().add(PolicyVerificationInFaultInterceptor.INSTANCE);
addedBusInterceptors = true;
}
Modified: cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyInInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyInInterceptor.java?rev=751784&r1=751783&r2=751784&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyInInterceptor.java (original)
+++ cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyInInterceptor.java Mon Mar 9 18:15:37 2009
@@ -41,7 +41,8 @@
*
*/
public class PolicyInInterceptor extends AbstractPolicyInterceptor {
-
+ public static final PolicyInInterceptor INSTANCE = new PolicyInInterceptor();
+
private static final Logger LOG = LogUtils.getL7dLogger(PolicyInInterceptor.class);
public PolicyInInterceptor() {
Modified: cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyOutInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyOutInterceptor.java?rev=751784&r1=751783&r2=751784&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyOutInterceptor.java (original)
+++ cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyOutInterceptor.java Mon Mar 9 18:15:37 2009
@@ -41,7 +41,8 @@
*
*/
public class PolicyOutInterceptor extends AbstractPolicyInterceptor {
-
+ public static final PolicyOutInterceptor INSTANCE = new PolicyOutInterceptor();
+
private static final Logger LOG = LogUtils.getL7dLogger(PolicyOutInterceptor.class);
public PolicyOutInterceptor() {
Modified: cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyVerificationInFaultInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyVerificationInFaultInterceptor.java?rev=751784&r1=751783&r2=751784&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyVerificationInFaultInterceptor.java (original)
+++ cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/PolicyVerificationInFaultInterceptor.java Mon Mar 9 18:15:37 2009
@@ -36,7 +36,8 @@
*
*/
public class PolicyVerificationInFaultInterceptor extends AbstractPolicyInterceptor {
-
+ public static final PolicyVerificationInFaultInterceptor INSTANCE
+ = new PolicyVerificationInFaultInterceptor();
private static final Logger LOG
= LogUtils.getL7dLogger(PolicyVerificationInFaultInterceptor.class);
Modified: cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/ServerPolicyOutFaultInterceptor.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/ServerPolicyOutFaultInterceptor.java?rev=751784&r1=751783&r2=751784&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/ServerPolicyOutFaultInterceptor.java (original)
+++ cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/ServerPolicyOutFaultInterceptor.java Mon Mar 9 18:15:37 2009
@@ -41,7 +41,7 @@
*
*/
public class ServerPolicyOutFaultInterceptor extends AbstractPolicyInterceptor {
-
+ public static final ServerPolicyOutFaultInterceptor INSTANCE = new ServerPolicyOutFaultInterceptor();
private static final Logger LOG = LogUtils.getL7dLogger(ServerPolicyOutFaultInterceptor.class);
public ServerPolicyOutFaultInterceptor() {
Modified: cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/WSPolicyFeature.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/WSPolicyFeature.java?rev=751784&r1=751783&r2=751784&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/WSPolicyFeature.java (original)
+++ cxf/trunk/rt/ws/policy/src/main/java/org/apache/cxf/ws/policy/WSPolicyFeature.java Mon Mar 9 18:15:37 2009
@@ -62,8 +62,10 @@
private boolean ignoreUnknownAssertions;
private AlternativeSelector alternativeSelector;
private ApplicationContext context;
+ private boolean enabled = true;
+
public WSPolicyFeature() {
super();
}
@@ -73,6 +75,14 @@
policies = new ArrayList<Policy>();
Collections.addAll(policies, ps);
}
+
+ public boolean isEnabled() {
+ return enabled;
+ }
+
+ public void setEnabled(boolean enabled) {
+ this.enabled = enabled;
+ }
public void setApplicationContext(ApplicationContext c) throws BeansException {
context = c;
@@ -87,7 +97,7 @@
PolicyEngine pe = bus.getExtension(PolicyEngine.class);
synchronized (pe) {
- pe.setEnabled(true);
+ pe.setEnabled(enabled);
pe.setIgnoreUnknownAssertions(ignoreUnknownAssertions);
if (null != alternativeSelector) {
pe.setAlternativeSelector(alternativeSelector);
Modified: cxf/trunk/rt/ws/policy/src/main/resources/schemas/policy.xsd
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/ws/policy/src/main/resources/schemas/policy.xsd?rev=751784&r1=751783&r2=751784&view=diff
==============================================================================
--- cxf/trunk/rt/ws/policy/src/main/resources/schemas/policy.xsd (original)
+++ cxf/trunk/rt/ws/policy/src/main/resources/schemas/policy.xsd Mon Mar 9 18:15:37 2009
@@ -62,6 +62,7 @@
<xsd:attribute name="ignoreUnknownAssertions" type="xsd:boolean" default="false"/>
<xsd:attribute name="namespace" type="xsd:string"/>
<xsd:attribute name="id" type="xsd:string"/>
+ <xsd:attribute name="enabled" type="xsd:boolean"/>
</xsd:complexType>
</xsd:element>