Repository: cxf
Updated Branches:
  refs/heads/master be93ea51e -> 21bfb9ab9


[CXF-5726] Restore Offer in CreateSequence, since we can't be sure the
endpoint is always oneway.

This reverts commit 93febc0d4a3a108dc834d280e0fc51e9ad5afd0c.


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/abfbb35d
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/abfbb35d
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/abfbb35d

Branch: refs/heads/master
Commit: abfbb35df11021077417e1ac631ed3315c9b625b
Parents: be93ea5
Author: dsosnoski <[email protected]>
Authored: Thu May 8 18:54:29 2014 +1200
Committer: dsosnoski <[email protected]>
Committed: Thu May 8 18:59:19 2014 +1200

----------------------------------------------------------------------
 .../main/java/org/apache/cxf/ws/rm/Proxy.java   |  5 ++-
 .../java/org/apache/cxf/ws/rm/RMManager.java    |  3 +-
 .../java/org/apache/cxf/ws/rm/ProxyTest.java    |  4 +--
 .../org/apache/cxf/ws/rm/RMManagerTest.java     |  1 -
 .../ws/rm/AbstractClientPersistenceTest.java    | 22 +++++++++-----
 .../cxf/systest/ws/rm/ManagedEndpointsTest.java | 32 +++++++++++++++-----
 6 files changed, 44 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/abfbb35d/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/Proxy.java
