Author: rgodfrey
Date: Wed Oct 17 16:24:21 2012
New Revision: 1399329

URL: http://svn.apache.org/viewvc?rev=1399329&view=rev
Log:
PROTON-81 : Expose send/receive settle mode on links

Removed:
    
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/Accepted.java
    
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/DeliveryStateConverter.java
Modified:
    
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/Delivery.java
    
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/DeliveryImpl.java
    
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/LinkImpl.java
    
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportImpl.java
    
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportSession.java
    
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/type/messaging/Accepted.java
    qpid/proton/trunk/proton-j/src/main/scripts/proton.py

Modified: 
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/Delivery.java
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/Delivery.java?rev=1399329&r1=1399328&r2=1399329&view=diff
==============================================================================
--- 
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/Delivery.java
 (original)
+++ 
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/Delivery.java
 Wed Oct 17 16:24:21 2012
@@ -20,6 +20,7 @@
  */
 package org.apache.qpid.proton.engine;
 
+import org.apache.qpid.proton.type.transport.DeliveryState;
 
 /**
  * Delivery

Modified: 
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/DeliveryImpl.java
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/DeliveryImpl.java?rev=1399329&r1=1399328&r2=1399329&view=diff
==============================================================================
--- 
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/DeliveryImpl.java
 (original)
+++ 
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/DeliveryImpl.java
 Wed Oct 17 16:24:21 2012
@@ -21,7 +21,7 @@
 package org.apache.qpid.proton.engine.impl;
 
 import org.apache.qpid.proton.engine.Delivery;
-import org.apache.qpid.proton.engine.DeliveryState;
+import org.apache.qpid.proton.type.transport.DeliveryState;
 
 public class DeliveryImpl implements Delivery
 {

Modified: 
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/LinkImpl.java
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/LinkImpl.java?rev=1399329&r1=1399328&r2=1399329&view=diff
==============================================================================
--- 
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/LinkImpl.java
 (original)
+++ 
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/LinkImpl.java
 Wed Oct 17 16:24:21 2012
@@ -23,6 +23,7 @@ package org.apache.qpid.proton.engine.im
 import java.util.EnumSet;
 import org.apache.qpid.proton.engine.EndpointState;
 import org.apache.qpid.proton.engine.Link;
+import org.apache.qpid.proton.type.UnsignedByte;
 import org.apache.qpid.proton.type.transport.Source;
 import org.apache.qpid.proton.type.transport.Target;
 
@@ -43,6 +44,13 @@ public abstract class LinkImpl extends E
     private int _credit;
     private int _unsettled;
 
+
+    private UnsignedByte _senderSettleMode;
+    private UnsignedByte _remoteSenderSettleMode;
+    private UnsignedByte _receiverSettleMode;
+    private UnsignedByte _remoteReceiverSettleMode;
+
+
     private final LinkNode<LinkImpl> _node;
     private boolean _drain;
 
@@ -288,4 +296,43 @@ public abstract class LinkImpl extends E
         return _drain;
     }
 
+    public UnsignedByte getSenderSettleMode()
+    {
+        return _senderSettleMode;
+    }
+
+    public void setSenderSettleMode(UnsignedByte senderSettleMode)
+    {
+        _senderSettleMode = senderSettleMode;
+    }
+
+    public UnsignedByte getRemoteSenderSettleMode()
+    {
+        return _remoteSenderSettleMode;
+    }
+
+    void setRemoteSenderSettleMode(UnsignedByte remoteSenderSettleMode)
+    {
+        _remoteSenderSettleMode = remoteSenderSettleMode;
+    }
+
+    public UnsignedByte getReceiverSettleMode()
+    {
+        return _receiverSettleMode;
+    }
+
+    public void setReceiverSettleMode(UnsignedByte receiverSettleMode)
+    {
+        _receiverSettleMode = receiverSettleMode;
+    }
+
+    public UnsignedByte getRemoteReceiverSettleMode()
+    {
+        return _remoteReceiverSettleMode;
+    }
+
+    void setRemoteReceiverSettleMode(UnsignedByte remoteReceiverSettleMode)
+    {
+        _remoteReceiverSettleMode = remoteReceiverSettleMode;
+    }
 }

Modified: 
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportImpl.java
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportImpl.java?rev=1399329&r1=1399328&r2=1399329&view=diff
==============================================================================
--- 
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportImpl.java
 (original)
+++ 
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportImpl.java
 Wed Oct 17 16:24:21 2012
@@ -24,9 +24,7 @@ import org.apache.qpid.proton.codec.Comp
 import org.apache.qpid.proton.codec.DecoderImpl;
 import org.apache.qpid.proton.codec.EncoderImpl;
 import org.apache.qpid.proton.codec.WritableBuffer;
-import org.apache.qpid.proton.engine.Accepted;
 import org.apache.qpid.proton.engine.Connection;
-import org.apache.qpid.proton.engine.DeliveryState;
 import org.apache.qpid.proton.engine.EndpointState;
 import org.apache.qpid.proton.engine.FrameTransport;
 import org.apache.qpid.proton.engine.Sasl;
@@ -339,15 +337,7 @@ public class TransportImpl extends Endpo
                     {
                         transportDelivery.settled();
                     }
-                    DeliveryState deliveryState = delivery.getLocalState();
-                    if(deliveryState == Accepted.getInstance())
-                    {
-                        disposition.setState(ACCEPTED);
-                    }
-                    else
-                    {
-                        // TODO
-                    }
+                    disposition.setState(delivery.getLocalState());
                     int frameBytes = writeFrame(buffer, 
delivery.getLink().getSession()
                                                                       
.getTransportSession().getLocalChannel(),
                                        disposition, null, null);
@@ -467,15 +457,8 @@ public class TransportImpl extends Endpo
                     disposition.setLast(transportDelivery.getDeliveryId());
                     disposition.setRole(Role.RECEIVER);
                     disposition.setSettled(delivery.isSettled());
-                    DeliveryState deliveryState = delivery.getLocalState();
-                    if(deliveryState == Accepted.getInstance())
-                    {
-                        disposition.setState(ACCEPTED);
-                    }
-                    else
-                    {
-                        // TODO
-                    }
+
+                    disposition.setState(delivery.getLocalState());
                     int frameBytes = writeFrame(buffer, 
delivery.getLink().getSession()
                                                                       
.getTransportSession().getLocalChannel(),
                                        disposition, null, null);
@@ -606,6 +589,16 @@ public class TransportImpl extends Endpo
                             attach.setHandle(localHandle);
                             attach.setName(transportLink.getName());
 
+                            if(link.getSenderSettleMode() != null)
+                            {
+                                
attach.setSndSettleMode(link.getSenderSettleMode());
+                            }
+
+                            if(link.getReceiverSettleMode() != null)
+                            {
+                                
attach.setRcvSettleMode(link.getReceiverSettleMode());
+                            }
+
                             if(link.getSource() != null)
                             {
                                 attach.setSource(link.getSource());
@@ -995,6 +988,9 @@ public class TransportImpl extends Endpo
                 link.setRemoteSource(attach.getSource());
                 link.setRemoteTarget(attach.getTarget());
 
+                link.setRemoteReceiverSettleMode(attach.getRcvSettleMode());
+                link.setRemoteSenderSettleMode(attach.getSndSettleMode());
+
                 transportLink.setName(attach.getName());
                 transportLink.setRemoteHandle(attach.getHandle());
                 transportSession.addLinkRemoteHandle(transportLink, 
attach.getHandle());

Modified: 
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportSession.java
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportSession.java?rev=1399329&r1=1399328&r2=1399329&view=diff
==============================================================================
--- 
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportSession.java
 (original)
+++ 
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/TransportSession.java
 Wed Oct 17 16:24:21 2012
@@ -328,7 +328,7 @@ class TransportSession
             {
                 if(disposition.getState() != null)
                 {
-                    
delivery.setRemoteDeliveryState(DeliveryStateConverter.convert(disposition.getState()));
+                    delivery.setRemoteDeliveryState(disposition.getState());
                 }
                 if(Boolean.TRUE.equals(disposition.getSettled()))
                 {

Modified: 
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/type/messaging/Accepted.java
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/type/messaging/Accepted.java?rev=1399329&r1=1399328&r2=1399329&view=diff
==============================================================================
--- 
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/type/messaging/Accepted.java
 (original)
+++ 
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/type/messaging/Accepted.java
 Wed Oct 17 16:24:21 2012
@@ -34,6 +34,8 @@ import org.apache.qpid.proton.type.*;
 public class Accepted
       implements DescribedType , 
org.apache.qpid.proton.type.transport.DeliveryState, Outcome
 {
+    private static final Accepted INSTANCE = new Accepted();
+
     private static final Object[] DESCRIPTORS =
     {
         UnsignedLong.valueOf(0x0000000000000024L), 
Symbol.valueOf("amqp:accepted:list"),
@@ -85,6 +87,7 @@ public class Accepted
 
     private static class AcceptedConstructor implements 
DescribedTypeConstructor<Accepted>
     {
+
         public Accepted newInstance(Object described)
         {
             List l = (List) described;
@@ -92,7 +95,7 @@ public class Accepted
             Accepted o = new Accepted();
 
 
-            return o;
+            return INSTANCE;
         }
 
         public Class<Accepted> getTypeClass()
@@ -116,4 +119,9 @@ public class Accepted
     {
         return "Accepted{}";
     }
+
+    public static Accepted getInstance()
+    {
+        return INSTANCE;
+    }
 }

Modified: qpid/proton/trunk/proton-j/src/main/scripts/proton.py
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/src/main/scripts/proton.py?rev=1399329&r1=1399328&r2=1399329&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/src/main/scripts/proton.py (original)
+++ qpid/proton/trunk/proton-j/src/main/scripts/proton.py Wed Oct 17 16:24:21 
2012
@@ -17,11 +17,12 @@
 # under the License.
 #
 
-from org.apache.qpid.proton.engine import EndpointState, Accepted, 
TransportException
+from org.apache.qpid.proton.engine import EndpointState, TransportException
 from org.apache.qpid.proton.engine.impl import ConnectionImpl, SessionImpl, \
     SenderImpl, ReceiverImpl, TransportImpl
 from org.apache.qpid.proton.message import Message as MessageImpl, \
     MessageFormat
+from org.apache.qpid.proton.type.messaging import Source, Target, Accepted
 from jarray import zeros
 from java.util import EnumSet
 
@@ -179,11 +180,15 @@ class Link(Endpoint):
 
   @property
   def source(self):
-    return Terminus(self.impl, "LocalSource")
+    if self.impl.getSource() is None:
+        self.impl.setSource( Source() )
+    return Terminus(self.impl, "Source")
 
   @property
   def target(self):
-    return Terminus(self.impl, "LocalTarget")
+    if self.impl.getTarget() is None:
+        self.impl.setTarget( Target() )
+    return Terminus(self.impl, "Target")
 
   @property
   def remote_source(self):
@@ -251,9 +256,9 @@ class Terminus(object):
     self.capabilities = DataDummy()
 
   def _get_address(self):
-    return getattr(self.impl, "get%sAddress" % self.prefix)()
+    return getattr(self.impl, "get%s" % self.prefix)().getAddress()
   def _set_address(self, address):
-    getattr(self.impl, "set%sAddress" % self.prefix)(address)
+    getattr(self.impl, "get%s" % self.prefix)().setAddress(address)
   address = property(_get_address, _set_address)
 
   def copy(self, src):



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to