You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2018/04/11 16:29:08 UTC

[2/6] qpid-broker-j git commit: QPID-8158: [Broker-J] [System Tests] Remove qpid-systest module including QpidBrokerTestCase and its dependecies

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/768f4fb0/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
----------------------------------------------------------------------
diff --git a/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java b/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
deleted file mode 100755
index 0725d69..0000000
--- a/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
+++ /dev/null
@@ -1,974 +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.test.utils;
-
-import static org.apache.qpid.systests.Utils.getAmqpManagementFacade;
-import static org.apache.qpid.systests.Utils.getProtocol;
-
-import java.io.File;
-import java.lang.reflect.InvocationHandler;
-import java.lang.reflect.Method;
-import java.lang.reflect.Proxy;
-import java.net.URISyntaxException;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.EnumSet;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
-
-import javax.jms.BytesMessage;
-import javax.jms.Connection;
-import javax.jms.ConnectionFactory;
-import javax.jms.Destination;
-import javax.jms.JMSException;
-import javax.jms.MapMessage;
-import javax.jms.Message;
-import javax.jms.MessageConsumer;
-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.jms.Topic;
-import javax.naming.NamingException;
-
-import ch.qos.logback.classic.sift.SiftingAppender;
-import ch.qos.logback.classic.spi.ILoggingEvent;
-import ch.qos.logback.core.Appender;
-import ch.qos.logback.core.FileAppender;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.qpid.server.model.Protocol;
-import org.apache.qpid.server.store.MemoryConfigurationStore;
-import org.apache.qpid.systests.AmqpManagementFacade;
-import org.apache.qpid.systests.ConnectionBuilder;
-import org.apache.qpid.systests.JmsProvider;
-import org.apache.qpid.systests.Utils;
-
-/**
- * Qpid base class for system testing test cases.
- */
-public class QpidBrokerTestCase extends QpidTestCase
-{
-    public static final int LOGBACK_REMOTE_PORT = LogbackSocketPortNumberDefiner.getLogbackSocketPortNumber();
-    public static final String GUEST_USERNAME = "guest";
-    public static final String GUEST_PASSWORD = "guest";
-    public static final String PROFILE_USE_SSL = "profile.use_ssl";
-    public static final String TEST_AMQP_PORT_PROTOCOLS_PROPERTY = "test.amqp_port_protocols";
-    public static final int DEFAULT_PORT = Integer.getInteger("test.port", 0);
-    public static final int FAILING_PORT = Integer.getInteger("test.port.alt", 0);
-    public static final int DEFAULT_SSL_PORT = Integer.getInteger("test.port.ssl", 0);
-    public static final String QUEUE = "queue";
-    public static final String TOPIC = "topic";
-    public static final String MANAGEMENT_MODE_PASSWORD = "mm_password";
-    private static final Logger LOGGER = LoggerFactory.getLogger(QpidBrokerTestCase.class);
-    protected static final long RECEIVE_TIMEOUT = Long.getLong("qpid.test_receive_timeout", 1000L);
-    protected static final String INDEX = "index";
-    protected static final String CONTENT = "content";
-    protected static final int DEFAULT_MESSAGE_SIZE = 1024;
-    private static final String JAVA = "java";
-    private static final String BROKER_LANGUAGE = System.getProperty("broker.language", JAVA);
-    private static final BrokerHolder.BrokerType DEFAULT_BROKER_TYPE = BrokerHolder.BrokerType.valueOf(
-            System.getProperty("broker.type", BrokerHolder.BrokerType.INTERNAL.name()).toUpperCase());
-    private static final Boolean BROKER_CLEAN_BETWEEN_TESTS = Boolean.getBoolean("broker.clean.between.tests");
-    private static final Boolean BROKER_PERSISTENT = Boolean.getBoolean("broker.persistent");
-    private static final Protocol BROKER_PROTOCOL = getProtocol();
-    private static List<BrokerHolder> _brokerList = new ArrayList<>();
-
-    private final Map<String, String> _propertiesSetForBroker = new HashMap<>();
-    private final List<Connection> _connections = new ArrayList<>();
-    private AmqpManagementFacade _managementFacade;
-    private BrokerHolder _defaultBroker;
-    private MessageType _messageType = MessageType.TEXT;
-
-    private JmsProvider _jmsProvider;
-
-    @Override
-    public void runBare() throws Throwable
-    {
-        try
-        {
-            _managementFacade = getAmqpManagementFacade();
-            _jmsProvider = Utils.getJmsProvider();
-
-            _defaultBroker = new BrokerHolderFactory().create(DEFAULT_BROKER_TYPE, DEFAULT_PORT, this);
-            super.runBare();
-        }
-        catch (Exception e)
-        {
-            LOGGER.error("exception", e);
-            throw e;
-        }
-        finally
-        {
-            stopAllBrokers();
-
-            // reset properties used in the test
-            revertSystemProperties();
-
-            LOGGER.info("==========  stop " + getTestName() + " ==========");
-        }
-    }
-
-    public Logger getLogger()
-    {
-        return QpidBrokerTestCase.LOGGER;
-    }
-
-    public File getOutputFile()
-    {
-        final ch.qos.logback.classic.Logger logger =
-                (ch.qos.logback.classic.Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME);
-
-        return getFileFromSiftingAppender(logger);
-    }
-
-    public BrokerHolder getDefaultBroker()
-    {
-        return _defaultBroker;
-    }
-
-    public void startDefaultBroker() throws Exception
-    {
-        startDefaultBroker(false);
-    }
-
-    public void startDefaultBroker(boolean managementMode) throws Exception
-    {
-        getDefaultBroker().start(managementMode);
-        setTestSystemProperty("test.port", getDefaultBroker().getAmqpPort() + "");
-    }
-
-    public void stopDefaultBroker() throws Exception
-    {
-        getDefaultBroker().shutdown();
-    }
-
-    public TestBrokerConfiguration getDefaultBrokerConfiguration()
-    {
-        return getDefaultBroker().getConfiguration();
-    }
-
-    public BrokerHolder createSpawnedBroker() throws Exception
-    {
-        return createSpawnedBroker(0);
-    }
-
-    public BrokerHolder createSpawnedBroker(int amqpPort) throws Exception
-    {
-        return new BrokerHolderFactory().create(BrokerHolder.BrokerType.SPAWNED, amqpPort, this);
-    }
-
-    public void killDefaultBroker()
-    {
-        getDefaultBroker().kill();
-    }
-
-    /**
-     * Check whether the broker is an 0.8
-     *
-     * @return true if the broker is an 0_8 version, false otherwise.
-     */
-    public boolean isBroker08()
-    {
-        return BROKER_PROTOCOL.equals(Protocol.AMQP_0_8);
-    }
-
-    public boolean isBrokerPre010()
-    {
-        return EnumSet.of(Protocol.AMQP_0_8, Protocol.AMQP_0_9, Protocol.AMQP_0_9_1).contains(BROKER_PROTOCOL);
-    }
-
-    public boolean isBroker010()
-    {
-        return BROKER_PROTOCOL.equals(Protocol.AMQP_0_10);
-    }
-
-    public boolean isBroker10()
-    {
-        return BROKER_PROTOCOL.equals(Protocol.AMQP_1_0);
-    }
-
-    public Protocol getBrokerProtocol()
-    {
-        return BROKER_PROTOCOL;
-    }
-
-    public void restartDefaultBroker() throws Exception
-    {
-        getDefaultBroker().restart();
-    }
-
-    public JmsProvider getJmsProvider()
-    {
-        return _jmsProvider;
-    }
-
-    public ConnectionBuilder getConnectionBuilder()
-    {
-        final ConnectionBuilder connectionBuilder = _jmsProvider.getConnectionBuilder()
-                                                                .setPort(Integer.getInteger("test.port"))
-                                                                .setSslPort(Integer.getInteger("test.port.ssl"))
-                                                                .setVirtualHost("test")
-                                                                .setTls(Boolean.getBoolean(PROFILE_USE_SSL))
-                                                                .setPopulateJMSXUserID(true)
-                                                                .setUsername(GUEST_USERNAME)
-                                                                .setPassword(GUEST_PASSWORD);
-
-        return (ConnectionBuilder) Proxy.newProxyInstance(getClass().getClassLoader(),
-                                                          new Class<?>[]{ConnectionBuilder.class},
-                                                          new ConectionBuilderHandler(connectionBuilder, _connections));
-    }
-
-    /**
-     * Get the default connection factory for the currently used broker
-     * Default factory is "local"
-     *
-     * @return A connection factory
-     * @throws NamingException if there is an error getting the factory
-     */
-    public ConnectionFactory getConnectionFactory() throws NamingException
-    {
-        return getConnectionFactory(Collections.emptyMap());
-    }
-
-    public ConnectionFactory getConnectionFactory(final Map<String, String> options) throws NamingException
-    {
-        return getConnectionBuilder().setOptions(options).buildConnectionFactory();
-    }
-
-    public Connection getConnection() throws JMSException, NamingException
-    {
-        return getConnection(GUEST_USERNAME, GUEST_PASSWORD);
-    }
-
-    public Connection getConnection(String username, String password) throws JMSException, NamingException
-    {
-        return getConnectionBuilder().setUsername(username).setPassword(password).build();
-    }
-
-    public Connection getConnectionWithPrefetch(int prefetch) throws Exception
-    {
-        return getConnectionBuilder().setPrefetch(prefetch).build();
-    }
-
-    public Connection getConnectionWithOptions(Map<String, String> options) throws Exception
-    {
-        return getConnectionBuilder().setOptions(options).build();
-    }
-
-    public Connection getConnectionWithOptions(String vhost, Map<String, String> options) throws Exception
-    {
-        return getConnectionBuilder().setOptions(options)
-                                     .setVirtualHost(vhost)
-                                     .build();
-    }
-
-    public Connection getConnectionForVHost(String vhost) throws Exception
-    {
-        return getConnectionBuilder().setVirtualHost(vhost).build();
-    }
-
-    public Connection getConnection(String urlString) throws Exception
-    {
-        Connection connection = _jmsProvider.getConnection(urlString);
-        _connections.add(connection);
-        return connection;
-    }
-
-    public Queue getTestQueue() throws NamingException
-    {
-        return _jmsProvider.getTestQueue(getTestQueueName());
-    }
-
-    public Queue getQueueFromName(Session session, String name) throws JMSException
-    {
-        return _jmsProvider.getQueueFromName(session, name);
-    }
-
-    public Queue createTestQueue(Session session) throws JMSException
-    {
-        return _jmsProvider.createQueue(session, getTestQueueName());
-    }
-
-    public Queue createTestQueue(Session session, String queueName) throws JMSException
-    {
-        return _jmsProvider.createQueue(session, queueName);
-    }
-
-    /**
-     * Return a Topic specific for this test.
-     * Uses getTestQueueName() as the name of the topic
-     */
-    public Topic getTestTopic() throws NamingException
-    {
-        return _jmsProvider.getTestTopic(getTestQueueName());
-    }
-
-    protected Topic createTopic(final Connection con, final String topicName) throws JMSException
-    {
-        return _jmsProvider.createTopic(con, topicName);
-    }
-
-    protected Topic createTopicOnDirect(final Connection con, String topicName) throws JMSException, URISyntaxException
-    {
-        return _jmsProvider.createTopicOnDirect(con, topicName);
-    }
-
-    protected Topic createTopicOnFanout(final Connection con, String topicName) throws JMSException, URISyntaxException
-    {
-        return _jmsProvider.createTopicOnFanout(con, topicName);
-    }
-
-    protected void createEntityUsingAmqpManagement(final String name, final Session session, final String type)
-            throws JMSException
-    {
-        _managementFacade.createEntityUsingAmqpManagement(name, session, type);
-    }
-
-    protected void createEntityUsingAmqpManagement(final String name, final Session session, final String type, Map<String, Object> attributes)
-            throws JMSException
-    {
-
-        _managementFacade.createEntityUsingAmqpManagement(name, session, type, attributes);
-    }
-
-    protected void updatenEntityUsingAmqpManagement(final String name, final Session session, final String type, Map<String, Object> attributes)
-            throws JMSException
-    {
-        _managementFacade.updateEntityUsingAmqpManagement(name, session, type, attributes);
-    }
-
-    protected void deleteEntityUsingAmqpManagement(final String name, final Session session, final String type)
-            throws JMSException
-    {
-
-        _managementFacade.deleteEntityUsingAmqpManagement(name, session, type);
-    }
-
-    protected Object performOperationUsingAmqpManagement(final String name, final String operation, final Session session, final String type, Map<String,Object> arguments)
-            throws JMSException
-    {
-        return _managementFacade.performOperationUsingAmqpManagement(name, operation, session, type, arguments);
-    }
-
-    protected List<Map<String, Object>> managementQueryObjects(final Session session, final String type) throws JMSException
-    {
-
-        return _managementFacade.managementQueryObjects(session, type);
-    }
-
-    protected Map<String, Object> managementReadObject(Session session, String type, String name, boolean actuals) throws JMSException
-    {
-        return _managementFacade.readEntityUsingAmqpManagement(session, type, name, actuals);
-    }
-
-    public long getQueueDepth(final Connection con, final Queue destination) throws Exception
-    {
-        Connection connection = getConnection();
-        try
-        {
-            connection.start();
-            Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-            try
-            {
-                return _managementFacade.getQueueDepth(destination, session);
-            }
-
-            finally
-            {
-                session.close();
-            }
-        }
-        finally
-        {
-            connection.close();
-        }
-    }
-
-    public boolean isQueueExist(final Connection con, final Queue destination) throws Exception
-    {
-        Connection connection = getConnection();
-        try
-        {
-            connection.start();
-            Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
-            try
-            {
-                return _managementFacade.isQueueExist(destination, session);
-            }
-
-            finally
-            {
-                session.close();
-            }
-        }
-        finally
-        {
-            connection.close();
-        }
-    }
-
-    /**
-     * Send messages to the given destination.
-     * <p/>
-     * If session is transacted then messages will be committed before returning
-     *
-     * @param session     the session to use for sending
-     * @param destination where to send them to
-     * @param count       no. of messages to send
-     * @return the sent messages
-     * @throws Exception
-     */
-    public List<Message> sendMessage(Session session, Destination destination,
-                                     int count) throws Exception
-    {
-        return sendMessage(session, destination, count, 0, 0);
-    }
-
-    /**
-     * Send messages to the given destination.
-     * <p/>
-     * If session is transacted then messages will be committed before returning
-     *
-     * @param session     the session to use for sending
-     * @param destination where to send them to
-     * @param count       no. of messages to send
-     * @param batchSize   the batchSize in which to commit, 0 means no batching,
-     *                    but a single commit at the end
-     * @return the sent message
-     * @throws Exception
-     */
-    public List<Message> sendMessage(Session session, Destination destination,
-                                     int count, int batchSize) throws Exception
-    {
-        return sendMessage(session, destination, count, 0, batchSize);
-    }
-
-    /**
-     * Send messages to the given destination.
-     * <p/>
-     * If session is transacted then messages will be committed before returning
-     *
-     * @param session     the session to use for sending
-     * @param destination where to send them to
-     * @param count       no. of messages to send
-     * @param offset      offset allows the INDEX value of the message to be adjusted.
-     * @param batchSize   the batchSize in which to commit, 0 means no batching,
-     *                    but a single commit at the end
-     * @return the sent message
-     * @throws Exception
-     */
-    public List<Message> sendMessage(Session session, Destination destination,
-                                     int count, int offset, int batchSize) throws Exception
-    {
-        List<Message> messages = new ArrayList<>(count);
-
-        MessageProducer producer = session.createProducer(destination);
-
-        int i = offset;
-        for (; i < (count + offset); i++)
-        {
-            Message next = createNextMessage(session, i);
-
-            producer.send(next);
-
-            if (session.getTransacted() && batchSize > 0)
-            {
-                if (i % batchSize == 0)
-                {
-                    session.commit();
-                }
-            }
-
-            messages.add(next);
-        }
-
-        // Ensure we commit the last messages
-        // Commit the session if we are transacted and
-        // we have no batchSize or
-        // our count is not divible by batchSize.
-        if (session.getTransacted() &&
-            (batchSize == 0 || (i - 1) % batchSize != 0))
-        {
-            session.commit();
-        }
-
-        return messages;
-    }
-
-    public Message createNextMessage(Session session, int msgCount) throws JMSException
-    {
-        Message message = createMessage(session, DEFAULT_MESSAGE_SIZE);
-        message.setIntProperty(INDEX, msgCount);
-
-        return message;
-    }
-
-    public Message createMessage(Session session, int messageSize) throws JMSException
-    {
-        String payload = new String(new byte[messageSize]);
-
-        Message message;
-
-        switch (_messageType)
-        {
-            case BYTES:
-                message = session.createBytesMessage();
-                ((BytesMessage) message).writeUTF(payload);
-                break;
-            case MAP:
-                message = session.createMapMessage();
-                ((MapMessage) message).setString(CONTENT, payload);
-                break;
-            default: // To keep the compiler happy
-            case TEXT:
-                message = session.createTextMessage();
-                ((TextMessage) message).setText(payload);
-                break;
-            case OBJECT:
-                message = session.createObjectMessage();
-                ((ObjectMessage) message).setObject(payload);
-                break;
-            case STREAM:
-                message = session.createStreamMessage();
-                ((StreamMessage) message).writeString(payload);
-                break;
-        }
-
-        return message;
-    }
-
-    public String getBrokerDetailsFromDefaultConnectionUrl()
-    {
-        return "tcp://localhost:" + (getDefaultBroker().getAmqpTlsPort() > 0
-                ? getDefaultBroker().getAmqpTlsPort()
-                : getDefaultBroker().getAmqpPort());
-    }
-
-    /**
-     * Tests that a connection is functional by producing and consuming a single message.
-     * Will fail if failover interrupts either transaction.
-     */
-    public void assertProducingConsuming(final Connection connection) throws Exception
-    {
-        Session session = connection.createSession(true, Session.SESSION_TRANSACTED);
-        Destination destination = session.createQueue(getTestQueueName());
-        MessageConsumer consumer = session.createConsumer(destination);
-        sendMessage(session, destination, 1);
-        session.commit();
-        connection.start();
-        Message m1 = consumer.receive(getReceiveTimeout());
-        assertNotNull("Message 1 is not received", m1);
-        assertEquals("Unexpected first message received", 0, m1.getIntProperty(INDEX));
-        session.commit();
-        session.close();
-    }
-
-    @Override
-    protected void setUp() throws Exception
-    {
-        super.setUp();
-        startDefaultBroker();
-    }
-
-    @Override
-    protected void tearDown() throws java.lang.Exception
-    {
-        LOGGER.debug("tearDown started");
-        try
-        {
-            for (Connection c : _connections)
-            {
-                c.close();
-            }
-        }
-        finally
-        {
-            try
-            {
-                _defaultBroker.shutdown();
-            }
-            finally
-            {
-                super.tearDown();
-            }
-        }
-    }
-
-    protected int getDefaultAmqpPort()
-    {
-        return getDefaultBroker().getAmqpPort();
-    }
-
-    protected boolean stopBrokerSafely(BrokerHolder broker)
-    {
-        boolean success = true;
-        try
-        {
-            broker.shutdown();
-
-            if (BROKER_CLEAN_BETWEEN_TESTS)
-            {
-                broker.cleanUp();
-            }
-        }
-        catch (Exception e)
-        {
-            success = false;
-            LOGGER.error("Failed to stop broker " + broker, e);
-            if (broker != null)
-            {
-                // save the thread dump in case of dead locks
-                try
-                {
-                    LOGGER.error("Broker " + broker + " thread dump:" + broker.dumpThreads());
-                }
-                finally
-                {
-                    try
-                    {
-                        broker.kill();
-                    }
-                    catch (Exception killException)
-                    {
-                        // ignore
-                    }
-                }
-            }
-        }
-        return success;
-    }
-
-    protected void createTestVirtualHostNode(String virtualHostNodeName)
-    {
-        createTestVirtualHostNode(getDefaultBroker(), virtualHostNodeName, true);
-    }
-
-    protected void createTestVirtualHostNode(BrokerHolder broker, String virtualHostNodeName, boolean withBlueprint)
-    {
-        String storeType = getTestProfileVirtualHostNodeType();
-        String storeDir = null;
-
-        if (System.getProperty("profile", "").startsWith("java-dby-mem"))
-        {
-            storeDir = ":memory:";
-        }
-        else if (!MemoryConfigurationStore.TYPE.equals(storeType))
-        {
-            storeDir = "${qpid.work_dir}" + File.separator + virtualHostNodeName;
-        }
-
-        String blueprint = null;
-        if (withBlueprint)
-        {
-            blueprint = getTestProfileVirtualHostNodeBlueprint();
-        }
-
-        broker.createVirtualHostNode(virtualHostNodeName, storeType, storeDir, blueprint);
-    }
-
-    /**
-     * Set a System property for the duration of this test.
-     * <p/>
-     * When the test run is complete the value will be reverted.
-     * <p/>
-     * The values set using this method will also be propagated to the external
-     * Apache Qpid Broker-J via a -D value defined in QPID_OPTS.
-     * <p/>
-     * If the value should not be set on the broker then use
-     * setTestClientSystemProperty().
-     *
-     * @param property the property to set
-     * @param value    the new value to use
-     */
-    protected void setSystemProperty(String property, String value)
-    {
-        synchronized (_propertiesSetForBroker)
-        {
-            // Record the value for the external broker
-            if (value == null)
-            {
-                _propertiesSetForBroker.remove(property);
-            }
-            else
-            {
-                _propertiesSetForBroker.put(property, value);
-            }
-        }
-        //Set the value for the test client vm aswell.
-        setTestClientSystemProperty(property, value);
-    }
-
-    /**
-     * Set a System  property for the client (and broker if using the same vm) of this test.
-     *
-     * @param property The property to set
-     * @param value    the value to set it to.
-     */
-    protected void setTestClientSystemProperty(String property, String value)
-    {
-        setTestSystemProperty(property, value);
-    }
-
-    /**
-     * Restore the System property values that were set before this test run.
-     */
-    protected void revertSystemProperties()
-    {
-        revertTestSystemProperties();
-
-        // We don't change the current VMs settings for Broker only properties
-        // so we can just clear this map
-        _propertiesSetForBroker.clear();
-    }
-
-    protected boolean isJavaBroker()
-    {
-        return BROKER_LANGUAGE.equals("java");
-    }
-
-    protected boolean isCppBroker()
-    {
-        return BROKER_LANGUAGE.equals("cpp");
-    }
-
-    protected boolean isExternalBroker()
-    {
-        return !isInternalBroker();
-    }
-
-    protected boolean isInternalBroker()
-    {
-        return DEFAULT_BROKER_TYPE.equals(BrokerHolder.BrokerType.INTERNAL);
-    }
-
-    protected boolean isBrokerStorePersistent()
-    {
-        return BROKER_PERSISTENT;
-    }
-
-    protected Connection getConnectionWithSyncPublishing() throws Exception
-    {
-        return getConnectionBuilder().setSyncPublish(true).build();
-    }
-
-    protected Connection getClientConnection(String username, String password, String id)
-            throws Exception
-    {
-        return getConnectionBuilder().setClientId(id).setUsername(username).setPassword(password).build();
-    }
-
-    /**
-     * Return a uniqueName for this test.
-     * In this case it returns a queue Named by the TestCase and TestName
-     *
-     * @return String name for a queue
-     */
-    protected String  getTestQueueName()
-    {
-        return getClass().getSimpleName() + "-" + getName();
-    }
-
-    protected int getFailingPort()
-    {
-        return FAILING_PORT;
-    }
-
-    @Override
-    protected void setTestOverriddenProperties(Properties properties)
-    {
-        for (String propertyName : properties.stringPropertyNames())
-        {
-            setSystemProperty(propertyName, properties.getProperty(propertyName));
-        }
-    }
-
-    protected long getReceiveTimeout()
-    {
-        return Long.getLong("qpid.test_receive_timeout", 1000L);
-    }
-
-    protected long getLongReceiveTimeout()
-    {
-        return Long.getLong("qpid.test_receive_long_timeout", 5000L);
-    }
-
-    protected long getShortReceiveTimeout()
-    {
-        return Long.getLong("qpid.test_receive_short_timeout", 500L);
-    }
-
-    private File getFileFromSiftingAppender(final ch.qos.logback.classic.Logger logger)
-    {
-        String key = logger.getLoggerContext().getProperty(LogbackPropertyValueDiscriminator.CLASS_QUALIFIED_TEST_NAME);
-
-        for (Iterator<Appender<ILoggingEvent>> index = logger.iteratorForAppenders(); index.hasNext(); /* do nothing */)
-        {
-            Appender<ILoggingEvent> appender = index.next();
-            if (appender instanceof SiftingAppender)
-            {
-                SiftingAppender siftingAppender = (SiftingAppender) appender;
-                Appender subAppender = siftingAppender.getAppenderTracker().find(key);
-                if (subAppender instanceof FileAppender)
-                {
-                    return new File(((FileAppender) subAppender).getFile());
-                }
-            }
-        }
-        return null;
-    }
-
-    private boolean existingInternalBroker()
-    {
-        for (BrokerHolder holder : _brokerList)
-        {
-            if (holder instanceof InternalBrokerHolder)
-            {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    private void stopAllBrokers()
-    {
-        boolean exceptionOccurred = false;
-        for (BrokerHolder brokerHolder : _brokerList)
-        {
-            if (!stopBrokerSafely(brokerHolder))
-            {
-                exceptionOccurred = true;
-            }
-        }
-        _brokerList.clear();
-        if (exceptionOccurred)
-        {
-            throw new RuntimeException("Exception occurred on stopping of test broker. Please, examine logs for details");
-        }
-    }
-
-    private Map<String, String> getJvmProperties()
-    {
-        Map<String, String> jvmOptions = new HashMap<>();
-        synchronized (_propertiesSetForBroker)
-        {
-            jvmOptions.putAll(_propertiesSetForBroker);
-
-            copySystemProperty("test.port", jvmOptions);
-            copySystemProperty("test.hport", jvmOptions);
-            copySystemProperty("test.port.ssl", jvmOptions);
-            copySystemProperty("test.port.alt", jvmOptions);
-            copySystemProperty("test.port.alt.ssl", jvmOptions);
-            copySystemProperty("test.amqp_port_protocols", jvmOptions);
-
-            copySystemProperty("qpid.globalAddressDomains", jvmOptions);
-
-            copySystemProperty("virtualhostnode.type", jvmOptions);
-            copySystemProperty("virtualhostnode.context.blueprint", jvmOptions);
-        }
-        return jvmOptions;
-    }
-
-    private void copySystemProperty(String name, Map<String, String> jvmOptions)
-    {
-        String value = System.getProperty(name);
-        if (value != null)
-        {
-            jvmOptions.put(name, value);
-        }
-    }
-
-    /**
-     * Type of message
-     */
-    protected enum MessageType
-    {
-        BYTES,
-        MAP,
-        OBJECT,
-        STREAM,
-        TEXT
-    }
-
-    public static class BrokerHolderFactory
-    {
-        public BrokerHolder create(BrokerHolder.BrokerType brokerType, int port, QpidBrokerTestCase testCase)
-        {
-            // This will force the creation of the file appender
-            LOGGER.debug("Creating BrokerHolder");
-
-            final File logFile = testCase.getOutputFile();
-            final String classQualifiedTestName = testCase.getClassQualifiedTestName();
-            BrokerHolder holder = null;
-            if (brokerType.equals(BrokerHolder.BrokerType.INTERNAL) && !testCase.existingInternalBroker())
-            {
-                holder = new InternalBrokerHolder(port, classQualifiedTestName, logFile);
-            }
-            else if (!brokerType.equals(BrokerHolder.BrokerType.EXTERNAL))
-            {
-                Map<String, String> jvmOptions = testCase.getJvmProperties();
-                Map<String, String> environmentProperties = new HashMap<>(testCase._propertiesSetForBroker);
-
-                holder = new SpawnedBrokerHolder(port, classQualifiedTestName, logFile,
-                                                 jvmOptions, environmentProperties);
-            }
-            _brokerList.add(holder);
-            return holder;
-        }
-    }
-
-    private static class ConectionBuilderHandler implements InvocationHandler
-    {
-        private final ConnectionBuilder _connectionBuilder;
-        private final List<Connection> _connections;
-
-        public ConectionBuilderHandler(final ConnectionBuilder connectionBuilder,
-                                       final List<Connection> connections)
-        {
-            _connectionBuilder = connectionBuilder;
-            _connections = connections;
-        }
-
-        @Override
-        public Object invoke(final Object proxy, final Method method, final Object[] args) throws Throwable
-        {
-            if (method.getName().equals("build"))
-            {
-                Connection connection = _connectionBuilder.build();
-                _connections.add(connection);
-                return connection;
-            }
-            else if (method.getName().equals("buildConnectionFactory"))
-            {
-                return _connectionBuilder.buildConnectionFactory();
-            }
-            else
-            {
-                method.invoke(_connectionBuilder, args);
-                return proxy;
-            }
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/768f4fb0/systests/src/main/java/org/apache/qpid/test/utils/ReflectionUtils.java
----------------------------------------------------------------------
diff --git a/systests/src/main/java/org/apache/qpid/test/utils/ReflectionUtils.java b/systests/src/main/java/org/apache/qpid/test/utils/ReflectionUtils.java
deleted file mode 100644
index 83294c1..0000000
--- a/systests/src/main/java/org/apache/qpid/test/utils/ReflectionUtils.java
+++ /dev/null
@@ -1,259 +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.test.utils;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Field;
-import java.lang.reflect.InvocationTargetException;
-import java.lang.reflect.Method;
-
-/**
- * Provides helper methods for operating on classes and methods using reflection. Reflection methods tend to return
- * a lot of checked exception so writing code to use them can be tedious and harder to read, especially when such errors
- * are not expected to occur. This class always works with {@link ReflectionUtilsException}, which is a runtime exception,
- * to wrap the checked exceptions raised by the standard Java reflection methods. Code using it does not normally
- * expect these errors to occur, usually does not have a recovery mechanism for them when they do, but is cleaner,
- * quicker to write and easier to read in the majority of cases.
- *
- * <p/><table id="crc"><caption>CRC Card</caption>
- * <tr><th> Responsibilities <th> Collaborations
- * <tr><td> Look up Classes by name.
- * <tr><td> Instantiate Classes by no-arg constructor.
- * </table>
- */
-public class ReflectionUtils
-{
-    /**
-    * Gets the Class object for a named class.
-    *
-    * @param className The class to get the Class object for.
-    *
-    * @return The Class object for the named class.
-    */
-    public static Class<?> forName(String className)
-    {
-        try
-        {
-            return Class.forName(className);
-        }
-        catch (ClassNotFoundException e)
-        {
-            throw new ReflectionUtilsException("ClassNotFoundException whilst finding class.", e);
-        }
-    }
-
-    /**
-     * Creates an instance of a Class, instantiated through its no-args constructor.
-     *
-     * @param cls The Class to instantiate.
-     * @param <T> The Class type.
-     *
-     * @return An instance of the class.
-     */
-    public static <T> T newInstance(Class<? extends T> cls)
-    {
-        try
-        {
-            return cls.newInstance();
-        }
-        catch (InstantiationException e)
-        {
-            throw new ReflectionUtilsException("InstantiationException whilst instantiating class.", e);
-        }
-        catch (IllegalAccessException e)
-        {
-            throw new ReflectionUtilsException("IllegalAccessException whilst instantiating class.", e);
-        }
-    }
-
-    /**
-     * Calls a named method on an object with a specified set of parameters, any Java access modifier are overridden.
-     *
-     * @param o            The object to call.
-     * @param method       The method name to call.
-     * @param params       The parameters to pass.
-     * @param paramClasses The argument types.
-     *
-     * @return The return value from the method call.
-     */
-    public static Object callMethodOverridingIllegalAccess(Object o, String method, Object[] params, Class[] paramClasses)
-    {
-        // Get the objects class.
-        Class cls = o.getClass();
-
-        // Get the classes of the parameters.
-        /*Class[] paramClasses = new Class[params.length];
-
-        for (int i = 0; i < params.length; i++)
-        {
-            paramClasses[i] = params[i].getClass();
-        }*/
-
-        try
-        {
-            // Try to find the matching method on the class.
-            Method m = cls.getDeclaredMethod(method, paramClasses);
-
-            // Make it accessible.
-            m.setAccessible(true);
-
-            // Invoke it with the parameters.
-            return m.invoke(o, params);
-        }
-        catch (NoSuchMethodException e)
-        {
-            throw new ReflectionUtilsException("NoSuchMethodException.", e);
-        }
-        catch (IllegalAccessException e)
-        {
-            throw new ReflectionUtilsException("IllegalAccessException.", e);
-        }
-        catch (InvocationTargetException e)
-        {
-            throw new ReflectionUtilsException("InvocationTargetException", e);
-        }
-    }
-
-    /**
-     * Calls a named method on an object with a specified set of parameters.
-     *
-     * @param o      The object to call.
-     * @param method The method name to call.
-     * @param params The parameters to pass.
-     *
-     * @return The return value from the method call.
-     */
-    public static Object callMethod(Object o, String method, Object[] params)
-    {
-        // Get the objects class.
-        Class cls = o.getClass();
-
-        // Get the classes of the parameters.
-        Class[] paramClasses = new Class[params.length];
-
-        for (int i = 0; i < params.length; i++)
-        {
-            paramClasses[i] = params[i].getClass();
-        }
-
-        try
-        {
-            // Try to find the matching method on the class.
-            Method m = cls.getMethod(method, paramClasses);
-
-            // Invoke it with the parameters.
-            return m.invoke(o, params);
-        }
-        catch (NoSuchMethodException e)
-        {
-            throw new ReflectionUtilsException("NoSuchMethodException.", e);
-        }
-        catch (IllegalAccessException e)
-        {
-            throw new ReflectionUtilsException("IllegalAccessException", e);
-        }
-        catch (InvocationTargetException e)
-        {
-            throw new ReflectionUtilsException("InvocationTargetException", e);
-        }
-    }
-
-    /**
-     * Calls a constuctor witht the specified arguments.
-     *
-     * @param constructor The constructor.
-     * @param args        The arguments.
-     * @param <T>         The Class type.
-     *
-     * @return An instance of the class that the constructor is for.
-     */
-    public static <T> T newInstance(Constructor<T> constructor, Object[] args)
-    {
-        try
-        {
-            return constructor.newInstance(args);
-        }
-        catch (InstantiationException e)
-        {
-            throw new ReflectionUtilsException("InstantiationException", e);
-        }
-        catch (IllegalAccessException e)
-        {
-            throw new ReflectionUtilsException("IllegalAccessException", e);
-        }
-        catch (InvocationTargetException e)
-        {
-            throw new ReflectionUtilsException("InvocationTargetException", e);
-        }
-    }
-
-    /**
-     * Gets the constructor of a class that takes the specified set of arguments if any matches. If no matching
-     * constructor is found then a runtime exception is raised.
-     *
-     * @param cls  The class to get a constructor from.
-     * @param args The arguments to match.
-     * @param <T>  The class type.
-     *
-     * @return The constructor.
-     */
-    public static <T> Constructor<T> getConstructor(Class<T> cls, Class[] args)
-    {
-        try
-        {
-            return cls.getConstructor(args);
-        }
-        catch (NoSuchMethodException e)
-        {
-            throw new ReflectionUtilsException("NoSuchMethodException", e);
-        }
-    }
-
-    @SuppressWarnings("unchecked")
-    public static <T> T getDeclaredField(final Object obj, final String fieldName)
-    {
-        try
-        {
-            final Field field = obj.getClass().getDeclaredField(fieldName);
-            if (!field.isAccessible())
-            {
-                field.setAccessible(true);
-            }
-            return (T) field.get(obj);
-        }
-        catch (NoSuchFieldException e)
-        {
-            throw new ReflectionUtilsException("Unable to read field " + fieldName + "from object " + obj, e);
-        }
-        catch (SecurityException e)
-        {
-            throw new ReflectionUtilsException("Unable to read field " + fieldName + "from object " + obj, e);
-        }
-        catch (IllegalArgumentException e)
-        {
-            throw new ReflectionUtilsException("Unable to read field " + fieldName + "from object " + obj, e);
-        }
-        catch (IllegalAccessException e)
-        {
-            throw new ReflectionUtilsException("Unable to read field " + fieldName + "from object " + obj, e);
-        }
-    }
-}

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/768f4fb0/systests/src/main/java/org/apache/qpid/test/utils/ReflectionUtilsException.java
----------------------------------------------------------------------
diff --git a/systests/src/main/java/org/apache/qpid/test/utils/ReflectionUtilsException.java b/systests/src/main/java/org/apache/qpid/test/utils/ReflectionUtilsException.java
deleted file mode 100644
index 8388285..0000000
--- a/systests/src/main/java/org/apache/qpid/test/utils/ReflectionUtilsException.java
+++ /dev/null
@@ -1,44 +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.test.utils;
-
-/**
- * Wraps a checked exception that occurs when {@link ReflectionUtils} encounters checked exceptions using standard
- * Java reflection methods.
- *
- * <p/><table id="crc"><caption>CRC Card</caption>
- * <tr><th> Responsibilities <th> Collaborations
- * <tr><td> Wrap a checked reflection exception.
- * </table>
- */
-public class ReflectionUtilsException extends RuntimeException
-{
-    /**
-     * Creates a runtime reflection exception, from a checked one.
-     *
-     * @param message The message.
-     * @param cause   The causing exception.
-     */
-    public ReflectionUtilsException(String message, Throwable cause)
-    {
-        super(message, cause);
-    }
-}

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/768f4fb0/systests/src/main/java/org/apache/qpid/test/utils/SpawnedBrokerHolder.java
----------------------------------------------------------------------
diff --git a/systests/src/main/java/org/apache/qpid/test/utils/SpawnedBrokerHolder.java b/systests/src/main/java/org/apache/qpid/test/utils/SpawnedBrokerHolder.java
deleted file mode 100644
index 6156f36..0000000
--- a/systests/src/main/java/org/apache/qpid/test/utils/SpawnedBrokerHolder.java
+++ /dev/null
@@ -1,530 +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.test.utils;
-
-import java.io.BufferedReader;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.TimeUnit;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.qpid.server.Main;
-import org.apache.qpid.server.logging.logback.BrokerLogbackSocketLogger;
-import org.apache.qpid.server.logging.logback.BrokerNameAndLevelLogInclusionRule;
-import org.apache.qpid.server.logging.messages.BrokerMessages;
-import org.apache.qpid.server.model.BrokerLogInclusionRule;
-import org.apache.qpid.server.model.BrokerLogger;
-import org.apache.qpid.server.util.SystemUtils;
-
-public class SpawnedBrokerHolder extends AbstractBrokerHolder
-{
-    private static final Logger LOGGER = LoggerFactory.getLogger(SpawnedBrokerHolder.class);
-    protected static final String BROKER_READY = System.getProperty("broker.ready", BrokerMessages.READY().toString());
-    private static final String BROKER_STOPPED = System.getProperty("broker.stopped", BrokerMessages.STOPPED().toString());
-    private static final String BROKER_COMMAND_PLATFORM = "broker.command." + SystemUtils.getOSConfigSuffix();
-    private static final String BROKER_COMMAND_TEMPLATE = System.getProperty(BROKER_COMMAND_PLATFORM, System.getProperty("broker.command"));
-    private static final int BROKER_STARTUP_TIME = Integer.parseInt(System.getProperty("SpawnedBrokerHolder.brokerStartupTime", "30000"));
-
-    private final Map<String, String> _jvmOptions;
-    private final Map<String, String> _environmentSettings;
-    protected BrokerCommandHelper _brokerCommandHelper;
-
-    private  Process _process;
-    private  Integer _pid;
-    private List<String> _windowsPids;
-    private String _brokerCommand;
-    private String _pseudoThreadName;
-
-    public SpawnedBrokerHolder(final int port,
-                               final String classQualifiedTestName,
-                               final File logFile,
-                               Map<String, String> jvmOptions,
-                               Map<String, String> environmentSettings)
-    {
-        super(port, classQualifiedTestName, logFile);
-        _jvmOptions = jvmOptions;
-        _environmentSettings = environmentSettings;
-        _brokerCommandHelper = new BrokerCommandHelper(BROKER_COMMAND_TEMPLATE);
-        _pseudoThreadName = "BROKER-" + getBrokerIndex();
-    }
-
-    @Override
-    public void start(final boolean managementMode, final int amqpPort) throws Exception
-    {
-        LOGGER.debug("Spawning broker with jvmOptions: {} environmentSettings: {} permitted start-up time: {}",
-                     _jvmOptions, _environmentSettings, BROKER_STARTUP_TIME);
-
-        String[] cmd = _brokerCommandHelper.getBrokerCommand(amqpPort,
-                                                             getWorkDir().toString(),
-                                                             getConfigurationPath(),
-                                                             getBrokerStoreType());
-        if (managementMode)
-        {
-            String[] newCmd = new String[cmd.length + 3];
-            System.arraycopy(cmd, 0, newCmd, 0, cmd.length);
-            newCmd[cmd.length] = "-mm";
-            newCmd[cmd.length + 1] = "-mmpass";
-            newCmd[cmd.length + 2] = QpidBrokerTestCase.MANAGEMENT_MODE_PASSWORD;
-            cmd = newCmd;
-        }
-
-        // bat files will treat = as an argument separator, so if an argument contains = it needs to be quoted
-        if(cmd[0].endsWith(".bat"))
-        {
-            for(int i = 1 ; i < cmd.length; i++)
-            {
-                String orig = cmd[i];
-                if(orig.contains("=") && !orig.contains("\""))
-                {
-                    cmd[i] = "\"" + orig + "\"";
-                }
-            }
-        }
-        
-        ProcessBuilder pb = new ProcessBuilder(cmd);
-        pb.redirectErrorStream(true);
-        Map<String, String> processEnv = pb.environment();
-        String qpidHome = System.getProperty(Main.PROPERTY_QPID_HOME);
-        processEnv.put(Main.PROPERTY_QPID_HOME, qpidHome);
-
-        //Augment Path with bin directory in QPID_HOME.
-        boolean foundPath = false;
-        final String pathEntry = qpidHome + File.separator + "bin";
-        for(Map.Entry<String,String> entry : processEnv.entrySet())
-        {
-            if(entry.getKey().equalsIgnoreCase("path"))
-            {
-                entry.setValue(entry.getValue().concat(File.pathSeparator + pathEntry));
-                foundPath = true;
-            }
-        }
-        if(!foundPath)
-        {
-            processEnv.put("PATH", pathEntry);
-        }
-        //Add the test name to the broker run.
-        // DON'T change PNAME, qpid.stop needs this value.
-        processEnv.put("QPID_PNAME", "-DPNAME=QPBRKR -DTNAME=\"" + getClassQualifiedTestName() + "\"");
-
-        // Add all the environment settings the test requested
-        if (!_environmentSettings.isEmpty())
-        {
-            for (Map.Entry<String, String> entry : _environmentSettings.entrySet())
-            {
-                processEnv.put(entry.getKey(), entry.getValue());
-            }
-        }
-
-        String qpidOpts = "";
-
-        // Add all the specified system properties to QPID_OPTS
-        if (!_jvmOptions.isEmpty())
-        {
-            boolean isWindows = SystemUtils.isWindows();
-            for (String key : _jvmOptions.keySet())
-            {
-                qpidOpts += " -D" + key + "=" +(isWindows ? doWindowsCommandEscaping(_jvmOptions.get(key)) : _jvmOptions.get(key));
-            }
-        }
-
-        if (processEnv.containsKey("QPID_OPTS"))
-        {
-            qpidOpts = processEnv.get("QPID_OPTS") + qpidOpts;
-        }
-        processEnv.put("QPID_OPTS", qpidOpts);
-
-        _process = pb.start();
-
-        Piper standardOutputPiper = new Piper(_process.getInputStream(),
-                BROKER_READY,
-                BROKER_STOPPED,
-                _pseudoThreadName, getClass().getName());
-
-        standardOutputPiper.start();
-
-        StringBuilder cmdLine = new StringBuilder(cmd[0]);
-        for(int i = 1; i< cmd.length; i++)
-        {
-            cmdLine.append(' ');
-            cmdLine.append(cmd[i]);
-        }
-
-        _brokerCommand = cmdLine.toString();
-        _pid = retrieveUnixPidIfPossible();
-
-        if (!standardOutputPiper.await(BROKER_STARTUP_TIME, TimeUnit.MILLISECONDS))
-        {
-            LOGGER.info("Spawned broker failed to become ready within {} ms."
-                        + " Ready line '{}'",
-                        BROKER_STARTUP_TIME, standardOutputPiper.getReady());
-            String threadDump = dumpThreads();
-            if (!threadDump.isEmpty())
-            {
-                LOGGER.info("the result of a try to capture thread dump:" + threadDump);
-            }
-            //Ensure broker has stopped
-            _process.destroy();
-            throw new RuntimeException(String.format("Broker failed to become ready within %d ms. Stop line : %s",
-                                                     BROKER_STARTUP_TIME,
-                                                     standardOutputPiper.getStopLine()));
-        }
-
-        _windowsPids = retrieveWindowsPidsIfPossible();
-
-        try
-        {
-            //test that the broker is still running and hasn't exited unexpectedly
-            int exit = _process.exitValue();
-            LOGGER.info("broker aborted: {}", exit);
-            throw new RuntimeException("broker aborted: " + exit);
-        }
-        catch (IllegalThreadStateException e)
-        {
-            // this is expect if the broker started successfully
-        }
-
-    }
-
-    private String doWindowsCommandEscaping(String value)
-    {
-        if(value.contains("\"") && !value.startsWith("\""))
-        {
-        return "\"" + value.replaceAll("\"", "\"\"") + "\"";
-
-        }
-        else
-        {
-            return value;
-        }
-    }
-
-    @Override
-    public void shutdown()
-    {
-        if(SystemUtils.isWindows())
-        {
-            doWindowsKill();
-        }
-
-        if (_process != null)
-        {
-            LOGGER.info("Destroying broker process");
-            _process.destroy();
-
-            reapChildProcess();
-            waitUntilPortsAreFreeIfRequired();
-        }
-    }
-
-    @Override
-    protected String getLogPrefix()
-    {
-        return _pseudoThreadName;
-    }
-
-    private List<String> retrieveWindowsPidsIfPossible()
-    {
-        if(SystemUtils.isWindows())
-        {
-            try
-            {
-                Process p = Runtime.getRuntime().exec(new String[]{"wmic", "process", "list"});
-                try (BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream())))
-                {
-                    String line;
-                    String headers = reader.readLine();
-                    int processIdOffset = headers.indexOf(" ProcessId") + 1;
-                    int parentProcessIdOffset = headers.indexOf(" ParentProcessId") + 1;
-                    String parentProcess = null;
-                    Map<String, List<String>> parentProcessMap = new HashMap<String, List<String>>();
-
-                    while ((line = reader.readLine()) != null)
-                    {
-                        if (line.length() > processIdOffset)
-                        {
-                            String processIdStr = line.substring(processIdOffset);
-                            processIdStr = processIdStr.substring(0, processIdStr.indexOf(' '));
-                            processIdStr = processIdStr.trim();
-
-                            String parentProcessIdStr = line.substring(parentProcessIdOffset);
-                            parentProcessIdStr = parentProcessIdStr.substring(0, parentProcessIdStr.indexOf(' '));
-                            parentProcessIdStr = parentProcessIdStr.trim();
-                            if (parentProcessIdStr.length() > 0 && (parentProcess == null || parentProcess.equals(
-                                    parentProcessIdStr)))
-                            {
-                                List<String> children = parentProcessMap.get(parentProcessIdStr);
-                                if (children == null)
-                                {
-                                    children = new ArrayList<String>();
-                                    parentProcessMap.put(parentProcessIdStr, children);
-                                }
-                                children.add(processIdStr);
-                            }
-                            if (line.toLowerCase()
-                                    .contains(_brokerCommand.toLowerCase()))
-                            {
-                                parentProcess = processIdStr;
-                            }
-
-                        }
-
-                    }
-                    LOGGER.debug("Parent process: " + parentProcess);
-                    if (parentProcess != null)
-                    {
-                        List<String> returnVal = new ArrayList<>();
-                        returnVal.add(parentProcess);
-                        List<String> children = parentProcessMap.get(parentProcess);
-                        if (children != null)
-                        {
-                            for (String child : children)
-                            {
-                                returnVal.add(child);
-                            }
-                        }
-                        return returnVal;
-                    }
-
-
-                }
-            }
-            catch (IOException e)
-            {
-                LOGGER.error("Error whilst killing process " + _brokerCommand, e);
-            }
-        }
-        return null;
-    }
-
-    private void doWindowsKill()
-    {
-        if(_windowsPids != null && !_windowsPids.isEmpty())
-        {
-            String parentProcess = _windowsPids.remove(0);
-            try
-            {
-
-                Process p;
-                for (String child : _windowsPids)
-                {
-                    p = Runtime.getRuntime().exec(new String[]{"taskkill", "/PID", child, "/T", "/F"});
-                    consumeAllOutput(p);
-                }
-                p = Runtime.getRuntime().exec(new String[]{"taskkill", "/PID", parentProcess, "/T", "/F"});
-                consumeAllOutput(p);
-
-            }
-            catch (IOException e)
-            {
-                LOGGER.error("Error whilst killing process " + _brokerCommand, e);
-            }
-        }
-    }
-
-    private static void consumeAllOutput(Process p) throws IOException
-    {
-        try(InputStreamReader inputStreamReader = new InputStreamReader(p.getInputStream()))
-        {
-            try (BufferedReader reader = new BufferedReader(inputStreamReader))
-            {
-                while (reader.readLine() != null)
-                {
-                }
-            }
-        }
-    }
-
-    @Override
-    public void kill()
-    {
-        if (_pid == null)
-        {
-            if(SystemUtils.isWindows())
-            {
-                doWindowsKill();
-            }
-            LOGGER.info("Destroying broker process (no PID)");
-            _process.destroy();
-        }
-        else
-        {
-            LOGGER.info("Killing broker process with PID " + _pid);
-            sendSigkillForImmediateShutdown(_pid);
-        }
-
-        reapChildProcess();
-
-        waitUntilPortsAreFreeIfRequired();
-    }
-
-    private void sendSigkillForImmediateShutdown(Integer pid)
-    {
-        boolean killSuccessful = false;
-        try
-        {
-            final Process killProcess = Runtime.getRuntime().exec("kill -KILL " + pid);
-            killProcess.waitFor();
-            killSuccessful = killProcess.exitValue() == 0;
-        }
-        catch (IOException e)
-        {
-            LOGGER.error("Error whilst killing process " + _pid, e);
-        }
-        catch (InterruptedException e)
-        {
-            Thread.currentThread().interrupt();
-        }
-        finally
-        {
-            if (!killSuccessful)
-            {
-                _process.destroy();
-            }
-        }
-    }
-
-    private Integer retrieveUnixPidIfPossible()
-    {
-        if(!SystemUtils.isWindows())
-        {
-            try
-            {
-                Integer pid = ReflectionUtils.getDeclaredField(_process, "pid");
-                LOGGER.info("PID " + pid);
-                return pid;
-            }
-            catch (ReflectionUtilsException e)
-            {
-                LOGGER.warn("Could not get pid for process, Broker process shutdown will be graceful");
-            }
-        }
-        return null;
-    }
-
-    private void reapChildProcess()
-    {
-        try
-        {
-            _process.waitFor();
-            LOGGER.info("broker exited: " + _process.exitValue());
-        }
-        catch (InterruptedException e)
-        {
-            LOGGER.error("Interrupted whilst waiting for process shutdown");
-            Thread.currentThread().interrupt();
-        }
-        finally
-        {
-            try
-            {
-                _process.getInputStream().close();
-                _process.getErrorStream().close();
-                _process.getOutputStream().close();
-            }
-            catch (IOException e)
-            {
-            }
-        }
-    }
-
-    @Override
-    public String dumpThreads()
-    {
-        ByteArrayOutputStream baos = new ByteArrayOutputStream();
-        try
-        {
-            Process process = Runtime.getRuntime().exec("jstack " + _pid);
-            InputStream is = process.getInputStream();
-            byte[] buffer = new byte[1024];
-            int length = -1;
-            while ((length = is.read(buffer)) != -1)
-            {
-                baos.write(buffer, 0, length);
-            }
-         }
-        catch (Exception e)
-        {
-            LOGGER.error("Error whilst collecting thread dump for " + _pid, e);
-        }
-        return new String(baos.toByteArray());
-    }
-
-    @Override
-    public String toString()
-    {
-        return "SpawnedBrokerHolder [_pid=" + _pid + ", _amqpPort="
-                + getAmqpPort() + "]";
-    }
-
-    @Override
-    protected TestBrokerConfiguration createBrokerConfiguration()
-    {
-        TestBrokerConfiguration configuration = super.createBrokerConfiguration();
-
-        String remotelogback = "remotelogback";
-
-        Map<String, String> mdc = new HashMap<>();
-        mdc.put("origin", getLogPrefix());
-
-        Map<String, String> contextProperties = new HashMap<>();
-        contextProperties.put(LogbackPropertyValueDiscriminator.CLASS_QUALIFIED_TEST_NAME, getClassQualifiedTestName());
-
-        Map<String, Object> loggerAttrs = new HashMap<>();
-        loggerAttrs.put(BrokerLogger.TYPE, BrokerLogbackSocketLogger.TYPE);
-        loggerAttrs.put(BrokerLogbackSocketLogger.NAME, remotelogback);
-        loggerAttrs.put(BrokerLogbackSocketLogger.PORT, QpidBrokerTestCase.LOGBACK_REMOTE_PORT);
-        loggerAttrs.put(BrokerLogbackSocketLogger.MAPPED_DIAGNOSTIC_CONTEXT, mdc);
-        loggerAttrs.put(BrokerLogbackSocketLogger.CONTEXT_PROPERTIES, contextProperties);
-
-        configuration.addObjectConfiguration(BrokerLogger.class, loggerAttrs);
-
-        Map<String, Object> qpidRuleAttrs = new HashMap<>();
-        qpidRuleAttrs.put(BrokerLogInclusionRule.NAME, "Qpid");
-        qpidRuleAttrs.put(BrokerLogInclusionRule.TYPE, BrokerNameAndLevelLogInclusionRule.TYPE);
-        qpidRuleAttrs.put(BrokerNameAndLevelLogInclusionRule.LEVEL, "DEBUG");
-        qpidRuleAttrs.put(BrokerNameAndLevelLogInclusionRule.LOGGER_NAME, "org.apache.qpid.*");
-
-        configuration.addObjectConfiguration(BrokerLogger.class, remotelogback,
-                                             BrokerLogInclusionRule.class, qpidRuleAttrs);
-
-        Map<String, Object> operationalLoggingRuleAttrs = new HashMap<>();
-        operationalLoggingRuleAttrs.put(BrokerLogInclusionRule.NAME, "Operational");
-        operationalLoggingRuleAttrs.put(BrokerLogInclusionRule.TYPE, BrokerNameAndLevelLogInclusionRule.TYPE);
-        operationalLoggingRuleAttrs.put(BrokerNameAndLevelLogInclusionRule.LEVEL, "INFO");
-        operationalLoggingRuleAttrs.put(BrokerNameAndLevelLogInclusionRule.LOGGER_NAME, "qpid.message.*");
-
-        configuration.addObjectConfiguration(BrokerLogger.class, remotelogback,
-                                             BrokerLogInclusionRule.class, operationalLoggingRuleAttrs);
-
-        return configuration;
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/768f4fb0/systests/src/main/java/org/apache/qpid/test/utils/TestBrokerConfiguration.java
----------------------------------------------------------------------
diff --git a/systests/src/main/java/org/apache/qpid/test/utils/TestBrokerConfiguration.java b/systests/src/main/java/org/apache/qpid/test/utils/TestBrokerConfiguration.java
deleted file mode 100644
index 526efaa..0000000
--- a/systests/src/main/java/org/apache/qpid/test/utils/TestBrokerConfiguration.java
+++ /dev/null
@@ -1,493 +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.test.utils;
-
-import static org.mockito.Mockito.mock;
-
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileReader;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.io.Reader;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import org.apache.qpid.server.configuration.updater.CurrentThreadTaskExecutor;
-import org.apache.qpid.server.configuration.updater.TaskExecutor;
-import org.apache.qpid.server.logging.EventLogger;
-import org.apache.qpid.server.management.plugin.HttpManagement;
-import org.apache.qpid.server.model.AbstractSystemConfig;
-import org.apache.qpid.server.model.AccessControlProvider;
-import org.apache.qpid.server.model.AuthenticationProvider;
-import org.apache.qpid.server.model.Broker;
-import org.apache.qpid.server.model.BrokerModel;
-import org.apache.qpid.server.model.ConfiguredObject;
-import org.apache.qpid.server.model.GroupProvider;
-import org.apache.qpid.server.model.JsonSystemConfigImpl;
-import org.apache.qpid.server.model.Plugin;
-import org.apache.qpid.server.model.Port;
-import org.apache.qpid.server.model.State;
-import org.apache.qpid.server.model.SystemConfig;
-import org.apache.qpid.server.model.UUIDGenerator;
-import org.apache.qpid.server.model.VirtualHostAlias;
-import org.apache.qpid.server.model.VirtualHostNode;
-import org.apache.qpid.server.model.adapter.FileBasedGroupProvider;
-import org.apache.qpid.server.model.adapter.FileBasedGroupProviderImpl;
-import org.apache.qpid.server.plugin.PluggableFactoryLoader;
-import org.apache.qpid.server.plugin.SystemConfigFactory;
-import org.apache.qpid.server.security.access.plugins.AclFileAccessControlProvider;
-import org.apache.qpid.server.security.access.plugins.AclRule;
-import org.apache.qpid.server.security.access.plugins.RuleBasedAccessControlProvider;
-import org.apache.qpid.server.store.AbstractMemoryStore;
-import org.apache.qpid.server.store.ConfiguredObjectRecord;
-import org.apache.qpid.server.store.ConfiguredObjectRecordConverter;
-import org.apache.qpid.server.store.ConfiguredObjectRecordImpl;
-import org.apache.qpid.server.store.DurableConfigurationStore;
-import org.apache.qpid.server.store.handler.ConfiguredObjectRecordHandler;
-import org.apache.qpid.server.virtualhostnode.JsonVirtualHostNode;
-import org.apache.qpid.server.util.Strings;
-
-public class TestBrokerConfiguration
-{
-
-    public static final String ENTRY_NAME_HTTP_PORT = "http";
-    public static final String ENTRY_NAME_AMQP_PORT = "amqp";
-    public static final String ENTRY_NAME_VIRTUAL_HOST = "test";
-    public static final String ENTRY_NAME_AUTHENTICATION_PROVIDER = "plain";
-    public static final String ENTRY_NAME_EXTERNAL_PROVIDER = "external";
-    public static final String ENTRY_NAME_SSL_PORT = "sslPort";
-    public static final String ENTRY_NAME_HTTP_MANAGEMENT = "MANAGEMENT-HTTP";
-    public static final String MANAGEMENT_HTTP_PLUGIN_TYPE = "MANAGEMENT-HTTP";
-    public static final String ENTRY_NAME_ANONYMOUS_PROVIDER = "anonymous";
-    public static final String ENTRY_NAME_SSL_KEYSTORE = "systestsKeyStore";
-    public static final String ENTRY_NAME_SSL_TRUSTSTORE = "systestsTrustStore";
-    public static final String ENTRY_NAME_GROUP_FILE = "groupFile";
-    public static final String ENTRY_NAME_ACL_FILE = "aclFile";
-    public static final String ENTRY_NAME_ACL_RULES = "aclRules";
-    private final TaskExecutor _taskExecutor;
-    private final String _storeType;
-
-    private AbstractMemoryStore _store;
-    private boolean _saved;
-    private File _passwdFile;
-
-    private static final Logger LOGGER = LoggerFactory.getLogger(TestBrokerConfiguration.class);
-
-    public TestBrokerConfiguration(String storeType, String initialStoreLocation)
-    {
-        _taskExecutor = new CurrentThreadTaskExecutor();
-        _taskExecutor.start();
-        _storeType = storeType;
-        Map<String,Object> config = new HashMap<>();
-        config.put("storePath", initialStoreLocation);
-        final AbstractSystemConfig parentObject = new JsonSystemConfigImpl(_taskExecutor,
-                                                                           mock(EventLogger.class),
-                                                                           null,
-                                                                           config)
-        {
-
-            {
-                updateModel(BrokerModel.getInstance());
-            }
-        };
-
-        ConfiguredObjectRecordConverter converter = new ConfiguredObjectRecordConverter(BrokerModel.getInstance());
-
-        Reader reader;
-        try
-        {
-            try
-            {
-                URL url = new URL(initialStoreLocation);
-                try(InputStream urlStream = url.openStream())
-                {
-                    reader = new InputStreamReader(urlStream);
-                }
-            }
-            catch (MalformedURLException e)
-            {
-                reader = new FileReader(initialStoreLocation);
-            }
-
-            Collection<ConfiguredObjectRecord> records = converter.readFromJson(org.apache.qpid.server.model.Broker.class, parentObject, reader);
-            reader.close();
-
-            _store = new AbstractMemoryStore(Broker.class){};
-
-            ConfiguredObjectRecord[] initialRecords = records.toArray(new ConfiguredObjectRecord[records.size()]);
-            _store.init(parentObject);
-
-            _store.openConfigurationStore(new ConfiguredObjectRecordHandler()
-            {
-                @Override
-                public void handle(ConfiguredObjectRecord record)
-                {
-                    Map<String, Object> attributes = record.getAttributes();
-                    String rawType = (String)attributes.get("type");
-                    if (rawType != null)
-                    {
-                        String interpolatedType = Strings.expand(rawType, false, Strings.ENV_VARS_RESOLVER, Strings.JAVA_SYS_PROPS_RESOLVER);
-                        if (!interpolatedType.equals(rawType))
-                        {
-                            setObjectAttribute(record, "type", interpolatedType);
-                        }
-                    }
-                }
-
-            }, initialRecords);
-        }
-        catch (IOException e)
-        {
-            throw new RuntimeException("Unable to load initial store", e);
-        }
-
-
-    }
-
-    public boolean setBrokerAttribute(String name, Object value)
-    {
-        ConfiguredObjectRecord entry = findObject(Broker.class, null);
-        if (entry == null)
-        {
-            return false;
-        }
-
-        return setObjectAttribute(entry, name, value);
-    }
-
-    public boolean setObjectAttribute(final Class<? extends ConfiguredObject> category,
-                                      String objectName,
-                                      String attributeName,
-                                      Object value)
-    {
-        ConfiguredObjectRecord entry = findObject(category, objectName);
-        if (entry == null)
-        {
-            return false;
-        }
-        return setObjectAttribute(entry, attributeName, value);
-    }
-
-    public boolean setObjectAttributes(final Class<? extends ConfiguredObject> category,
-                                       String objectName,
-                                       Map<String, Object> attributes)
-    {
-        ConfiguredObjectRecord entry = findObject(category, objectName);
-        if (entry == null)
-        {
-            return false;
-        }
-        return setObjectAttributes(entry, attributes);
-    }
-
-    public boolean save(File configFile)
-    {
-
-        Map<String, Object> attributes = new HashMap<>();
-        attributes.put("storePath", configFile.getAbsolutePath());
-
-        SystemConfigFactory configFactory =
-                (new PluggableFactoryLoader<>(SystemConfigFactory.class)).get(_storeType);
-
-        attributes.put(SystemConfig.STARTUP_LOGGED_TO_SYSTEM_OUT, false);
-        attributes.put(ConfiguredObject.DESIRED_STATE, State.QUIESCED);
-        final SystemConfig parentObject = configFactory.newInstance(_taskExecutor,
-                                                                    mock(EventLogger.class),
-                                                                    null, attributes);
-
-        parentObject.open();
-        DurableConfigurationStore configurationStore = parentObject.getConfigurationStore();
-        configurationStore.closeConfigurationStore();
-
-        final List<ConfiguredObjectRecord> records = getConfiguredObjectRecords();
-
-
-        configurationStore.init(parentObject);
-
-        clearStore(configurationStore);
-
-        configurationStore.update(true, records.toArray(new ConfiguredObjectRecord[records.size()]));
-
-
-        configurationStore.closeConfigurationStore();
-        parentObject.close();
-        return true;
-    }
-
-    public void clearStore(final DurableConfigurationStore configurationStore)
-    {
-        final List<ConfiguredObjectRecord> recordsToDelete = new ArrayList<>();
-        configurationStore.openConfigurationStore(new ConfiguredObjectRecordHandler()
-        {
-
-            @Override
-            public void handle(final ConfiguredObjectRecord record)
-            {
-                recordsToDelete.add(record);
-            }
-
-        });
-        if(!recordsToDelete.isEmpty())
-        {
-            configurationStore.remove(recordsToDelete.toArray(new ConfiguredObjectRecord[recordsToDelete.size()]));
-        }
-    }
-
-    public List<ConfiguredObjectRecord> getConfiguredObjectRecords()
-    {
-        return _store.getConfiguredObjectRecords();
-
-    }
-
-    public UUID[] removeObjectConfiguration(final Class<? extends ConfiguredObject> category,
-                                            final String name)
-    {
-        final ConfiguredObjectRecord entry = findObject(category, name);
-
-        if (entry != null)
-        {
-
-            if(category == VirtualHostNode.class)
-            {
-                final List<ConfiguredObjectRecord> aliasRecords = new ArrayList<>();
-                // remove vhost aliases associated with the vhost
-
-                for(ConfiguredObjectRecord record : getConfiguredObjectRecords())
-                {
-                    if (record.getType().equals(VirtualHostAlias.class.getSimpleName())
-                            && name.equals(record.getAttributes().get(ConfiguredObject.NAME)))
-                    {
-                        aliasRecords.add(record);
-                    }
-                }
-
-                _store.remove(aliasRecords.toArray(new ConfiguredObjectRecord[aliasRecords.size()]));
-            }
-            return _store.remove(entry);
-
-        }
-        return null;
-    }
-
-    public UUID addObjectConfiguration(Class<? extends ConfiguredObject> type, Map<String, Object> attributes)
-    {
-        UUID id = UUIDGenerator.generateRandomUUID();
-        addObjectConfiguration(id, type.getSimpleName(), attributes);
-        return id;
-    }
-
-    public UUID addObjectConfiguration(final Class<? extends ConfiguredObject> parentCategory, final String parentName,
-                                       Class<? extends ConfiguredObject> type, Map<String, Object> attributes)
-    {
-        UUID id = UUIDGenerator.generateRandomUUID();
-        ConfiguredObjectRecord entry =
-                new ConfiguredObjectRecordImpl(id, type.getSimpleName(), attributes,
-                                               Collections.singletonMap(parentCategory.getSimpleName(), findObject(parentCategory,parentName).getId()));
-
-        _store.update(true, entry);
-        return id;
-    }
-
-    public UUID addHttpManagementConfiguration()
-    {
-        setObjectAttribute(AuthenticationProvider.class, TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER,
-                           "secureOnlyMechanisms", "{}");
-        setObjectAttribute(Port.class, TestBrokerConfiguration.ENTRY_NAME_HTTP_PORT, Port.AUTHENTICATION_PROVIDER,
-                           TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER);
-
-        Map<String, Object> attributes = new HashMap<>();
-        attributes.put(Plugin.TYPE, MANAGEMENT_HTTP_PLUGIN_TYPE);
-        attributes.put(Plugin.NAME, ENTRY_NAME_HTTP_MANAGEMENT);
-        attributes.put(HttpManagement.HTTP_BASIC_AUTHENTICATION_ENABLED, true);
-        return addObjectConfiguration(Plugin.class, attributes);
-    }
-
-    public UUID addGroupFileConfiguration(String groupFilePath)
-    {
-        Map<String, Object> attributes = new HashMap<String, Object>();
-        attributes.put(GroupProvider.NAME, ENTRY_NAME_GROUP_FILE);
-        attributes.put(GroupProvider.TYPE, FileBasedGroupProviderImpl.GROUP_FILE_PROVIDER_TYPE);
-        attributes.put(FileBasedGroupProvider.PATH, groupFilePath);
-
-        return addObjectConfiguration(GroupProvider.class, attributes);
-    }
-
-    public UUID addAclFileConfiguration(String aclFilePath)
-    {
-        Map<String, Object> attributes = new HashMap<String, Object>();
-        attributes.put(AccessControlProvider.NAME, ENTRY_NAME_ACL_FILE);
-        attributes.put(AccessControlProvider.TYPE, AclFileAccessControlProvider.ACL_FILE_PROVIDER_TYPE);
-        attributes.put(AclFileAccessControlProvider.PATH, aclFilePath);
-
-        return addObjectConfiguration(AccessControlProvider.class, attributes);
-    }
-
-    public UUID addAclRuleConfiguration(AclRule[] aclRules)
-    {
-        Map<String, Object> attributes = new HashMap<String, Object>();
-        attributes.put(AccessControlProvider.NAME, ENTRY_NAME_ACL_RULES);
-        attributes.put(AccessControlProvider.TYPE, RuleBasedAccessControlProvider.RULE_BASED_TYPE);
-        attributes.put(RuleBasedAccessControlProvider.RULES, aclRules);
-
-        return addObjectConfiguration(AccessControlProvider.class, attributes);
-    }
-
-
-    private boolean setObjectAttributes(ConfiguredObjectRecord entry, Map<String, Object> attributes)
-    {
-        Map<String, Object> newAttributes = new HashMap<String, Object>(entry.getAttributes());
-        newAttributes.putAll(attributes);
-        ConfiguredObjectRecord newEntry = new ConfiguredObjectRecordImpl(entry.getId(), entry.getType(), newAttributes,
-                                                                         entry.getParents());
-        _store.update(false, newEntry);
-        return true;
-    }
-
-    private ConfiguredObjectRecord findObject(final Class<? extends ConfiguredObject> category, final String objectName)
-    {
-        Collection<ConfiguredObjectRecord> records = getConfiguredObjectRecords();
-        for(ConfiguredObjectRecord record : records)
-        {
-            if (record.getType().equals(category.getSimpleName())
-                && (objectName == null
-                    || objectName.equals(record.getAttributes().get(ConfiguredObject.NAME))))
-            {
-                return record;
-            }
-        }
-        return null;
-
-    }
-
-    private void addObjectConfiguration(UUID id, String type, Map<String, Object> attributes)
-    {
-        ConfiguredObjectRecord entry = new ConfiguredObjectRecordImpl(id, type, attributes, Collections.singletonMap(Broker.class.getSimpleName(), findObject(Broker.class,null).getId()));
-
-        _store.update(true, entry);
-    }
-
-    private boolean setObjectAttribute(ConfiguredObjectRecord entry, String attributeName, Object value)
-    {
-        Map<String, Object> attributes = new HashMap<String, Object>(entry.getAttributes());
-        attributes.put(attributeName, value);
-        ConfiguredObjectRecord newEntry = new ConfiguredObjectRecordImpl(entry.getId(), entry.getType(), attributes, entry.getParents());
-        _store.update(false, newEntry);
-        return true;
-    }
-
-    public boolean isSaved()
-    {
-        return _saved;
-    }
-
-    public void setSaved(boolean saved)
-    {
-        _saved = saved;
-    }
-
-    public Map<String,Object> getObjectAttributes(final Class<? extends ConfiguredObject> category, final String name)
-    {
-        return findObject(category, name).getAttributes();
-    }
-
-    public void createVirtualHostNode(final String virtualHostNodeName,
-                                      final String storeType,
-                                      final String storeDir,
-                                      final String blueprint)
-    {
-        Map<String, Object> attributes = new HashMap<>();
-        attributes.put(VirtualHostNode.NAME, virtualHostNodeName);
-        attributes.put(VirtualHostNode.TYPE, storeType);
-        if (storeDir != null)
-        {
-            attributes.put(JsonVirtualHostNode.STORE_PATH, storeDir);
-        }
-
-        if (blueprint != null)
-        {
-            attributes.put(VirtualHostNode.CONTEXT,
-                           Collections.singletonMap(VirtualHostNode.VIRTUALHOST_BLUEPRINT_CONTEXT_VAR, blueprint));
-        }
-
-        addObjectConfiguration(VirtualHostNode.class, attributes);
-    }
-
-    public void configureTemporaryPasswordFile(String... users) throws IOException
-    {
-        _passwdFile = createTemporaryPasswordFile(users);
-
-        setObjectAttribute(AuthenticationProvider.class, TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER,
-                                    "path", _passwdFile.getAbsolutePath());
-    }
-
-    public void cleanUp()
-    {
-        if (_passwdFile != null)
-        {
-            if (_passwdFile.exists())
-            {
-                _passwdFile.delete();
-            }
-        }
-    }
-
-    public File createTemporaryPasswordFile(String[] users) throws IOException
-    {
-        BufferedWriter writer = null;
-        try
-        {
-            File testFile = File.createTempFile(this.getClass().getName(),"tmp");
-            testFile.deleteOnExit();
-
-            writer = new BufferedWriter(new FileWriter(testFile));
-            for (int i = 0; i < users.length; i++)
-            {
-                String username = users[i];
-                writer.write(username + ":" + username);
-                writer.newLine();
-            }
-
-            return testFile;
-
-        }
-        finally
-        {
-            if (writer != null)
-            {
-                writer.close();
-            }
-        }
-    }
-
-}

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/768f4fb0/systests/src/main/java/org/apache/qpid/test/utils/TestUtils.java
----------------------------------------------------------------------
diff --git a/systests/src/main/java/org/apache/qpid/test/utils/TestUtils.java b/systests/src/main/java/org/apache/qpid/test/utils/TestUtils.java
deleted file mode 100644
index 5069e20..0000000
--- a/systests/src/main/java/org/apache/qpid/test/utils/TestUtils.java
+++ /dev/null
@@ -1,55 +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.test.utils;
-
-
-import java.lang.management.ManagementFactory;
-import java.lang.management.ThreadInfo;
-import java.lang.management.ThreadMXBean;
-
-public class TestUtils
-{
-    public static String dumpThreads()
-    {
-        ThreadMXBean threadMXBean = ManagementFactory.getThreadMXBean();
-        ThreadInfo[] threadInfos = threadMXBean.dumpAllThreads(true, true);
-        StringBuilder dump = new StringBuilder();
-        dump.append(String.format("%n"));
-        for (ThreadInfo threadInfo : threadInfos)
-        {
-            dump.append(threadInfo);
-        }
-
-        long[] deadLocks = threadMXBean.findDeadlockedThreads();
-        if (deadLocks != null && deadLocks.length > 0)
-        {
-            ThreadInfo[] deadlockedThreads = threadMXBean.getThreadInfo(deadLocks);
-            dump.append(String.format("%n"));
-            dump.append("Deadlock is detected!");
-            dump.append(String.format("%n"));
-            for (ThreadInfo threadInfo : deadlockedThreads)
-            {
-                dump.append(threadInfo);
-            }
-        }
-        return dump.toString();
-    }
-}


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