Author: rgodfrey
Date: Thu Jun 28 12:09:41 2012
New Revision: 1354964
URL: http://svn.apache.org/viewvc?rev=1354964&view=rev
Log:
NO-JIRA: [Proton-j] fixes for message api
Added:
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/message/MessageError.java
Modified:
qpid/proton/trunk/proton-j/jproton.py
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/message/Message.java
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/message/MessageFormat.java
Modified: qpid/proton/trunk/proton-j/jproton.py
URL:
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/jproton.py?rev=1354964&r1=1354963&r2=1354964&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/jproton.py (original)
+++ qpid/proton/trunk/proton-j/jproton.py Thu Jun 28 12:09:41 2012
@@ -41,6 +41,8 @@ PN_MODIFIED = 5
PN_DEFAULT_PRIORITY = Message.DEFAULT_PRIORITY
PN_AMQP = MessageFormat.AMQP
+PN_TEXT = MessageFormat.TEXT
+PN_DATA = MessageFormat.DATA
def enums(mask):
local = []
@@ -223,6 +225,28 @@ def pn_local_disposition(d):
def pn_settle(d):
d.settle()
+
+def pn_get_connection(s):
+ return s.getConnection()
+
+def pn_get_session(l):
+ return l.getSession()
+
+def pn_credit(l):
+ return l.getCredit()
+
+def pn_queued(l):
+ return l.getQueued()
+
+def pn_unsettled(l):
+ return l.getUnsettled()
+
+def pn_drain(l, c):
+ l.drain(c)
+
+def pn_drained(l):
+ l.drained()
+
def pn_message():
return Message()
@@ -279,6 +303,17 @@ def pn_message_set_user_id(m, u):
m.setUserId(u)
return 0
+def pn_message_load(m, d):
+ m.load(d)
+ return 0
+
+def pn_message_save(m, s):
+ saved = m.save()
+ if saved is None:
+ saved = ""
+ return 0, saved
+
+
def pn_message_get_address(m):
return m.getAddress()
@@ -359,35 +394,26 @@ def pn_message_set_reply_to_group_id(m,d
def pn_message_free(m):
return
-def pn_message_encode(m,f,size):
+def pn_message_encode(m,size):
output = zeros(size, "b")
- n = m.encode(f, output, 0, size)
+ n = m.encode(output, 0, size)
result = ""
if n > 0:
result = output.tostring()[:n]
return [0, result]
-def pn_message_decode(m,f,data,size):
- m.decode(f,data,0,size)
+def pn_message_decode(m,data,size):
+ m.decode(data,0,size)
return 0
-def pn_get_connection(s):
- return s.getConnection()
+def pn_message_set_format(m, f):
+ m.setMessageFormat(f)
-def pn_get_session(l):
- return l.getSession()
+def pn_message_get_format(m):
+ return m.getMessageFormat()
-def pn_credit(l):
- return l.getCredit()
+def pn_message_clear(m):
+ m.clear()
-def pn_queued(l):
- return l.getQueued()
-
-def pn_unsettled(l):
- return l.getUnsettled()
-
-def pn_drain(l, c):
- l.drain(c)
-
-def pn_drained(l):
- l.drained()
+def pn_message_error(m):
+ return m.getError().ordinal()
Modified:
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/message/Message.java
URL:
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/message/Message.java?rev=1354964&r1=1354963&r2=1354964&view=diff
==============================================================================
--- qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/message/Message.java
(original)
+++ qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/message/Message.java
Thu Jun 28 12:09:41 2012
@@ -18,6 +18,7 @@ public class Message
private ApplicationProperties _applicationProperties;
private Section _body;
private Footer _footer;
+ private MessageFormat _format = MessageFormat.AMQP;
public Message()
{
@@ -437,7 +438,7 @@ public class Message
return _footer;
}
- public int decode(MessageFormat format, byte[] data, int offset, int
length)
+ public int decode(byte[] data, int offset, int length)
{
DecoderImpl decoder = new DecoderImpl();
EncoderImpl encoder = new EncoderImpl(decoder);
@@ -552,7 +553,7 @@ public class Message
}
- public int encode(MessageFormat format, byte[] data, int offset, int
length)
+ public int encode(byte[] data, int offset, int length)
{
DecoderImpl decoder = new DecoderImpl();
EncoderImpl encoder = new EncoderImpl(decoder);
@@ -592,4 +593,74 @@ public class Message
return length - buffer.remaining();
}
+ public void load(Object data)
+ {
+ switch (_format)
+ {
+ case DATA:
+ Binary binData;
+ if(data instanceof byte[])
+ {
+ binData = new Binary((byte[])data);
+ }
+ else if(data instanceof Binary)
+ {
+ binData = (Binary) data;
+ }
+ else
+ {
+ binData = null;
+ }
+ _body = new Data(binData);
+ default:
+ // AMQP
+ _body = new AmqpValue(data);
+ }
+
+ }
+
+ public Object save()
+ {
+ switch (_format)
+ {
+ case DATA:
+ if(_body instanceof Data)
+ {
+ return ((Data)_body).getValue().getArray();
+ }
+ else return null;
+ case AMQP:
+ if(_body instanceof AmqpValue)
+ {
+ return ((AmqpValue)_body).getValue();
+ }
+ else
+ {
+ return null;
+ }
+ default:
+ return null;
+ }
+ }
+
+ public void setMessageFormat(MessageFormat format)
+ {
+ _format = format;
+ }
+
+ public MessageFormat getMessageFormat()
+ {
+ return _format;
+ }
+
+ public void clear()
+ {
+ _body = null;
+ }
+
+ public MessageError getError()
+ {
+ return MessageError.OK;
+ }
+
}
Added:
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/message/MessageError.java
URL:
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/message/MessageError.java?rev=1354964&view=auto
==============================================================================
---
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/message/MessageError.java
(added)
+++
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/message/MessageError.java
Thu Jun 28 12:09:41 2012
@@ -0,0 +1,6 @@
+package org.apache.qpid.proton.message;
+
+public enum MessageError
+{
+ OK
+}
Modified:
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/message/MessageFormat.java
URL:
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/message/MessageFormat.java?rev=1354964&r1=1354963&r2=1354964&view=diff
==============================================================================
---
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/message/MessageFormat.java
(original)
+++
qpid/proton/trunk/proton-j/src/org/apache/qpid/proton/message/MessageFormat.java
Thu Jun 28 12:09:41 2012
@@ -2,5 +2,8 @@ package org.apache.qpid.proton.message;
public enum MessageFormat
{
- AMQP
+ DATA,
+ TEXT,
+ AMQP,
+ JSON
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]