You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by rg...@apache.org on 2014/08/17 17:04:18 UTC

svn commit: r1618478 - in /qpid/trunk/qpid/java: ./ broker-core/src/main/java/org/apache/qpid/server/configuration/store/ broker-core/src/main/java/org/apache/qpid/server/model/port/ systests/etc/ systests/src/main/java/org/apache/qpid/test/utils/ syst...

Author: rgodfrey
Date: Sun Aug 17 15:04:18 2014
New Revision: 1618478

URL: http://svn.apache.org/r1618478
Log:
QPID-6010 : [Java Tests] Use context defaulting to select protocols in use

Modified:
    qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandler.java
    qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/PortFactory.java
    qpid/trunk/qpid/java/pom.xml
    qpid/trunk/qpid/java/systests/etc/config-systests.json
    qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
    qpid/trunk/qpid/java/systests/src/test/java/org/apache/qpid/server/SupportedProtocolVersionsTest.java

Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandler.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandler.java?rev=1618478&r1=1618477&r2=1618478&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandler.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandler.java Sun Aug 17 15:04:18 2014
@@ -34,6 +34,9 @@ import org.apache.qpid.server.BrokerOpti
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
 import org.apache.qpid.server.model.Broker;
 import org.apache.qpid.server.model.ConfiguredObject;
+import org.apache.qpid.server.model.ConfiguredObjectAttribute;
+import org.apache.qpid.server.model.ConfiguredObjectTypeRegistry;
+import org.apache.qpid.server.model.Model;
 import org.apache.qpid.server.model.Port;
 import org.apache.qpid.server.model.Protocol;
 import org.apache.qpid.server.model.State;
@@ -44,7 +47,6 @@ import org.apache.qpid.server.store.Conf
 import org.apache.qpid.server.store.DurableConfigurationStore;
 import org.apache.qpid.server.store.StoreException;
 import org.apache.qpid.server.store.handler.ConfiguredObjectRecordHandler;
-import org.apache.qpid.server.util.MapValueConverter;
 
 public class ManagementModeStoreHandler implements DurableConfigurationStore
 {
@@ -455,7 +457,13 @@ public class ManagementModeStoreHandler 
         {
             return null;
         }
-        return MapValueConverter.getEnumSetAttribute(Port.PROTOCOLS, attributes, Protocol.class);
+        Model model = _parent.getModel();
+        ConfiguredObjectTypeRegistry typeRegistry = model.getTypeRegistry();
+        Map<String, ConfiguredObjectAttribute<?, ?>> attributeTypes =
+                typeRegistry.getAttributeTypes(Port.class);
+        ConfiguredObjectAttribute protocolsAttribute = attributeTypes.get(Port.PROTOCOLS);
+        return (Set<Protocol>) protocolsAttribute.convert(object,_parent);
+
     }
 
     private ConfiguredObjectRecord createEntryWithState(ConfiguredObjectRecord entry, Object state)

Modified: qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/PortFactory.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/PortFactory.java?rev=1618478&r1=1618477&r2=1618478&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/PortFactory.java (original)
+++ qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/PortFactory.java Sun Aug 17 15:04:18 2014
@@ -24,8 +24,12 @@ import java.util.Map;
 import java.util.Set;
 
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
+import org.apache.qpid.server.model.Broker;
 import org.apache.qpid.server.model.ConfiguredObject;
+import org.apache.qpid.server.model.ConfiguredObjectAttribute;
 import org.apache.qpid.server.model.ConfiguredObjectFactory;
+import org.apache.qpid.server.model.ConfiguredObjectTypeRegistry;
+import org.apache.qpid.server.model.Model;
 import org.apache.qpid.server.model.Port;
 import org.apache.qpid.server.model.Protocol;
 import org.apache.qpid.server.model.Protocol.ProtocolType;
@@ -34,7 +38,6 @@ import org.apache.qpid.server.plugin.Con
 import org.apache.qpid.server.plugin.PluggableService;
 import org.apache.qpid.server.store.ConfiguredObjectRecord;
 import org.apache.qpid.server.store.UnresolvedConfiguredObject;
