You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by an...@apache.org on 2007/02/15 10:36:44 UTC
svn commit: r507867 [2/2] - in /incubator/cxf/trunk:
api/src/main/java/org/apache/cxf/phase/
api/src/main/java/org/apache/cxf/ws/policy/
api/src/main/java/org/apache/cxf/ws/policy/builders/primitive/
api/src/main/java/org/apache/cxf/ws/policy/builders/...
Modified: incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyEngineTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyEngineTest.java?view=diff&rev=507867&r1=507866&r2=507867
==============================================================================
--- incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyEngineTest.java (original)
+++ incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyEngineTest.java Thu Feb 15 01:36:42 2007
@@ -22,19 +22,23 @@
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.Collections;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import junit.framework.TestCase;
import org.apache.cxf.Bus;
import org.apache.cxf.helpers.CastUtils;
import org.apache.cxf.interceptor.Interceptor;
+import org.apache.cxf.phase.PhaseInterceptor;
import org.apache.cxf.service.model.BindingFaultInfo;
import org.apache.cxf.service.model.BindingMessageInfo;
import org.apache.cxf.service.model.BindingOperationInfo;
import org.apache.cxf.service.model.EndpointInfo;
import org.apache.cxf.service.model.ServiceInfo;
import org.apache.cxf.transport.Conduit;
+import org.apache.cxf.transport.Destination;
import org.apache.neethi.Policy;
import org.apache.neethi.PolicyRegistry;
import org.easymock.classextension.EasyMock;
@@ -54,17 +58,21 @@
public void testAccessors() {
engine = new PolicyEngine();
+ assertNull(engine.getBus());
assertNull(engine.getPolicyProviders());
assertNull(engine.getRegistry());
+ assertTrue(!engine.getRegisterInterceptors());
Bus bus = control.createMock(Bus.class);
engine.setBus(bus);
List<PolicyProvider> providers = CastUtils.cast(Collections.EMPTY_LIST, PolicyProvider.class);
engine.setPolicyProviders(providers);
PolicyRegistry reg = control.createMock(PolicyRegistry.class);
engine.setRegistry(reg);
+ engine.setRegisterInterceptors(true);
assertSame(bus, engine.getBus());
assertSame(providers, engine.getPolicyProviders());
assertSame(reg, engine.getRegistry());
+ assertTrue(engine.getRegisterInterceptors());
}
public void testInit() {
@@ -80,28 +88,58 @@
control.verify();
}
+ public void testDontAddBusInterceptors() {
+ doTestAddBusInterceptors(false);
+ }
+
public void testAddBusInterceptors() {
+ doTestAddBusInterceptors(true);
+ }
+
+ private void doTestAddBusInterceptors(boolean add) {
engine = new PolicyEngine();
- engine.addBusInterceptors();
-
+ engine.setRegisterInterceptors(add);
+
Bus bus = control.createMock(Bus.class);
engine.setBus(bus);
List<Interceptor> out = new ArrayList<Interceptor>();
List<Interceptor> in = new ArrayList<Interceptor>();
List<Interceptor> inFault = new ArrayList<Interceptor>();
- EasyMock.expect(bus.getOutInterceptors()).andReturn(out);
- EasyMock.expect(bus.getInInterceptors()).andReturn(in);
- EasyMock.expect(bus.getInFaultInterceptors()).andReturn(inFault);
+ List<Interceptor> outFault = new ArrayList<Interceptor>();
+ if (add) {
+ EasyMock.expect(bus.getOutInterceptors()).andReturn(out).times(2);
+ EasyMock.expect(bus.getInInterceptors()).andReturn(in).times(2);
+ EasyMock.expect(bus.getInFaultInterceptors()).andReturn(inFault);
+ EasyMock.expect(bus.getOutFaultInterceptors()).andReturn(outFault);
+ control.replay();
+ }
- control.replay();
engine.addBusInterceptors();
- assertEquals(1, out.size());
- assertTrue(out.get(0) instanceof ClientPolicyOutInterceptor);
- assertEquals(1, in.size());
- assertTrue(in.get(0) instanceof ClientPolicyInInterceptor);
- assertEquals(1, inFault.size());
- assertTrue(inFault.get(0) instanceof ClientPolicyInFaultInterceptor);
- control.verify();
+
+ if (add) {
+ Set<String> idsOut = getInterceptorIds(out);
+ Set<String> idsIn = getInterceptorIds(in);
+ Set<String> idsInFault = getInterceptorIds(inFault);
+ Set<String> idsOutFault = getInterceptorIds(outFault);
+ assertEquals(2, out.size());
+ assertTrue(idsOut.contains(PolicyConstants.CLIENT_POLICY_OUT_INTERCEPTOR_ID));
+ assertTrue(idsOut.contains(PolicyConstants.SERVER_POLICY_OUT_INTERCEPTOR_ID));
+ assertEquals(2, in.size());
+ assertTrue(idsIn.contains(PolicyConstants.CLIENT_POLICY_IN_INTERCEPTOR_ID));
+ assertTrue(idsIn.contains(PolicyConstants.SERVER_POLICY_IN_INTERCEPTOR_ID));
+ assertEquals(1, inFault.size());
+ assertTrue(idsInFault.contains(PolicyConstants.CLIENT_POLICY_IN_FAULT_INTERCEPTOR_ID));
+ assertEquals(1, outFault.size());
+ assertTrue(idsOutFault.contains(PolicyConstants.SERVER_POLICY_OUT_FAULT_INTERCEPTOR_ID));
+ } else {
+ assertEquals(0, out.size());
+ assertEquals(0, in.size());
+ assertEquals(0, inFault.size());
+ assertEquals(0, outFault.size());
+ }
+ if (add) {
+ control.verify();
+ }
}
public void testGetAggregatedServicePolicy() {
@@ -279,69 +317,113 @@
control.verify();
}
- public void testGetClientOutInterceptors() throws NoSuchMethodException {
- doTestGetClientInterceptors(true, false);
+ public void testGetClientOutInterceptors() throws NoSuchMethodException {
+ Method m = PolicyEngine.class.getDeclaredMethod("getClientRequestPolicyInfo",
+ new Class[] {BindingOperationInfo.class,
+ EndpointInfo.class, Conduit.class});
+ engine = control.createMock(PolicyEngine.class, new Method[] {m});
+ BindingOperationInfo boi = control.createMock(BindingOperationInfo.class);
+ EndpointInfo ei = control.createMock(EndpointInfo.class);
+ Conduit conduit = control.createMock(Conduit.class);
+ ClientRequestPolicyInfo cpi = control.createMock(ClientRequestPolicyInfo.class);
+ EasyMock.expect(engine.getClientRequestPolicyInfo(boi, ei, conduit)).andReturn(cpi);
+ Interceptor i = control.createMock(Interceptor.class);
+ List<Interceptor> li = Collections.singletonList(i);
+ EasyMock.expect(cpi.getOutInterceptors()).andReturn(li);
+
+ control.replay();
+ List<Interceptor> clientInterceptors = engine.getClientOutInterceptors(boi, ei, conduit);
+ assertSame(li, clientInterceptors);
+ control.verify();
}
public void testGetClientInInterceptors() throws NoSuchMethodException {
- doTestGetClientInterceptors(false, false);
+ doTestGetInterceptors(false, false);
}
public void testGetClientInFaultInterceptors() throws NoSuchMethodException {
- doTestGetClientInterceptors(false, true);
+ doTestGetInterceptors(false, true);
+ }
+
+ public void testGetServerInFaultInterceptors() throws NoSuchMethodException {
+ doTestGetInterceptors(true, false);
+ }
+
+ public void testServerOutInterceptors() throws NoSuchMethodException {
+ doTestGetServerOutInterceptors(false);
}
- public void doTestGetClientInterceptors(boolean out, boolean fault) throws NoSuchMethodException {
- Method m = PolicyEngine.class.getDeclaredMethod("getClientPolicyInfo",
- new Class[] {BindingOperationInfo.class, EndpointInfo.class, Conduit.class});
+ public void testServerOutFaultInterceptors() throws NoSuchMethodException {
+ doTestGetServerOutInterceptors(true);
+ }
+
+ private void doTestGetInterceptors(boolean isServer, boolean fault) throws NoSuchMethodException {
+ Method m = PolicyEngine.class.getDeclaredMethod("getEndpointPolicyInfo",
+ new Class[] {EndpointInfo.class, isServer ? Destination.class : Conduit.class});
engine = control.createMock(PolicyEngine.class, new Method[] {m});
- BindingOperationInfo boi = control.createMock(BindingOperationInfo.class);
EndpointInfo ei = control.createMock(EndpointInfo.class);
- Conduit conduit = control.createMock(Conduit.class);
+ Conduit conduit = null;
+ Destination destination = null;
+ EndpointPolicyInfo epi = control.createMock(EndpointPolicyInfo.class);
+
+ if (isServer) {
+ destination = control.createMock(Destination.class);
+ EasyMock.expect(engine.getEndpointPolicyInfo(ei, destination)).andReturn(epi);
+ } else {
+ conduit = control.createMock(Conduit.class);
+ EasyMock.expect(engine.getEndpointPolicyInfo(ei, conduit)).andReturn(epi);
+ }
- ClientPolicyInfo cpi = control.createMock(ClientPolicyInfo.class);
- EasyMock.expect(engine.getClientPolicyInfo(boi, ei, conduit)).andReturn(cpi);
Interceptor i = control.createMock(Interceptor.class);
List<Interceptor> li = Collections.singletonList(i);
- if (out) {
- EasyMock.expect(cpi.getOutInterceptors()).andReturn(li);
+ if (fault) {
+ EasyMock.expect(epi.getInFaultInterceptors()).andReturn(li);
} else {
- if (fault) {
- EasyMock.expect(cpi.getInFaultInterceptors()).andReturn(li);
- } else {
- EasyMock.expect(cpi.getInInterceptors()).andReturn(li);
- }
+ EasyMock.expect(epi.getInInterceptors()).andReturn(li);
}
-
+
control.replay();
- List<Interceptor> clientInterceptors = out ? engine.getClientOutInterceptors(boi, ei, conduit)
- : (fault ? engine.getClientInFaultInterceptors(boi, ei, conduit)
- : engine.getClientInInterceptors(boi, ei, conduit));
- assertSame(li, clientInterceptors);
- control.verify();
- }
-
- public void xtestSupportsAlternative() {
- doTestSupportsAlternative(true);
- }
-
- void doTestSupportsAlternative(boolean supported) {
- /*
- PolicyInterceptorProviderRegistry pipr = control.createMock(PolicyInterceptorProviderRegistry.class);
- EasyMock.expect(bus.getExtension(PolicyInterceptorProviderRegistry.class)).andReturn(pipr);
- Assertion a = control.createMock(Assertion.class);
- List<Assertion> alternative = Collections.singletonList(a);
- EasyMock.expect(a.isOptional()).andReturn(false);
- QName qn = new QName("http://x.y.z", "a");
- EasyMock.expect(a.getName()).andReturn(qn);
- EasyMock.expect(pipr.get(qn)).andReturn(null);
- AssertingConduit ac = control.createMock(AssertingConduit.class);
- EasyMock.expect(ac.asserts(a)).andReturn(supported);
-
+ List<Interceptor> interceptors = fault
+ ? engine.getClientInFaultInterceptors(ei, conduit)
+ : (isServer
+ ? engine.getServerInInterceptors(ei, destination)
+ : engine.getClientInInterceptors(ei, conduit));
+ assertSame(li, interceptors);
+ control.verify();
+ }
+
+ private void doTestGetServerOutInterceptors(boolean fault) throws NoSuchMethodException {
+
+ Method m = PolicyEngine.class.getDeclaredMethod("getServerResponsePolicyInfo",
+ new Class[] {BindingOperationInfo.class,
+ EndpointInfo.class, Destination.class});
+ engine = control.createMock(PolicyEngine.class, new Method[] {m});
+ BindingOperationInfo boi = control.createMock(BindingOperationInfo.class);
+ EndpointInfo ei = control.createMock(EndpointInfo.class);
+ Destination destination = control.createMock(Destination.class);
+ ServerResponsePolicyInfo srpi = control.createMock(ServerResponsePolicyInfo.class);
+ EasyMock.expect(engine.getServerResponsePolicyInfo(boi, ei, destination)).andReturn(srpi);
+ Interceptor i = control.createMock(Interceptor.class);
+ List<Interceptor> li = Collections.singletonList(i);
+ if (fault) {
+ EasyMock.expect(srpi.getOutFaultInterceptors()).andReturn(li);
+ } else {
+ EasyMock.expect(srpi.getOutInterceptors()).andReturn(li);
+ }
+
control.replay();
- assertEquals(supported, engine.supportsAlternative(alternative, ac));
+ List<Interceptor> interceptors = fault ? engine.getServerOutFaultInterceptors(boi, ei, destination)
+ : engine.getServerOutInterceptors(boi, ei, destination);
+ assertSame(li, interceptors);
control.verify();
- */
+ }
+
+ private Set<String> getInterceptorIds(List<Interceptor> interceptors) {
+ Set<String> ids = new HashSet<String>();
+ for (Interceptor i : interceptors) {
+ ids.add(((PhaseInterceptor)i).getId());
+ }
+ return ids;
}
Modified: incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyInterceptorsTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyInterceptorsTest.java?view=diff&rev=507867&r1=507866&r2=507867
==============================================================================
--- incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyInterceptorsTest.java (original)
+++ incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyInterceptorsTest.java Thu Feb 15 01:36:42 2007
@@ -31,6 +31,7 @@
import org.apache.cxf.service.model.BindingOperationInfo;
import org.apache.cxf.service.model.EndpointInfo;
import org.apache.cxf.transport.Conduit;
+import org.apache.cxf.transport.Destination;
import org.easymock.classextension.EasyMock;
import org.easymock.classextension.IMocksControl;
@@ -46,6 +47,7 @@
private Bus bus;
private PolicyEngine pe;
private Conduit conduit;
+ private Destination destination;
public void setUp() {
@@ -57,10 +59,10 @@
ClientPolicyOutInterceptor interceptor = new ClientPolicyOutInterceptor();
interceptor.setBus(bus);
- doTestBasics(interceptor);
+ doTestBasics(interceptor, true, true);
control.reset();
- setupMessage(true, true, true, true);
+ setupMessage(true, true, true, true, true, true);
Interceptor i = control.createMock(Interceptor.class);
EasyMock.expect(pe.getClientOutInterceptors(boi, ei, conduit))
.andReturn(CastUtils.cast(Collections.singletonList(i), Interceptor.class));
@@ -77,12 +79,12 @@
ClientPolicyInInterceptor interceptor = new ClientPolicyInInterceptor();
interceptor.setBus(bus);
- doTestBasics(interceptor);
+ doTestBasics(interceptor, true, false);
control.reset();
- setupMessage(true, true, true, true);
+ setupMessage(true, true, false, false, true, true);
Interceptor i = control.createMock(Interceptor.class);
- EasyMock.expect(pe.getClientInInterceptors(boi, ei, conduit))
+ EasyMock.expect(pe.getClientInInterceptors(ei, conduit))
.andReturn(CastUtils.cast(Collections.singletonList(i), Interceptor.class));
InterceptorChain ic = control.createMock(InterceptorChain.class);
EasyMock.expect(message.getInterceptorChain()).andReturn(ic);
@@ -97,12 +99,12 @@
ClientPolicyInFaultInterceptor interceptor = new ClientPolicyInFaultInterceptor();
interceptor.setBus(bus);
- doTestBasics(interceptor);
+ doTestBasics(interceptor, true, false);
control.reset();
- setupMessage(true, true, true, true);
+ setupMessage(true, true, false, false, true, true);
Interceptor i = control.createMock(Interceptor.class);
- EasyMock.expect(pe.getClientInFaultInterceptors(boi, ei, conduit))
+ EasyMock.expect(pe.getClientInFaultInterceptors(ei, conduit))
.andReturn(CastUtils.cast(Collections.singletonList(i), Interceptor.class));
InterceptorChain ic = control.createMock(InterceptorChain.class);
EasyMock.expect(message.getInterceptorChain()).andReturn(ic);
@@ -113,50 +115,115 @@
control.verify();
}
- private void doTestBasics(Interceptor<Message> interceptor) {
- setupMessage(false, false, false, false);
+ public void testServerPolicyInInterceptor() {
+ ServerPolicyInInterceptor interceptor = new ServerPolicyInInterceptor();
+ interceptor.setBus(bus);
+
+ doTestBasics(interceptor, false, false);
+
+ control.reset();
+ setupMessage(false, false, false, false, true, true);
+ Interceptor i = control.createMock(Interceptor.class);
+ EasyMock.expect(pe.getServerInInterceptors(ei, destination))
+ .andReturn(CastUtils.cast(Collections.singletonList(i), Interceptor.class));
+ InterceptorChain ic = control.createMock(InterceptorChain.class);
+ EasyMock.expect(message.getInterceptorChain()).andReturn(ic);
+ ic.add(i);
+ EasyMock.expectLastCall();
+ control.replay();
+ interceptor.handleMessage(message);
+ control.verify();
+ }
+
+ public void testServerPolicyOutInterceptor() {
+ ServerPolicyOutInterceptor interceptor = new ServerPolicyOutInterceptor();
+ interceptor.setBus(bus);
+
+ doTestBasics(interceptor, false, true);
+
+ control.reset();
+ setupMessage(false, false, true, true, true, true);
+ Interceptor i = control.createMock(Interceptor.class);
+ EasyMock.expect(pe.getServerOutInterceptors(boi, ei, destination))
+ .andReturn(CastUtils.cast(Collections.singletonList(i), Interceptor.class));
+ InterceptorChain ic = control.createMock(InterceptorChain.class);
+ EasyMock.expect(message.getInterceptorChain()).andReturn(ic);
+ ic.add(i);
+ EasyMock.expectLastCall();
+ control.replay();
+ interceptor.handleMessage(message);
+ control.verify();
+ }
+
+ public void testServerPolicyOutFaultInterceptor() {
+ ServerPolicyOutFaultInterceptor interceptor = new ServerPolicyOutFaultInterceptor();
+ interceptor.setBus(bus);
+
+ doTestBasics(interceptor, false, true);
+
+ control.reset();
+ setupMessage(false, false, true, true, true, true);
+ Interceptor i = control.createMock(Interceptor.class);
+ EasyMock.expect(pe.getServerOutFaultInterceptors(boi, ei, destination))
+ .andReturn(CastUtils.cast(Collections.singletonList(i), Interceptor.class));
+ InterceptorChain ic = control.createMock(InterceptorChain.class);
+ EasyMock.expect(message.getInterceptorChain()).andReturn(ic);
+ ic.add(i);
+ EasyMock.expectLastCall();
+ control.replay();
+ interceptor.handleMessage(message);
+ control.verify();
+ }
+
+ private void doTestBasics(Interceptor<Message> interceptor, boolean isClient, boolean usesOperationInfo) {
+ setupMessage(!isClient, isClient, usesOperationInfo, false, false, false);
control.replay();
interceptor.handleMessage(message);
control.verify();
control.reset();
- setupMessage(true, false, false, false);
+ setupMessage(isClient, isClient, usesOperationInfo, !usesOperationInfo, false, false);
control.replay();
interceptor.handleMessage(message);
control.verify();
control.reset();
- setupMessage(true, true, false, false);
+ setupMessage(true, isClient, usesOperationInfo, usesOperationInfo, false, false);
control.replay();
interceptor.handleMessage(message);
control.verify();
control.reset();
- setupMessage(true, true, true, false);
+ setupMessage(true, isClient, usesOperationInfo, usesOperationInfo, true, false);
control.replay();
interceptor.handleMessage(message);
control.verify();
}
- void setupMessage(boolean setupRequestor,
+ void setupMessage(boolean setupRequestor,
+ boolean isClient,
+ boolean usesOperationInfo,
boolean setupOperation,
- boolean setupEndpoint,
- boolean setupEngine) {
+ Boolean setupEndpoint,
+ Boolean setupEngine) {
+
message = control.createMock(Message.class);
+
EasyMock.expect(message.get(Message.REQUESTOR_ROLE))
.andReturn(setupRequestor ? Boolean.TRUE : Boolean.FALSE);
- if (!setupRequestor) {
+ if (setupRequestor != isClient) {
return;
- }
-
- if (null == boi) {
- boi = control.createMock(BindingOperationInfo.class);
}
- EasyMock.expect(message.get(BindingOperationInfo.class)).andReturn(setupOperation ? boi : null);
- if (!setupOperation) {
- return;
+ if (usesOperationInfo) {
+ if (null == boi) {
+ boi = control.createMock(BindingOperationInfo.class);
+ }
+ EasyMock.expect(message.get(BindingOperationInfo.class)).andReturn(setupOperation ? boi : null);
+ if (!setupOperation) {
+ return;
+ }
}
-
+
if (null == ei) {
ei = control.createMock(EndpointInfo.class);
}
@@ -164,6 +231,7 @@
if (!setupEndpoint) {
return;
}
+
if (null == pe) {
pe = control.createMock(PolicyEngine.class);
}
@@ -172,10 +240,13 @@
return;
}
- if (null == conduit) {
+ if (isClient) {
conduit = control.createMock(Conduit.class);
+ EasyMock.expect(message.getConduit()).andReturn(conduit);
+ } else {
+ destination = control.createMock(Destination.class);
+ EasyMock.expect(message.getDestination()).andReturn(destination);
}
- EasyMock.expect(message.getConduit()).andReturn(conduit);
}
}
Modified: incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyTest.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyTest.java?view=diff&rev=507867&r1=507866&r2=507867
==============================================================================
--- incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyTest.java (original)
+++ incubator/cxf/trunk/rt/ws/policy/src/test/java/org/apache/cxf/ws/policy/PolicyTest.java Thu Feb 15 01:36:42 2007
@@ -24,7 +24,9 @@
import junit.framework.TestCase;
import org.apache.cxf.ws.policy.builders.primitive.PrimitiveAssertion;
+import org.apache.neethi.All;
import org.apache.neethi.Assertion;
+import org.apache.neethi.ExactlyOne;
import org.apache.neethi.Policy;
/**
@@ -81,7 +83,45 @@
p = getTwoOptionalAssertions();
doNormalise(p, true);
- }
+ }
+
+ public void xtestMergePolciesWithAlternatives() {
+ String uri1 = "http://x.y.z";
+ Policy p1 = new Policy();
+ ExactlyOne ea = new ExactlyOne();
+ p1.addPolicyComponent(ea);
+ All all = new All();
+ ea.addPolicyComponent(all);
+ all.addPolicyComponent(new PrimitiveAssertion(new QName(uri1, "a1")));
+ all = new All();
+ ea.addPolicyComponent(all);
+ all.addPolicyComponent(new PrimitiveAssertion(new QName(uri1, "a2")));
+
+ String uri2 = "http://a.b.c";
+ Policy p2 = new Policy();
+ ea = new ExactlyOne();
+ p2.addPolicyComponent(ea);
+ all = new All();
+ ea.addPolicyComponent(all);
+ all.addPolicyComponent(new PrimitiveAssertion(new QName(uri2, "x1")));
+ all = new All();
+ ea.addPolicyComponent(all);
+ all.addPolicyComponent(new PrimitiveAssertion(new QName(uri2, "x2")));
+
+ System.out.println("p1:");
+ PolicyUtils.printPolicyComponent(p1);
+ System.out.println();
+ System.out.println("p2:");
+ PolicyUtils.printPolicyComponent(p1);
+ System.out.println();
+ Policy p = p1.merge(p2);
+ System.out.println("p1 merge p2:");
+ PolicyUtils.printPolicyComponent(p);
+ System.out.println();
+ System.out.println("normalised merge:");
+ PolicyUtils.printPolicyComponent(p.normalize(true));
+ System.out.println();
+ }
Policy getOneAssertion() {
String uri = "http://www.w3.org/2007/01/addressing/metadata";
Modified: incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/GreeterImpl.java
URL: http://svn.apache.org/viewvc/incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/GreeterImpl.java?view=diff&rev=507867&r1=507866&r2=507867
==============================================================================
--- incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/GreeterImpl.java (original)
+++ incubator/cxf/trunk/systests/src/test/java/org/apache/cxf/systest/ws/rm/GreeterImpl.java Thu Feb 15 01:36:42 2007
@@ -28,6 +28,7 @@
import org.apache.cxf.greeter_control.Greeter;
import org.apache.cxf.greeter_control.PingMeFault;
+import org.apache.cxf.greeter_control.types.FaultDetail;
import org.apache.cxf.greeter_control.types.GreetMeResponse;
import org.apache.cxf.greeter_control.types.PingMeResponse;
import org.apache.cxf.greeter_control.types.SayHiResponse;
@@ -45,6 +46,7 @@
private static final Logger LOG = Logger.getLogger(GreeterImpl.class.getName());
private long delay;
private String lastOnewayArg;
+ private int pingMeCount;
public long getDelay() {
return delay;
@@ -89,7 +91,16 @@
}
public void pingMe() throws PingMeFault {
- LOG.fine("Executing operation pingMe");
+ pingMeCount++;
+ if ((pingMeCount % 2) > 0) {
+ LOG.fine("Executing operation pingMe");
+ } else {
+ LOG.fine("Throwing PingMeFault while executiong operation pingMe");
+ FaultDetail fd = new FaultDetail();
+ fd.setMajor((short)2);
+ fd.setMinor((short)1);
+ throw new PingMeFault("Pings succeed only every other time.", fd);
+ }
}
public Response<PingMeResponse> pingMeAsync() {