----------------------------------------------------------------------
diff --git a/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/Proxy.java 
b/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/Proxy.java
index 61caa69..7646c54 100644
--- a/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/Proxy.java
+++ b/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/Proxy.java
@@ -129,8 +129,7 @@ public class Proxy {
     }
 
     public CreateSequenceResponseType createSequence(EndpointReferenceType 
defaultAcksTo, RelatesToType relatesTo, 
-        boolean isServer, boolean oneWay, final ProtocolVariation protocol, 
final Exchange exchange)
-        throws RMException {
+             boolean isServer, final ProtocolVariation protocol, final 
Exchange exchange) throws RMException {
         
         SourcePolicyType sp = reliableEndpoint.getManager().getSourcePolicy();
         CreateSequenceType create = new CreateSequenceType();        
@@ -151,7 +150,7 @@ public class Proxy {
             create.setExpires(expires);
         }
         
-        if (!oneWay && sp.isIncludeOffer()) {
+        if (sp.isIncludeOffer()) {
             OfferType offer = new OfferType();
             d = sp.getOfferedSequenceExpiration();
             if (null != d) {

http://git-wip-us.apache.org/repos/asf/cxf/blob/abfbb35d/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMManager.java
----------------------------------------------------------------------
diff --git a/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMManager.java 
b/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMManager.java
index 172aa3d..37a2460 100644
--- a/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMManager.java
+++ b/rt/ws/rm/src/main/java/org/apache/cxf/ws/rm/RMManager.java
@@ -457,12 +457,11 @@ public class RMManager {
                 LOG.log(Level.INFO, msg.toString());
                 throw new RMException(msg);
             }
-            boolean oneWay = message.getExchange().isOneWay();
             Proxy proxy = source.getReliableEndpoint().getProxy();
             ProtocolVariation protocol = config.getProtocolVariation();
             Exchange exchange = new ExchangeImpl();
             CreateSequenceResponseType createResponse = 
-                proxy.createSequence(acksTo, relatesTo, isServer, oneWay, 
protocol, exchange);
+                proxy.createSequence(acksTo, relatesTo, isServer, protocol, 
exchange);
             if (!isServer) {
                 Servant servant = source.getReliableEndpoint().getServant();
                 servant.createSequenceResponse(createResponse, protocol);

http://git-wip-us.apache.org/repos/asf/cxf/blob/abfbb35d/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/ProxyTest.java
----------------------------------------------------------------------
diff --git a/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/ProxyTest.java 
b/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/ProxyTest.java
index 1afcc79..fe3e087 100644
--- a/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/ProxyTest.java
+++ b/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/ProxyTest.java
@@ -365,10 +365,10 @@ public class ProxyTest extends Assert {
         RelatesToType relatesTo = control.createMock(RelatesToType.class);
         control.replay();
         if (isServer) {
-            assertNull(proxy.createSequence(defaultAcksTo, relatesTo, 
isServer, false,
+            assertNull(proxy.createSequence(defaultAcksTo, relatesTo, 
isServer, 
                                             ProtocolVariation.RM10WSA200408, 
exchange));
         } else {
-            assertNotNull(proxy.createSequence(defaultAcksTo, relatesTo, 
isServer, false,
+            assertNotNull(proxy.createSequence(defaultAcksTo, relatesTo, 
isServer, 
                                                
ProtocolVariation.RM10WSA200408, exchange));
         }
     }

http://git-wip-us.apache.org/repos/asf/cxf/blob/abfbb35d/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMManagerTest.java
----------------------------------------------------------------------
diff --git a/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMManagerTest.java 
b/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMManagerTest.java
index 88261c5..ba01bd2 100644
--- a/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMManagerTest.java
+++ b/rt/ws/rm/src/test/java/org/apache/cxf/ws/rm/RMManagerTest.java
@@ -415,7 +415,6 @@ public class RMManagerTest extends Assert {
         proxy.createSequence(EasyMock.isA(EndpointReferenceType.class),
                              (RelatesToType)EasyMock.isNull(),
                              EasyMock.eq(false),
-                             EasyMock.eq(false),
                              EasyMock.isA(ProtocolVariation.class),
                              EasyMock.isA(Exchange.class));
         EasyMock.expectLastCall().andReturn(createResponse);

http://git-wip-us.apache.org/repos/asf/cxf/blob/abfbb35d/systests/ws-rm/src/test/java/org/apache/cxf/systest/ws/rm/AbstractClientPersistenceTest.java
----------------------------------------------------------------------
diff --git 
a/systests/ws-rm/src/test/java/org/apache/cxf/systest/ws/rm/AbstractClientPersistenceTest.java
 
b/systests/ws-rm/src/test/java/org/apache/cxf/systest/ws/rm/AbstractClientPersistenceTest.java
index 7d31fa4..091fbae 100644
--- 
a/systests/ws-rm/src/test/java/org/apache/cxf/systest/ws/rm/AbstractClientPersistenceTest.java
+++ 
b/systests/ws-rm/src/test/java/org/apache/cxf/systest/ws/rm/AbstractClientPersistenceTest.java
@@ -204,16 +204,20 @@ public abstract class AbstractClientPersistenceTest 
extends AbstractBusClientSer
         Client client = ClientProxy.getClient(greeter);
         String id = RMUtils.getEndpointIdentifier(client.getEndpoint());
         
-        Collection<DestinationSequence> dss = 
store.getDestinationSequences(id);
-        assertEquals(0, dss.size());
+        Collection<DestinationSequence> dss =
+            store.getDestinationSequences(id);
+        assertEquals(1, dss.size());
         
-        Collection<SourceSequence> sss = store.getSourceSequences(id);
+        Collection<SourceSequence> sss =
+            store.getSourceSequences(id);
         assertEquals(1, sss.size());
         
-        Collection<RMMessage> msgs = 
store.getMessages(sss.iterator().next().getIdentifier(), true);
+        Collection<RMMessage> msgs = 
+            store.getMessages(sss.iterator().next().getIdentifier(), true);
         assertEquals(2, msgs.size());  
         
-        msgs = store.getMessages(sss.iterator().next().getIdentifier(), false);
+        msgs = 
+            store.getMessages(sss.iterator().next().getIdentifier(), false);
         assertEquals(0, msgs.size());  
     }
     
@@ -286,10 +290,12 @@ public abstract class AbstractClientPersistenceTest 
extends AbstractBusClientSer
         Client client = ClientProxy.getClient(greeter);
         String id = RMUtils.getEndpointIdentifier(client.getEndpoint());
         
-        Collection<DestinationSequence> dss = 
store.getDestinationSequences(id);
-        assertEquals(0, dss.size());
+        Collection<DestinationSequence> dss =
+            store.getDestinationSequences(id);
+        assertEquals(1, dss.size());
         
-        Collection<SourceSequence> sss = store.getSourceSequences(id);
+        Collection<SourceSequence> sss =
+            store.getSourceSequences(id);
         assertEquals(1, sss.size());
         
         int i = 0;

http://git-wip-us.apache.org/repos/asf/cxf/blob/abfbb35d/systests/ws-rm/src/test/java/org/apache/cxf/systest/ws/rm/ManagedEndpointsTest.java
----------------------------------------------------------------------
diff --git 
a/systests/ws-rm/src/test/java/org/apache/cxf/systest/ws/rm/ManagedEndpointsTest.java
 
b/systests/ws-rm/src/test/java/org/apache/cxf/systest/ws/rm/ManagedEndpointsTest.java
index bd4966a..00aada4 100755
--- 
a/systests/ws-rm/src/test/java/org/apache/cxf/systest/ws/rm/ManagedEndpointsTest.java
+++ 
b/systests/ws-rm/src/test/java/org/apache/cxf/systest/ws/rm/ManagedEndpointsTest.java
@@ -61,6 +61,7 @@ public class ManagedEndpointsTest extends 
AbstractClientServerTestBase {
 
     public static final String PORT = allocatePort(ManagedEndpointsTest.class);
 
+    private static final String[] EMPTY_SIGNATURE = new String[0];
     private static final String[] ONESTRING_SIGNATURE = new 
String[]{"java.lang.String"};
     private static final String[] ONEBOOLEAN_SIGNATURE = new 
String[]{"boolean"};
     
@@ -158,14 +159,20 @@ public class ManagedEndpointsTest extends 
AbstractClientServerTestBase {
         o = mbs.invoke(serverEndpointName, "getDestinationSequenceIds", null, 
null);
         verifyArray("Expected sequence identifier", o, new String[]{sseqId}, 
false); 
         
-        verifyNoDestinationSequence(mbs, clientEndpointName);
+        String dseqId = getSingleDestinationSequenceId(mbs, 
clientEndpointName);
 
-        testOperation(mbs, greeter, clientEndpointName, serverEndpointName, 
sseqId);
+        testOperation(mbs, greeter, clientEndpointName, serverEndpointName, 
sseqId, dseqId);
         
         mbs.invoke(clientEndpointName, "terminateSourceSequence", new 
Object[]{sseqId}, ONESTRING_SIGNATURE);
         o = mbs.invoke(clientEndpointName, "getSourceSequenceIds", 
             new Object[]{true}, ONEBOOLEAN_SIGNATURE);
         assertTrue("Source sequence terminated", o instanceof String[] && 0 == 
((String[])o).length);
+        
+        mbs.invoke(clientEndpointName, "terminateDestinationSequence", new 
Object[]{dseqId}, ONESTRING_SIGNATURE);
+        o = mbs.invoke(clientEndpointName, "getDestinationSequenceIds", 
+            new Object[]{}, EMPTY_SIGNATURE);
+        assertTrue("Destination sequence terminated", o instanceof String[] && 
0 == ((String[])o).length);
+        
     }
 
     @Test
@@ -213,9 +220,9 @@ public class ManagedEndpointsTest extends 
AbstractClientServerTestBase {
         o = mbs.invoke(serverEndpointName, "getDestinationSequenceIds", null, 
null);
         verifyArray("Expected sequence identifier", o, new String[]{sseqId}, 
false); 
         
-        verifyNoDestinationSequence(mbs, clientEndpointName);
+        String dseqId = getSingleDestinationSequenceId(mbs, 
clientEndpointName);
     
-        testOperation(mbs, greeter, clientEndpointName, serverEndpointName, 
sseqId);
+        testOperation(mbs, greeter, clientEndpointName, serverEndpointName, 
sseqId, dseqId);
         
         mbs.invoke(clientEndpointName, "closeSourceSequence", new 
Object[]{sseqId}, ONESTRING_SIGNATURE);
         o = mbs.invoke(clientEndpointName, "getSourceSequenceIds", 
@@ -226,14 +233,24 @@ public class ManagedEndpointsTest extends 
AbstractClientServerTestBase {
         o = mbs.invoke(clientEndpointName, "getSourceSequenceIds", 
             new Object[]{true}, ONEBOOLEAN_SIGNATURE);
         assertTrue("Source sequence terminated", o instanceof String[] && 0 == 
((String[])o).length);
+       
+        mbs.invoke(clientEndpointName, "terminateDestinationSequence", new 
Object[]{dseqId}, ONESTRING_SIGNATURE);
+        o = mbs.invoke(clientEndpointName, "getDestinationSequenceIds", 
+            new Object[]{}, EMPTY_SIGNATURE);
+        assertTrue("Destination sequence terminated", o instanceof String[] && 
0 == ((String[])o).length);
+        
     }
 
     private void testOperation(MBeanServer mbs, final Greeter greeter, 
ObjectName clientEndpointName,
-        ObjectName serverEndpointName, String sseqId) throws 
ReflectionException,
+        ObjectName serverEndpointName, String sseqId, String dseqId) throws 
ReflectionException,
         InstanceNotFoundException, MBeanException, InterruptedException {
         AcknowledgementListener listener = new AcknowledgementListener();
         mbs.addNotificationListener(clientEndpointName, listener, null, null);
         Object o;
+        o = mbs.invoke(serverEndpointName, "getSourceSequenceIds", 
+                       new Object[]{true}, ONEBOOLEAN_SIGNATURE);
+        verifyArray("Expected sequence identifier", o, new String[]{dseqId}, 
false); 
+        
         o = mbs.invoke(clientEndpointName, "getQueuedMessageTotalCount", 
                        new Object[]{true}, ONEBOOLEAN_SIGNATURE);
         assertTrue("No queued message", o instanceof Integer && 0 == 
((Integer)o).intValue());
@@ -304,11 +321,12 @@ public class ManagedEndpointsTest extends 
AbstractClientServerTestBase {
         assertTrue("No unacknowledged message", o instanceof Long[] && 0 == 
((Long[])o).length);
     }
 
-    private void verifyNoDestinationSequence(MBeanServer mbs, ObjectName 
clientEndpointName)
+    private String getSingleDestinationSequenceId(MBeanServer mbs, ObjectName 
clientEndpointName)
         throws ReflectionException, InstanceNotFoundException, MBeanException {
         Object o;
         o = mbs.invoke(clientEndpointName, "getDestinationSequenceIds", null, 
null);
-        assertTrue("No sequence expected", o instanceof String[] && 0 == 
((String[])o).length);
+        assertTrue("One sequence expected", o instanceof String[] && 1 == 
((String[])o).length);
+        return ((String[])o)[0];
     }
 
     private String getSingleSourceSequenceId(MBeanServer mbs, ObjectName 
clientEndpointName)

Reply via email to