-import org.apache.qpid.server.util.MapValueConverter;
 
 @PluggableService
 public class PortFactory<X extends Port<X>> implements ConfiguredObjectTypeFactory<X>
@@ -52,11 +55,14 @@ public class PortFactory<X extends Port<
     {
     }
 
-    private ProtocolType getProtocolType(Map<String, Object> portAttributes)
+    private ProtocolType getProtocolType(Map<String, Object> portAttributes, Broker<?> broker)
     {
-
-        Set<Protocol> protocols = MapValueConverter.getEnumSetAttribute(Port.PROTOCOLS, portAttributes, Protocol.class);
-
+        Model model = broker.getModel();
+        ConfiguredObjectTypeRegistry typeRegistry = model.getTypeRegistry();
+        Map<String, ConfiguredObjectAttribute<?, ?>> attributeTypes =
+                typeRegistry.getAttributeTypes(Port.class);
+        ConfiguredObjectAttribute protocolsAttribute = attributeTypes.get(Port.PROTOCOLS);
+        Set<Protocol> protocols = (Set<Protocol>) protocolsAttribute.convert(portAttributes.get(Port.PROTOCOLS),broker);
         ProtocolType protocolType = null;
 
         if(protocols == null || protocols.isEmpty())
@@ -98,7 +104,7 @@ public class PortFactory<X extends Port<
                     final Map<String, Object> attributes,
                     final ConfiguredObject<?>... parents)
     {
-        return getPortFactory(factory, attributes).create(factory, attributes,parents);
+        return getPortFactory(factory, attributes, (Broker<?>)parents[0]).create(factory, attributes,parents);
     }
 
     @Override
@@ -106,11 +112,12 @@ public class PortFactory<X extends Port<
                                                  final ConfiguredObjectRecord record,
                                                  final ConfiguredObject<?>... parents)
     {
-        return getPortFactory(factory, record.getAttributes()).recover(factory, record, parents);
+        return getPortFactory(factory, record.getAttributes(), (Broker<?>)parents[0]).recover(factory, record, parents);
     }
 
     public ConfiguredObjectTypeFactory<X> getPortFactory(final ConfiguredObjectFactory factory,
-                                                         Map<String, Object> attributes)
+                                                         Map<String, Object> attributes,
+                                                         Broker<?> broker)
     {
         String type;
 
@@ -120,7 +127,7 @@ public class PortFactory<X extends Port<
         }
         else
         {
-            type = getProtocolType(attributes).name();
+            type = getProtocolType(attributes, broker).name();
         }
 
         return factory.getConfiguredObjectTypeFactory(Port.class.getSimpleName(), type);

Modified: qpid/trunk/qpid/java/pom.xml
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/pom.xml?rev=1618478&r1=1618477&r2=1618478&view=diff
==============================================================================
--- qpid/trunk/qpid/java/pom.xml (original)
+++ qpid/trunk/qpid/java/pom.xml Sun Aug 17 15:04:18 2014
@@ -65,7 +65,7 @@
     <profile.test.excludes>Excludes JavaExcludes ${profile}.excludes ${profile.specific.excludes}</profile.test.excludes>
     <profile.specific.excludes>JavaTransientExcludes Java010Excludes</profile.specific.excludes>
     <profile.broker.version>v0_10</profile.broker.version>
-    <profile.qpid.broker_default_amqp_protocol_excludes>AMQP_1_0</profile.qpid.broker_default_amqp_protocol_excludes>
+    <profile.test.amqp_port_protocols>["AMQP_0_8","AMQP_0_9","AMQP_0_9_1","AMQP_0_10"]</profile.test.amqp_port_protocols>
     <profile.broker.persistent>false</profile.broker.persistent>
     <profile.virtualhostnode.type>Memory</profile.virtualhostnode.type>
     <profile.broker.clean.between.tests>true</profile.broker.clean.between.tests>
@@ -174,7 +174,7 @@
                 <echo>[profile.specific.excludes] ${profile.specific.excludes}</echo>
                 <echo>[profile.test.excludes] ${profile.test.excludes}</echo>
                 <echo>[profile.broker.version] ${profile.broker.version}</echo>
