QPIDIT-97: Further fixes and updates for the release of 0.1.0
diff --git a/shims/qpid-jms/pom.xml b/shims/qpid-jms/pom.xml
index 33739d9..c42972f 100644
--- a/shims/qpid-jms/pom.xml
+++ b/shims/qpid-jms/pom.xml
@@ -31,7 +31,9 @@
 
   <build>
     <plugins>
+    
       <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
         <artifactId>maven-assembly-plugin</artifactId>
         <version>3.0.0</version>
         <configuration>
@@ -66,6 +68,7 @@
           </execution>
         </executions>
       </plugin>
+      
     </plugins>
   </build>
 
diff --git a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_hdrs_props_test/Receiver.java b/shims/qpid-jms/src/main/java/org/apache/qpid/interop_test/jms_hdrs_props_test/Receiver.java
similarity index 99%
rename from shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_hdrs_props_test/Receiver.java
rename to shims/qpid-jms/src/main/java/org/apache/qpid/interop_test/jms_hdrs_props_test/Receiver.java
index 13331ba..00d2e4c 100644
--- a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_hdrs_props_test/Receiver.java
+++ b/shims/qpid-jms/src/main/java/org/apache/qpid/interop_test/jms_hdrs_props_test/Receiver.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.qpid.qpid_interop_test.jms_hdrs_props_test;
+package org.apache.qpid.interop_test.jms_hdrs_props_test;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
diff --git a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_hdrs_props_test/Sender.java b/shims/qpid-jms/src/main/java/org/apache/qpid/interop_test/jms_hdrs_props_test/Sender.java
similarity index 99%
rename from shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_hdrs_props_test/Sender.java
rename to shims/qpid-jms/src/main/java/org/apache/qpid/interop_test/jms_hdrs_props_test/Sender.java
index efc3fb9..2f38991 100644
--- a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_hdrs_props_test/Sender.java
+++ b/shims/qpid-jms/src/main/java/org/apache/qpid/interop_test/jms_hdrs_props_test/Sender.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.qpid.qpid_interop_test.jms_hdrs_props_test;
+package org.apache.qpid.interop_test.jms_hdrs_props_test;
 
 import java.io.Serializable;
 import java.io.StringReader;
diff --git a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_messages_test/Receiver.java b/shims/qpid-jms/src/main/java/org/apache/qpid/interop_test/jms_messages_test/Receiver.java
similarity index 99%
rename from shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_messages_test/Receiver.java
rename to shims/qpid-jms/src/main/java/org/apache/qpid/interop_test/jms_messages_test/Receiver.java
index a3acb66..07d1f06 100644
--- a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_messages_test/Receiver.java
+++ b/shims/qpid-jms/src/main/java/org/apache/qpid/interop_test/jms_messages_test/Receiver.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.qpid.qpid_interop_test.jms_messages_test;
+package org.apache.qpid.interop_test.jms_messages_test;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
diff --git a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_messages_test/Sender.java b/shims/qpid-jms/src/main/java/org/apache/qpid/interop_test/jms_messages_test/Sender.java
similarity index 99%
rename from shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_messages_test/Sender.java
rename to shims/qpid-jms/src/main/java/org/apache/qpid/interop_test/jms_messages_test/Sender.java
index 5348663..0cccc97 100644
--- a/shims/qpid-jms/src/main/java/org/apache/qpid/qpid_interop_test/jms_messages_test/Sender.java
+++ b/shims/qpid-jms/src/main/java/org/apache/qpid/interop_test/jms_messages_test/Sender.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.qpid.qpid_interop_test.jms_messages_test;
+package org.apache.qpid.interop_test.jms_messages_test;
 
 import java.io.Serializable;
 import java.io.StringReader;
