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/12/06 16:53:25 UTC

svn commit: r1772916 - 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 Dec  6 16:53:25 2016
New Revision: 1772916

URL: http://svn.apache.org/viewvc?rev=1772916&view=rev
Log:
QPID-7575 : Introduce interfaces to distinguish between encoding retaining and non-encoding reatining section classes

Added:
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/EncodingRetainingSection.java   (with props)
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/NonEncodingRetainingSection.java   (with props)
Modified:
    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/ConsumerTarget_1_0.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_from_1_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
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Message_1_0.java
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/StandardReceivingLink_1_0.java
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/TxnCoordinatorReceivingLink_1_0.java
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/codec/StringWriter.java
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/messaging/SectionDecoder.java
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/messaging/SectionDecoderImpl.java
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/AbstractSection.java
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/AmqpSequence.java
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/AmqpValue.java
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/ApplicationProperties.java
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/Data.java
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/DeliveryAnnotations.java
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/Footer.java
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/Header.java
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/MessageAnnotations.java
    qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/Properties.java
    qpid/java/trunk/broker-plugins/amqp-msg-conv-0-10-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_10_v1_0/MessageConverter_0_10_to_1_0.java
    qpid/java/trunk/broker-plugins/amqp-msg-conv-0-8-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v1_0/MessageConverter_0_8_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_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=1772916&r1=1772915&r2=1772916&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 Dec  6 16:53:25 2016
@@ -24,7 +24,7 @@ import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.ObjectOutputStream;
 import java.nio.ByteBuffer;