-                <echo>[profile.qpid.broker_default_amqp_protocol_excludes] ${profile.qpid.broker_default_amqp_protocol_excludes}</echo>
+                <echo>[profile.test.amqp_port_protocols] ${profile.test.amqp_port_protocols}</echo>
                 <echo>[profile.broker.persistent] ${profile.broker.persistent}</echo>
                 <echo>[profile.virtualhostnode.type] ${profile.virtualhostnode.type}</echo>
                 <echo>[profile.virtualhostnode.context.blueprint] ${profile.virtualhostnode.context.blueprint}</echo>
@@ -241,7 +241,7 @@
             <broker.command.windows>${profile.broker.command.windows}</broker.command.windows>
             <test.excludes>${profile.test.excludes}</test.excludes>
             <broker.version>${profile.broker.version}</broker.version>
-            <qpid.broker_default_amqp_protocol_excludes>${profile.qpid.broker_default_amqp_protocol_excludes}</qpid.broker_default_amqp_protocol_excludes>
+            <test.amqp_port_protocols>${profile.test.amqp_port_protocols}</test.amqp_port_protocols>
             <broker.persistent>${profile.broker.persistent}</broker.persistent>
             <virtualhostnode.type>${profile.virtualhostnode.type}</virtualhostnode.type>
             <virtualhostnode.context.blueprint>${profile.virtualhostnode.context.blueprint}</virtualhostnode.context.blueprint>
@@ -400,7 +400,7 @@
         <profile>java-mms.0-10</profile>
         <profile.specific.excludes>JavaTransientExcludes Java010Excludes</profile.specific.excludes>
         <profile.broker.version>v0_10</profile.broker.version>
-        <profile.qpid.broker_default_amqp_protocol_excludes>AMQP_1_0</profile.qpid.broker_default_amqp_protocol_excludes>
+        <profile.test.amqp_port_protocols>["AMQP_0_8","AMQP_0_9","AMQP_0_9_1","AMQP_0_10"]</profile.test.amqp_port_protocols>
         <profile.broker.persistent>false</profile.broker.persistent>
         <profile.virtualhostnode.type>Memory</profile.virtualhostnode.type>
         <profile.virtualhostnode.context.blueprint>{"type":"ProvidedStore"}</profile.virtualhostnode.context.blueprint>
@@ -419,7 +419,7 @@
         <profile>java-mms.0-9-1</profile>
         <profile.specific.excludes>JavaTransientExcludes XAExcludes JavaPre010Excludes</profile.specific.excludes>
         <profile.broker.version>v0_9_1</profile.broker.version>
-        <profile.qpid.broker_default_amqp_protocol_excludes>AMQP_1_0,AMQP_0_10</profile.qpid.broker_default_amqp_protocol_excludes>
+        <profile.test.amqp_port_protocols>["AMQP_0_8","AMQP_0_9","AMQP_0_9_1"]</profile.test.amqp_port_protocols>
         <profile.broker.persistent>false</profile.broker.persistent>
         <profile.virtualhostnode.type>Memory</profile.virtualhostnode.type>
         <profile.virtualhostnode.context.blueprint>{"type":"ProvidedStore"}</profile.virtualhostnode.context.blueprint>
@@ -438,7 +438,7 @@
         <profile>java-mms.0-9</profile>
         <profile.specific.excludes>JavaTransientExcludes XAExcludes JavaPre010Excludes</profile.specific.excludes>
         <profile.broker.version>v0_9</profile.broker.version>
-        <profile.qpid.broker_default_amqp_protocol_excludes>AMQP_1_0,AMQP_0_10,AMQP_0_9_1</profile.qpid.broker_default_amqp_protocol_excludes>
+        <profile.test.amqp_port_protocols>["AMQP_0_8","AMQP_0_9"]</profile.test.amqp_port_protocols>
         <profile.broker.persistent>false</profile.broker.persistent>
         <profile.virtualhostnode.type>Memory</profile.virtualhostnode.type>
         <profile.virtualhostnode.context.blueprint>{"type":"ProvidedStore"}</profile.virtualhostnode.context.blueprint>