diff --git a/shims/qpid-jms/src_not_yet_impl/main/java/org/apache/qpid/qpid_interop_test/jms_dtx_test/Receiver.java b/shims/qpid-jms/src_not_yet_impl/main/java/org/apache/qpid/qpid_interop_test/jms_dtx_test/Receiver.java
deleted file mode 100644
index 0614e15..0000000
--- a/shims/qpid-jms/src_not_yet_impl/main/java/org/apache/qpid/qpid_interop_test/jms_dtx_test/Receiver.java
+++ /dev/null
@@ -1,407 +0,0 @@
-/**
- * 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.qpid_interop_test.jms_dtx_test;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.List;
-import javax.jms.BytesMessage;
-import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
-import javax.jms.Destination;
-import javax.jms.ExceptionListener;
-import javax.jms.JMSException;
-import javax.jms.MapMessage;
-import javax.jms.Message;
-import javax.jms.MessageConsumer;
-import javax.jms.ObjectMessage;
-import javax.jms.Queue;
-import javax.jms.Session;
-import javax.jms.StreamMessage;
-import javax.jms.TextMessage;
-import javax.jms.Topic;
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonObject;
-import javax.json.JsonObjectBuilder;
-import javax.json.JsonReader;
-import javax.json.JsonWriter;
-import org.apache.qpid.jms.JmsConnectionFactory;
-
-public class Receiver {
-    private static final String USER = "guest";
-    private static final String PASSWORD = "guest";
-    private static final int TIMEOUT = 1000;
-    private static final String[] SUPPORTED_JMS_MESSAGE_TYPES = {"JMS_MESSAGE_TYPE",
-                                                                 "JMS_BYTESMESSAGE_TYPE",
-                                                                 "JMS_MAPMESSAGE_TYPE",
-                                                                 "JMS_OBJECTMESSAGE_TYPE",
-                                                                 "JMS_STREAMMESSAGE_TYPE",
-                                                                 "JMS_TEXTMESSAGE_TYPE"};
-    private static enum JMS_DESTINATION_TYPE {JMS_QUEUE, JMS_TEMPORARY_QUEUE, JMS_TOPIC, JMS_TEMPORARY_TOPIC};
-    
-    Connection _connection;
-    Session _session;
-    Queue _queue;
-    MessageConsumer _messageConsumer;
-    JsonObjectBuilder _jsonTestValueMapBuilder;
-    
-    // args[0]: Broker URL
-    // args[1]: Queue name
-    // args[2]: JMS message type
-    // args[3]: JSON Test parameters containing testValuesMap
-    public static void main(String[] args) throws Exception {
-        if (args.length != 4) {
-            System.out.println("JmsReceiverShim: Incorrect number of arguments");
-            System.out.println("JmsReceiverShim: Expected arguments: broker_address, queue_name, JMS_msg_type, JSON_receive_params");
-            System.exit(1);
-        }
-        String brokerAddress = "amqp://" + args[0];
-        String queueName = args[1];
-        String jmsMessageType = args[2];
-        if (!isSupportedJmsMessageType(jmsMessageType)) {
-            System.out.println("ERROR: JmsReceiverShim: Unknown or unsupported JMS message type \"" + jmsMessageType + "\"");
-            System.exit(1);
-        }
-
-        JsonReader jsonReader = Json.createReader(new StringReader(args[3]));
-        JsonObject numTestValuesMap = jsonReader.readObject();
-        jsonReader.close();
-        
-        Receiver shim = new Receiver(brokerAddress, queueName);
-        shim.run(jmsMessageType, numTestValuesMap);
-    }
-
-    public Receiver(String brokerAddress, String queueName) {
-        try {
-            _connection = null;
-            ConnectionFactory factory = (ConnectionFactory)new JmsConnectionFactory(brokerAddress);
-            _connection = factory.createConnection(USER, PASSWORD);
-            _connection.setExceptionListener(new MyExceptionListener());
-            _connection.start();
-
-            _session = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
-            _queue = _session.createQueue(queueName);
-
-            _messageConsumer = _session.createConsumer(_queue);
-
-            _jsonTestValueMapBuilder = Json.createObjectBuilder();
-        } catch (Exception exc) {
-            if (_connection != null)
-                try { _connection.close(); } catch (JMSException e) {}
-            System.out.println("Caught exception, exiting.");
-            exc.printStackTrace(System.out);
-            System.exit(1);
-        }
-    }
-    
-    public void run(String jmsMessageType, JsonObject numTestValuesMap) {
-        try {
-            List<String> subTypeKeyList = new ArrayList<String>(numTestValuesMap.keySet());
-            Collections.sort(subTypeKeyList);
-            
-            Message message = null;
-            
-            for (String subType: subTypeKeyList) {
-                JsonArrayBuilder jasonTestValuesArrayBuilder = Json.createArrayBuilder();
-                for (int i=0; i<numTestValuesMap.getJsonNumber(subType).intValue(); ++i) {
-                    message = _messageConsumer.receive(TIMEOUT);
-                    if (message == null) break;
-                    switch (jmsMessageType) {
-                    case "JMS_MESSAGE_TYPE":
-                        processJMSMessage(jasonTestValuesArrayBuilder);
-                        break;
-                    case "JMS_BYTESMESSAGE_TYPE":
-                        processJMSBytesMessage(jmsMessageType, subType, message, jasonTestValuesArrayBuilder);
-                        break;
-                    case "JMS_STREAMMESSAGE_TYPE":
-                        processJMSStreamMessage(jmsMessageType, subType, message, jasonTestValuesArrayBuilder);
-                        break;
-                    case "JMS_MAPMESSAGE_TYPE":
-                        processJMSMapMessage(jmsMessageType, subType, i, message, jasonTestValuesArrayBuilder);
-                        break;
-                    case "JMS_OBJECTMESSAGE_TYPE":
-                        processJMSObjectMessage(subType, message, jasonTestValuesArrayBuilder);
-                        break;
-                    case "JMS_TEXTMESSAGE_TYPE":
-                        processJMSTextMessage(message, jasonTestValuesArrayBuilder);
-                        break;
-                    default:
-                        _connection.close();
-                        throw new Exception("JmsReceiverShim: Internal error: Unknown or unsupported JMS message type \"" + jmsMessageType + "\"");
-                    }
-                }
-                _jsonTestValueMapBuilder.add(subType, jasonTestValuesArrayBuilder);
-            }
-            _connection.close();
-    
-            System.out.println(jmsMessageType);
-            StringWriter out = new StringWriter();
-            writeJsonObject(_jsonTestValueMapBuilder, out);
-            System.out.println(out.toString());        
-        } catch (Exception exp) {
-            try { _connection.close(); } catch (JMSException e) {}
-            System.out.println("Caught exception, exiting.");
-            exp.printStackTrace(System.out);
-            System.exit(1);
-        }
-    }
-    
-    protected void processJMSMessage(JsonArrayBuilder jasonTestValuesArrayBuilder) {
-        jasonTestValuesArrayBuilder.addNull();        
-    }
-    
-    protected void processJMSBytesMessage(String jmsMessageType, String subType, Message message, JsonArrayBuilder jasonTestValuesArrayBuilder) throws Exception, JMSException, IOException, ClassNotFoundException {
-        switch (subType) {
-        case "boolean":
-            jasonTestValuesArrayBuilder.add(((BytesMessage)message).readBoolean()?"True":"False");
-            break;
-        case "byte":
-            jasonTestValuesArrayBuilder.add(formatByte(((BytesMessage)message).readByte()));
-            break;
-        case "bytes":
-            {
-                byte[] bytesBuff = new byte[65536];
-                int numBytesRead = ((BytesMessage)message).readBytes(bytesBuff);
-                if (numBytesRead >= 0) {
-                    jasonTestValuesArrayBuilder.add(new String(Arrays.copyOfRange(bytesBuff, 0, numBytesRead)));
-                } else {
-                    // NOTE: For this case, an empty byte array has nothing to return
-                    jasonTestValuesArrayBuilder.add(new String());
-                }
-            }
-            break;
-        case "char":
-            jasonTestValuesArrayBuilder.add(formatChar(((BytesMessage)message).readChar()));
-            break;
-        case "double":
-            long l = Double.doubleToRawLongBits(((BytesMessage)message).readDouble());
-            jasonTestValuesArrayBuilder.add(String.format("0x%16s", Long.toHexString(l)).replace(' ', '0'));
-            break;
-        case "float":
-            int i0 = Float.floatToRawIntBits(((BytesMessage)message).readFloat());
-            jasonTestValuesArrayBuilder.add(String.format("0x%8s", Integer.toHexString(i0)).replace(' ', '0'));
-            break;
-        case "int":
-            jasonTestValuesArrayBuilder.add(formatInt(((BytesMessage)message).readInt()));
-            break;
-        case "long":
-            jasonTestValuesArrayBuilder.add(formatLong(((BytesMessage)message).readLong()));
-            break;
-        case "object":
-            {
-                byte[] bytesBuff = new byte[65536];
-                int numBytesRead = ((BytesMessage)message).readBytes(bytesBuff);
-                if (numBytesRead >= 0) {
-                    ByteArrayInputStream bais = new ByteArrayInputStream(Arrays.copyOfRange(bytesBuff, 0, numBytesRead));
-                    ObjectInputStream ois = new ObjectInputStream(bais);
-                    Object obj = ois.readObject();
-                    jasonTestValuesArrayBuilder.add(obj.getClass().getName() + ":" + obj.toString());
-                } else {
-                    jasonTestValuesArrayBuilder.add("<object error>");
-                }
-            }
-            break;
-        case "short":
-            jasonTestValuesArrayBuilder.add(formatShort(((BytesMessage)message).readShort()));
-            break;
-        case "string":
-            jasonTestValuesArrayBuilder.add(((BytesMessage)message).readUTF());
-            break;
-        default:
-            throw new Exception("JmsReceiverShim: Unknown subtype for " + jmsMessageType + ": \"" + subType + "\"");
-        }        
-    }
-    
-    protected void processJMSMapMessage(String jmsMessageType, String subType, int count, Message message, JsonArrayBuilder jasonTestValuesArrayBuilder) throws Exception, JMSException {
-        String name = String.format("%s%03d", subType, count);
-        switch (subType) {
-        case "boolean":
-            jasonTestValuesArrayBuilder.add(((MapMessage)message).getBoolean(name)?"True":"False");
-            break;
-        case "byte":
-            jasonTestValuesArrayBuilder.add(formatByte(((MapMessage)message).getByte(name)));
-            break;
-        case "bytes":
-            jasonTestValuesArrayBuilder.add(new String(((MapMessage)message).getBytes(name)));
-            break;
-        case "char":
-            jasonTestValuesArrayBuilder.add(formatChar(((MapMessage)message).getChar(name)));
-            break;
-        case "double":
-            long l = Double.doubleToRawLongBits(((MapMessage)message).getDouble(name));
-            jasonTestValuesArrayBuilder.add(String.format("0x%16s", Long.toHexString(l)).replace(' ', '0'));
-            break;
-        case "float":
-            int i0 = Float.floatToRawIntBits(((MapMessage)message).getFloat(name));
-            jasonTestValuesArrayBuilder.add(String.format("0x%8s", Integer.toHexString(i0)).replace(' ', '0'));
-            break;
-        case "int":
-            jasonTestValuesArrayBuilder.add(formatInt(((MapMessage)message).getInt(name)));
-            break;
-        case "long":
-            jasonTestValuesArrayBuilder.add(formatLong(((MapMessage)message).getLong(name)));
-            break;
-        case "object":
-            Object obj = ((MapMessage)message).getObject(name);
-            jasonTestValuesArrayBuilder.add(obj.getClass().getName() + ":" + obj.toString());
-            break;
-        case "short":
-            jasonTestValuesArrayBuilder.add(formatShort(((MapMessage)message).getShort(name)));
-            break;
-        case "string":
-            jasonTestValuesArrayBuilder.add(((MapMessage)message).getString(name));
-            break;
-        default:
-            throw new Exception("JmsReceiverShim: Unknown subtype for " + jmsMessageType + ": \"" + subType + "\"");
-        }        
-    }
-    
-    protected void processJMSObjectMessage(String subType, Message message, JsonArrayBuilder jasonTestValuesArrayBuilder) throws JMSException {
-        jasonTestValuesArrayBuilder.add(((ObjectMessage)message).getObject().toString());
-    }
-    
-    protected void processJMSStreamMessage(String jmsMessageType, String subType, Message message, JsonArrayBuilder jasonTestValuesArrayBuilder) throws Exception, JMSException {
-        switch (subType) {
-        case "boolean":
-            jasonTestValuesArrayBuilder.add(((StreamMessage)message).readBoolean()?"True":"False");
-            break;
-        case "byte":
-            jasonTestValuesArrayBuilder.add(formatByte(((StreamMessage)message).readByte()));
-            break;
-        case "bytes":
-            byte[] bytesBuff = new byte[65536];
-            int numBytesRead = ((StreamMessage)message).readBytes(bytesBuff);
-            if (numBytesRead >= 0) {
-                jasonTestValuesArrayBuilder.add(new String(Arrays.copyOfRange(bytesBuff, 0, numBytesRead)));
-            } else {
-                System.out.println("StreamMessage.readBytes() returned " + numBytesRead);
-                jasonTestValuesArrayBuilder.add("<bytes error>");
-            }
-            break;
-        case "char":
-            jasonTestValuesArrayBuilder.add(formatChar(((StreamMessage)message).readChar()));
-            break;
-        case "double":
-            long l = Double.doubleToRawLongBits(((StreamMessage)message).readDouble());
-            jasonTestValuesArrayBuilder.add(String.format("0x%16s", Long.toHexString(l)).replace(' ', '0'));
-            break;
-        case "float":
-            int i0 = Float.floatToRawIntBits(((StreamMessage)message).readFloat());
-            jasonTestValuesArrayBuilder.add(String.format("0x%8s", Integer.toHexString(i0)).replace(' ', '0'));
-            break;
-        case "int":
-            jasonTestValuesArrayBuilder.add(formatInt(((StreamMessage)message).readInt()));
-            break;
-        case "long":
-            jasonTestValuesArrayBuilder.add(formatLong(((StreamMessage)message).readLong()));
-            break;
-        case "object":
-            Object obj = ((StreamMessage)message).readObject();
-            jasonTestValuesArrayBuilder.add(obj.getClass().getName() + ":" + obj.toString());
-            break;
-        case "short":
-            jasonTestValuesArrayBuilder.add(formatShort(((StreamMessage)message).readShort()));
-            break;
-        case "string":
-            jasonTestValuesArrayBuilder.add(((StreamMessage)message).readString());
-            break;
-        default:
-            throw new Exception("JmsReceiverShim: Unknown subtype for " + jmsMessageType + ": \"" + subType + "\"");
-        }        
-    }
-
-    protected void processJMSTextMessage(Message message, JsonArrayBuilder jasonTestValuesArrayBuilder) throws JMSException {
-        jasonTestValuesArrayBuilder.add(((TextMessage)message).getText());
-    }
-
-    protected static void writeJsonObject(JsonObjectBuilder builder, StringWriter out) {
-        JsonWriter jsonWriter = Json.createWriter(out);
-        jsonWriter.writeObject(builder.build());
-        jsonWriter.close();        
-    }
-
-    protected static String formatByte(byte b) {
-        boolean neg = false;
-        if (b < 0) {
-            neg = true;
-            b = (byte)-b;
-        }
-        return String.format("%s0x%x", neg?"-":"", b);
-    }
-    
-    protected static String formatChar(char c) {
-        if (Character.isLetterOrDigit(c)) {
-            return String.format("%c", c);
-        }
-        char[] ca = {c};
-        return new String(ca);
-    }
-    
-    protected static String formatInt(int i) {
-        boolean neg = false;
-        if (i < 0) {
-            neg = true;
-            i = -i;
-        }
-        return String.format("%s0x%x", neg?"-":"", i);
-    }
-    
-    protected static String formatLong(long l) {
-        boolean neg = false;
-        if (l < 0) {
-            neg = true;
-            l = -l;
-        }
-        return String.format("%s0x%x", neg?"-":"", l);
-    }
-    
-    protected static String formatShort(int s) {
-        boolean neg = false;
-        if (s < 0) {
-            neg = true;
-            s = -s;
-        }
-        return String.format("%s0x%x", neg?"-":"", s);
-    }
-        
-    protected static boolean isSupportedJmsMessageType(String jmsMessageType) {
-        for (String supportedJmsMessageType: SUPPORTED_JMS_MESSAGE_TYPES) {
-            if (jmsMessageType.equals(supportedJmsMessageType))
-                return true;
-        }
-    return false;
-    }
-
-    private static class MyExceptionListener implements ExceptionListener {
-        @Override
-        public void onException(JMSException exception) {
-            System.out.println("Connection ExceptionListener fired, exiting.");
-            exception.printStackTrace(System.out);
-            System.exit(1);
-        }
-    }
-}
\ No newline at end of file
diff --git a/shims/qpid-jms/src_not_yet_impl/main/java/org/apache/qpid/qpid_interop_test/jms_dtx_test/Sender.java b/shims/qpid-jms/src_not_yet_impl/main/java/org/apache/qpid/qpid_interop_test/jms_dtx_test/Sender.java
deleted file mode 100644
index c5b3506..0000000
--- a/shims/qpid-jms/src_not_yet_impl/main/java/org/apache/qpid/qpid_interop_test/jms_dtx_test/Sender.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
- * 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.qpid_interop_test.jms_dtx_test;
-
-import java.io.Serializable;
-import java.io.StringReader;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import javax.jms.BytesMessage;
-import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
-import javax.jms.DeliveryMode;
-import javax.jms.ExceptionListener;
-import javax.jms.JMSException;
-import javax.jms.MapMessage;
-import javax.jms.Message;
-import javax.jms.MessageProducer;
-import javax.jms.ObjectMessage;
-import javax.jms.Queue;
-import javax.jms.Session;
-import javax.jms.StreamMessage;
-import javax.jms.TextMessage;
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import org.apache.qpid.jms.JmsConnectionFactory;
-
-public class Sender {
-    private static final String USER = "guest";
-    private static final String PASSWORD = "guest";
-    private static final String[] SUPPORTED_JMS_MESSAGE_TYPES = {"JMS_MESSAGE_TYPE",
-                                                                 "JMS_BYTESMESSAGE_TYPE",
-                                                                 "JMS_MAPMESSAGE_TYPE",
-                                                                 "JMS_OBJECTMESSAGE_TYPE",
-                                                                 "JMS_STREAMMESSAGE_TYPE",
-                                                                 "JMS_TEXTMESSAGE_TYPE"};
-    Connection _connection;
-    Session _session;
-    Queue _queue;
-    MessageProducer _messageProducer;
-    int _msgsSent;
-    
-
-    // args[0]: Broker URL
-    // args[1]: Queue name
-    // ...
-    public static void main(String[] args) throws Exception {
-        if (args.length != 2) {
-            System.out.println("JmsSenderShim: Incorrect number of arguments");
-            System.out.println("JmsSenderShim: Expected arguments: broker_address, queue_name, ...");
-            System.exit(1);
-        }
-        String brokerAddress = "amqp://" + args[0];
-        String queueName = args[1];
-
-        Sender shim = new Sender(brokerAddress, queueName);
-        shim.runTests();
-    }
-
-    public Sender(String brokerAddress, String queueName) {
-        try {
-            ConnectionFactory factory = (ConnectionFactory)new JmsConnectionFactory(brokerAddress);
-
-            _connection = factory.createConnection();
-            _connection.setExceptionListener(new MyExceptionListener());
-            _connection.start();
-
-            _session = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
-            _queue = _session.createQueue(queueName);
-
-            _messageProducer = _session.createProducer(_queue);
-            
-            _msgsSent = 0;
-        } catch (Exception exp) {
-            System.out.println("Caught exception, exiting.");
-            exp.printStackTrace(System.out);
-            System.exit(1);
-        }
-    }
-
-    public void runTests() throws Exception {
-        _connection.close();
-    }
-    
-
-    private static class MyExceptionListener implements ExceptionListener {
-        @Override
-        public void onException(JMSException exception) {
-            System.out.println("Connection ExceptionListener fired, exiting.");
-            exception.printStackTrace(System.out);
-            System.exit(1);
-        }
-    }
-}
\ No newline at end of file
diff --git a/shims/qpid-jms/src_not_yet_impl/main/java/org/apache/qpid/qpid_interop_test/jms_large_content_test/Receiver.java b/shims/qpid-jms/src_not_yet_impl/main/java/org/apache/qpid/qpid_interop_test/jms_large_content_test/Receiver.java
deleted file mode 100644
index 2fb8ac7..0000000
--- a/shims/qpid-jms/src_not_yet_impl/main/java/org/apache/qpid/qpid_interop_test/jms_large_content_test/Receiver.java
+++ /dev/null
@@ -1,407 +0,0 @@
-/**
- * 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.qpid_interop_test.jms_large_content_test;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.ObjectInputStream;
-import java.io.StringReader;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Enumeration;
-import java.util.List;
-import javax.jms.BytesMessage;
-import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
-import javax.jms.Destination;
-import javax.jms.ExceptionListener;
-import javax.jms.JMSException;
-import javax.jms.MapMessage;
-import javax.jms.Message;
-import javax.jms.MessageConsumer;
-import javax.jms.ObjectMessage;
-import javax.jms.Queue;
-import javax.jms.Session;
-import javax.jms.StreamMessage;
-import javax.jms.TextMessage;
-import javax.jms.Topic;
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonArrayBuilder;
-import javax.json.JsonObject;
-import javax.json.JsonObjectBuilder;
-import javax.json.JsonReader;
-import javax.json.JsonWriter;
-import org.apache.qpid.jms.JmsConnectionFactory;
-
-public class Receiver {
-    private static final String USER = "guest";
-    private static final String PASSWORD = "guest";
-    private static final int TIMEOUT = 1000;
-    private static final String[] SUPPORTED_JMS_MESSAGE_TYPES = {"JMS_MESSAGE_TYPE",
-                                                                 "JMS_BYTESMESSAGE_TYPE",
-                                                                 "JMS_MAPMESSAGE_TYPE",
-                                                                 "JMS_OBJECTMESSAGE_TYPE",
-                                                                 "JMS_STREAMMESSAGE_TYPE",
-                                                                 "JMS_TEXTMESSAGE_TYPE"};
-    private static enum JMS_DESTINATION_TYPE {JMS_QUEUE, JMS_TEMPORARY_QUEUE, JMS_TOPIC, JMS_TEMPORARY_TOPIC};
-    
-    Connection _connection;
-    Session _session;
-    Queue _queue;
-    MessageConsumer _messageConsumer;
-    JsonObjectBuilder _jsonTestValueMapBuilder;
-    
-    // args[0]: Broker URL
-    // args[1]: Queue name
-    // args[2]: JMS message type
-    // args[3]: JSON Test parameters containing testValuesMap
-    public static void main(String[] args) throws Exception {
-        if (args.length != 4) {
-            System.out.println("JmsReceiverShim: Incorrect number of arguments");
-            System.out.println("JmsReceiverShim: Expected arguments: broker_address, queue_name, JMS_msg_type, JSON_receive_params");
-            System.exit(1);
-        }
-        String brokerAddress = "amqp://" + args[0];
-        String queueName = args[1];
-        String jmsMessageType = args[2];
-        if (!isSupportedJmsMessageType(jmsMessageType)) {
-            System.out.println("ERROR: JmsReceiverShim: Unknown or unsupported JMS message type \"" + jmsMessageType + "\"");
-            System.exit(1);
-        }
-
-        JsonReader jsonReader = Json.createReader(new StringReader(args[3]));
-        JsonObject numTestValuesMap = jsonReader.readObject();
-        jsonReader.close();
-        
-        Receiver shim = new Receiver(brokerAddress, queueName);
-        shim.run(jmsMessageType, numTestValuesMap);
-    }
-
-    public Receiver(String brokerAddress, String queueName) {
-        try {
-            _connection = null;
-            ConnectionFactory factory = (ConnectionFactory)new JmsConnectionFactory(brokerAddress);
-            _connection = factory.createConnection(USER, PASSWORD);
-            _connection.setExceptionListener(new MyExceptionListener());
-            _connection.start();
-
-            _session = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
-            _queue = _session.createQueue(queueName);
-
-            _messageConsumer = _session.createConsumer(_queue);
-
-            _jsonTestValueMapBuilder = Json.createObjectBuilder();
-        } catch (Exception exc) {
-            if (_connection != null)
-                try { _connection.close(); } catch (JMSException e) {}
-            System.out.println("Caught exception, exiting.");
-            exc.printStackTrace(System.out);
-            System.exit(1);
-        }
-    }
-    
-    public void run(String jmsMessageType, JsonObject numTestValuesMap) {
-        try {
-            List<String> subTypeKeyList = new ArrayList<String>(numTestValuesMap.keySet());
-            Collections.sort(subTypeKeyList);
-            
-            Message message = null;
-            
-            for (String subType: subTypeKeyList) {
-                JsonArrayBuilder jasonTestValuesArrayBuilder = Json.createArrayBuilder();
-                for (int i=0; i<numTestValuesMap.getJsonNumber(subType).intValue(); ++i) {
-                    message = _messageConsumer.receive(TIMEOUT);
-                    if (message == null) break;
-                    switch (jmsMessageType) {
-                    case "JMS_MESSAGE_TYPE":
-                        processJMSMessage(jasonTestValuesArrayBuilder);
-                        break;
-                    case "JMS_BYTESMESSAGE_TYPE":
-                        processJMSBytesMessage(jmsMessageType, subType, message, jasonTestValuesArrayBuilder);
-                        break;
-                    case "JMS_STREAMMESSAGE_TYPE":
-                        processJMSStreamMessage(jmsMessageType, subType, message, jasonTestValuesArrayBuilder);
-                        break;
-                    case "JMS_MAPMESSAGE_TYPE":
-                        processJMSMapMessage(jmsMessageType, subType, i, message, jasonTestValuesArrayBuilder);
-                        break;
-                    case "JMS_OBJECTMESSAGE_TYPE":
-                        processJMSObjectMessage(subType, message, jasonTestValuesArrayBuilder);
-                        break;
-                    case "JMS_TEXTMESSAGE_TYPE":
-                        processJMSTextMessage(message, jasonTestValuesArrayBuilder);
-                        break;
-                    default:
-                        _connection.close();
-                        throw new Exception("JmsReceiverShim: Internal error: Unknown or unsupported JMS message type \"" + jmsMessageType + "\"");
-                    }
-                }
-                _jsonTestValueMapBuilder.add(subType, jasonTestValuesArrayBuilder);
-            }
-            _connection.close();
-    
-            System.out.println(jmsMessageType);
-            StringWriter out = new StringWriter();
-            writeJsonObject(_jsonTestValueMapBuilder, out);
-            System.out.println(out.toString());        
-        } catch (Exception exp) {
-            try { _connection.close(); } catch (JMSException e) {}
-            System.out.println("Caught exception, exiting.");
-            exp.printStackTrace(System.out);
-            System.exit(1);
-        }
-    }
-    
-    protected void processJMSMessage(JsonArrayBuilder jasonTestValuesArrayBuilder) {
-        jasonTestValuesArrayBuilder.addNull();        
-    }
-    
-    protected void processJMSBytesMessage(String jmsMessageType, String subType, Message message, JsonArrayBuilder jasonTestValuesArrayBuilder) throws Exception, JMSException, IOException, ClassNotFoundException {
-        switch (subType) {
-        case "boolean":
-            jasonTestValuesArrayBuilder.add(((BytesMessage)message).readBoolean()?"True":"False");
-            break;
-        case "byte":
-            jasonTestValuesArrayBuilder.add(formatByte(((BytesMessage)message).readByte()));
-            break;
-        case "bytes":
-            {
-                byte[] bytesBuff = new byte[65536];
-                int numBytesRead = ((BytesMessage)message).readBytes(bytesBuff);
-                if (numBytesRead >= 0) {
-                    jasonTestValuesArrayBuilder.add(new String(Arrays.copyOfRange(bytesBuff, 0, numBytesRead)));
-                } else {
-                    // NOTE: For this case, an empty byte array has nothing to return
-                    jasonTestValuesArrayBuilder.add(new String());
-                }
-            }
-            break;
-        case "char":
-            jasonTestValuesArrayBuilder.add(formatChar(((BytesMessage)message).readChar()));
-            break;
-        case "double":
-            long l = Double.doubleToRawLongBits(((BytesMessage)message).readDouble());
-            jasonTestValuesArrayBuilder.add(String.format("0x%16s", Long.toHexString(l)).replace(' ', '0'));
-            break;
-        case "float":
-            int i0 = Float.floatToRawIntBits(((BytesMessage)message).readFloat());
-            jasonTestValuesArrayBuilder.add(String.format("0x%8s", Integer.toHexString(i0)).replace(' ', '0'));
-            break;
-        case "int":
-            jasonTestValuesArrayBuilder.add(formatInt(((BytesMessage)message).readInt()));
-            break;
-        case "long":
-            jasonTestValuesArrayBuilder.add(formatLong(((BytesMessage)message).readLong()));
-            break;
-        case "object":
-            {
-                byte[] bytesBuff = new byte[65536];
-                int numBytesRead = ((BytesMessage)message).readBytes(bytesBuff);
-                if (numBytesRead >= 0) {
-                    ByteArrayInputStream bais = new ByteArrayInputStream(Arrays.copyOfRange(bytesBuff, 0, numBytesRead));
-                    ObjectInputStream ois = new ObjectInputStream(bais);
-                    Object obj = ois.readObject();
-                    jasonTestValuesArrayBuilder.add(obj.getClass().getName() + ":" + obj.toString());
-                } else {
-                    jasonTestValuesArrayBuilder.add("<object error>");
-                }
-            }
-            break;
-        case "short":
-            jasonTestValuesArrayBuilder.add(formatShort(((BytesMessage)message).readShort()));
-            break;
-        case "string":
-            jasonTestValuesArrayBuilder.add(((BytesMessage)message).readUTF());
-            break;
-        default:
-            throw new Exception("JmsReceiverShim: Unknown subtype for " + jmsMessageType + ": \"" + subType + "\"");
-        }        
-    }
-    
-    protected void processJMSMapMessage(String jmsMessageType, String subType, int count, Message message, JsonArrayBuilder jasonTestValuesArrayBuilder) throws Exception, JMSException {
-        String name = String.format("%s%03d", subType, count);
-        switch (subType) {
-        case "boolean":
-            jasonTestValuesArrayBuilder.add(((MapMessage)message).getBoolean(name)?"True":"False");
-            break;
-        case "byte":
-            jasonTestValuesArrayBuilder.add(formatByte(((MapMessage)message).getByte(name)));
-            break;
-        case "bytes":
-            jasonTestValuesArrayBuilder.add(new String(((MapMessage)message).getBytes(name)));
-            break;
-        case "char":
-            jasonTestValuesArrayBuilder.add(formatChar(((MapMessage)message).getChar(name)));
-            break;
-        case "double":
-            long l = Double.doubleToRawLongBits(((MapMessage)message).getDouble(name));
-            jasonTestValuesArrayBuilder.add(String.format("0x%16s", Long.toHexString(l)).replace(' ', '0'));
-            break;
-        case "float":
-            int i0 = Float.floatToRawIntBits(((MapMessage)message).getFloat(name));
-            jasonTestValuesArrayBuilder.add(String.format("0x%8s", Integer.toHexString(i0)).replace(' ', '0'));
-            break;
-        case "int":
-            jasonTestValuesArrayBuilder.add(formatInt(((MapMessage)message).getInt(name)));
-            break;
-        case "long":
-            jasonTestValuesArrayBuilder.add(formatLong(((MapMessage)message).getLong(name)));
-            break;
-        case "object":
-            Object obj = ((MapMessage)message).getObject(name);
-            jasonTestValuesArrayBuilder.add(obj.getClass().getName() + ":" + obj.toString());
-            break;
-        case "short":
-            jasonTestValuesArrayBuilder.add(formatShort(((MapMessage)message).getShort(name)));
-            break;
-        case "string":
-            jasonTestValuesArrayBuilder.add(((MapMessage)message).getString(name));
-            break;
-        default:
-            throw new Exception("JmsReceiverShim: Unknown subtype for " + jmsMessageType + ": \"" + subType + "\"");
-        }        
-    }
-    
-    protected void processJMSObjectMessage(String subType, Message message, JsonArrayBuilder jasonTestValuesArrayBuilder) throws JMSException {
-        jasonTestValuesArrayBuilder.add(((ObjectMessage)message).getObject().toString());
-    }
-    
-    protected void processJMSStreamMessage(String jmsMessageType, String subType, Message message, JsonArrayBuilder jasonTestValuesArrayBuilder) throws Exception, JMSException {
-        switch (subType) {
-        case "boolean":
-            jasonTestValuesArrayBuilder.add(((StreamMessage)message).readBoolean()?"True":"False");
-            break;
-        case "byte":
-            jasonTestValuesArrayBuilder.add(formatByte(((StreamMessage)message).readByte()));
-            break;
-        case "bytes":
-            byte[] bytesBuff = new byte[65536];
-            int numBytesRead = ((StreamMessage)message).readBytes(bytesBuff);
-            if (numBytesRead >= 0) {
-                jasonTestValuesArrayBuilder.add(new String(Arrays.copyOfRange(bytesBuff, 0, numBytesRead)));
-            } else {
-                System.out.println("StreamMessage.readBytes() returned " + numBytesRead);
-                jasonTestValuesArrayBuilder.add("<bytes error>");
-            }
-            break;
-        case "char":
-            jasonTestValuesArrayBuilder.add(formatChar(((StreamMessage)message).readChar()));
-            break;
-        case "double":
-            long l = Double.doubleToRawLongBits(((StreamMessage)message).readDouble());
-            jasonTestValuesArrayBuilder.add(String.format("0x%16s", Long.toHexString(l)).replace(' ', '0'));
-            break;
-        case "float":
-            int i0 = Float.floatToRawIntBits(((StreamMessage)message).readFloat());
-            jasonTestValuesArrayBuilder.add(String.format("0x%8s", Integer.toHexString(i0)).replace(' ', '0'));
-            break;
-        case "int":
-            jasonTestValuesArrayBuilder.add(formatInt(((StreamMessage)message).readInt()));
-            break;
-        case "long":
-            jasonTestValuesArrayBuilder.add(formatLong(((StreamMessage)message).readLong()));
-            break;
-        case "object":
-            Object obj = ((StreamMessage)message).readObject();
-            jasonTestValuesArrayBuilder.add(obj.getClass().getName() + ":" + obj.toString());
-            break;
-        case "short":
-            jasonTestValuesArrayBuilder.add(formatShort(((StreamMessage)message).readShort()));
-            break;
-        case "string":
-            jasonTestValuesArrayBuilder.add(((StreamMessage)message).readString());
-            break;
-        default:
-            throw new Exception("JmsReceiverShim: Unknown subtype for " + jmsMessageType + ": \"" + subType + "\"");
-        }        
-    }
-
-    protected void processJMSTextMessage(Message message, JsonArrayBuilder jasonTestValuesArrayBuilder) throws JMSException {
-        jasonTestValuesArrayBuilder.add(((TextMessage)message).getText());
-    }
-
-    protected static void writeJsonObject(JsonObjectBuilder builder, StringWriter out) {
-        JsonWriter jsonWriter = Json.createWriter(out);
-        jsonWriter.writeObject(builder.build());
-        jsonWriter.close();        
-    }
-
-    protected static String formatByte(byte b) {
-        boolean neg = false;
-        if (b < 0) {
-            neg = true;
-            b = (byte)-b;
-        }
-        return String.format("%s0x%x", neg?"-":"", b);
-    }
-    
-    protected static String formatChar(char c) {
-        if (Character.isLetterOrDigit(c)) {
-            return String.format("%c", c);
-        }
-        char[] ca = {c};
-        return new String(ca);
-    }
-    
-    protected static String formatInt(int i) {
-        boolean neg = false;
-        if (i < 0) {
-            neg = true;
-            i = -i;
-        }
-        return String.format("%s0x%x", neg?"-":"", i);
-    }
-    
-    protected static String formatLong(long l) {
-        boolean neg = false;
-        if (l < 0) {
-            neg = true;
-            l = -l;
-        }
-        return String.format("%s0x%x", neg?"-":"", l);
-    }
-    
-    protected static String formatShort(int s) {
-        boolean neg = false;
-        if (s < 0) {
-            neg = true;
-            s = -s;
-        }
-        return String.format("%s0x%x", neg?"-":"", s);
-    }
-        
-    protected static boolean isSupportedJmsMessageType(String jmsMessageType) {
-        for (String supportedJmsMessageType: SUPPORTED_JMS_MESSAGE_TYPES) {
-            if (jmsMessageType.equals(supportedJmsMessageType))
-                return true;
-        }
-    return false;
-    }
-
-    private static class MyExceptionListener implements ExceptionListener {
-        @Override
-        public void onException(JMSException exception) {
-            System.out.println("Connection ExceptionListener fired, exiting.");
-            exception.printStackTrace(System.out);
-            System.exit(1);
-        }
-    }
-}
\ No newline at end of file
diff --git a/shims/qpid-jms/src_not_yet_impl/main/java/org/apache/qpid/qpid_interop_test/jms_large_content_test/Sender.java b/shims/qpid-jms/src_not_yet_impl/main/java/org/apache/qpid/qpid_interop_test/jms_large_content_test/Sender.java
deleted file mode 100644
index 0980e67..0000000
--- a/shims/qpid-jms/src_not_yet_impl/main/java/org/apache/qpid/qpid_interop_test/jms_large_content_test/Sender.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/**
- * 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.qpid_interop_test.jms_large_content_test;
-
-import java.io.Serializable;
-import java.io.StringReader;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-import javax.jms.BytesMessage;
-import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
-import javax.jms.DeliveryMode;
-import javax.jms.ExceptionListener;
-import javax.jms.JMSException;
-import javax.jms.MapMessage;
-import javax.jms.Message;
-import javax.jms.MessageProducer;
-import javax.jms.ObjectMessage;
-import javax.jms.Queue;
-import javax.jms.Session;
-import javax.jms.StreamMessage;
-import javax.jms.TextMessage;
-import javax.json.Json;
-import javax.json.JsonArray;
-import javax.json.JsonObject;
-import javax.json.JsonReader;
-import org.apache.qpid.jms.JmsConnectionFactory;
-
-public class Sender {
-    private static final String USER = "guest";
-    private static final String PASSWORD = "guest";
-    private static final String[] SUPPORTED_JMS_MESSAGE_TYPES = {"JMS_MESSAGE_TYPE",
-                                                                 "JMS_BYTESMESSAGE_TYPE",
-                                                                 "JMS_MAPMESSAGE_TYPE",
-                                                                 "JMS_OBJECTMESSAGE_TYPE",
-                                                                 "JMS_STREAMMESSAGE_TYPE",
-                                                                 "JMS_TEXTMESSAGE_TYPE"};
-    Connection _connection;
-    Session _session;
-    Queue _queue;
-    MessageProducer _messageProducer;
-    int _msgsSent;
-    
-
-    // args[0]: Broker URL
-    // args[1]: Queue name
-    // ...
-    public static void main(String[] args) throws Exception {
-        if (args.length != 2) {
-            System.out.println("JmsSenderShim: Incorrect number of arguments");
-            System.out.println("JmsSenderShim: Expected arguments: broker_address, queue_name, ...");
-            System.exit(1);
-        }
-        String brokerAddress = "amqp://" + args[0];
-        String queueName = args[1];
-
-        Sender shim = new Sender(brokerAddress, queueName);
-        shim.runTests();
-    }
-
-    public Sender(String brokerAddress, String queueName) {
-        try {
-            ConnectionFactory factory = (ConnectionFactory)new JmsConnectionFactory(brokerAddress);
-
-            _connection = factory.createConnection();
-            _connection.setExceptionListener(new MyExceptionListener());
-            _connection.start();
-
-            _session = _connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-
-            _queue = _session.createQueue(queueName);
-
-            _messageProducer = _session.createProducer(_queue);
-            
-            _msgsSent = 0;
-        } catch (Exception exp) {
-            System.out.println("Caught exception, exiting.");
-            exp.printStackTrace(System.out);
-            System.exit(1);
-        }
-    }
-
-    public void runTests() throws Exception {
-        _connection.close();
-    }
-    
-
-    private static class MyExceptionListener implements ExceptionListener {
-        @Override
-        public void onException(JMSException exception) {
-            System.out.println("Connection ExceptionListener fired, exiting.");
-            exception.printStackTrace(System.out);
-            System.exit(1);
-        }
-    }
-}
\ No newline at end of file
diff --git a/shims/qpid-proton-cpp/src/not_yet_impl/amqp_dtx_test/Receiver.cpp b/shims/qpid-proton-cpp/src/not_yet_impl/amqp_dtx_test/Receiver.cpp
deleted file mode 100644
index eb5dbed..0000000
--- a/shims/qpid-proton-cpp/src/not_yet_impl/amqp_dtx_test/Receiver.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- *
- * 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.
- *
- */
-
-#include "qpidit/amqp_dtx_test/Receiver.hpp"
-
-#include <stdlib.h> // exit()
-
-namespace qpidit
-{
-    namespace amqp_dtx_test
-    {
-    } /* namespace amqp_dtx_test */
-} /* namespace qpidit */
-
-
-/*
- * --- main ---
- * Args: 1: Broker address (ip-addr:port)
- *       2: Queue name
- *       ...
- */
-
-int main(int argc, char** argv) {
-    exit(0);
-}
diff --git a/shims/qpid-proton-cpp/src/not_yet_impl/amqp_dtx_test/Receiver.hpp b/shims/qpid-proton-cpp/src/not_yet_impl/amqp_dtx_test/Receiver.hpp
deleted file mode 100644
index 4b810f0..0000000
--- a/shims/qpid-proton-cpp/src/not_yet_impl/amqp_dtx_test/Receiver.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *
- * 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.
- *
- */
-
-#ifndef SRC_QPIDIT_AMQP_DTX_TEST_RECEIVER_HPP_
-#define SRC_QPIDIT_AMQP_DTX_TEST_RECEIVER_HPP_
-
-#include <proton/messaging_handler.hpp>
-
-namespace qpidit
-{
-    namespace amqp_dtx_test
-    {
-
-        class Receiver : public proton::messaging_handler
-        {
-        };
-
-    } /* namespace amqp_dtx_test */
-} /* namespace qpidit */
-
-#endif /* SRC_QPIDIT_AMQP_DTX_TEST_RECEIVER_HPP_ */
diff --git a/shims/qpid-proton-cpp/src/not_yet_impl/amqp_dtx_test/Sender.cpp b/shims/qpid-proton-cpp/src/not_yet_impl/amqp_dtx_test/Sender.cpp
deleted file mode 100644
index 4463954..0000000
--- a/shims/qpid-proton-cpp/src/not_yet_impl/amqp_dtx_test/Sender.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- *
- * 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.
- *
- */
-
-#include "qpidit/amqp_dtx_test/Sender.hpp"
-
-#include <stdlib.h> // exit()
-
-namespace qpidit
-{
-    namespace amqp_dtx_test
-    {
-    } /* namespace amqp_dtx_test */
-} /* namespace qpidit */
-
-
-/*
- * --- main ---
- * Args: 1: Broker address (ip-addr:port)
- *       2: Queue name
- *       ...
- */
-
-int main(int argc, char** argv) {
-    exit(0);
-}
diff --git a/shims/qpid-proton-cpp/src/not_yet_impl/amqp_dtx_test/Sender.hpp b/shims/qpid-proton-cpp/src/not_yet_impl/amqp_dtx_test/Sender.hpp
deleted file mode 100644
index 90be683..0000000
--- a/shims/qpid-proton-cpp/src/not_yet_impl/amqp_dtx_test/Sender.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *
- * 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.
- *
- */
-
-#ifndef SRC_QPIDIT_AMQP_DTX_TEST_SENDER_HPP_
-#define SRC_QPIDIT_AMQP_DTX_TEST_SENDER_HPP_
-
-#include <proton/messaging_handler.hpp>
-
-namespace qpidit
-{
-    namespace amqp_dtx_test
-    {
-
-        class Sender : public proton::messaging_handler
-        {
-        };
-
-    } /* namespace amqp_dtx_test */
-} /* namespace qpidit */
-
-#endif /* SRC_QPIDIT_AMQP_DTX_TEST_SENDER_HPP_ */
diff --git a/shims/qpid-proton-cpp/src/not_yet_impl/amqp_features_test/Receiver.cpp b/shims/qpid-proton-cpp/src/not_yet_impl/amqp_features_test/Receiver.cpp
deleted file mode 100644
index 923b198..0000000
--- a/shims/qpid-proton-cpp/src/not_yet_impl/amqp_features_test/Receiver.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- *
- * 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.
- *
- */
-
-#include "qpidit/amqp_features_test/Receiver.hpp"
-
-#include <stdlib.h> // exit()
-
-namespace qpidit
-{
-    namespace amqp_features_test
-    {
-    } /* namespace amqp_features_test */
-} /* namespace qpidit */
-
-
-/*
- * --- main ---
- * Args: 1: Broker address (ip-addr:port)
- *       2: Queue name
- *       ...
- */
-
-int main(int argc, char** argv) {
-    exit(0);
-}
diff --git a/shims/qpid-proton-cpp/src/not_yet_impl/amqp_features_test/Receiver.hpp b/shims/qpid-proton-cpp/src/not_yet_impl/amqp_features_test/Receiver.hpp
deleted file mode 100644
index 100cdd2..0000000
--- a/shims/qpid-proton-cpp/src/not_yet_impl/amqp_features_test/Receiver.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *
- * 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.
- *
- */
-
-#ifndef SRC_QPIDIT_AMQP_FEATURES_TEST_RECEIVER_HPP_
-#define SRC_QPIDIT_AMQP_FEATURES_TEST_RECEIVER_HPP_
-
-#include <proton/messaging_handler.hpp>
-
-namespace qpidit
-{
-    namespace amqp_features_test
-    {
-
-        class Receiver : public proton::messaging_handler
-        {
-        };
-
-    } /* namespace amqp_features_test */
-} /* namespace qpidit */
-
-#endif /* SRC_QPIDIT_AMQP_FEATURES_TEST_RECEIVER_HPP_ */
diff --git a/shims/qpid-proton-cpp/src/not_yet_impl/amqp_features_test/Sender.cpp b/shims/qpid-proton-cpp/src/not_yet_impl/amqp_features_test/Sender.cpp
deleted file mode 100644
index 9e86ec4..0000000
--- a/shims/qpid-proton-cpp/src/not_yet_impl/amqp_features_test/Sender.cpp
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- *
- * 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.
- *
- */
-
-#include "qpidit/amqp_features_test/Sender.hpp"
-
-#include <iostream>
-#include <json/json.h>
-#include <proton/container.hpp>
-#include <proton/default_container.hpp>
-#include <proton/error_condition.hpp>
-#include <proton/thread_safe.hpp>
-#include <proton/tracker.hpp>
-#include <proton/transport.hpp>
-#include <qpidit/QpidItErrors.hpp>
-#include <stdlib.h> // exit()
-
-
-namespace qpidit
-{
-    namespace amqp_features_test
-    {
-        Sender::Sender(const std::string& brokerUrl,
-                       const std::string& queueName,
-                       const std::string& testType,
-                       const Json::Value& testValues) :
-                       _brokerUrl(brokerUrl),
-                       _queueName(queueName),
-                       _testType(testType),
-                       _testValues(testValues)
-        {}
-
-        Sender::~Sender() {}
-
-        void Sender::on_container_start(proton::container &c) {
-            std::ostringstream oss;
-            oss << _brokerUrl << "/" << _queueName;
-            c.open_sender(oss.str());
-        }
-
-        void Sender::on_connection_open(proton::connection& c) {
-            if (_testType.compare("connection_property") == 0) {
-                // Python: self.remote_properties = event.connection.remote_properties
-            }
-        }
-
-        void Sender::on_sendable(proton::sender &s) {
-            if (_totalMsgs == 0) {
-                s.connection().close();
-            } else  {
-                if (_testType.compare("connection_property") == 0) {
-                    // Do nothing
-                } else {
-                    // Unknown test
-                }
-            }
-        }
-
-        void Sender::on_tracker_accept(proton::tracker &t) {
-            _msgsConfirmed++;
-            if (_msgsConfirmed == _totalMsgs) {
-                t.connection().close();
-            }
-        }
-
-        void Sender::on_transport_close(proton::transport &t) {
-            _msgsSent = _msgsConfirmed;
-        }
-
-        void Sender::on_connection_error(proton::connection &c) {
-            std::cerr << "AmqpSender::on_connection_error(): " << c.error() << std::endl;
-        }
-
-        void Sender::on_sender_error(proton::sender &s) {
-            std::cerr << "AmqpSender::on_sender_error(): " << s.error() << std::endl;
-        }
-
-        void Sender::on_session_error(proton::session &s) {
-            std::cerr << "AmqpSender::on_session_error(): " << s.error() << std::endl;
-        }
-
-        void Sender::on_transport_error(proton::transport &t) {
-            std::cerr << "AmqpSender::on_transport_error(): " << t.error() << std::endl;
-        }
-
-        void Sender::on_error(const proton::error_condition &ec) {
-            std::cerr << "AmqpSender::on_error(): " << ec << std::endl;
-        }
-    } /* namespace amqp_features_test */
-} /* namespace qpidit */
-
-
-/*
- * --- main ---
- * Args: 1: Broker address (ip-addr:port)
- *       2: Queue name
- *       3: Test type
- *       4: JSON test values
- */
-
-int main(int argc, char** argv) {
-    // TODO: improve arg management a little...
-    if (argc != 5) {
-        throw qpidit::ArgumentError("Incorrect number of arguments");
-    }
-
-    try {
-        Json::Value testValues;
-        Json::Reader jsonReader;
-        if (not jsonReader.parse(argv[4], testValues, false)) {
-            throw qpidit::JsonParserError(jsonReader);
-        }
-
-        qpidit::amqp_features_test::Sender sender(argv[1], argv[2], argv[3], testValues);
-        proton::default_container(sender).run();
-    } catch (const std::exception& e) {
-        std::cerr << "amqp_features_test Sender error: " << e.what() << std::endl;
-        exit(1);
-    }
-    exit(0);
-}
diff --git a/shims/qpid-proton-cpp/src/not_yet_impl/amqp_features_test/Sender.hpp b/shims/qpid-proton-cpp/src/not_yet_impl/amqp_features_test/Sender.hpp
deleted file mode 100644
index 62b00f5..0000000
--- a/shims/qpid-proton-cpp/src/not_yet_impl/amqp_features_test/Sender.hpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- *
- * 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.
- *
- */
-
-#ifndef SRC_QPIDIT_AMQP_DTX_TEST_SENDER_HPP_
-#define SRC_QPIDIT_AMQP_DTX_TEST_SENDER_HPP_
-
-#include <stdint.h>
-#include <json/value.h>
-#include <proton/messaging_handler.hpp>
-#include <string>
-
-namespace qpidit
-{
-    namespace amqp_features_test
-    {
-
-        class Sender : public proton::messaging_handler
-        {
-            const std::string _brokerUrl;
-            const std::string _queueName;
-            const std::string _testType;
-            const Json::Value _testValues;
-            uint32_t _msgsSent;
-            uint32_t _msgsConfirmed;
-            uint32_t _totalMsgs;
-        public:
-            Sender(const std::string& brokerUrl,
-                   const std::string& queueName,
-                   const std::string& testType,
-                   const Json::Value& testValues);
-            virtual ~Sender();
-
-            void on_container_start(proton::container& c);
-            void on_connection_open(proton::connection &c);
-            void on_sendable(proton::sender& s);
-            void on_tracker_accept(proton::tracker& t);
-            void on_transport_close(proton::transport& t);
-
-            void on_connection_error(proton::connection& c);
-            void on_session_error(proton::session& s);
-            void on_sender_error(proton::sender& s);
-            void on_transport_error(proton::transport& t);
-            void on_error(const proton::error_condition& c);
-        };
-
-    } /* namespace amqp_features_test */
-} /* namespace qpidit */
-
-#endif /* SRC_QPIDIT_AMQP_DTX_TEST_SENDER_HPP_ */
diff --git a/shims/qpid-proton-cpp/src/not_yet_impl/jms_dtx_test/Receiver.cpp b/shims/qpid-proton-cpp/src/not_yet_impl/jms_dtx_test/Receiver.cpp
deleted file mode 100644
index 027518c..0000000
--- a/shims/qpid-proton-cpp/src/not_yet_impl/jms_dtx_test/Receiver.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- *
- * 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.
- *
- */
-
-#include "qpidit/jms_dtx_test/Receiver.hpp"
-
-#include <stdlib.h> // exit()
-
-namespace qpidit
-{
-    namespace jms_dtx_test
-    {
-    } /* namespace jms_dtx_test */
-} /* namespace qpidit */
-
-
-/*
- * --- main ---
- * Args: 1: Broker address (ip-addr:port)
- *       2: Queue name
- *       ...
- */
-
-int main(int argc, char** argv) {
-    exit(0);
-}
diff --git a/shims/qpid-proton-cpp/src/not_yet_impl/jms_dtx_test/Receiver.hpp b/shims/qpid-proton-cpp/src/not_yet_impl/jms_dtx_test/Receiver.hpp
deleted file mode 100644
index 2509752..0000000
--- a/shims/qpid-proton-cpp/src/not_yet_impl/jms_dtx_test/Receiver.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *
- * 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.
- *
- */
-
-#ifndef SRC_QPIDIT_JMS_DTX_TEST_RECEIVER_HPP_
-#define SRC_QPIDIT_JMS_DTX_TEST_RECEIVER_HPP_
-
-#include <qpidit/JmsTestBase.hpp>
-
-namespace qpidit
-{
-    namespace jms_dtx_test
-    {
-
-        class Receiver : public qpidit::JmsTestBase
-        {
-        };
-
-    } /* namespace jms_dtx_test */
-} /* namespace qpidit */
-
-#endif /* SRC_QPIDIT_JMS_DTX_TEST_RECEIVER_HPP_ */
diff --git a/shims/qpid-proton-cpp/src/not_yet_impl/jms_dtx_test/Sender.cpp b/shims/qpid-proton-cpp/src/not_yet_impl/jms_dtx_test/Sender.cpp
deleted file mode 100644
index 501d0f9..0000000
--- a/shims/qpid-proton-cpp/src/not_yet_impl/jms_dtx_test/Sender.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- *
- * 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.
- *
- */
-
-#include "qpidit/jms_dtx_test/Sender.hpp"
-
-#include <stdlib.h> // exit()
-
-namespace qpidit
-{
-    namespace jms_dtx_test
-    {
-    } /* namespace jms_dtx_test */
-} /* namespace qpidit */
-
-
-/*
- * --- main ---
- * Args: 1: Broker address (ip-addr:port)
- *       2: Queue name
- *       ...
- */
-
-int main(int argc, char** argv) {
-    exit(0);
-}
diff --git a/shims/qpid-proton-cpp/src/not_yet_impl/jms_dtx_test/Sender.hpp b/shims/qpid-proton-cpp/src/not_yet_impl/jms_dtx_test/Sender.hpp
deleted file mode 100644
index 524ad63..0000000
--- a/shims/qpid-proton-cpp/src/not_yet_impl/jms_dtx_test/Sender.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *
- * 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.
- *
- */
-
-#ifndef SRC_QPIDIT_JMS_DTX_TEST_SENDER_HPP_
-#define SRC_QPIDIT_JMS_DTX_TEST_SENDER_HPP_
-
-#include <qpidit/JmsTestBase.hpp>
-
-namespace qpidit
-{
-    namespace jms_dtx_test
-    {
-
-        class Sender : public qpidit::JmsTestBase
-        {
-        };
-
-    } /* namespace jms_dtx_test */
-} /* namespace qpidit */
-
-#endif /* SRC_QPIDIT_JMS_DTX_TEST_SENDER_HPP_ */
diff --git a/shims/qpid-proton-cpp/src/not_yet_impl/jms_large_content_test/Receiver.cpp b/shims/qpid-proton-cpp/src/not_yet_impl/jms_large_content_test/Receiver.cpp
deleted file mode 100644
index 2234564..0000000
--- a/shims/qpid-proton-cpp/src/not_yet_impl/jms_large_content_test/Receiver.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- *
- * 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.
- *
- */
-
-#include "qpidit/jms_large_content_test/Receiver.hpp"
-
-#include <stdlib.h> // exit()
-
-namespace qpidit
-{
-    namespace jms_large_content_test
-    {
-    } /* namespace jms_large_content_test */
-} /* namespace qpidit */
-
-
-/*
- * --- main ---
- * Args: 1: Broker address (ip-addr:port)
- *       2: Queue name
- *       ...
- */
-
-int main(int argc, char** argv) {
-    exit(0);
-}
diff --git a/shims/qpid-proton-cpp/src/not_yet_impl/jms_large_content_test/Receiver.hpp b/shims/qpid-proton-cpp/src/not_yet_impl/jms_large_content_test/Receiver.hpp
deleted file mode 100644
index 2b891f3..0000000
--- a/shims/qpid-proton-cpp/src/not_yet_impl/jms_large_content_test/Receiver.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *
- * 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.
- *
- */
-
-#ifndef SRC_QPIDIT_JMS_LARGE_CONTENT_TEST_RECEIVER_HPP_
-#define SRC_QPIDIT_JMS_LARGE_CONTENT_TEST_RECEIVER_HPP_
-
-#include <qpidit/JmsTestBase.hpp>
-
-namespace qpidit
-{
-    namespace jms_large_content_test
-    {
-
-        class Receiver : public qpidit::JmsTestBase
-        {
-        };
-
-    } /* namespace jms_large_content_test */
-} /* namespace qpidit */
-
-#endif /* SRC_QPIDIT_JMS_LARGE_CONTENT_TEST_RECEIVER_HPP_ */
diff --git a/shims/qpid-proton-cpp/src/not_yet_impl/jms_large_content_test/Sender.cpp b/shims/qpid-proton-cpp/src/not_yet_impl/jms_large_content_test/Sender.cpp
deleted file mode 100644
index c151006..0000000
--- a/shims/qpid-proton-cpp/src/not_yet_impl/jms_large_content_test/Sender.cpp
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- *
- * 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.
- *
- */
-
-#include "qpidit/jms_large_content_test/Sender.hpp"
-
-#include <stdlib.h> // exit()
-
-namespace qpidit
-{
-    namespace jms_large_content_test
-    {
-    } /* namespace jms_large_content_test */
-} /* namespace qpidit */
-
-
-/*
- * --- main ---
- * Args: 1: Broker address (ip-addr:port)
- *       2: Queue name
- *       ...
- */
-
-int main(int argc, char** argv) {
-    exit(0);
-}
diff --git a/shims/qpid-proton-cpp/src/not_yet_impl/jms_large_content_test/Sender.hpp b/shims/qpid-proton-cpp/src/not_yet_impl/jms_large_content_test/Sender.hpp
deleted file mode 100644
index e45926b..0000000
--- a/shims/qpid-proton-cpp/src/not_yet_impl/jms_large_content_test/Sender.hpp
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- *
- * 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.
- *
- */
-
-#ifndef SRC_QPIDIT_JMS_LARGE_CONTENT_TEST_SENDER_HPP_
-#define SRC_QPIDIT_JMS_LARGE_CONTENT_TEST_SENDER_HPP_
-
-#include <qpidit/JmsTestBase.hpp>
-
-namespace qpidit
-{
-    namespace jms_large_content_test
-    {
-
-        class Sender : public qpidit::JmsTestBase
-        {
-        };
-
-    } /* namespace jms_large_content_test */
-} /* namespace qpidit */
-
-#endif /* SRC_QPIDIT_JMS_LARGE_CONTENT_TEST_SENDER_HPP_ */
diff --git a/shims/qpid-proton-python/not_yet_impl/amqp_dtx_test/Receiver.py b/shims/qpid-proton-python/not_yet_impl/amqp_dtx_test/Receiver.py
deleted file mode 100755
index 76be21c..0000000
--- a/shims/qpid-proton-python/not_yet_impl/amqp_dtx_test/Receiver.py
+++ /dev/null
@@ -1,76 +0,0 @@
-#!/usr/bin/env python
-
-"""
-AMQP distributed transactions (DTX) test receiver shim for qpid-interop-test
-"""
-
-#
-# 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.
-#
-
-import os.path
-import sys
-from traceback import format_exc
-
-from proton.handlers import MessagingHandler
-from proton.reactor import Container
-
-class AmqpDtxTestReceiver(MessagingHandler):
-    """
-    Receiver shim for AMQP dtx test
-    ...
-    """
-    def __init__(self, broker_url, queue_name):
-        super(AmqpDtxTestReceiver, self).__init__()
-        self.broker_url = broker_url
-        self.queue_name = queue_name
-        self.received_value_list = []
-        self.expected = int('0')
-        self.received = 0
-
-    def get_received_value_list(self):
-        """Return the received list of AMQP values"""
-        return self.received_value_list
-
-    def on_start(self, event):
-        """Event callback for when the client starts"""
-        connection = event.container.connect(url=self.broker_url, sasl_enabled=False)
-        event.container.create_receiver(connection, source=self.queue_name)
-
-    def on_message(self, event):
-        """Event callback when a message is received by the client"""
-        if event.message.id and event.message.id < self.received:
-            return # ignore duplicate message
-        if self.received < self.expected:
-            pass # do something here
-        if self.received >= self.expected:
-            event.receiver.close()
-            event.connection.close()
-
-# --- main ---
-# Args: 1: Broker address (ip-addr:port)
-#       2: Queue name
-#       ...
-try:
-    RECEIVER = AmqpDtxTestReceiver(sys.argv[1], sys.argv[2])
-    Container(RECEIVER).run()
-except KeyboardInterrupt:
-    pass
-except Exception as exc:
-    print os.path.basename(sys.argv[0]), 'EXCEPTION', exc
-    print format_exc()
diff --git a/shims/qpid-proton-python/not_yet_impl/amqp_dtx_test/Sender.py b/shims/qpid-proton-python/not_yet_impl/amqp_dtx_test/Sender.py
deleted file mode 100755
index 24419b8..0000000
--- a/shims/qpid-proton-python/not_yet_impl/amqp_dtx_test/Sender.py
+++ /dev/null
@@ -1,95 +0,0 @@
-#!/usr/bin/env python
-
-"""
-AMQP distributed transactions (DTX) test sender shim for qpid-interop-test
-"""
-
-#
-# 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.
-#
-
-import os.path
-import sys
-from traceback import format_exc
-
-from proton.handlers import MessagingHandler
-from proton.reactor import Container
-
-class AmqpDtxTestSender(MessagingHandler):
-    """
-    Sender shim for AMQP dtx test
-    ...
-    """
-    def __init__(self, broker_url, queue_name):
-        super(AmqpDtxTestSender, self).__init__()
-        self.broker_url = broker_url
-        self.queue_name = queue_name
-        self.test_value_list = []
-        self.sent = 0
-        self.confirmed = 0
-        self.total = len(self.test_value_list)
-
-    def on_start(self, event):
-        """Event callback for when the client starts"""
-        connection = event.container.connect(url=self.broker_url, sasl_enabled=False)
-        event.container.create_sender(connection, target=self.queue_name)
-
-    def on_sendable(self, event):
-        """Event callback for when send credit is received, allowing the sending of messages"""
-        if self.sent == 0:
-            for test_value in self.test_value_list:
-                if event.sender.credit:
-                    message = self.create_message(test_value)
-                    if message is not None:
-                        event.sender.send(message)
-                        self.sent += 1
-                    else:
-                        event.connection.close()
-                        return
-
-    def create_message(self, test_value):
-        """
-        Creates a single message with the test value translated from its string representation to the appropriate
-        AMQP value (set in self.amqp_type).
-        """
-        return None
-
-    def on_accepted(self, event):
-        """Event callback for when a sent message is accepted by the broker"""
-        self.confirmed += 1
-        if self.confirmed == self.total:
-            event.connection.close()
-
-    def on_disconnected(self, event):
-        """Event callback for when the broker disconnects with the client"""
-        self.sent = self.confirmed
-
-
-# --- main ---
-# Args: 1: Broker address (ip-addr:port)
-#       2: Queue name
-#       ...
-try:
-    SENDER = AmqpDtxTestSender(sys.argv[1], sys.argv[2])
-    Container(SENDER).run()
-except KeyboardInterrupt:
-    pass
-except Exception as exc:
-    print os.path.basename(sys.argv[0]), 'EXCEPTION:', exc
-    print format_exc()
-        
\ No newline at end of file
diff --git a/shims/qpid-proton-python/not_yet_impl/amqp_features_test/Receiver.py b/shims/qpid-proton-python/not_yet_impl/amqp_features_test/Receiver.py
deleted file mode 100755
index 4ee96ba..0000000
--- a/shims/qpid-proton-python/not_yet_impl/amqp_features_test/Receiver.py
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/usr/bin/env python
-
-"""
-AMQP features test receiver shim for qpid-interop-test
-"""
-
-#
-# 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.
-#
-
-from json import dumps
-import os.path
-import sys
-from traceback import format_exc
-
-from proton.handlers import MessagingHandler
-from proton.reactor import Container
-
-class AmqpFeaturesTestReceiver(MessagingHandler):
-    """
-    Reciver shim for AMQP dtx test
-    ...
-    """
-    def __init__(self, broker_url, queue_name, test_type, num_expected_messages_str):
-        super(AmqpFeaturesTestReceiver, self).__init__()
-        self.broker_url = broker_url
-        self.queue_name = queue_name
-        self.test_type = test_type
-        self.received_value_list = []
-        self.expected = int(num_expected_messages_str)
-        self.received = 0
-        self.remote_properties = None
-
-    def get_received_value_list(self):
-        """Return the received list of AMQP values"""
-        return self.received_value_list
-
-    def get_remote_properties(self):
-        """Return the remote (broker) properties"""
-        return self.remote_properties
-
-    def on_start(self, event):
-        """Event callback for when the client starts"""
-        connection = event.container.connect(url=self.broker_url, sasl_enabled=False)
-        event.container.create_receiver(connection, source=self.queue_name)
-
-    def on_connection_remote_open(self, event):
-        """Callback for remote connection open"""
-        self.remote_properties = event.connection.remote_properties
-        if self.test_type == 'connection_property':
-            event.connection.close()
-
-    def on_message(self, event):
-        """Event callback when a message is received by the client"""
-        if event.message.id and event.message.id < self.received:
-            return # ignore duplicate message
-        if self.received < self.expected:
-            pass # do something here
-        if self.received >= self.expected:
-            event.receiver.close()
-            event.connection.close()
-
-# --- main ---
-# Args: 1: Broker address (ip-addr:port)
-#       2: Queue name
-#       3: Test type
-#       4: Number of expected messages
-try:
-    RECEIVER = AmqpFeaturesTestReceiver(sys.argv[1], sys.argv[2], sys.argv[3], sys.argv[4])
-    Container(RECEIVER).run()
-    print sys.argv[3]
-    if (sys.argv[3] == 'connection_property'):
-        print dumps(RECEIVER.get_remote_properties())
-    else:
-        print dumps(RECEIVER.get_received_value_list())
- 
-except KeyboardInterrupt:
-    pass
-except Exception as exc:
-    print os.path.basename(sys.argv[0]), 'EXCEPTION', exc
-    print format_exc()
diff --git a/shims/qpid-proton-python/not_yet_impl/amqp_features_test/Sender.py b/shims/qpid-proton-python/not_yet_impl/amqp_features_test/Sender.py
deleted file mode 100755
index 7ac0114..0000000
--- a/shims/qpid-proton-python/not_yet_impl/amqp_features_test/Sender.py
+++ /dev/null
@@ -1,113 +0,0 @@
-#!/usr/bin/env python
-
-"""
-AMQP features test sender shim for qpid-interop-test
-"""
-
-#
-# 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.
-#
-
-from json import dumps, loads
-import os.path
-import sys
-from traceback import format_exc
-
-from proton.handlers import MessagingHandler
-from proton.reactor import Container
-
-class AmqpFeaturesTestSender(MessagingHandler):
-    """
-    Sender shim for AMQP dtx test
-    ...
-    """
-    def __init__(self, broker_url, queue_name, test_type, test_args):
-        super(AmqpFeaturesTestSender, self).__init__()
-        self.broker_url = broker_url
-        self.queue_name = queue_name
-        self.test_type = test_type
-        self.test_args = test_args
-        self.test_value_list = []
-        self.sent = 0
-        self.confirmed = 0
-        self.total = len(self.test_value_list)
-        self.remote_properties = None
-
-    def on_start(self, event):
-        """Event callback for when the client starts"""
-        connection = event.container.connect(url=self.broker_url, sasl_enabled=False)
-        event.container.create_sender(connection, target=self.queue_name)
-
-    def on_connection_remote_open(self, event):
-        """Callback for remote connection open"""
-        self.remote_properties = event.connection.remote_properties
-        if self.test_type == 'connection_property':
-            event.connection.close()
-
-    def on_sendable(self, event):
-        """Event callback for when send credit is received, allowing the sending of messages"""
-        if self.sent == 0:
-            for test_value in self.test_value_list:
-                if event.sender.credit:
-                    message = self.create_message(test_value)
-                    if message is not None:
-                        event.sender.send(message)
-                        self.sent += 1
-                    else:
-                        event.connection.close()
-                        return
-
-    def create_message(self, test_value):
-        """
-        Creates a single message with the test value translated from its string representation to the appropriate
-        AMQP value (set in self.amqp_type).
-        """
-        return None
-
-    def on_accepted(self, event):
-        """Event callback for when a sent message is accepted by the broker"""
-        self.confirmed += 1
-        if self.confirmed == self.total:
-            event.connection.close()
-
-    def on_disconnected(self, event):
-        """Event callback for when the broker disconnects with the client"""
-        self.sent = self.confirmed
-
-    def get_remote_properties(self):
-        """Return the remote (broker) properties"""
-        return self.remote_properties
-
-
-# --- main ---
-# Args: 1: Broker address (ip-addr:port)
-#       2: Queue name
-#       3: Test type
-#       4: Test args
-try:
-    SENDER = AmqpFeaturesTestSender(sys.argv[1], sys.argv[2], sys.argv[3], loads(sys.argv[4]))
-    Container(SENDER).run()
-    print sys.argv[3]
-    if sys.argv[3] == 'connection_property':
-        print dumps(SENDER.get_remote_properties())
-except KeyboardInterrupt:
-    pass
-except Exception as exc:
-    print os.path.basename(sys.argv[0]), 'EXCEPTION:', exc
-    print format_exc()
-        
\ No newline at end of file
diff --git a/shims/qpid-proton-python/not_yet_impl/jms_dtx_test/Receiver.py b/shims/qpid-proton-python/not_yet_impl/jms_dtx_test/Receiver.py
deleted file mode 100755
index e700106..0000000
--- a/shims/qpid-proton-python/not_yet_impl/jms_dtx_test/Receiver.py
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/usr/bin/env python
-
-"""
-JMS distributed transactions (DTX) test receiver shim for qpid-interop-test
-"""
-
-#
-# 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.
-#
-
-import os.path
-import sys
-from traceback import format_exc
-
-from proton.handlers import MessagingHandler
-from proton.reactor import Container
-
-class JmsDtxTestReceiver(MessagingHandler):
-    """
-    Receiver shim for JMS dtx test
-    ...
-    """
-    def __init__(self, broker_url, queue_name):
-        super(JmsDtxTestReceiver, self).__init__()
-        self.broker_url = broker_url
-        self.queue_name = queue_name
-        self.expected = int('0')
-        self.received = 0
-        self.received_value_list = []
-
-    def get_received_value_list(self):
-        """"Return the received list of values"""
-        return self.received_value_list
-
-    def on_start(self, event):
-        """Event callback for when the client starts"""
-        connection = event.container.connect(url=self.broker_url, sasl_enabled=False)
-        event.container.create_receiver(connection, source=self.queue_name)
-
-    def on_message(self, event):
-        """Event callback when a message is received by the client"""
-        if event.message.id and event.message.id < self.received:
-            return # ignore duplicate message
-        if self.received < self.expected:
-            pass # do something here
-        if self.received >= self.expected:
-            event.receiver.close()
-            event.connection.close()
-
-
-# --- main ---
-# Args: 1: Broker address (ip-addr:port)
-#       2: Queue name
-#       ...
-try:
-    RECEIVER = JmsDtxTestReceiver(sys.argv[1], sys.argv[2])
-    Container(RECEIVER).run()
-except KeyboardInterrupt:
-    pass
-except Exception as exc:
-    print os.path.basename(sys.argv[0]), 'EXCEPTION', exc
-    print format_exc()
diff --git a/shims/qpid-proton-python/not_yet_impl/jms_dtx_test/Sender.py b/shims/qpid-proton-python/not_yet_impl/jms_dtx_test/Sender.py
deleted file mode 100755
index 9e7aa0f..0000000
--- a/shims/qpid-proton-python/not_yet_impl/jms_dtx_test/Sender.py
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/usr/bin/env python
-
-"""
-JMS distributed transactions (DTX) test sender shim for qpid-interop-test
-"""
-
-#
-# 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.
-#
-
-import os.path
-import sys
-from traceback import format_exc
-
-from proton.handlers import MessagingHandler
-from proton.reactor import Container
-
-class JmsDtxTestSender(MessagingHandler):
-    """
-    Sender shim for JMS dtx test
-    ...
-    """
-    def __init__(self, broker_url, queue_name):
-        super(JmsDtxTestSender, self).__init__()
-        self.broker_url = broker_url
-        self.queue_name = queue_name
-        self.test_value_list = []
-        self.sent = 0
-        self.confirmed = 0
-        self.total = 0
-
-    def on_start(self, event):
-        """Event callback for when the client starts"""
-        connection = event.container.connect(url=self.broker_url, sasl_enabled=False)
-        event.container.create_sender(connection, target=self.queue_name)
-
-    def on_sendable(self, event):
-        """Event callback for when send credit is received, allowing the sending of messages"""
-        if self.sent == 0:
-            for test_value in self.test_value_list:
-                if event.sender.credit:
-                    message = self.create_message(test_value)
-                    if message is not None:
-                        event.sender.send(message)
-                        self.sent += 1
-                    else:
-                        event.connection.close()
-                        return
-
-    def create_message(self, test_value):
-        """
-        Creates a single JMS message with the test value translated from its string representation to the appropriate
-        value (set in self.amqp_type).
-        """
-        return None
-
-    def on_accepted(self, event):
-        """Event callback for when a sent message is accepted by the broker"""
-        self.confirmed += 1
-        if self.confirmed == self.total:
-            event.connection.close()
-
-    def on_disconnected(self, event):
-        """Event callback for when the broker disconnects with the client"""
-        self.sent = self.confirmed
-
-
-
-
-# --- main ---
-# Args: 1: Broker address (ip-addr:port)
-#       2: Queue name
-#       ...
-try:
-    SENDER = JmsDtxTestSender(sys.argv[1], sys.argv[2])
-    Container(SENDER).run()
-except KeyboardInterrupt:
-    pass
-except Exception as exc:
-    print os.path.basename(sys.argv[0]), 'EXCEPTION:', exc
-    print format_exc()
diff --git a/shims/qpid-proton-python/not_yet_impl/jms_large_content_test/Receiver.py b/shims/qpid-proton-python/not_yet_impl/jms_large_content_test/Receiver.py
deleted file mode 100755
index e4942de..0000000
--- a/shims/qpid-proton-python/not_yet_impl/jms_large_content_test/Receiver.py
+++ /dev/null
@@ -1,77 +0,0 @@
-#!/usr/bin/env python
-
-"""
-JMS large content test receiver shim for qpid-interop-test
-"""
-
-#
-# 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.
-#
-
-import os.path
-import sys
-from traceback import format_exc
-
-from proton.handlers import MessagingHandler
-from proton.reactor import Container
-
-class JmsLargeContentTestReceiver(MessagingHandler):
-    """
-    Receiver shim for JMS large content test
-    ...
-    """
-    def __init__(self, broker_url, queue_name):
-        super(JmsLargeContentTestReceiver, self).__init__()
-        self.broker_url = broker_url
-        self.queue_name = queue_name
-        self.expected = int('0')
-        self.received = 0
-        self.received_value_list = []
-
-    def get_received_value_list(self):
-        """"Return the received list of values"""
-        return self.received_value_list
-
-    def on_start(self, event):
-        """Event callback for when the client starts"""
-        connection = event.container.connect(url=self.broker_url, sasl_enabled=False)
-        event.container.create_receiver(connection, source=self.queue_name)
-
-    def on_message(self, event):
-        """Event callback when a message is received by the client"""
-        if event.message.id and event.message.id < self.received:
-            return # ignore duplicate message
-        if self.received < self.expected:
-            pass # do something here
-        if self.received >= self.expected:
-            event.receiver.close()
-            event.connection.close()
-
-
-# --- main ---
-# Args: 1: Broker address (ip-addr:port)
-#       2: Queue name
-#       ...
-try:
-    RECEIVER = JmsLargeContentTestReceiver(sys.argv[1], sys.argv[2])
-    Container(RECEIVER).run()
-except KeyboardInterrupt:
-    pass
-except Exception as exc:
-    print os.path.basename(sys.argv[0]), 'EXCEPTION', exc
-    print format_exc()
diff --git a/shims/qpid-proton-python/not_yet_impl/jms_large_content_test/Sender.py b/shims/qpid-proton-python/not_yet_impl/jms_large_content_test/Sender.py
deleted file mode 100755
index 076c55c..0000000
--- a/shims/qpid-proton-python/not_yet_impl/jms_large_content_test/Sender.py
+++ /dev/null
@@ -1,96 +0,0 @@
-#!/usr/bin/env python
-
-"""
-JMS large content test sender shim for qpid-interop-test
-"""
-
-#
-# 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.
-#
-
-import os.path
-import sys
-from traceback import format_exc
-
-from proton.handlers import MessagingHandler
-from proton.reactor import Container
-
-class JmsLargeContentTestSender(MessagingHandler):
-    """
-    Sender shim for JMS dtx test
-    ...
-    """
-    def __init__(self, broker_url, queue_name):
-        super(JmsLargeContentTestSender, self).__init__()
-        self.broker_url = broker_url
-        self.queue_name = queue_name
-        self.test_value_list = []
-        self.sent = 0
-        self.confirmed = 0
-        self.total = 0
-
-    def on_start(self, event):
-        """Event callback for when the client starts"""
-        connection = event.container.connect(url=self.broker_url, sasl_enabled=False)
-        event.container.create_sender(connection, target=self.queue_name)
-
-    def on_sendable(self, event):
-        """Event callback for when send credit is received, allowing the sending of messages"""
-        if self.sent == 0:
-            for test_value in self.test_value_list:
-                if event.sender.credit:
-                    message = self.create_message(test_value)
-                    if message is not None:
-                        event.sender.send(message)
-                        self.sent += 1
-                    else:
-                        event.connection.close()
-                        return
-
-    def create_message(self, test_value):
-        """
-        Creates a single JMS message with the test value translated from its string representation to the appropriate
-        value (set in self.amqp_type).
-        """
-        return None
-
-    def on_accepted(self, event):
-        """Event callback for when a sent message is accepted by the broker"""
-        self.confirmed += 1
-        if self.confirmed == self.total:
-            event.connection.close()
-
-    def on_disconnected(self, event):
-        """Event callback for when the broker disconnects with the client"""
-        self.sent = self.confirmed
-
-
-
-
-# --- main ---
-# Args: 1: Broker address (ip-addr:port)
-#       2: Queue name
-#       ...
-try:
-    SENDER = JmsLargeContentTestSender(sys.argv[1], sys.argv[2])
-    Container(SENDER).run()
-except KeyboardInterrupt:
-    pass
-except Exception as exc:
-    print os.path.basename(sys.argv[0]), 'EXCEPTION:', exc
-    print format_exc()
diff --git a/src/python/not_yet_impl/amqp_dtx_test.py b/src/python/not_yet_impl/amqp_dtx_test.py
deleted file mode 100644
index 7e4a644..0000000
--- a/src/python/not_yet_impl/amqp_dtx_test.py
+++ /dev/null
@@ -1,136 +0,0 @@
-#!/usr/bin/env python
-
-"""
-Module to test AMQP distributed transactions across different clients
-"""
-
-#
-# 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.
-#
-
-import argparse
-import sys
-import unittest
-
-#from itertools import product
-#from json import dumps
-from os import getenv, path
-#from time import mktime, time
-#from uuid import UUID, uuid4
-
-from proton import symbol
-#import qpid_interop_test.broker_properties
-import qpid_interop_test.shims
-#from qpid_interop_test.test_type_map import TestTypeMap
-
-# TODO: propose a sensible default when installation details are worked out
-QPID_INTEROP_TEST_HOME = getenv('QPID_INTEROP_TEST_HOME')
-if QPID_INTEROP_TEST_HOME is None:
-    print 'ERROR: Environment variable QPID_INTEROP_TEST_HOME is not set'
-    sys.exit(1)
-
-
-class AmqpDtxTestCase(unittest.TestCase):
-    """
-    Abstract base class for AMQP distributed transactions (DTX) test cases
-    """
-
-    def run_test(self):
-        """
-        Run this test by invoking the shim send method to send the test values, followed by the shim receive method
-        to receive the values. Finally, compare the sent values with the received values.
-        """
-        pass
-
-
-# SHIM_MAP contains an instance of each client language shim that is to be tested as a part of this test. For
-# every shim in this list, a test is dynamically constructed which tests it against itself as well as every
-# other shim in the list.
-#
-# As new shims are added, add them into this map to have them included in the test cases.
-PROTON_CPP_RECEIVER_SHIM = path.join(QPID_INTEROP_TEST_HOME, 'shims', 'qpid-proton-cpp', 'build', 'amqp_dtx_test',
-                                     'Receiver')
-PROTON_CPP_SENDER_SHIM = path.join(QPID_INTEROP_TEST_HOME, 'shims', 'qpid-proton-cpp', 'build', 'amqp_dtx_test',
-                                   'Sender')
-PROTON_PYTHON_RECEIVER_SHIM = path.join(QPID_INTEROP_TEST_HOME, 'shims', 'qpid-proton-python', 'src', 'amqp_dtx_test',
-                                        'Receiver.py')
-PROTON_PYTHON_SENDER_SHIM = path.join(QPID_INTEROP_TEST_HOME, 'shims', 'qpid-proton-python', 'src', 'amqp_dtx_test',
-                                      'Sender.py')
-
-SHIM_MAP = {qpid_interop_test.shims.ProtonCppShim.NAME: \
-                qpid_interop_test.shims.ProtonCppShim(PROTON_CPP_SENDER_SHIM, PROTON_CPP_RECEIVER_SHIM),
-            qpid_interop_test.shims.ProtonPythonShim.NAME: \
-                qpid_interop_test.shims.ProtonPythonShim(PROTON_PYTHON_SENDER_SHIM, PROTON_PYTHON_RECEIVER_SHIM),
-           }
-
-
-class TestOptions(object):
-    """
-    Class controlling command-line arguments used to control the test.
-    """
-    def __init__(self):
-        parser = argparse.ArgumentParser(description='Qpid-interop AMQP client interoparability test suite '
-                                         'for AMQP distrubuted (dtx) transactions')
-        parser.add_argument('--broker', action='store', default='localhost:5672', metavar='BROKER:PORT',
-                            help='Broker against which to run test suite.')
-        parser.add_argument('--exclude-shim', action='append', metavar='SHIM-NAME',
-                            help='Name of shim to exclude. Supported shims:\n%s' % sorted(SHIM_MAP.keys()))
-        self.args = parser.parse_args()
-
-
-#--- Main program start ---
-
-if __name__ == '__main__':
-
-    ARGS = TestOptions().args
-    #print 'ARGS:', ARGS # debug
-
-    # Connect to broker to find broker type
-    CONNECTION_PROPS = qpid_interop_test.broker_properties.get_broker_properties(ARGS.sender)
-    if CONNECTION_PROPS is None:
-        print 'WARNING: Unable to get connection properties - unknown broker'
-        BROKER = 'unknown'
-    else:
-        BROKER = CONNECTION_PROPS[symbol(u'product')] if symbol(u'product') in CONNECTION_PROPS \
-                 else '<product not found>'
-        BROKER_VERSION = CONNECTION_PROPS[symbol(u'version')] if symbol(u'version') in CONNECTION_PROPS \
-                         else '<version not found>'
-        BROKER_PLATFORM = CONNECTION_PROPS[symbol(u'platform')] if symbol(u'platform') in CONNECTION_PROPS \
-                          else '<platform not found>'
-        print 'Test Broker: %s v.%s on %s' % (BROKER, BROKER_VERSION, BROKER_PLATFORM)
-        print
-        sys.stdout.flush()
-
-    # TEST_CASE_CLASSES is a list that collects all the test classes that are constructed. One class is constructed
-    # per AMQP type used as the key in map AmqpPrimitiveTypes.TYPE_MAP.
-    TEST_CASE_CLASSES = []
-
-    # TEST_SUITE is the final suite of tests that will be run and which contains all the dynamically created
-    # type classes, each of which contains a test for the combinations of client shims
-    TEST_SUITE = unittest.TestSuite()
-
-    # Remove shims excluded from the command-line
-    if ARGS.exclude_shim is not None:
-        for shim in ARGS.exclude_shim:
-            SHIM_MAP.pop(shim)
-    # Create test classes dynamically
-
-    # Finally, run all the dynamically created tests
-    RES = unittest.TextTestRunner(verbosity=2).run(TEST_SUITE)
-    if not RES.wasSuccessful():
-        sys.exit(1) # Errors or failures present
diff --git a/src/python/not_yet_impl/amqp_features_test.py b/src/python/not_yet_impl/amqp_features_test.py
deleted file mode 100644
index 83f140f..0000000
--- a/src/python/not_yet_impl/amqp_features_test.py
+++ /dev/null
@@ -1,195 +0,0 @@
-#!/usr/bin/env python
-
-"""
-Module to test AMQP features across different clients
-"""
-
-#
-# 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.
-#
-
-import argparse
-import sys
-import unittest
-
-from json import dumps
-from os import getenv, path
-
-from proton import symbol
-import qpid_interop_test.shims
-
-# TODO: propose a sensible default when installation details are worked out
-QPID_INTEROP_TEST_HOME = getenv('QPID_INTEROP_TEST_HOME')
-if QPID_INTEROP_TEST_HOME is None:
-    print 'ERROR: Environment variable QPID_INTEROP_TEST_HOME is not set'
-    sys.exit(1)
-
-
-class AmqpFeaturesTestCase(unittest.TestCase):
-    """
-    Abstract base class for AMQP message features test cases
-    """
-
-    def run_test(self, sender_addr, receiver_addr, test_type, send_shim, receive_shim):
-        """
-        Run this test by invoking the shim send method to send the test values, followed by the shim receive method
-        to receive the values. Finally, compare the sent values with the received values.
-        """
-        send_queue_name = 'jms.queue.qpid-interop.amqp_features_test.%s' % send_shim.NAME
-        receive_queue_name = 'jms.queue.qpid-interop.amqp_features_test.%s' % receive_shim.NAME
-
-        # Start the receive shim first (for queueless brokers/dispatch)
-        receiver = receive_shim.create_receiver(receiver_addr, receive_queue_name, test_type, '0')
-        receiver.start()
-
-        # Start the send shim
-        sender = send_shim.create_sender(sender_addr, send_queue_name, test_type, dumps([None]))
-        sender.start()
-
-        # Wait for both shims to finish
-        sender.join_or_kill(qpid_interop_test.shims.THREAD_TIMEOUT)
-        receiver.join_or_kill(qpid_interop_test.shims.THREAD_TIMEOUT)
-
-        if test_type == 'connection_property':
-            self.check_connection_property_test_results(sender.get_return_object(), receiver.get_return_object())
-
-    def check_connection_property_test_results(self, sender_return_obj, receiver_return_obj):
-        """Check received connection property for pass/fail of test"""
-        self.check_connection_properties(sender_return_obj[1], 'sender')
-        self.check_connection_properties(receiver_return_obj[1], 'receiver')
-
-    def check_connection_properties(self, connection_properties, source):
-        """Check an individual connection property for pass/fail"""
-        keys = connection_properties.keys()
-        if 'product' not in keys:
-            self.fail('Broker connection properties (from %s) missing "product" key' % source)
-        if 'version' not in keys:
-            self.fail('Broker connection properties (from %s) missing "version" key' % source)
-        for key in keys:
-            self.assertTrue(len(connection_properties[key]) > 0, msg='Property "%s" (from %s) is empty' % (key, source))
-
-
-def create_connection_property_test_class(send_shim, receive_shim):
-    """
-    Class factory function which creates new subclasses to AmqpFeaturesTestCase.
-    """
-
-    def __repr__(self):
-        """Print the class name"""
-        return self.__class__.__name__
-
-    def add_test_method(cls, send_shim, receive_shim):
-        """Function which creates a new test method in class cls"""
-
-        def inner_test_method(self):
-            self.run_test(self.sender_addr, self.receiver_addr, 'connection_property', send_shim, receive_shim)
-
-        inner_test_method.__name__ = 'test_connection_properties_%s->%s' % (send_shim.NAME, receive_shim.NAME)
-        setattr(cls, inner_test_method.__name__, inner_test_method)
-
-    class_name = 'ConnectionPropertyTestCase'
-    class_dict = {'__name__': class_name,
-                  '__repr__': __repr__,
-                  '__doc__': 'Test case for AMQP connection properties',
-                  'sender_addr': ARGS.sender,
-                  'receiver_addr': ARGS.receiver}
-    new_class = type(class_name, (AmqpFeaturesTestCase,), class_dict)
-    add_test_method(new_class, send_shim, receive_shim)
-    return new_class
-
-# SHIM_MAP contains an instance of each client language shim that is to be tested as a part of this test. For
-# every shim in this list, a test is dynamically constructed which tests it against itself as well as every
-# other shim in the list.
-#
-# As new shims are added, add them into this map to have them included in the test cases.
-PROTON_CPP_RECEIVER_SHIM = path.join(QPID_INTEROP_TEST_HOME, 'shims', 'qpid-proton-cpp', 'build', 'amqp_features_test',
-                                     'Receiver')
-PROTON_CPP_SENDER_SHIM = path.join(QPID_INTEROP_TEST_HOME, 'shims', 'qpid-proton-cpp', 'build', 'amqp_features_test',
-                                   'Sender')
-PROTON_PYTHON_RECEIVER_SHIM = path.join(QPID_INTEROP_TEST_HOME, 'shims', 'qpid-proton-python', 'src',
-                                        'amqp_features_test', 'Receiver.py')
-PROTON_PYTHON_SENDER_SHIM = path.join(QPID_INTEROP_TEST_HOME, 'shims', 'qpid-proton-python', 'src',
-                                      'amqp_features_test', 'Sender.py')
-
-SHIM_MAP = {#qpid_interop_test.shims.ProtonCppShim.NAME: \
-            #    qpid_interop_test.shims.ProtonCppShim(PROTON_CPP_SENDER_SHIM, PROTON_CPP_RECEIVER_SHIM),
-            qpid_interop_test.shims.ProtonPythonShim.NAME: \
-                qpid_interop_test.shims.ProtonPythonShim(PROTON_PYTHON_SENDER_SHIM, PROTON_PYTHON_RECEIVER_SHIM),
-           }
-
-
-class TestOptions(object):
-    """
-    Class controlling command-line arguments used to control the test.
-    """
-    def __init__(self):
-        parser = argparse.ArgumentParser(description='Qpid-interop AMQP client interoparability test suite '
-                                         'for AMQP messaging features')
-        parser.add_argument('--sender', action='store', default='localhost:5672', metavar='IP-ADDR:PORT',
-                            help='Node to which test suite will send messages.')
-        parser.add_argument('--receiver', action='store', default='localhost:5672', metavar='IP-ADDR:PORT',
-                            help='Node from which test suite will receive messages.')
-        parser.add_argument('--exclude-shim', action='append', metavar='SHIM-NAME',
-                            help='Name of shim to exclude. Supported shims:\n%s' % sorted(SHIM_MAP.keys()))
-        self.args = parser.parse_args()
-
-
-#--- Main program start ---
-
-if __name__ == '__main__':
-
-    ARGS = TestOptions().args
-    #print 'ARGS:', ARGS # debug
-
-    # Connect to broker to find broker type
-    CONNECTION_PROPS = qpid_interop_test.broker_properties.get_broker_properties(ARGS.sender)
-    if CONNECTION_PROPS is None:
-        print 'WARNING: Unable to get connection properties - unknown broker'
-        BROKER = 'unknown'
-    else:
-        BROKER = CONNECTION_PROPS[symbol(u'product')] if symbol(u'product') in CONNECTION_PROPS \
-                 else '<product not found>'
-        BROKER_VERSION = CONNECTION_PROPS[symbol(u'version')] if symbol(u'version') in CONNECTION_PROPS \
-                         else '<version not found>'
-        BROKER_PLATFORM = CONNECTION_PROPS[symbol(u'platform')] if symbol(u'platform') in CONNECTION_PROPS \
-                          else '<platform not found>'
-        print 'Test Broker: %s v.%s on %s' % (BROKER, BROKER_VERSION, BROKER_PLATFORM)
-        print
-        sys.stdout.flush()
-
-    # TEST_CASE_CLASSES is a list that collects all the test classes that are constructed. One class is constructed
-    # per AMQP type used as the key in map AmqpPrimitiveTypes.TYPE_MAP.
-    TEST_CASE_CLASSES = []
-
-    # TEST_SUITE is the final suite of tests that will be run and which contains all the dynamically created
-    # type classes, each of which contains a test for the combinations of client shims
-    TEST_SUITE = unittest.TestSuite()
-
-    # Remove shims excluded from the command-line
-    if ARGS.exclude_shim is not None:
-        for shim in ARGS.exclude_shim:
-            SHIM_MAP.pop(shim)
-    # Create test classes dynamically
-    for shim_name in SHIM_MAP.keys():
-        test_case_class = create_connection_property_test_class(SHIM_MAP[shim_name], SHIM_MAP[shim_name])
-        TEST_SUITE.addTest(unittest.makeSuite(test_case_class))
-
-    # Finally, run all the dynamically created tests
-    RES = unittest.TextTestRunner(verbosity=2).run(TEST_SUITE)
-    if not RES.wasSuccessful():
-        sys.exit(1) # Errors or failures present
diff --git a/src/python/not_yet_impl/jms_dtx_test.py b/src/python/not_yet_impl/jms_dtx_test.py
deleted file mode 100644
index fd998a7..0000000
--- a/src/python/not_yet_impl/jms_dtx_test.py
+++ /dev/null
@@ -1,146 +0,0 @@
-#!/usr/bin/env python
-
-"""
-Module to test JMS distributed transactions (DTX) across different JMS clients
-"""
-
-#
-# 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.
-#
-
-import argparse
-import sys
-import unittest
-
-#from itertools import product
-#from json import dumps
-from os import getenv, path
-
-from proton import symbol
-#import qpid_interop_test.broker_properties
-import qpid_interop_test.shims
-#from qpid_interop_test.test_type_map import TestTypeMap
-
-
-# TODO: propose a sensible default when installation details are worked out
-QPID_INTEROP_TEST_HOME = getenv('QPID_INTEROP_TEST_HOME')
-if QPID_INTEROP_TEST_HOME is None:
-    print 'ERROR: Environment variable QPID_INTEROP_TEST_HOME is not set'
-    sys.exit(1)
-MAVEN_REPO_PATH = getenv('MAVEN_REPO_PATH', path.join(getenv('HOME'), '.m2', 'repository'))
-
-
-
-class JmsDtxTypeTestCase(unittest.TestCase):
-    """
-    Abstract base class for JMS DTX test cases
-    """
-
-    def run_test(self, broker_addr, jms_message_type, test_values, send_shim, receive_shim):
-        """
-        Run this test by invoking the shim send method to send the test values, followed by the shim receive method
-        to receive the values. Finally, compare the sent values with the received values.
-        """
-        pass
-
-
-PROTON_CPP_RECEIVER_SHIM = path.join(QPID_INTEROP_TEST_HOME, 'shims', 'qpid-proton-cpp', 'build',
-                                     'jms_dtx_test', 'Receiver')
-PROTON_CPP_SENDER_SHIM = path.join(QPID_INTEROP_TEST_HOME, 'shims', 'qpid-proton-cpp', 'build',
-                                   'jms_dtx_test', 'Sender')
-PROTON_PYTHON_RECEIVER_SHIM = path.join(QPID_INTEROP_TEST_HOME, 'shims', 'qpid-proton-python', 'src',
-                                        'jms_dtx_test', 'Receiver.py')
-PROTON_PYTHON_SENDER_SHIM = path.join(QPID_INTEROP_TEST_HOME, 'shims', 'qpid-proton-python', 'src',
-                                      'jms_dtx_test', 'Sender.py')
-QIT_JMS_CLASSPATH_FILE = path.join(QPID_INTEROP_TEST_HOME, 'shims', 'qpid-jms', 'cp.txt')
-with open(QIT_JMS_CLASSPATH_FILE, 'r') as classpath_file:
-    QIT_JMS_CLASSPATH = classpath_file.read()
-QPID_JMS_RECEIVER_SHIM = 'org.apache.qpid.interop_test.jms_dtx_test.Receiver'
-QPID_JMS_SENDER_SHIM = 'org.apache.qpid.interop_test.jms_dtx_test.Sender'
-
-# SHIM_MAP contains an instance of each client language shim that is to be tested as a part of this test. For
-# every shim in this list, a test is dynamically constructed which tests it against itself as well as every
-# other shim in the list.
-#
-# As new shims are added, add them into this map to have them included in the test cases.
-SHIM_MAP = {qpid_interop_test.shims.ProtonCppShim.NAME: \
-                qpid_interop_test.shims.ProtonCppShim(PROTON_CPP_SENDER_SHIM, PROTON_CPP_RECEIVER_SHIM),
-            qpid_interop_test.shims.ProtonPythonShim.NAME: \
-                qpid_interop_test.shims.ProtonPythonShim(PROTON_PYTHON_SENDER_SHIM, PROTON_PYTHON_RECEIVER_SHIM),
-            qpid_interop_test.shims.QpidJmsShim.NAME: \
-                qpid_interop_test.shims.QpidJmsShim(QIT_JMS_CLASSPATH, QPID_JMS_SENDER_SHIM, QPID_JMS_RECEIVER_SHIM),
-           }
-
-# TODO: Complete the test options to give fine control over running tests
-class TestOptions(object):
-    """
-    Class controlling command-line arguments used to control the test.
-    """
-    def __init__(self,):
-        parser = argparse.ArgumentParser(description='Qpid-interop AMQP client interoparability test suite '
-                                         'for JMS distrubuted (dtx) transactions')
-        parser.add_argument('--sender', action='store', default='localhost:5672', metavar='IP-ADDR:PORT',
-                            help='Node to which test suite will send messages.')
-        parser.add_argument('--receiver', action='store', default='localhost:5672', metavar='IP-ADDR:PORT',
-                            help='Node from which test suite will receive messages.')
-        parser.add_argument('--exclude-shim', action='append', metavar='SHIM-NAME',
-                            help='Name of shim to exclude. Supported shims:\n%s' % sorted(SHIM_MAP.keys()))
-        self.args = parser.parse_args()
-
-
-#--- Main program start ---
-
-if __name__ == '__main__':
-
-    ARGS = TestOptions().args
-    #print 'ARGS:', ARGS # debug
-
-    # Connect to broker to find broker type
-    CONNECTION_PROPS = qpid_interop_test.broker_properties.get_broker_properties(ARGS.sender)
-    if CONNECTION_PROPS is None:
-        print 'WARNING: Unable to get connection properties - unknown broker'
-        BROKER = 'unknown'
-    else:
-        BROKER = CONNECTION_PROPS[symbol(u'product')] if symbol(u'product') in CONNECTION_PROPS \
-                 else '<product not found>'
-        BROKER_VERSION = CONNECTION_PROPS[symbol(u'version')] if symbol(u'version') in CONNECTION_PROPS \
-                         else '<version not found>'
-        BROKER_PLATFORM = CONNECTION_PROPS[symbol(u'platform')] if symbol(u'platform') in CONNECTION_PROPS \
-                          else '<platform not found>'
-        print 'Test Broker: %s v.%s on %s' % (BROKER, BROKER_VERSION, BROKER_PLATFORM)
-        print
-        sys.stdout.flush()
-
-    # TEST_CASE_CLASSES is a list that collects all the test classes that are constructed. One class is constructed
-    # per AMQP type used as the key in map JmsMessageTypes.TYPE_MAP.
-    TEST_CASE_CLASSES = []
-
-    # TEST_SUITE is the final suite of tests that will be run and which contains all the dynamically created
-    # type classes, each of which contains a test for the combinations of client shims
-    TEST_SUITE = unittest.TestSuite()
-
-    # Remove shims excluded from the command-line
-    if ARGS.exclude_shim is not None:
-        for shim in ARGS.exclude_shim:
-            SHIM_MAP.pop(shim)
-    # Create test classes dynamically
-
-    # Finally, run all the dynamically created tests
-    RES = unittest.TextTestRunner(verbosity=2).run(TEST_SUITE)
-    if not RES.wasSuccessful():
-        sys.exit(1)
diff --git a/src/python/not_yet_impl/jms_large_content_test.py b/src/python/not_yet_impl/jms_large_content_test.py
deleted file mode 100644
index 6387060..0000000
--- a/src/python/not_yet_impl/jms_large_content_test.py
+++ /dev/null
@@ -1,144 +0,0 @@
-#!/usr/bin/env python
-
-"""
-Module to test JMS messages containing large content (either message bodies or properties) across different JMS clients
-"""
-
-#
-# 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.
-#
-
-import argparse
-import sys
-import unittest
-
-#from itertools import product
-#from json import dumps
-from os import getenv, path
-
-from proton import symbol
-#import qpid_interop_test.broker_properties
-import qpid_interop_test.shims
-#from qpid_interop_test.test_type_map import TestTypeMap
-
-
-# TODO: propose a sensible default when installation details are worked out
-QPID_INTEROP_TEST_HOME = getenv('QPID_INTEROP_TEST_HOME')
-if QPID_INTEROP_TEST_HOME is None:
-    print 'ERROR: Environment variable QPID_INTEROP_TEST_HOME is not set'
-    sys.exit(1)
-MAVEN_REPO_PATH = getenv('MAVEN_REPO_PATH', path.join(getenv('HOME'), '.m2', 'repository'))
-
-
-
-class JmsLargeContentTypeTestCase(unittest.TestCase):
-    """
-    Abstract base class for JMS large content test cases
-    """
-
-    def run_test(self, broker_addr, jms_message_type, test_values, send_shim, receive_shim):
-        """
-        Run this test by invoking the shim send method to send the test values, followed by the shim receive method
-        to receive the values. Finally, compare the sent values with the received values.
-        """
-        pass
-
-
-PROTON_CPP_RECEIVER_SHIM = path.join(QPID_INTEROP_TEST_HOME, 'shims', 'qpid-proton-cpp', 'build',
-                                     'jms_large_content_test', 'Receiver')
-PROTON_CPP_SENDER_SHIM = path.join(QPID_INTEROP_TEST_HOME, 'shims', 'qpid-proton-cpp', 'build',
-                                   'jms_large_content_test', 'Sender')
-PROTON_PYTHON_RECEIVER_SHIM = path.join(QPID_INTEROP_TEST_HOME, 'shims', 'qpid-proton-python', 'src',
-                                        'jms_large_content_test', 'Receiver.py')
-PROTON_PYTHON_SENDER_SHIM = path.join(QPID_INTEROP_TEST_HOME, 'shims', 'qpid-proton-python', 'src',
-                                      'jms_large_content_test', 'Sender.py')
-QIT_JMS_CLASSPATH_FILE = path.join(QPID_INTEROP_TEST_HOME, 'shims', 'qpid-jms', 'cp.txt')
-with open(QIT_JMS_CLASSPATH_FILE, 'r') as classpath_file:
-    QIT_JMS_CLASSPATH = classpath_file.read()
-QPID_JMS_RECEIVER_SHIM = 'org.apache.qpid.interop_test.jms_large_content_test.Receiver'
-QPID_JMS_SENDER_SHIM = 'org.apache.qpid.interop_test.jms_large_content_test.Sender'
-
-# SHIM_MAP contains an instance of each client language shim that is to be tested as a part of this test. For
-# every shim in this list, a test is dynamically constructed which tests it against itself as well as every
-# other shim in the list.
-#
-# As new shims are added, add them into this map to have them included in the test cases.
-SHIM_MAP = {qpid_interop_test.shims.ProtonCppShim.NAME: \
-                qpid_interop_test.shims.ProtonCppShim(PROTON_CPP_SENDER_SHIM, PROTON_CPP_RECEIVER_SHIM),
-            qpid_interop_test.shims.ProtonPythonShim.NAME: \
-                qpid_interop_test.shims.ProtonPythonShim(PROTON_PYTHON_SENDER_SHIM, PROTON_PYTHON_RECEIVER_SHIM),
-            qpid_interop_test.shims.QpidJmsShim.NAME: \
-                qpid_interop_test.shims.QpidJmsShim(QIT_JMS_CLASSPATH, QPID_JMS_SENDER_SHIM, QPID_JMS_RECEIVER_SHIM),
-           }
-
-# TODO: Complete the test options to give fine control over running tests
-class TestOptions(object):
-    """
-    Class controlling command-line arguments used to control the test.
-    """
-    def __init__(self,):
-        parser = argparse.ArgumentParser(description='Qpid-interop AMQP client interoparability test suite '
-                                         'for JMS messages containing large content')
-        parser.add_argument('--broker', action='store', default='localhost:5672', metavar='BROKER:PORT',
-                            help='Broker against which to run test suite.')
-        parser.add_argument('--exclude-shim', action='append', metavar='SHIM-NAME',
-                            help='Name of shim to exclude. Supported shims:\n%s' % sorted(SHIM_MAP.keys()))
-        self.args = parser.parse_args()
-
-
-#--- Main program start ---
-
-if __name__ == '__main__':
-
-    ARGS = TestOptions().args
-    #print 'ARGS:', ARGS # debug
-
-    # Connect to broker to find broker type
-    CONNECTION_PROPS = qpid_interop_test.broker_properties.get_broker_properties(ARGS.broker)
-    if CONNECTION_PROPS is None:
-        print 'WARNING: Unable to get connection properties - unknown broker'
-        BROKER = 'unknown'
-    else:
-        BROKER = CONNECTION_PROPS[symbol(u'product')] if symbol(u'product') in CONNECTION_PROPS \
-                 else '<product not found>'
-        BROKER_VERSION = CONNECTION_PROPS[symbol(u'version')] if symbol(u'version') in CONNECTION_PROPS \
-                         else '<version not found>'
-        BROKER_PLATFORM = CONNECTION_PROPS[symbol(u'platform')] if symbol(u'platform') in CONNECTION_PROPS \
-                          else '<platform not found>'
-        print 'Test Broker: %s v.%s on %s' % (BROKER, BROKER_VERSION, BROKER_PLATFORM)
-        print
-        sys.stdout.flush()
-
-    # TEST_CASE_CLASSES is a list that collects all the test classes that are constructed. One class is constructed
-    # per AMQP type used as the key in map JmsMessageTypes.TYPE_MAP.
-    TEST_CASE_CLASSES = []
-
-    # TEST_SUITE is the final suite of tests that will be run and which contains all the dynamically created
-    # type classes, each of which contains a test for the combinations of client shims
-    TEST_SUITE = unittest.TestSuite()
-
-    # Remove shims excluded from the command-line
-    if ARGS.exclude_shim is not None:
-        for shim in ARGS.exclude_shim:
-            SHIM_MAP.pop(shim)
-    # Create test classes dynamically
-
-    # Finally, run all the dynamically created tests
-    RES = unittest.TextTestRunner(verbosity=2).run(TEST_SUITE)
-    if not RES.wasSuccessful():
-        sys.exit(1)
diff --git a/src/python/qpid_interop_test/amqp_types_test.py b/src/python/qpid_interop_test/amqp_types_test.py
index c54c977..9971c2c 100755
--- a/src/python/qpid_interop_test/amqp_types_test.py
+++ b/src/python/qpid_interop_test/amqp_types_test.py
@@ -259,9 +259,6 @@
     # This section contains tests that should be skipped because of know issues that would cause the test to fail.
     # As the issues are resolved, these should be removed.
     BROKER_SKIP = {
-        'null': {'ActiveMQ': 'Null type not sent in Proton Python binding: PROTON-1091',
-                 'qpid-cpp': 'Null type not sent in Proton Python binding: PROTON-1091',
-                 'qpid-dispatch-router': 'router with qpid or activemq broker',},
         'decimal32': {'ActiveMQ': 'decimal32 and decimal64 sent byte reversed: PROTON-1160',
                       'qpid-cpp': 'decimal32 not supported on qpid-cpp broker: QPIDIT-5, QPID-6328',
                       'apache-activemq-artemis': 'decimal32 and decimal64 sent byte reversed: PROTON-1160',
diff --git a/src/python/qpid_interop_test/jms_hdrs_props_test.py b/src/python/qpid_interop_test/jms_hdrs_props_test.py
index b436162..0f3b16d 100755
--- a/src/python/qpid_interop_test/jms_hdrs_props_test.py
+++ b/src/python/qpid_interop_test/jms_hdrs_props_test.py
@@ -637,8 +637,8 @@
     else:
       QIT_JMS_CLASSPATH = path.join(QIT_TEST_SHIM_HOME, 'qpid-jms',
                                     'qpid-interop-test-jms-shim-%s-jar-with-dependencies.jar' % QPID_JMS_SHIM_VER)
-    QPID_JMS_RECEIVER_SHIM = 'org.apache.qpid.qpid_interop_test.jms_hdrs_props_test.Receiver'
-    QPID_JMS_SENDER_SHIM = 'org.apache.qpid.qpid_interop_test.jms_hdrs_props_test.Sender'
+    QPID_JMS_RECEIVER_SHIM = 'org.apache.qpid.interop_test.jms_hdrs_props_test.Receiver'
+    QPID_JMS_SENDER_SHIM = 'org.apache.qpid.interop_test.jms_hdrs_props_test.Sender'
 
     # SHIM_MAP contains an instance of each client language shim that is to be tested as a part of this test. For
     # every shim in this list, a test is dynamically constructed which tests it against itself as well as every
diff --git a/src/python/qpid_interop_test/jms_messages_test.py b/src/python/qpid_interop_test/jms_messages_test.py
index 6a6f630..8fd6b48 100755
--- a/src/python/qpid_interop_test/jms_messages_test.py
+++ b/src/python/qpid_interop_test/jms_messages_test.py
@@ -344,8 +344,8 @@
     else:
       QIT_JMS_CLASSPATH = path.join(QIT_TEST_SHIM_HOME, 'qpid-jms',
                                     'qpid-interop-test-jms-shim-%s-jar-with-dependencies.jar' % QPID_JMS_SHIM_VER)
-    QPID_JMS_RECEIVER_SHIM = 'org.apache.qpid.qpid_interop_test.jms_messages_test.Receiver'
-    QPID_JMS_SENDER_SHIM = 'org.apache.qpid.qpid_interop_test.jms_messages_test.Sender'
+    QPID_JMS_RECEIVER_SHIM = 'org.apache.qpid.interop_test.jms_messages_test.Receiver'
+    QPID_JMS_SENDER_SHIM = 'org.apache.qpid.interop_test.jms_messages_test.Sender'
 
     # SHIM_MAP contains an instance of each client language shim that is to be tested as a part of this test. For
     # every shim in this list, a test is dynamically constructed which tests it against itself as well as every
diff --git a/utils/src/main/java/org/apache/qpid/qpid_interop_test/obj_util/BytesToJavaObj.java b/utils/src/main/java/org/apache/qpid/interop_test/obj_util/BytesToJavaObj.java
similarity index 100%
rename from utils/src/main/java/org/apache/qpid/qpid_interop_test/obj_util/BytesToJavaObj.java
rename to utils/src/main/java/org/apache/qpid/interop_test/obj_util/BytesToJavaObj.java
diff --git a/utils/src/main/java/org/apache/qpid/qpid_interop_test/obj_util/JavaObjToBytes.java b/utils/src/main/java/org/apache/qpid/interop_test/obj_util/JavaObjToBytes.java
similarity index 100%
rename from utils/src/main/java/org/apache/qpid/qpid_interop_test/obj_util/JavaObjToBytes.java
rename to utils/src/main/java/org/apache/qpid/interop_test/obj_util/JavaObjToBytes.java