-import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
@@ -47,8 +47,6 @@ import org.apache.qpid.transport.codec.B
 public class MessageConverter_v0_10 implements MessageConverter<ServerMessage, MessageTransferMessage>
 {
 
-    public static final Charset UTF_8 = Charset.forName("UTF-8");
-
     @Override
     public Class<ServerMessage> getInputClass()
     {
@@ -140,7 +138,7 @@ public class MessageConverter_v0_10 impl
     {
         if(object instanceof String)
         {
-            return ((String)object).getBytes(UTF_8);
+            return ((String)object).getBytes(StandardCharsets.UTF_8);
         }
         else if(object instanceof byte[])
         {

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=1772916&r1=1772915&r2=1772916&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 Dec  6 16:53:25 2016
@@ -24,7 +24,7 @@ import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.ObjectOutputStream;
 import java.nio.ByteBuffer;
-import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.LinkedHashMap;
@@ -49,8 +49,6 @@ import org.apache.qpid.transport.codec.B
 @PluggableService
 public class MessageConverter_Internal_to_v0_8 implements MessageConverter<InternalMessage, AMQMessage>
 {
-    private static final int BASIC_CLASS_ID = 60;
-    private static final Charset UTF_8 = Charset.forName("UTF-8");
 
 
     public Class<InternalMessage> getInputClass()
@@ -165,7 +163,7 @@ public class MessageConverter_Internal_t
     {
         if(object instanceof String)
         {
-            return ((String)object).getBytes(UTF_8);
+            return ((String)object).getBytes(StandardCharsets.UTF_8);
         }
         else if(object instanceof byte[])
         {

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ConsumerTarget_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/ConsumerTarget_1_0.java?rev=1772916&r1=1772915&r2=1772916&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ConsumerTarget_1_0.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/ConsumerTarget_1_0.java Tue Dec  6 16:53:25 2016
@@ -45,8 +45,8 @@ import org.apache.qpid.server.protocol.v
 import org.apache.qpid.server.protocol.v1_0.type.Target;
 import org.apache.qpid.server.protocol.v1_0.type.UnsignedInteger;
 import org.apache.qpid.server.protocol.v1_0.type.codec.AMQPDescribedTypeRegistry;
-import org.apache.qpid.server.protocol.v1_0.type.messaging.AbstractSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Accepted;
+import org.apache.qpid.server.protocol.v1_0.type.messaging.EncodingRetainingSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Header;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.HeaderSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Modified;
@@ -153,7 +153,7 @@ class ConsumerTarget_1_0 extends Abstrac
             {
                 payload.addAll(headerSection.getEncodedForm());
             }
-            AbstractSection<?> section;
+            EncodingRetainingSection<?> section;
             if((section = message.getDeliveryAnnotationsSection()) != null)
             {
                 payload.addAll(section.getEncodedForm());

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=1772916&r1=1772915&r2=1772916&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 Dec  6 16:53:25 2016
@@ -23,32 +23,31 @@ package org.apache.qpid.server.protocol.
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
 import java.io.ObjectOutputStream;
-import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.qpid.server.message.internal.InternalMessage;
+import org.apache.qpid.server.plugin.PluggableService;
 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.AbstractSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.AmqpValue;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.ApplicationProperties;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Data;
+import org.apache.qpid.server.protocol.v1_0.type.messaging.EncodingRetainingSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Header;
+import org.apache.qpid.server.protocol.v1_0.type.messaging.NonEncodingRetainingSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Properties;
-import org.apache.qpid.server.message.internal.InternalMessage;
-import org.apache.qpid.server.plugin.PluggableService;
 import org.apache.qpid.server.util.ConnectionScopedRuntimeException;
 
 @PluggableService
 public class MessageConverter_Internal_to_v1_0 extends MessageConverter_to_1_0<InternalMessage>
 {
-    private static final Charset UTF_8 = Charset.forName("UTF-8");
 
 
     public Class<InternalMessage> getInputClass()
@@ -59,11 +58,11 @@ public class MessageConverter_Internal_t
 
     @Override
     protected MessageMetaData_1_0 convertMetaData(final InternalMessage serverMessage,
-                                                  final Section bodySection,
+                                                  final NonEncodingRetainingSection<?> bodySection,
                                                   final SectionEncoder sectionEncoder,
-                                                  final ArrayList<AbstractSection<?>> bodySections)
+                                                  final List<EncodingRetainingSection<?>> bodySections)
     {
-        List<Section> sections = new ArrayList<Section>(3);
+        List<NonEncodingRetainingSection<?>> sections = new ArrayList<>(3);
         Header header = new Header();
 
         header.setDurable(serverMessage.isPersistent());
@@ -86,7 +85,7 @@ public class MessageConverter_Internal_t
         final String userId = serverMessage.getMessageHeader().getUserId();
         if(userId != null)
         {
-            properties.setUserId(new Binary(userId.getBytes(UTF_8)));
+            properties.setUserId(new Binary(userId.getBytes(StandardCharsets.UTF_8)));
         }
         properties.setReplyTo(serverMessage.getMessageHeader().getReplyTo());
 
@@ -105,7 +104,7 @@ public class MessageConverter_Internal_t
 
     }
 
-    protected Section getBodySection(final InternalMessage serverMessage)
+    protected NonEncodingRetainingSection<?> getBodySection(final InternalMessage serverMessage)
     {
         return convertToBody(serverMessage.getMessageBody());
     }
@@ -118,7 +117,7 @@ public class MessageConverter_Internal_t
     }
 
 
-    public Section convertToBody(Object object)
+    public NonEncodingRetainingSection<?> convertToBody(Object object)
     {
         if(object instanceof String)
         {

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_from_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_from_1_0.java?rev=1772916&r1=1772915&r2=1772916&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_from_1_0.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageConverter_from_1_0.java Tue Dec  6 16:53:25 2016
@@ -25,6 +25,7 @@ import java.io.IOException;
 import java.io.ObjectOutputStream;
 import java.nio.ByteBuffer;
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collection;
@@ -42,17 +43,16 @@ import org.apache.qpid.bytebuffer.QpidBy
 import org.apache.qpid.server.protocol.v1_0.messaging.SectionDecoderImpl;
 import org.apache.qpid.server.protocol.v1_0.type.AmqpErrorException;
 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.UnsignedLong;
 import org.apache.qpid.server.protocol.v1_0.type.UnsignedShort;
-import org.apache.qpid.server.protocol.v1_0.type.messaging.AbstractSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.AmqpSequenceSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.AmqpValueSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Data;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.DataSection;
+import org.apache.qpid.server.protocol.v1_0.type.messaging.EncodingRetainingSection;
 import org.apache.qpid.server.util.ConnectionScopedRuntimeException;
 import org.apache.qpid.transport.codec.BBEncoder;
 import org.apache.qpid.typedmessage.TypedBytesContentWriter;
@@ -60,7 +60,7 @@ import org.apache.qpid.typedmessage.Type
 
 public class MessageConverter_from_1_0
 {
-    private static final Charset UTF_8 = Charset.forName("UTF-8");
+    private static final Charset UTF_8 = StandardCharsets.UTF_8;
 
     public static Object convertBodyToObject(final Message_1_0 serverMessage)
     {
@@ -70,17 +70,17 @@ public class MessageConverter_from_1_0
         Object bodyObject;
         try
         {
-            List<AbstractSection<?>> sections = sectionDecoder.parseAll(new ArrayList<>(allData));
+            List<EncodingRetainingSection<?>> sections = sectionDecoder.parseAll(new ArrayList<>(allData));
             for(QpidByteBuffer buf : allData)
             {
                 buf.dispose();
             }
 
-            ListIterator<AbstractSection<?>> iterator = sections.listIterator();
-            Section previousSection = null;
+            ListIterator<EncodingRetainingSection<?>> iterator = sections.listIterator();
+            EncodingRetainingSection<?> previousSection = null;
             while(iterator.hasNext())
             {
-                Section section = iterator.next();
+                EncodingRetainingSection<?> section = iterator.next();
                 if(!(section instanceof AmqpValueSection || section instanceof DataSection || section instanceof AmqpSequenceSection))
                 {
                     iterator.remove();
@@ -106,7 +106,7 @@ public class MessageConverter_from_1_0
             }
             else
             {
-                Section firstBodySection = sections.get(0);
+                EncodingRetainingSection<?> firstBodySection = sections.get(0);
                 if(firstBodySection instanceof AmqpValueSection)
                 {
                     bodyObject = convertValue(firstBodySection.getValue());
@@ -114,13 +114,13 @@ public class MessageConverter_from_1_0
                 else if(firstBodySection instanceof DataSection)
                 {
                     int totalSize = 0;
-                    for(Section section : sections)
+                    for(EncodingRetainingSection<?> section : sections)
                     {
                         totalSize += ((DataSection)section).getValue().getLength();
                     }
                     byte[] bodyData = new byte[totalSize];
                     ByteBuffer buf = ByteBuffer.wrap(bodyData);
-                    for(Section section : sections)
+                    for(EncodingRetainingSection<?> section : sections)
                     {
                         buf.put(((Data)section).getValue().asByteBuffer());
                     }
@@ -129,7 +129,7 @@ public class MessageConverter_from_1_0
                 else
                 {
                     ArrayList<Object> totalSequence = new ArrayList<>();
-                    for(Section section : sections)
+                    for(EncodingRetainingSection<?> section : sections)
                     {
                         totalSequence.addAll(((AmqpSequenceSection)section).getValue());
                     }

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=1772916&r1=1772915&r2=1772916&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 Dec  6 16:53:25 2016
@@ -36,12 +36,12 @@ import org.apache.qpid.server.plugin.Mes
 import org.apache.qpid.server.protocol.v1_0.messaging.SectionEncoder;
 import org.apache.qpid.server.protocol.v1_0.messaging.SectionEncoderImpl;
 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.codec.AMQPDescribedTypeRegistry;
-import org.apache.qpid.server.protocol.v1_0.type.messaging.AbstractSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.AmqpValue;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Data;
+import org.apache.qpid.server.protocol.v1_0.type.messaging.EncodingRetainingSection;
+import org.apache.qpid.server.protocol.v1_0.type.messaging.NonEncodingRetainingSection;
 import org.apache.qpid.server.store.StoredMessage;
 import org.apache.qpid.server.util.ConnectionScopedRuntimeException;
 import org.apache.qpid.transport.codec.BBDecoder;
@@ -74,20 +74,20 @@ public abstract class MessageConverter_t
 
     private StoredMessage<MessageMetaData_1_0> convertToStoredMessage(final M serverMessage, SectionEncoder sectionEncoder)
     {
-        Section bodySection = getBodySection(serverMessage);
-        final ArrayList<AbstractSection<?>> bodySections = new ArrayList<>();
+        NonEncodingRetainingSection<?> bodySection = getBodySection(serverMessage);
+        final ArrayList<EncodingRetainingSection<?>> bodySections = new ArrayList<>();
 
         final MessageMetaData_1_0 metaData = convertMetaData(serverMessage, bodySection, sectionEncoder, bodySections);
         return convertServerMessage(metaData, serverMessage, bodySections);
     }
 
     abstract protected MessageMetaData_1_0 convertMetaData(final M serverMessage,
-                                                           final Section bodySection,
+                                                           final NonEncodingRetainingSection<?> bodySection,
                                                            SectionEncoder sectionEncoder,
-                                                           final ArrayList<AbstractSection<?>> bodySections);
+                                                           final List<EncodingRetainingSection<?>> bodySections);
 
 
-    private static Section convertMessageBody(String mimeType, byte[] data)
+    private static NonEncodingRetainingSection<?> convertMessageBody(String mimeType, byte[] data)
     {
         if("text/plain".equals(mimeType) || "text/xml".equals(mimeType))
         {
@@ -109,15 +109,10 @@ public abstract class MessageConverter_t
 
                     map.put(propName, value);
                 }
-                catch (EOFException e)
+                catch (EOFException | TypedBytesFormatException e)
                 {
                     throw new IllegalArgumentException(e);
                 }
-                catch (TypedBytesFormatException e)
-                {
-                    throw new IllegalArgumentException(e);
-                }
-
             }
 
             return new AmqpValue(fixMapValues(map));
@@ -149,11 +144,7 @@ public abstract class MessageConverter_t
                 {
                     list.add(fixValue(reader.readObject()));
                 }
-                catch (TypedBytesFormatException e)
-                {
-                    throw new ConnectionScopedRuntimeException(e);
-                }
-                catch (EOFException e)
+                catch (TypedBytesFormatException | EOFException e)
                 {
                     throw new ConnectionScopedRuntimeException(e);
                 }
@@ -212,7 +203,7 @@ public abstract class MessageConverter_t
 
     private StoredMessage<MessageMetaData_1_0> convertServerMessage(final MessageMetaData_1_0 metaData,
                                                                     final M serverMessage,
-                                                                    final ArrayList<AbstractSection<?>> bodySections)
+                                                                    final ArrayList<EncodingRetainingSection<?>> bodySections)
     {
 
         return new StoredMessage<MessageMetaData_1_0>()
@@ -234,7 +225,7 @@ public abstract class MessageConverter_t
                         {
                             int position = 0;
                             List<QpidByteBuffer> content = new ArrayList<>();
-                            for(AbstractSection<?> section : bodySections)
+                            for(EncodingRetainingSection<?> section : bodySections)
                             {
                                 for(QpidByteBuffer buf : section.getEncodedForm())
                                 {
@@ -284,7 +275,7 @@ public abstract class MessageConverter_t
         };
     }
 
-    protected Section getBodySection(final M serverMessage)
+    protected NonEncodingRetainingSection<?> getBodySection(final M serverMessage)
     {
         final String mimeType = serverMessage.getMessageHeader().getMimeType();
         byte[] data = new byte[(int) serverMessage.getSize()];

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_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/MessageMetaData_1_0.java?rev=1772916&r1=1772915&r2=1772916&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/MessageMetaData_1_0.java Tue Dec  6 16:53:25 2016
@@ -42,7 +42,6 @@ import org.apache.qpid.server.protocol.v
 import org.apache.qpid.server.protocol.v1_0.messaging.SectionEncoder;
 import org.apache.qpid.server.protocol.v1_0.type.AmqpErrorException;
 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.UnsignedInteger;
 import org.apache.qpid.server.protocol.v1_0.type.codec.AMQPDescribedTypeRegistry;
@@ -76,15 +75,15 @@ public class MessageMetaData_1_0 impleme
     private final int _version;
     private final long _arrivalTime;
 
-    public MessageMetaData_1_0(List<Section> sections,
+    public MessageMetaData_1_0(List<NonEncodingRetainingSection<?>> sections,
                                SectionEncoder encoder,
-                               final List<AbstractSection<?>> bodySections,
+                               final List<EncodingRetainingSection<?>> bodySections,
                                final long arrivalTime)
     {
         _version = VERSION_BYTE;
         _arrivalTime = arrivalTime;
-        Iterator<Section> iter = sections.iterator();
-        Section s = iter.hasNext() ? iter.next() : null;
+        Iterator<NonEncodingRetainingSection<?>> iter = sections.iterator();
+        NonEncodingRetainingSection<?> s = iter.hasNext() ? iter.next() : null;
         long contentSize = 0L;
         if(s instanceof Header)
         {
@@ -201,7 +200,7 @@ public class MessageMetaData_1_0 impleme
         return _propertiesSection;
     }
 
-    public MessageMetaData_1_0(QpidByteBuffer[] fragments, SectionDecoder decoder, List<AbstractSection<?>> dataSections, long arrivalTime)
+    public MessageMetaData_1_0(QpidByteBuffer[] fragments, SectionDecoder decoder, List<EncodingRetainingSection<?>> dataSections, long arrivalTime)
     {
         _version = VERSION_BYTE;
         _arrivalTime = arrivalTime;
@@ -213,7 +212,7 @@ public class MessageMetaData_1_0 impleme
 
         try
         {
-            AbstractSection<?> s = decoder.readSection(src);
+            EncodingRetainingSection<?> s = decoder.readSection(src);
             long contentSize = 0L;
             if(s instanceof HeaderSection)
             {
@@ -295,15 +294,15 @@ public class MessageMetaData_1_0 impleme
 
     }
 
-    private MessageMetaData_1_0(List<AbstractSection<?>> sections, long contentSize, int version, long arrivalTime)
+    private MessageMetaData_1_0(List<EncodingRetainingSection<?>> sections, long contentSize, int version, long arrivalTime)
     {
         _contentSize = contentSize;
         _version = version;
         _arrivalTime = arrivalTime;
 
-        Iterator<AbstractSection<?>> sectIter = sections.iterator();
+        Iterator<EncodingRetainingSection<?>> sectIter = sections.iterator();
 
-        Section section = sectIter.hasNext() ? sectIter.next() : null;
+        EncodingRetainingSection<?> section = sectIter.hasNext() ? sectIter.next() : null;
         if(section instanceof HeaderSection)
         {
             _headerSection = (HeaderSection) section;
@@ -536,14 +535,14 @@ public class MessageMetaData_1_0 impleme
 
                 SectionDecoder sectionDecoder = new SectionDecoderImpl(_typeRegistry.getSectionDecoderRegistry());
 
-                List<AbstractSection<?>> sections = sectionDecoder.parseAll(Collections.singletonList(buf));
+                List<EncodingRetainingSection<?>> sections = sectionDecoder.parseAll(Collections.singletonList(buf));
 
                 if(versionByte == 0)
                 {
-                    Iterator<AbstractSection<?>> iter = sections.iterator();
+                    Iterator<EncodingRetainingSection<?>> iter = sections.iterator();
                     while(iter.hasNext())
                     {
-                        final AbstractSection<?> section = iter.next();
+                        final EncodingRetainingSection<?> section = iter.next();
                         if(section instanceof DataSection || section instanceof AmqpValueSection || section instanceof AmqpSequenceSection)
                         {
                             contentSize += section.getEncodedSize();

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Message_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/Message_1_0.java?rev=1772916&r1=1772915&r2=1772916&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Message_1_0.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Message_1_0.java Tue Dec  6 16:53:25 2016
@@ -35,17 +35,17 @@ import org.apache.qpid.server.protocol.v
 import org.apache.qpid.server.protocol.v1_0.messaging.SectionDecoderImpl;
 import org.apache.qpid.server.protocol.v1_0.messaging.SectionEncoderImpl;
 import org.apache.qpid.server.protocol.v1_0.type.AmqpErrorException;
-import org.apache.qpid.server.protocol.v1_0.type.Section;
 import org.apache.qpid.server.protocol.v1_0.type.codec.AMQPDescribedTypeRegistry;
-import org.apache.qpid.server.protocol.v1_0.type.messaging.AbstractSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.AmqpSequenceSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.AmqpValueSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.ApplicationPropertiesSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.DataSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.DeliveryAnnotationsSection;
+import org.apache.qpid.server.protocol.v1_0.type.messaging.EncodingRetainingSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.FooterSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.HeaderSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.MessageAnnotationsSection;
+import org.apache.qpid.server.protocol.v1_0.type.messaging.NonEncodingRetainingSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.PropertiesSection;
 import org.apache.qpid.server.store.StoredMessage;
 import org.apache.qpid.server.store.TransactionLogResource;
@@ -59,8 +59,8 @@ public class Message_1_0 extends Abstrac
             .registerMessagingLayer()
             .registerTransactionLayer()
             .registerSecurityLayer();
-    public static final MessageMetaData_1_0 DELETED_MESSAGE_METADATA = new MessageMetaData_1_0(Collections.<Section>emptyList(), new SectionEncoderImpl(DESCRIBED_TYPE_REGISTRY),
-                                                                                               new ArrayList<AbstractSection<?>>(), 0L);
+    public static final MessageMetaData_1_0 DELETED_MESSAGE_METADATA = new MessageMetaData_1_0(Collections.<NonEncodingRetainingSection<?>>emptyList(), new SectionEncoderImpl(DESCRIBED_TYPE_REGISTRY),
+                                                                                               new ArrayList<EncodingRetainingSection<?>>(), 0L);
 
     public Message_1_0(final StoredMessage<MessageMetaData_1_0> storedMessage)
     {
@@ -167,18 +167,18 @@ public class Message_1_0 extends Abstrac
             {
                 final Collection<QpidByteBuffer> allSectionsContent = super.getContent(0, Integer.MAX_VALUE);
 
-                List<AbstractSection<?>> sections = sectionDecoder.parseAll(new ArrayList<>(allSectionsContent));
+                List<EncodingRetainingSection<?>> sections = sectionDecoder.parseAll(new ArrayList<>(allSectionsContent));
 
                 List<QpidByteBuffer> bodySectionContent = new ArrayList<>();
                 for(QpidByteBuffer buf : allSectionsContent)
                 {
                     buf.dispose();
                 }
-                Iterator<AbstractSection<?>> iter = sections.iterator();
+                Iterator<EncodingRetainingSection<?>> iter = sections.iterator();
 
                 while (iter.hasNext())
                 {
-                    final AbstractSection<?> section = iter.next();
+                    final EncodingRetainingSection<?> section = iter.next();
                     if (section instanceof DataSection
                         || section instanceof AmqpValueSection
                         || section instanceof AmqpSequenceSection)

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/StandardReceivingLink_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/StandardReceivingLink_1_0.java?rev=1772916&r1=1772915&r2=1772916&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/StandardReceivingLink_1_0.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/StandardReceivingLink_1_0.java Tue Dec  6 16:53:25 2016
@@ -35,7 +35,7 @@ import org.apache.qpid.server.protocol.v
 import org.apache.qpid.server.protocol.v1_0.type.DeliveryState;
 import org.apache.qpid.server.protocol.v1_0.type.Outcome;
 import org.apache.qpid.server.protocol.v1_0.type.UnsignedInteger;
-import org.apache.qpid.server.protocol.v1_0.type.messaging.AbstractSection;
+import org.apache.qpid.server.protocol.v1_0.type.messaging.EncodingRetainingSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Target;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.TerminusDurability;
 import org.apache.qpid.server.protocol.v1_0.type.transaction.TransactionalState;
@@ -146,14 +146,14 @@ public class StandardReceivingLink_1_0 i
         else
         {
             MessageMetaData_1_0 mmd = null;
-            List<AbstractSection<?>> dataSections = new ArrayList<>();
+            List<EncodingRetainingSection<?>> dataSections = new ArrayList<>();
             mmd = new MessageMetaData_1_0(fragments.toArray(new QpidByteBuffer[fragments.size()]),
                                           _sectionDecoder,
                                           dataSections,
                                           System.currentTimeMillis());
             MessageHandle<MessageMetaData_1_0> handle = _addressSpace.getMessageStore().addMessage(mmd);
 
-            for(AbstractSection<?> dataSection : dataSections)
+            for(EncodingRetainingSection<?> dataSection : dataSections)
             {
                 for (QpidByteBuffer buf : dataSection.getEncodedForm())
                 {

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/TxnCoordinatorReceivingLink_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/TxnCoordinatorReceivingLink_1_0.java?rev=1772916&r1=1772915&r2=1772916&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/TxnCoordinatorReceivingLink_1_0.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/TxnCoordinatorReceivingLink_1_0.java Tue Dec  6 16:53:25 2016
@@ -37,9 +37,9 @@ import org.apache.qpid.server.protocol.v
 import org.apache.qpid.server.protocol.v1_0.type.Binary;
 import org.apache.qpid.server.protocol.v1_0.type.DeliveryState;
 import org.apache.qpid.server.protocol.v1_0.type.UnsignedInteger;
-import org.apache.qpid.server.protocol.v1_0.type.messaging.AbstractSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Accepted;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.AmqpValueSection;
+import org.apache.qpid.server.protocol.v1_0.type.messaging.EncodingRetainingSection;
 import org.apache.qpid.server.protocol.v1_0.type.transaction.Declare;
 import org.apache.qpid.server.protocol.v1_0.type.transaction.Declared;
 import org.apache.qpid.server.protocol.v1_0.type.transaction.Discharge;
@@ -116,8 +116,8 @@ public class TxnCoordinatorReceivingLink
         // Only interested in the amqp-value section that holds the message to the coordinator
         try
         {
-            List<AbstractSection<?>> sections = _sectionDecoder.parseAll(payload);
-            for(AbstractSection section : sections)
+            List<EncodingRetainingSection<?>> sections = _sectionDecoder.parseAll(payload);
+            for(EncodingRetainingSection section : sections)
             {
                 if(section instanceof AmqpValueSection)
                 {

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/codec/StringWriter.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/codec/StringWriter.java?rev=1772916&r1=1772915&r2=1772916&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/codec/StringWriter.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/codec/StringWriter.java Tue Dec  6 16:53:25 2016
@@ -23,6 +23,7 @@ package org.apache.qpid.server.protocol.
 
 import java.nio.ByteBuffer;
 import java.nio.charset.Charset;
+import java.nio.charset.StandardCharsets;
 import java.util.LinkedHashMap;
 import java.util.Map;
 
@@ -42,7 +43,7 @@ public class StringWriter extends Simple
         }
         else
         {
-            ENCODING_CHARSET = Charset.forName("UTF-8");
+            ENCODING_CHARSET = StandardCharsets.UTF_8;
             ONE_BYTE_CODE = (byte) 0xa1;
             FOUR_BYTE_CODE = (byte) 0xb1;
         }

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/messaging/SectionDecoder.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/messaging/SectionDecoder.java?rev=1772916&r1=1772915&r2=1772916&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/messaging/SectionDecoder.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/messaging/SectionDecoder.java Tue Dec  6 16:53:25 2016
@@ -23,13 +23,13 @@ import java.util.List;
 
 import org.apache.qpid.bytebuffer.QpidByteBuffer;
 import org.apache.qpid.server.protocol.v1_0.type.AmqpErrorException;
-import org.apache.qpid.server.protocol.v1_0.type.messaging.AbstractSection;
+import org.apache.qpid.server.protocol.v1_0.type.messaging.EncodingRetainingSection;
 
 
 public interface SectionDecoder
 {
 
-    List<AbstractSection<?>> parseAll(List<QpidByteBuffer> buf) throws AmqpErrorException;
+    List<EncodingRetainingSection<?>> parseAll(List<QpidByteBuffer> buf) throws AmqpErrorException;
 
-    AbstractSection<?> readSection(List<QpidByteBuffer> buf) throws AmqpErrorException;
+    EncodingRetainingSection<?> readSection(List<QpidByteBuffer> buf) throws AmqpErrorException;
 }

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/messaging/SectionDecoderImpl.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/messaging/SectionDecoderImpl.java?rev=1772916&r1=1772915&r2=1772916&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/messaging/SectionDecoderImpl.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/messaging/SectionDecoderImpl.java Tue Dec  6 16:53:25 2016
@@ -27,7 +27,7 @@ import org.apache.qpid.server.protocol.v
 import org.apache.qpid.server.protocol.v1_0.codec.SectionDecoderRegistry;
 import org.apache.qpid.server.protocol.v1_0.codec.ValueHandler;
 import org.apache.qpid.server.protocol.v1_0.type.AmqpErrorException;
-import org.apache.qpid.server.protocol.v1_0.type.messaging.AbstractSection;
+import org.apache.qpid.server.protocol.v1_0.type.messaging.EncodingRetainingSection;
 
 public class SectionDecoderImpl implements SectionDecoder
 {
@@ -41,13 +41,13 @@ public class SectionDecoderImpl implemen
     }
 
     @Override
-    public List<AbstractSection<?>> parseAll(List<QpidByteBuffer> buf) throws AmqpErrorException
+    public List<EncodingRetainingSection<?>> parseAll(List<QpidByteBuffer> buf) throws AmqpErrorException
     {
 
-        List<AbstractSection<?>> obj = new ArrayList<>();
+        List<EncodingRetainingSection<?>> obj = new ArrayList<>();
         while(QpidByteBufferUtils.hasRemaining(buf))
         {
-            AbstractSection<?> section = (AbstractSection<?>) _valueHandler.parse(buf);
+            EncodingRetainingSection<?> section = (EncodingRetainingSection<?>) _valueHandler.parse(buf);
             obj.add(section);
         }
 
@@ -56,9 +56,9 @@ public class SectionDecoderImpl implemen
 
 
     @Override
-    public AbstractSection<?> readSection(List<QpidByteBuffer> buf) throws AmqpErrorException
+    public EncodingRetainingSection<?> readSection(List<QpidByteBuffer> buf) throws AmqpErrorException
     {
-        return (AbstractSection<?>) _valueHandler.parse(buf);
+        return (EncodingRetainingSection<?>) _valueHandler.parse(buf);
     }
 
 }

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/AbstractSection.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/type/messaging/AbstractSection.java?rev=1772916&r1=1772915&r2=1772916&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/AbstractSection.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/AbstractSection.java Tue Dec  6 16:53:25 2016
@@ -25,10 +25,8 @@ import java.util.List;
 
 import org.apache.qpid.bytebuffer.QpidByteBuffer;
 import org.apache.qpid.server.protocol.v1_0.codec.QpidByteBufferUtils;
-import org.apache.qpid.server.protocol.v1_0.type.Section;
-import org.apache.qpid.server.protocol.v1_0.type.messaging.codec.EncodingRetaining;
 
-public abstract class AbstractSection<T> implements Section<T>, EncodingRetaining
+public abstract class AbstractSection<T> implements EncodingRetainingSection<T>
 {
     private List<QpidByteBuffer> _encodedForm;
 

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/AmqpSequence.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/type/messaging/AmqpSequence.java?rev=1772916&r1=1772915&r2=1772916&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/AmqpSequence.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/AmqpSequence.java Tue Dec  6 16:53:25 2016
@@ -26,9 +26,7 @@ package org.apache.qpid.server.protocol.
 
 import java.util.List;
 
-import org.apache.qpid.server.protocol.v1_0.type.Section;
-
-public class AmqpSequence implements Section<List>
+public class AmqpSequence implements NonEncodingRetainingSection<List>
 {
 
     private final List _value;

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/AmqpValue.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/type/messaging/AmqpValue.java?rev=1772916&r1=1772915&r2=1772916&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/AmqpValue.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/AmqpValue.java Tue Dec  6 16:53:25 2016
@@ -24,9 +24,7 @@
 package org.apache.qpid.server.protocol.v1_0.type.messaging;
 
 
-import org.apache.qpid.server.protocol.v1_0.type.Section;
-
-public class AmqpValue implements Section<Object>
+public class AmqpValue implements NonEncodingRetainingSection<Object>
 {
 
 

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/ApplicationProperties.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/type/messaging/ApplicationProperties.java?rev=1772916&r1=1772915&r2=1772916&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/ApplicationProperties.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/ApplicationProperties.java Tue Dec  6 16:53:25 2016
@@ -26,9 +26,7 @@ package org.apache.qpid.server.protocol.
 
 import java.util.Map;
 
-import org.apache.qpid.server.protocol.v1_0.type.Section;
-
-public class ApplicationProperties implements Section<Map<String,Object>>
+public class ApplicationProperties implements NonEncodingRetainingSection<Map<String,Object>>
 {
 
     private final Map<String,Object> _value;

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/Data.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/type/messaging/Data.java?rev=1772916&r1=1772915&r2=1772916&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/Data.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/Data.java Tue Dec  6 16:53:25 2016
@@ -22,9 +22,8 @@
 package org.apache.qpid.server.protocol.v1_0.type.messaging;
 
 import org.apache.qpid.server.protocol.v1_0.type.Binary;
-import org.apache.qpid.server.protocol.v1_0.type.Section;
 
-public class Data implements Section<Binary>
+public class Data implements NonEncodingRetainingSection<Binary>
 {
 
     private final Binary _value;

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/DeliveryAnnotations.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/type/messaging/DeliveryAnnotations.java?rev=1772916&r1=1772915&r2=1772916&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/DeliveryAnnotations.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/DeliveryAnnotations.java Tue Dec  6 16:53:25 2016
@@ -23,10 +23,9 @@ package org.apache.qpid.server.protocol.
 
 import java.util.Map;
 
-import org.apache.qpid.server.protocol.v1_0.type.Section;
 import org.apache.qpid.server.protocol.v1_0.type.Symbol;
 
-public class DeliveryAnnotations implements Section<Map<Symbol,Object>>
+public class DeliveryAnnotations implements NonEncodingRetainingSection<Map<Symbol,Object>>
 {
     private final Map<Symbol,Object> _value;
 

Added: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/EncodingRetainingSection.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/type/messaging/EncodingRetainingSection.java?rev=1772916&view=auto
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/EncodingRetainingSection.java (added)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/EncodingRetainingSection.java Tue Dec  6 16:53:25 2016
@@ -0,0 +1,28 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.protocol.v1_0.type.messaging;
+
+import org.apache.qpid.server.protocol.v1_0.type.Section;
+import org.apache.qpid.server.protocol.v1_0.type.messaging.codec.EncodingRetaining;
+
+public interface EncodingRetainingSection<T> extends Section<T>, EncodingRetaining
+{
+}

Propchange: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/EncodingRetainingSection.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/Footer.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/type/messaging/Footer.java?rev=1772916&r1=1772915&r2=1772916&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/Footer.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/Footer.java Tue Dec  6 16:53:25 2016
@@ -23,10 +23,9 @@ package org.apache.qpid.server.protocol.
 
 import java.util.Map;
 
-import org.apache.qpid.server.protocol.v1_0.type.Section;
 import org.apache.qpid.server.protocol.v1_0.type.Symbol;
 
-public class Footer implements Section<Map<Symbol,Object>>
+public class Footer implements NonEncodingRetainingSection<Map<Symbol,Object>>
 {
 
     private final Map<Symbol,Object> _value;

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/Header.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/type/messaging/Header.java?rev=1772916&r1=1772915&r2=1772916&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/Header.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/Header.java Tue Dec  6 16:53:25 2016
@@ -24,11 +24,10 @@
 package org.apache.qpid.server.protocol.v1_0.type.messaging;
 
 
-import org.apache.qpid.server.protocol.v1_0.type.Section;
 import org.apache.qpid.server.protocol.v1_0.type.UnsignedByte;
 import org.apache.qpid.server.protocol.v1_0.type.UnsignedInteger;
 
-public class Header implements Section<Header>
+public class Header implements NonEncodingRetainingSection<Header>
 {
 
     private Boolean _durable;

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/MessageAnnotations.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/type/messaging/MessageAnnotations.java?rev=1772916&r1=1772915&r2=1772916&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/MessageAnnotations.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/MessageAnnotations.java Tue Dec  6 16:53:25 2016
@@ -23,10 +23,9 @@ package org.apache.qpid.server.protocol.
 
 import java.util.Map;
 
-import org.apache.qpid.server.protocol.v1_0.type.Section;
 import org.apache.qpid.server.protocol.v1_0.type.Symbol;
 
-public class MessageAnnotations implements Section<Map<Symbol,Object>>
+public class MessageAnnotations implements NonEncodingRetainingSection<Map<Symbol,Object>>
 {
     private final Map<Symbol,Object> _value;
 

Added: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/NonEncodingRetainingSection.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/type/messaging/NonEncodingRetainingSection.java?rev=1772916&view=auto
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/NonEncodingRetainingSection.java (added)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/NonEncodingRetainingSection.java Tue Dec  6 16:53:25 2016
@@ -0,0 +1,27 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.protocol.v1_0.type.messaging;
+
+import org.apache.qpid.server.protocol.v1_0.type.Section;
+
+public interface NonEncodingRetainingSection<T> extends Section<T>
+{
+}

Propchange: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/NonEncodingRetainingSection.java
------------------------------------------------------------------------------
    svn:eol-style = native

Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/Properties.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/type/messaging/Properties.java?rev=1772916&r1=1772915&r2=1772916&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/Properties.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/Properties.java Tue Dec  6 16:53:25 2016
@@ -24,11 +24,10 @@ package org.apache.qpid.server.protocol.
 import java.util.Date;
 
 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.UnsignedInteger;
 
-public class Properties implements Section<Properties>
+public class Properties implements NonEncodingRetainingSection<Properties>
 {
     private Object _messageId;
 

Modified: qpid/java/trunk/broker-plugins/amqp-msg-conv-0-10-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_10_v1_0/MessageConverter_0_10_to_1_0.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-msg-conv-0-10-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_10_v1_0/MessageConverter_0_10_to_1_0.java?rev=1772916&r1=1772915&r2=1772916&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-msg-conv-0-10-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_10_v1_0/MessageConverter_0_10_to_1_0.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-msg-conv-0-10-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_10_v1_0/MessageConverter_0_10_to_1_0.java Tue Dec  6 16:53:25 2016
@@ -26,21 +26,21 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.qpid.server.plugin.PluggableService;
+import org.apache.qpid.server.protocol.v0_10.MessageTransferMessage;
+import org.apache.qpid.server.protocol.v1_0.MessageConverter_to_1_0;
+import org.apache.qpid.server.protocol.v1_0.MessageMetaData_1_0;
 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.AbstractSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.ApplicationProperties;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Data;
+import org.apache.qpid.server.protocol.v1_0.type.messaging.EncodingRetainingSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Header;
+import org.apache.qpid.server.protocol.v1_0.type.messaging.NonEncodingRetainingSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Properties;
-import org.apache.qpid.server.plugin.PluggableService;
-import org.apache.qpid.server.protocol.v0_10.MessageTransferMessage;
-import org.apache.qpid.server.protocol.v1_0.MessageConverter_to_1_0;
-import org.apache.qpid.server.protocol.v1_0.MessageMetaData_1_0;
 import org.apache.qpid.transport.DeliveryProperties;
 import org.apache.qpid.transport.MessageDeliveryMode;
 import org.apache.qpid.transport.MessageProperties;
@@ -58,11 +58,11 @@ public class MessageConverter_0_10_to_1_
 
     @Override
     protected MessageMetaData_1_0 convertMetaData(MessageTransferMessage serverMessage,
-                                                  final Section bodySection,
+                                                  final NonEncodingRetainingSection<?> bodySection,
                                                   SectionEncoder sectionEncoder,
-                                                  final ArrayList<AbstractSection<?>> bodySections)
+                                                  final List<EncodingRetainingSection<?>> bodySections)
     {
-        List<Section> sections = new ArrayList<Section>(3);
+        List<NonEncodingRetainingSection<?>> sections = new ArrayList<>(3);
         final MessageProperties msgProps = serverMessage.getHeader().getMessageProperties();
         final DeliveryProperties deliveryProps = serverMessage.getHeader().getDeliveryProperties();
 

Modified: qpid/java/trunk/broker-plugins/amqp-msg-conv-0-8-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v1_0/MessageConverter_0_8_to_1_0.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-msg-conv-0-8-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v1_0/MessageConverter_0_8_to_1_0.java?rev=1772916&r1=1772915&r2=1772916&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-msg-conv-0-8-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v1_0/MessageConverter_0_8_to_1_0.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-msg-conv-0-8-to-1-0/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v1_0/MessageConverter_0_8_to_1_0.java Tue Dec  6 16:53:25 2016
@@ -26,24 +26,24 @@ import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Map;
 
+import org.apache.qpid.framing.AMQShortString;
+import org.apache.qpid.framing.BasicContentHeaderProperties;
+import org.apache.qpid.framing.FieldTable;
+import org.apache.qpid.server.plugin.PluggableService;
+import org.apache.qpid.server.protocol.v0_8.AMQMessage;
+import org.apache.qpid.server.protocol.v1_0.MessageConverter_to_1_0;
+import org.apache.qpid.server.protocol.v1_0.MessageMetaData_1_0;
 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.AbstractSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.ApplicationProperties;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Data;
+import org.apache.qpid.server.protocol.v1_0.type.messaging.EncodingRetainingSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Header;
+import org.apache.qpid.server.protocol.v1_0.type.messaging.NonEncodingRetainingSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Properties;
-import org.apache.qpid.framing.AMQShortString;
-import org.apache.qpid.framing.BasicContentHeaderProperties;
-import org.apache.qpid.framing.FieldTable;
-import org.apache.qpid.server.plugin.PluggableService;
-import org.apache.qpid.server.protocol.v0_8.AMQMessage;
-import org.apache.qpid.server.protocol.v1_0.MessageConverter_to_1_0;
-import org.apache.qpid.server.protocol.v1_0.MessageMetaData_1_0;
 import org.apache.qpid.url.AMQBindingURL;
 import org.apache.qpid.util.GZIPUtils;
 
@@ -57,12 +57,12 @@ public class MessageConverter_0_8_to_1_0
     }
 
     protected MessageMetaData_1_0 convertMetaData(final AMQMessage serverMessage,
-                                                  final Section bodySection,
+                                                  final NonEncodingRetainingSection<?> bodySection,
                                                   SectionEncoder sectionEncoder,
-                                                  final ArrayList<AbstractSection<?>> bodySections)
+                                                  final List<EncodingRetainingSection<?>> bodySections)
     {
 
-        List<Section> sections = new ArrayList<>(3);
+        List<NonEncodingRetainingSection<?>> sections = new ArrayList<>(3);
 
         Header header = new Header();
 



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org