@@ -457,7 +457,7 @@
         <profile>java-bdb.0-10</profile>
         <profile.specific.excludes>JavaPersistentExcludes Java010Excludes JavaBDBExcludes</profile.specific.excludes>
         <profile.broker.version>v0_10</profile.broker.version>
-        <profile.qpid.broker_default_amqp_protocol_excludes>AMQP_1_0</profile.qpid.broker_default_amqp_protocol_excludes>
+        <profile.test.amqp_port_protocols>["AMQP_0_8","AMQP_0_9","AMQP_0_9_1","AMQP_0_10"]</profile.test.amqp_port_protocols>
         <profile.broker.persistent>true</profile.broker.persistent>
         <profile.virtualhostnode.type>BDB</profile.virtualhostnode.type>
         <profile.virtualhostnode.context.blueprint>{"type":"ProvidedStore"}</profile.virtualhostnode.context.blueprint>
@@ -476,7 +476,7 @@
         <profile>java-bdb.0-9-1</profile>
         <profile.specific.excludes>JavaPersistentExcludes XAExcludes JavaPre010Excludes JavaBDBExcludes</profile.specific.excludes>
         <profile.broker.version>v0_9_1</profile.broker.version>
-        <profile.qpid.broker_default_amqp_protocol_excludes>AMQP_1_0,AMQP_0_10</profile.qpid.broker_default_amqp_protocol_excludes>
+        <profile.test.amqp_port_protocols>["AMQP_0_8","AMQP_0_9","AMQP_0_9_1"]</profile.test.amqp_port_protocols>
         <profile.broker.persistent>true</profile.broker.persistent>
         <profile.virtualhostnode.type>BDB</profile.virtualhostnode.type>
         <profile.virtualhostnode.context.blueprint>{"type":"ProvidedStore"}</profile.virtualhostnode.context.blueprint>
@@ -495,7 +495,7 @@
         <profile>java-bdb.0-9</profile>
         <profile.specific.excludes>JavaPersistentExcludes XAExcludes JavaPre010Excludes JavaBDBExcludes</profile.specific.excludes>
         <profile.broker.version>v0_9</profile.broker.version>
-        <profile.qpid.broker_default_amqp_protocol_excludes>AMQP_1_0,AMQP_0_10,AMQP_0_9_1</profile.qpid.broker_default_amqp_protocol_excludes>
+        <profile.test.amqp_port_protocols>["AMQP_0_8","AMQP_0_9"]</profile.test.amqp_port_protocols>
         <profile.broker.persistent>true</profile.broker.persistent>
         <profile.virtualhostnode.type>BDB</profile.virtualhostnode.type>
         <profile.virtualhostnode.context.blueprint>{"type":"ProvidedStore"}</profile.virtualhostnode.context.blueprint>
@@ -514,7 +514,7 @@
         <profile>java-dby-mem.0-10</profile>
         <profile.specific.excludes>JavaPersistentExcludes JavaDerbyExcludes Java010Excludes</profile.specific.excludes>
         <profile.broker.version>v0_10</profile.broker.version>
-        <profile.qpid.broker_default_amqp_protocol_excludes>AMQP_1_0</profile.qpid.broker_default_amqp_protocol_excludes>
+        <profile.test.amqp_port_protocols>["AMQP_0_8","AMQP_0_9","AMQP_0_9_1","AMQP_0_10"]</profile.test.amqp_port_protocols>
         <profile.broker.persistent>true</profile.broker.persistent>
         <profile.virtualhostnode.type>DERBY</profile.virtualhostnode.type>
         <profile.virtualhostnode.context.blueprint>{"type":"ProvidedStore"}</profile.virtualhostnode.context.blueprint>
@@ -533,7 +533,7 @@
         <profile>java-dby-mem.0-9-1</profile>
         <profile.specific.excludes>JavaPersistentExcludes JavaDerbyExcludes XAExcludes JavaPre010Excludes</profile.specific.excludes>
         <profile.broker.version>v0_9_1</profile.broker.version>
