You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2016/10/25 15:10:10 UTC
svn commit: r1766544 - in /qpid/java/trunk/broker-plugins:
amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/
amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/
amqp-1-0-protocol/src/main/java/org/apache/qpid/ser...
Author: rgodfrey
Date: Tue Oct 25 15:10:09 2016
New Revision: 1766544
URL: http://svn.apache.org/viewvc?rev=1766544&view=rev
Log:
QPID-7471 : conversion from InternalMessage should respect MIME-type where appropriate
Modified:
qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageConverter_Internal_to_v0_10.java
qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageConverter_v0_10.java
qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/MessageConverter_Internal_to_v0_8.java
qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_Internal_to_v1_0.java
qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_to_1_0.java
Modified: qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageConverter_Internal_to_v0_10.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageConverter_Internal_to_v0_10.java?rev=1766544&r1=1766543&r2=1766544&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageConverter_Internal_to_v0_10.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageConverter_Internal_to_v0_10.java Tue Oct 25 15:10:09 2016
@@ -61,7 +61,8 @@ public class MessageConverter_Internal_t
final byte[] messageContent = MessageConverter_v0_10.convertToBody(serverMsg.getMessageBody());
final MessageMetaData_0_10 messageMetaData_0_10 = convertMetaData(serverMsg,
MessageConverter_v0_10.getBodyMimeType(
- serverMsg.getMessageBody()),
+ serverMsg.getMessageBody(),
+ serverMsg.getMessageHeader()),
messageContent.length);
return new StoredMessage<MessageMetaData_0_10>()
Modified: qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageConverter_v0_10.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageConverter_v0_10.java?rev=1766544&r1=1766543&r2=1766544&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageConverter_v0_10.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageConverter_v0_10.java Tue Oct 25 15:10:09 2016
@@ -31,6 +31,7 @@ import java.util.Map;
import org.apache.qpid.bytebuffer.QpidByteBuffer;
import org.apache.qpid.server.message.ServerMessage;
+import org.apache.qpid.server.message.internal.InternalMessageHeader;
import org.apache.qpid.server.model.NamedAddressSpace;
import org.apache.qpid.server.plugin.MessageConverter;
import org.apache.qpid.server.plugin.PluggableService;
@@ -182,15 +183,31 @@ public class MessageConverter_v0_10 impl
}
}
- public static String getBodyMimeType(Object object)
+ public static String getBodyMimeType(Object object, final InternalMessageHeader header)
{
if(object instanceof String)
{
- return "text/plain";
+ String mimeType;
+ if(header == null || (mimeType = header.getMimeType()) == null || !mimeType.trim().startsWith("text/"))
+ {
+ return "text/plain";
+ }
+ else
+ {
+ return mimeType;
+ }
}
else if(object instanceof byte[])
{
- return "application/octet-stream";
+ String mimeType;
+ if(header == null || (mimeType = header.getMimeType()) == null || "".equals(mimeType.trim()))
+ {
+ return "application/octet-stream";
+ }
+ else
+ {
+ return mimeType;
+ }
}
else if(object instanceof Map)
{
Modified: qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/MessageConverter_Internal_to_v0_8.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/MessageConverter_Internal_to_v0_8.java?rev=1766544&r1=1766543&r2=1766544&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/MessageConverter_Internal_to_v0_8.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/MessageConverter_Internal_to_v0_8.java Tue Oct 25 15:10:09 2016
@@ -38,6 +38,7 @@ import org.apache.qpid.framing.ContentHe
import org.apache.qpid.framing.FieldTable;
import org.apache.qpid.framing.MessagePublishInfo;
import org.apache.qpid.server.message.internal.InternalMessage;
+import org.apache.qpid.server.message.internal.InternalMessageHeader;
import org.apache.qpid.server.model.NamedAddressSpace;
import org.apache.qpid.server.plugin.MessageConverter;
import org.apache.qpid.server.plugin.PluggableService;
@@ -73,7 +74,7 @@ public class MessageConverter_Internal_t
{
final byte[] messageContent = convertToBody(serverMsg.getMessageBody());
final MessageMetaData messageMetaData_0_8 = convertMetaData(serverMsg,
- getBodyMimeType(serverMsg.getMessageBody()),
+ getBodyMimeType(serverMsg.getMessageBody(), serverMsg.getMessageHeader()),
messageContent.length);
return new StoredMessage<MessageMetaData>()
@@ -207,15 +208,31 @@ public class MessageConverter_Internal_t
}
}
- public static String getBodyMimeType(Object object)
+ public static String getBodyMimeType(Object object, final InternalMessageHeader header)
{
if(object instanceof String)
{
- return "text/plain";
+ String mimeType;
+ if(header == null || (mimeType = header.getMimeType()) == null || !mimeType.trim().startsWith("text/"))
+ {
+ return "text/plain";
+ }
+ else
+ {
+ return mimeType;
+ }
}
else if(object instanceof byte[])
{
- return "application/octet-stream";
+ String mimeType;
+ if(header == null || (mimeType = header.getMimeType()) == null || "".equals(mimeType.trim()))
+ {
+ return "application/octet-stream";
+ }
+ else
+ {
+ return mimeType;
+ }
}
else if(object instanceof Map)
{
Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_Internal_to_v1_0.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_Internal_to_v1_0.java?rev=1766544&r1=1766543&r2=1766544&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_Internal_to_v1_0.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_Internal_to_v1_0.java Tue Oct 25 15:10:09 2016
@@ -32,6 +32,7 @@ import java.util.Map;
import org.apache.qpid.server.protocol.v1_0.messaging.SectionEncoder;
import org.apache.qpid.server.protocol.v1_0.type.Binary;
import org.apache.qpid.server.protocol.v1_0.type.Section;
+import org.apache.qpid.server.protocol.v1_0.type.Symbol;
import org.apache.qpid.server.protocol.v1_0.type.UnsignedByte;
import org.apache.qpid.server.protocol.v1_0.type.UnsignedInteger;
import org.apache.qpid.server.protocol.v1_0.type.messaging.AmqpValue;
@@ -75,6 +76,10 @@ public class MessageConverter_Internal_t
properties.setCorrelationId(serverMessage.getMessageHeader().getCorrelationId());
properties.setCreationTime(new Date(serverMessage.getMessageHeader().getTimestamp()));
properties.setMessageId(serverMessage.getMessageHeader().getMessageId());
+ if(bodySection instanceof Data)
+ {
+ properties.setContentType(Symbol.valueOf(serverMessage.getMessageHeader().getMimeType()));
+ }
final String userId = serverMessage.getMessageHeader().getUserId();
if(userId != null)
{
@@ -97,7 +102,7 @@ public class MessageConverter_Internal_t
}
- protected Section getBodySection(final InternalMessage serverMessage, final String mimeType)
+ protected Section getBodySection(final InternalMessage serverMessage)
{
return convertToBody(serverMessage.getMessageBody());
}
Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_to_1_0.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_to_1_0.java?rev=1766544&r1=1766543&r2=1766544&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_to_1_0.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_to_1_0.java Tue Oct 25 15:10:09 2016
@@ -259,7 +259,7 @@ public abstract class MessageConverter_t
};
}
- private Section getBodySection(final M serverMessage)
+ protected Section getBodySection(final M serverMessage)
{
final String mimeType = serverMessage.getMessageHeader().getMimeType();
byte[] data = new byte[(int) serverMessage.getSize()];
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org