-        <profile.qpid.broker_default_amqp_protocol_excludes>AMQP_1_0,AMQP_0_10</profile.qpid.broker_default_amqp_protocol_excludes>
+        <profile.test.amqp_port_protocols>["AMQP_0_8","AMQP_0_9","AMQP_0_9_1"]</profile.test.amqp_port_protocols>
         <profile.broker.persistent>true</profile.broker.persistent>
         <profile.virtualhostnode.type>DERBY</profile.virtualhostnode.type>
         <profile.virtualhostnode.context.blueprint>{"type":"ProvidedStore"}</profile.virtualhostnode.context.blueprint>
@@ -552,7 +552,7 @@
         <profile>java-dby-mem.0-9</profile>
         <profile.specific.excludes>JavaPersistentExcludes JavaDerbyExcludes XAExcludes JavaPre010Excludes</profile.specific.excludes>
         <profile.broker.version>v0_9</profile.broker.version>
-        <profile.qpid.broker_default_amqp_protocol_excludes>AMQP_1_0,AMQP_0_10,AMQP_0_9_1</profile.qpid.broker_default_amqp_protocol_excludes>
+        <profile.test.amqp_port_protocols>["AMQP_0_8","AMQP_0_9"]</profile.test.amqp_port_protocols>
         <profile.broker.persistent>true</profile.broker.persistent>
         <profile.virtualhostnode.type>DERBY</profile.virtualhostnode.type>
         <profile.virtualhostnode.context.blueprint>{"type":"ProvidedStore"}</profile.virtualhostnode.context.blueprint>
@@ -571,7 +571,7 @@
         <profile>java-dby.0-10</profile>
         <profile.specific.excludes>JavaPersistentExcludes JavaDerbyExcludes Java010Excludes</profile.specific.excludes>
         <profile.broker.version>v0_10</profile.broker.version>
-        <profile.qpid.broker_default_amqp_protocol_excludes>AMQP_1_0</profile.qpid.broker_default_amqp_protocol_excludes>
+        <profile.test.amqp_port_protocols>["AMQP_0_8","AMQP_0_9","AMQP_0_9_1","AMQP_0_10"]</profile.test.amqp_port_protocols>
         <profile.broker.persistent>true</profile.broker.persistent>
         <profile.virtualhostnode.type>DERBY</profile.virtualhostnode.type>
         <profile.virtualhostnode.context.blueprint>{"type":"ProvidedStore"}</profile.virtualhostnode.context.blueprint>
@@ -590,7 +590,7 @@
         <profile>java-dby.0-9-1</profile>
         <profile.specific.excludes>JavaPersistentExcludes JavaDerbyExcludes XAExcludes JavaPre010Excludes</profile.specific.excludes>
         <profile.broker.version>v0_9_1</profile.broker.version>
-        <profile.qpid.broker_default_amqp_protocol_excludes>AMQP_1_0,AMQP_0_10</profile.qpid.broker_default_amqp_protocol_excludes>
+        <profile.test.amqp_port_protocols>["AMQP_0_8","AMQP_0_9","AMQP_0_9_1"]</profile.test.amqp_port_protocols>
         <profile.broker.persistent>true</profile.broker.persistent>
         <profile.virtualhostnode.type>DERBY</profile.virtualhostnode.type>
         <profile.virtualhostnode.context.blueprint>{"type":"ProvidedStore"}</profile.virtualhostnode.context.blueprint>
@@ -609,7 +609,7 @@
         <profile>java-dby.0-9</profile>
         <profile.specific.excludes>JavaPersistentExcludes JavaDerbyExcludes XAExcludes JavaPre010Excludes</profile.specific.excludes>
         <profile.broker.version>v0_9</profile.broker.version>
-        <profile.qpid.broker_default_amqp_protocol_excludes>AMQP_1_0,AMQP_0_10,AMQP_0_9_1</profile.qpid.broker_default_amqp_protocol_excludes>
+        <profile.test.amqp_port_protocols>["AMQP_0_8","AMQP_0_9"]</profile.test.amqp_port_protocols>
         <profile.broker.persistent>true</profile.broker.persistent>
         <profile.virtualhostnode.type>DERBY</profile.virtualhostnode.type>
         <profile.virtualhostnode.context.blueprint>{"type":"ProvidedStore"}</profile.virtualhostnode.context.blueprint>
@@ -633,7 +633,7 @@
         <profile>java-json.0-9-1</profile>
         <profile.specific.excludes>JavaPersistentExcludes JavaJsonExcludes XAExcludes JavaPre010Excludes</profile.specific.excludes>
         <profile.broker.version>v0_9_1</profile.broker.version>
-        <profile.qpid.broker_default_amqp_protocol_excludes>AMQP_1_0,AMQP_0_10</profile.qpid.broker_default_amqp_protocol_excludes>
+        <profile.test.amqp_port_protocols>["AMQP_0_8","AMQP_0_9","AMQP_0_9_1"]</profile.test.amqp_port_protocols>
         <profile.broker.persistent>true</profile.broker.persistent>
         <profile.virtualhostnode.type>JSON</profile.virtualhostnode.type>
         <profile.virtualhostnode.context.blueprint>{"type":"DERBY","storePath":"${dollar.sign}{json:QPID_WORK}${dollar.sign}{json:file.separator}${dollar.sign}{this:name}${dollar.sign}{json:file.separator}derby"}</profile.virtualhostnode.context.blueprint>
@@ -652,7 +652,7 @@
               <profile>java-json.0-10</profile>
               <profile.specific.excludes>JavaPersistentExcludes JavaJsonExcludes XAExcludes Java010Excludes</profile.specific.excludes>
               <profile.broker.version>v0_10</profile.broker.version>
-              <profile.qpid.broker_default_amqp_protocol_excludes>AMQP_1_0</profile.qpid.broker_default_amqp_protocol_excludes>
+              <profile.test.amqp_port_protocols>["AMQP_0_8","AMQP_0_9","AMQP_0_9_1","AMQP_0_10"]</profile.test.amqp_port_protocols>
               <profile.broker.persistent>true</profile.broker.persistent>
               <profile.virtualhostnode.type>JSON</profile.virtualhostnode.type>
               <profile.virtualhostnode.context.blueprint>{"type":"DERBY","storePath":"${dollar.sign}{QPID_WORK}/${dollar.sign}{this:name}/derby"}</profile.virtualhostnode.context.blueprint>

Modified: qpid/trunk/qpid/java/systests/etc/config-systests.json
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/etc/config-systests.json?rev=1618478&r1=1618477&r2=1618478&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/etc/config-systests.json (original)
+++ qpid/trunk/qpid/java/systests/etc/config-systests.json Sun Aug 17 15:04:18 2014
@@ -41,7 +41,8 @@
   "ports" : [  {
     "name" : "amqp",
     "authenticationProvider" : "plain",
-    "port" : "${test.port}"
+    "port" : "${test.port}",
+    "protocols" : "${test.amqp_port_protocols}"
   }, {
     "name" : "http",
     "authenticationProvider" : "plain",

Modified: qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java?rev=1618478&r1=1618477&r2=1618478&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java (original)
+++ qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java Sun Aug 17 15:04:18 2014
@@ -142,6 +142,8 @@ public class QpidBrokerTestCase extends 
     public static final int DEFAULT_HTTP_MANAGEMENT_PORT_VALUE = 8080;
     public static final int DEFAULT_HTTPS_MANAGEMENT_PORT_VALUE = 8443;
 
+    public static final String TEST_AMQP_PORT_PROTOCOLS_PROPERTY="test.amqp_port_protocols";
+
     // values
     protected static final String JAVA = "java";
     protected static final String CPP = "cpp";
@@ -559,6 +561,8 @@ public class QpidBrokerTestCase extends 
                 setSystemProperty("test.port.ssl");
                 setSystemProperty("test.port.alt");
                 setSystemProperty("test.port.alt.ssl");
+                setSystemProperty("test.amqp_port_protocols");
+
                 setSystemProperty("virtualhostnode.type");
                 setSystemProperty("virtualhostnode.context.blueprint");
 

Modified: qpid/trunk/qpid/java/systests/src/test/java/org/apache/qpid/server/SupportedProtocolVersionsTest.java
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/systests/src/test/java/org/apache/qpid/server/SupportedProtocolVersionsTest.java?rev=1618478&r1=1618477&r2=1618478&view=diff
==============================================================================
--- qpid/trunk/qpid/java/systests/src/test/java/org/apache/qpid/server/SupportedProtocolVersionsTest.java (original)
+++ qpid/trunk/qpid/java/systests/src/test/java/org/apache/qpid/server/SupportedProtocolVersionsTest.java Sun Aug 17 15:04:18 2014
@@ -20,6 +20,15 @@
  */
 package org.apache.qpid.server;
 
+import java.io.IOException;
+import java.io.StringWriter;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.codehaus.jackson.map.ObjectMapper;
+
 import org.apache.qpid.client.AMQConnection;
 import org.apache.qpid.configuration.ClientProperties;
 import org.apache.qpid.framing.ProtocolVersion;
@@ -43,11 +52,41 @@ public class SupportedProtocolVersionsTe
         // No-op, we call super.setUp() from test methods after appropriate config overrides
     }
 
-    private void clearProtocolSupportManipulations()
+    private void clearProtocolSupportManipulations() throws Exception
     {
         //Remove the QBTC provided protocol manipulations, giving only the protocols which default to enabled
         setSystemProperty(BrokerProperties.PROPERTY_BROKER_DEFAULT_AMQP_PROTOCOL_EXCLUDES, null);
         setSystemProperty(BrokerProperties.PROPERTY_BROKER_DEFAULT_AMQP_PROTOCOL_INCLUDES, null);
+        setSystemProperty(QpidBrokerTestCase.TEST_AMQP_PORT_PROTOCOLS_PROPERTY, getProtocolsAsString(getAllAmqpProtocols()));
+    }
+
+    private Collection<Protocol> getAllAmqpProtocols() throws Exception
+    {
+        Collection<Protocol> protocols = new HashSet<>();
+        for(Protocol p : Protocol.values())
+        {
+            if(p.getProtocolType() == Protocol.ProtocolType.AMQP)
+            {
+                protocols.add(p);
+            }
+        }
+
+        return protocols;
+    }
+
+    private String getProtocolsWithExclusions(Protocol... excludes) throws Exception
+    {
+        Set<Protocol> protocols = new HashSet<>(getAllAmqpProtocols());
+        protocols.removeAll(Arrays.asList(excludes));
+        return getProtocolsAsString(protocols);
+    }
+
+    private String getProtocolsAsString(final Collection<Protocol> protocols) throws IOException
+    {
+        ObjectMapper mapper = new ObjectMapper();
+        StringWriter stringWriter = new StringWriter();
+        mapper.writeValue(stringWriter, protocols);
+        return stringWriter.toString();
     }
 
     /**
@@ -89,11 +128,7 @@ public class SupportedProtocolVersionsTe
 
     public void testDisabling010and10() throws Exception
     {
-        clearProtocolSupportManipulations();
-
-        //disable 0-10 and 1-0 support
-        setSystemProperty(BrokerProperties.PROPERTY_BROKER_DEFAULT_AMQP_PROTOCOL_EXCLUDES,
-                Protocol.AMQP_1_0 + "," + Protocol.AMQP_0_10);
+        setSystemProperty(QpidBrokerTestCase.TEST_AMQP_PORT_PROTOCOLS_PROPERTY, getProtocolsWithExclusions(Protocol.AMQP_1_0, Protocol.AMQP_0_10));
 
         super.setUp();
 
@@ -110,8 +145,8 @@ public class SupportedProtocolVersionsTe
         clearProtocolSupportManipulations();
 
         //disable 0-10 support, and set the default unsupported protocol initiation reply to 0-9
-        setSystemProperty(BrokerProperties.PROPERTY_BROKER_DEFAULT_AMQP_PROTOCOL_EXCLUDES,
-                Protocol.AMQP_1_0 + "," + Protocol.AMQP_0_10);
+        setSystemProperty(QpidBrokerTestCase.TEST_AMQP_PORT_PROTOCOLS_PROPERTY, getProtocolsWithExclusions(Protocol.AMQP_1_0, Protocol.AMQP_0_10));
+
         setSystemProperty(BrokerProperties.PROPERTY_DEFAULT_SUPPORTED_PROTOCOL_REPLY, "v0_9");
 
         super.setUp();



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