Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionRedirectMethodHandler.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionRedirectMethodHandler.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionRedirectMethodHandler.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/client/handler/ConnectionRedirectMethodHandler.java Tue Mar 3 14:56:40 2015 @@ -20,13 +20,18 @@ */ package org.apache.qpid.client.handler; +import java.nio.ByteBuffer; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.qpid.AMQException; +import org.apache.qpid.client.failover.ConnectionRedirectException; import org.apache.qpid.client.protocol.AMQProtocolSession; import org.apache.qpid.client.state.StateAwareMethodListener; import org.apache.qpid.framing.ConnectionRedirectBody; +import org.apache.qpid.transport.ByteBufferSender; +import org.apache.qpid.transport.TransportException; public class ConnectionRedirectMethodHandler implements StateAwareMethodListener<ConnectionRedirectBody> { @@ -65,7 +70,21 @@ public class ConnectionRedirectMethodHan } - session.failover(host, port); + session.notifyError(new ConnectionRedirectException(host,port)); + + ByteBufferSender sender = session.getSender(); + + // Close the open TCP connection + try + { + sender.close(); + } + catch(TransportException e) + { + //Ignore, they are already logged by the Sender and this + //is a connection-close being processed by the IoReceiver + //which will as it closes initiate failover if necessary. + } } }
Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolHandler.java Tue Mar 3 14:56:40 2015 @@ -799,14 +799,6 @@ public class AMQProtocolHandler implemen return _writtenBytes; } - public void failover(String host, int port) - { - _failoverHandler.setHost(host); - _failoverHandler.setPort(port); - // see javadoc for FailoverHandler to see rationale for separate thread - startFailoverThread(); - } - public void blockUntilNotFailingOver() throws InterruptedException { synchronized(_failoverLatchChange) Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/client/protocol/AMQProtocolSession.java Tue Mar 3 14:56:40 2015 @@ -386,11 +386,6 @@ public class AMQProtocolSession implemen return _protocolHandler.getSender(); } - public void failover(String host, int port) - { - _protocolHandler.failover(host, port); - } - protected AMQShortString generateQueueName() { int id; Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/client/state/AMQStateManager.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/client/state/AMQStateManager.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/client/state/AMQStateManager.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/client/state/AMQStateManager.java Tue Mar 3 14:56:40 2015 @@ -20,6 +20,10 @@ */ package org.apache.qpid.client.state; +import java.util.List; +import java.util.Set; +import java.util.concurrent.CopyOnWriteArrayList; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -29,10 +33,6 @@ import org.apache.qpid.framing.AMQMethod import org.apache.qpid.protocol.AMQMethodEvent; import org.apache.qpid.protocol.AMQMethodListener; -import java.util.List; -import java.util.Set; -import java.util.concurrent.CopyOnWriteArrayList; - /** * The state manager is responsible for managing the state of the protocol session. * <p> Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/jms/BrokerDetails.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/jms/BrokerDetails.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/jms/BrokerDetails.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/client/src/main/java/org/apache/qpid/jms/BrokerDetails.java Tue Mar 3 14:56:40 2015 @@ -98,7 +98,7 @@ public interface BrokerDetails /** * Sets the properties associated with this connection * - * @param props the new p[roperties. + * @param props the new properties. */ public void setProperties(Map<String,String> props); Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/common/AMQPFilterTypes.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/common/AMQPFilterTypes.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/common/AMQPFilterTypes.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/common/AMQPFilterTypes.java Tue Mar 3 14:56:40 2015 @@ -30,7 +30,8 @@ public enum AMQPFilterTypes JMS_SELECTOR("x-filter-jms-selector"), NO_CONSUME("x-filter-no-consume"), AUTO_CLOSE("x-filter-auto-close"), - NO_LOCAL("x-qpid-no-local"); + NO_LOCAL("x-qpid-no-local"), + REPLAY_PERIOD("x-qpid-replay-period"); /** The identifying string for the filter type. */ private final AMQShortString _value; Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/ClientDelegate.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/ClientDelegate.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/ClientDelegate.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/ClientDelegate.java Tue Mar 3 14:56:40 2015 @@ -181,7 +181,15 @@ public class ClientDelegate extends Conn @Override public void connectionRedirect(Connection conn, ConnectionRedirect redir) { - throw new UnsupportedOperationException(); + conn.setRedirecting(true); + conn.getSender().close(); + for(ConnectionListener listener : conn.getListeners()) + { + if(listener.redirect(redir.getHost(), redir.getKnownHosts())) + { + break; + } + } } @Override Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/Connection.java Tue Mar 3 14:56:40 2015 @@ -80,6 +80,7 @@ public class Connection extends Connecti private NetworkConnection _networkConnection; private FrameSizeObserver _frameSizeObserver; private boolean _messageCompressionSupported; + private final AtomicBoolean _redirecting = new AtomicBoolean(); public enum State { NEW, CLOSED, OPENING, OPEN, CLOSING, CLOSE_RCVD, RESUMING } @@ -91,6 +92,12 @@ public class Connection extends Connecti log.error(exception, "connection exception"); } public void closed(Connection conn) {} + + @Override + public boolean redirect(final String host, final List<Object> knownHosts) + { + return false; + } } public static interface SessionFactory @@ -150,6 +157,11 @@ public class Connection extends Connecti listeners.add(listener); } + public List<ConnectionListener> getListeners() + { + return Collections.unmodifiableList(listeners); + } + public ProtocolEventSender getSender() { return sender; @@ -224,6 +236,7 @@ public class Connection extends Connecti synchronized (lock) { conSettings = settings; + _redirecting.set(false); state = OPENING; userID = settings.getUsername(); connectionLost.set(false); @@ -257,7 +270,7 @@ public class Connection extends Connecti send(new ProtocolHeader(1, 0, 10)); Waiter w = new Waiter(lock, timeout); - while (w.hasTime() && state == OPENING && error == null) + while (w.hasTime() && ((state == OPENING && error == null) || isRedirecting())) { w.await(); } @@ -853,4 +866,15 @@ public class Connection extends Connecti { return _messageCompressionSupported; } + + public boolean isRedirecting() + { + return _redirecting.get(); + } + + public void setRedirecting(final boolean redirecting) + { + _redirecting.set(redirecting); + } + } Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/ConnectionListener.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/ConnectionListener.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/ConnectionListener.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/ConnectionListener.java Tue Mar 3 14:56:40 2015 @@ -21,6 +21,8 @@ package org.apache.qpid.transport; +import java.util.List; + /** * ConnectionListener * @@ -35,4 +37,5 @@ public interface ConnectionListener void closed(Connection connection); + boolean redirect(String host, List<Object> knownHosts); } Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/sasl/SASLEncryptor.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/sasl/SASLEncryptor.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/sasl/SASLEncryptor.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/sasl/SASLEncryptor.java Tue Mar 3 14:56:40 2015 @@ -21,6 +21,8 @@ package org.apache.qpid.transport.network.security.sasl; +import java.util.List; + import javax.security.sasl.Sasl; import javax.security.sasl.SaslClient; @@ -56,7 +58,13 @@ public abstract class SASLEncryptor impl } } } - + + @Override + public boolean redirect(final String host, final List<Object> knownHosts) + { + return false; + } + public void exception(Connection conn, ConnectionException exception){} public void closed(Connection conn) {} Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/url/AMQBindingURL.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/url/AMQBindingURL.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/url/AMQBindingURL.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/url/AMQBindingURL.java Tue Mar 3 14:56:40 2015 @@ -20,15 +20,16 @@ */ package org.apache.qpid.url; +import java.net.URISyntaxException; +import java.util.HashMap; +import java.util.Map; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.apache.qpid.exchange.ExchangeDefaults; import org.apache.qpid.framing.AMQShortString; -import java.net.URISyntaxException; -import java.util.HashMap; - public class AMQBindingURL implements BindingURL { private static final Logger _logger = LoggerFactory.getLogger(AMQBindingURL.class); @@ -135,6 +136,20 @@ public class AMQBindingURL implements Bi return _options.get(key); } + @Override + public Map<String,Object> getConsumerOptions() + { + Map<String,Object> options = new HashMap<>(); + for(Map.Entry<String,String> option : _options.entrySet()) + { + if(!NON_CONSUMER_OPTIONS.contains(option.getKey())) + { + options.put(option.getKey(), option.getValue()); + } + } + return options; + } + public void setOption(String key, String value) { _options.put(key, value); Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/url/BindingURL.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/url/BindingURL.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/url/BindingURL.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/main/java/org/apache/qpid/url/BindingURL.java Tue Mar 3 14:56:40 2015 @@ -20,6 +20,12 @@ */ package org.apache.qpid.url; +import java.util.Arrays; +import java.util.Collections; +import java.util.HashSet; +import java.util.Map; +import java.util.Set; + import org.apache.qpid.framing.AMQShortString; /* @@ -47,6 +53,18 @@ public interface BindingURL */ public static final String OPTION_REJECT_BEHAVIOUR = "rejectbehaviour"; + public static final Set<String> NON_CONSUMER_OPTIONS = + Collections.unmodifiableSet(new HashSet<String>(Arrays.asList(OPTION_EXCLUSIVE, + OPTION_AUTODELETE, + OPTION_DURABLE, + OPTION_BROWSE, + OPTION_ROUTING_KEY, + OPTION_BINDING_KEY, + OPTION_EXCHANGE_AUTODELETE, + OPTION_EXCHANGE_DURABLE, + OPTION_EXCHANGE_DURABLE, + OPTION_REJECT_BEHAVIOUR))); + String getURL(); @@ -60,6 +78,9 @@ public interface BindingURL String getOption(String key); + Map<String,Object> getConsumerOptions(); + + boolean containsOption(String key); AMQShortString getRoutingKey(); Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/test/java/org/apache/qpid/transport/ConnectionTest.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/test/java/org/apache/qpid/transport/ConnectionTest.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/test/java/org/apache/qpid/transport/ConnectionTest.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/common/src/test/java/org/apache/qpid/transport/ConnectionTest.java Tue Mar 3 14:56:40 2015 @@ -20,12 +20,6 @@ */ package org.apache.qpid.transport; -import org.apache.log4j.Logger; -import org.apache.qpid.test.utils.QpidTestCase; -import org.apache.qpid.transport.network.ConnectionBinding; -import org.apache.qpid.transport.network.io.IoAcceptor; -import org.apache.qpid.transport.util.Waiter; - import static org.apache.qpid.transport.Option.EXPECTED; import static org.apache.qpid.transport.Option.NONE; import static org.apache.qpid.transport.Option.SYNC; @@ -37,6 +31,13 @@ import java.util.List; import java.util.concurrent.CountDownLatch; import java.util.concurrent.TimeUnit; +import org.apache.log4j.Logger; + +import org.apache.qpid.test.utils.QpidTestCase; +import org.apache.qpid.transport.network.ConnectionBinding; +import org.apache.qpid.transport.network.io.IoAcceptor; +import org.apache.qpid.transport.util.Waiter; + /** * ConnectionTest */ @@ -171,6 +172,12 @@ public class ConnectionTest extends Qpid closed.countDown(); } } + + @Override + public boolean redirect(final String host, final List<Object> knownHosts) + { + return false; + } }); conn.connect("localhost", port, null, "guest", "guest", false, null); return conn; @@ -437,6 +444,12 @@ public class ConnectionTest extends Qpid conn.connect("localhost", port, null, "guest", "guest", false, null); conn.resume(); } + + @Override + public boolean redirect(final String host, final List<Object> knownHosts) + { + return false; + } } class TestSessionListener implements SessionListener Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java Tue Mar 3 14:56:40 2015 @@ -76,6 +76,9 @@ public class Asserts ConfiguredObject.DESCRIPTION, ConfiguredObject.CONTEXT, ConfiguredObject.DESIRED_STATE, + VirtualHost.ENABLED_CONNECTION_VALIDATORS, + VirtualHost.DISABLED_CONNECTION_VALIDATORS, + VirtualHost.GLOBAL_ADDRESS_DOMAINS, VirtualHost.TYPE); assertEquals("Unexpected value of attribute " + VirtualHost.NAME, @@ -126,7 +129,9 @@ public class Asserts Queue.MESSAGE_GROUP_SHARED_GROUPS, PriorityQueue.PRIORITIES, ConfiguredObject.CONTEXT, - ConfiguredObject.DESIRED_STATE); + ConfiguredObject.DESIRED_STATE, + Queue.DEFAULT_FILTERS, + Queue.ENSURE_NONDESTRUCTIVE_CONSUMERS); assertEquals("Unexpected value of queue attribute " + Queue.NAME, queueName, queueData.get(Queue.NAME)); assertNotNull("Unexpected value of queue attribute " + Queue.ID, queueData.get(Queue.ID)); Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/QpidRestTestCase.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/QpidRestTestCase.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/QpidRestTestCase.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/QpidRestTestCase.java Tue Mar 3 14:56:40 2015 @@ -36,7 +36,6 @@ import org.apache.qpid.test.utils.TestBr public class QpidRestTestCase extends QpidBrokerTestCase { - public static final String ANONYMOUS_AUTHENTICATION_PROVIDER = "testAnonymous"; public static final String EXTERNAL_AUTHENTICATION_PROVIDER = "testExternal"; public static final String TEST1_VIRTUALHOST = "test"; @@ -88,11 +87,6 @@ public class QpidRestTestCase extends Qp config.removeObjectConfiguration(Port.class, TestBrokerConfiguration.ENTRY_NAME_JMX_PORT); config.removeObjectConfiguration(Port.class, TestBrokerConfiguration.ENTRY_NAME_RMI_PORT); - Map<String, Object> anonymousProviderAttributes = new HashMap<String, Object>(); - anonymousProviderAttributes.put(AuthenticationProvider.TYPE, AnonymousAuthenticationManager.PROVIDER_TYPE); - anonymousProviderAttributes.put(AuthenticationProvider.NAME, ANONYMOUS_AUTHENTICATION_PROVIDER); - config.addObjectConfiguration(AuthenticationProvider.class, anonymousProviderAttributes); - config.setObjectAttribute(AuthenticationProvider.class, TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER, "secureOnlyMechanisms", "{}"); Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java Tue Mar 3 14:56:40 2015 @@ -31,10 +31,11 @@ import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; +import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.MalformedURLException; import java.net.URL; -import java.net.URLDecoder; +import java.net.URLEncoder; import java.security.GeneralSecurityException; import java.security.KeyStore; import java.util.Collections; @@ -303,7 +304,7 @@ public class RestTestHelper public void createNewGroupMember(String groupProviderName, String groupName, String memberName, int responseCode) throws IOException { HttpURLConnection connection = openManagementConnection( - "groupmember/" + URLDecoder.decode(groupProviderName, "UTF-8") + "/"+ URLDecoder.decode(groupName, "UTF-8") + "/" + URLDecoder.decode(memberName, "UTF-8"), + "groupmember/" + encodeAsUTF(groupProviderName) + "/"+ encodeAsUTF(groupName) + "/" + encodeAsUTF(memberName), "PUT"); Map<String, Object> groupMemberData = new HashMap<String, Object>(); @@ -323,7 +324,7 @@ public class RestTestHelper public void removeMemberFromGroup(String groupProviderName, String groupName, String memberName, int responseCode) throws IOException { HttpURLConnection connection = openManagementConnection( - "groupmember/" + URLDecoder.decode(groupProviderName, "UTF-8") + "/"+ URLDecoder.decode(groupName, "UTF-8") + "/" + URLDecoder.decode(memberName, "UTF-8"), + "groupmember/" + encodeAsUTF(groupProviderName) + "/"+ encodeAsUTF(groupName) + "/" + encodeAsUTF(memberName), "DELETE"); Assert.assertEquals("Unexpected response code", responseCode, connection.getResponseCode()); @@ -356,7 +357,7 @@ public class RestTestHelper public void createGroup(String groupName, String groupProviderName, int responseCode) throws IOException { HttpURLConnection connection = openManagementConnection( - "group/" + URLDecoder.decode(groupProviderName, "UTF-8") + "/"+ URLDecoder.decode(groupName, "UTF-8"), + "group/" + encodeAsUTF(groupProviderName) + "/"+ encodeAsUTF(groupName), "PUT"); Map<String, Object> groupData = new HashMap<String, Object>(); @@ -389,7 +390,7 @@ public class RestTestHelper public void removeGroup(String groupName, String groupProviderName, int responseCode) throws IOException { HttpURLConnection connection = openManagementConnection( - "group/" + URLDecoder.decode(groupProviderName, "UTF-8") + "/"+ URLDecoder.decode(groupName, "UTF-8"), + "group/" + encodeAsUTF(groupProviderName) + "/"+ encodeAsUTF(groupName), "DELETE"); Assert.assertEquals("Unexpected response code", responseCode, connection.getResponseCode()); @@ -575,4 +576,20 @@ public class RestTestHelper } } + public String encode(String value, String encoding) throws UnsupportedEncodingException + { + return URLEncoder.encode(value, encoding).replace("+", "%20"); + } + + public String encodeAsUTF(String value) + { + try + { + return encode(value, "UTF8"); + } + catch(UnsupportedEncodingException e) + { + throw new RuntimeException("Unsupported encoding UTF8", e); + } + } } Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java Tue Mar 3 14:56:40 2015 @@ -59,6 +59,7 @@ import org.apache.qpid.exchange.Exchange import org.apache.qpid.framing.AMQShortString; import org.apache.qpid.jms.BrokerDetails; import org.apache.qpid.jms.ConnectionURL; +import org.apache.qpid.server.Broker; import org.apache.qpid.server.BrokerOptions; import org.apache.qpid.server.configuration.BrokerProperties; import org.apache.qpid.server.configuration.updater.TaskExecutor; @@ -189,6 +190,19 @@ public class QpidBrokerTestCase extends _brokerConfigurations = new HashMap<Integer, TestBrokerConfiguration>(); initialiseSpawnedBrokerLogConfigFile(); _brokerCommandTemplate = BROKER_COMMAND_TEMPLATE; + + + if (JAVA.equals(_brokerLanguage)) + { + try + { + Broker.populateSystemPropertiesFromDefaults(null); + } + catch (IOException ioe) + { + throw new RuntimeException("Failed to load Java broker system properties", ioe); + } + } } public TestBrokerConfiguration getBrokerConfiguration(int port) Propchange: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Mar 3 14:56:40 2015 @@ -7,5 +7,5 @@ /qpid/branches/java-broker-vhost-refactor/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java:1493674-1494547 /qpid/branches/java-network-refactor/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java:805429-821809 /qpid/branches/qpid-2935/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java:1061302-1072333 -/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java:1643238-1655056 +/qpid/trunk/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java:1643238-1663687 /qpid/trunk/qpid/systests/src/main/java/org/apache/qpid/test/utils/QpidTestCase.java:796646-796653 Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/management/jmx/MBeanLifeCycleTest.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/management/jmx/MBeanLifeCycleTest.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/management/jmx/MBeanLifeCycleTest.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/management/jmx/MBeanLifeCycleTest.java Tue Mar 3 14:56:40 2015 @@ -35,7 +35,6 @@ import org.apache.qpid.server.model.Port import org.apache.qpid.server.model.VirtualHost; import org.apache.qpid.server.model.State; import org.apache.qpid.server.model.VirtualHostNode; -import org.apache.qpid.server.security.auth.manager.AnonymousAuthenticationManager; import org.apache.qpid.server.virtualhost.ProvidedStoreVirtualHostImpl; import org.apache.qpid.server.virtualhostnode.memory.MemoryVirtualHostNode; import org.apache.qpid.systest.rest.QpidRestTestCase; @@ -63,11 +62,6 @@ public class MBeanLifeCycleTest extends config.addHttpManagementConfiguration(); config.setObjectAttribute(Port.class, TestBrokerConfiguration.ENTRY_NAME_HTTP_PORT, Port.PORT, getRestTestHelper().getHttpPort()); - Map<String, Object> anonymousProviderAttributes = new HashMap<String, Object>(); - anonymousProviderAttributes.put(AuthenticationProvider.TYPE, AnonymousAuthenticationManager.PROVIDER_TYPE); - anonymousProviderAttributes.put(AuthenticationProvider.NAME, ANONYMOUS_AUTHENTICATION_PROVIDER); - config.addObjectConfiguration(AuthenticationProvider.class, anonymousProviderAttributes); - // set password authentication provider on http port for the tests config.setObjectAttribute(Port.class, TestBrokerConfiguration.ENTRY_NAME_HTTP_PORT, Port.AUTHENTICATION_PROVIDER, TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER); Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/AuthenticationProviderRestTest.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/AuthenticationProviderRestTest.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/AuthenticationProviderRestTest.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/AuthenticationProviderRestTest.java Tue Mar 3 14:56:40 2015 @@ -46,16 +46,11 @@ public class AuthenticationProviderRestT { List<Map<String, Object>> providerDetails = getRestTestHelper().getJsonAsList("authenticationprovider"); assertNotNull("Providers details cannot be null", providerDetails); - assertEquals("Unexpected number of providers", 2, providerDetails.size()); + assertEquals("Unexpected number of providers", 1, providerDetails.size()); for (Map<String, Object> provider : providerDetails) { boolean managesPrincipals = true; String type = PlainPasswordDatabaseAuthenticationManager.PROVIDER_TYPE; - if (ANONYMOUS_AUTHENTICATION_PROVIDER.equals(provider.get(AuthenticationProvider.NAME))) - { - type = AnonymousAuthenticationManager.PROVIDER_TYPE; - managesPrincipals = false; - } assertProvider(managesPrincipals, type , provider); Map<String, Object> data = getRestTestHelper().getJsonAsSingletonList("authenticationprovider/" + provider.get(AuthenticationProvider.NAME)); @@ -258,53 +253,6 @@ public class AuthenticationProviderRestT } } - public void testCreateAndDeletePasswordAuthenticationProviderWithNonExistingFile() throws Exception - { - stopBroker(); - getBrokerConfiguration().setSaved(false); - getBrokerConfiguration().removeObjectConfiguration(AuthenticationProvider.class, TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER); - getBrokerConfiguration().setObjectAttribute(Port.class, TestBrokerConfiguration.ENTRY_NAME_AMQP_PORT, Port.AUTHENTICATION_PROVIDER, ANONYMOUS_AUTHENTICATION_PROVIDER); - getBrokerConfiguration().setObjectAttribute(Port.class, TestBrokerConfiguration.ENTRY_NAME_HTTP_PORT, Port.AUTHENTICATION_PROVIDER, ANONYMOUS_AUTHENTICATION_PROVIDER); - - startBroker(); - - File file = new File(TMP_FOLDER + File.separator + getTestName()); - if (file.exists()) - { - file.delete(); - } - assertFalse("File " + file.getAbsolutePath() + " should not exist", file.exists()); - - // create provider - String providerName = "test-provider"; - Map<String, Object> attributes = new HashMap<String, Object>(); - attributes.put(AuthenticationProvider.NAME, providerName); - attributes.put(AuthenticationProvider.TYPE, PlainPasswordDatabaseAuthenticationManager.PROVIDER_TYPE); - attributes.put(ExternalFileBasedAuthenticationManager.PATH, file.getAbsolutePath()); - - int responseCode = getRestTestHelper().submitRequest("authenticationprovider/" + providerName, "PUT", attributes); - assertEquals("Password provider was not created", 201, responseCode); - - - Map<String, Object> providerDetails = getRestTestHelper().getJsonAsSingletonList("authenticationprovider/" + providerName); - assertNotNull("Providers details cannot be null", providerDetails); - assertEquals("Unexpected name", providerName, providerDetails.get(AuthenticationProvider.NAME)); - assertEquals("Unexpected type", PlainPasswordDatabaseAuthenticationManager.PROVIDER_TYPE, providerDetails.get(AuthenticationProvider.TYPE)); - assertEquals("Unexpected path", file.getAbsolutePath(), providerDetails.get( - ExternalFileBasedAuthenticationManager.PATH)); - - assertTrue("User file should be created", file.exists()); - - responseCode = getRestTestHelper().submitRequest("authenticationprovider/" + providerName , "DELETE"); - assertEquals("Unexpected response code for provider deletion", 200, responseCode); - - List<Map<String, Object>> providers = getRestTestHelper().getJsonAsList("authenticationprovider/" + providerName); - assertNotNull("Providers details cannot be null", providers); - assertEquals("Unexpected number of providers", 0, providers.size()); - - assertFalse("File " + file.getAbsolutePath() + " should be deleted", file.exists()); - } - private void assertProvider(boolean managesPrincipals, String type, Map<String, Object> provider) { Asserts.assertAttributesPresent(provider, BrokerModel.getInstance().getTypeRegistry().getAttributeNames( Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/ConnectionRestTest.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/ConnectionRestTest.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/ConnectionRestTest.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/ConnectionRestTest.java Tue Mar 3 14:56:40 2015 @@ -21,7 +21,6 @@ package org.apache.qpid.systest.rest; import java.io.IOException; -import java.net.URLDecoder; import java.util.List; import java.util.Map; @@ -112,7 +111,7 @@ public class ConnectionRestTest extends String connectionName = getConnectionName(); Map<String, Object> connectionDetails = getRestTestHelper().getJsonAsSingletonList("connection/test/test/" - + URLDecoder.decode(connectionName, "UTF-8")); + + getRestTestHelper().encodeAsUTF(connectionName)); assertConnection(connectionDetails); } @@ -124,7 +123,7 @@ public class ConnectionRestTest extends List<Map<String, Object>> connections = getRestTestHelper().getJsonAsList("connection/test/test"); assertEquals("Unexpected number of connections before deletion", 1, connections.size()); - String connectionUrl = "connection/test/test/" + URLDecoder.decode(connectionName, "UTF-8"); + String connectionUrl = "connection/test/test/" + getRestTestHelper().encodeAsUTF(connectionName); getRestTestHelper().submitRequest(connectionUrl, "DELETE", HttpServletResponse.SC_OK); connections = getRestTestHelper().getJsonAsList("connection/test/test"); @@ -161,7 +160,7 @@ public class ConnectionRestTest extends String connectionName = getConnectionName(); List<Map<String, Object>> sessions = getRestTestHelper().getJsonAsList("session/test/test/" - + URLDecoder.decode(connectionName, "UTF-8")); + + getRestTestHelper().encodeAsUTF(connectionName)); assertEquals("Unexpected number of sessions", 1, sessions.size()); assertSession(sessions.get(0), (AMQSession<?, ?>) _session); } @@ -172,7 +171,7 @@ public class ConnectionRestTest extends String connectionName = getConnectionName(); List<Map<String, Object>> sessions = getRestTestHelper().getJsonAsList("session/test/test/" - + URLDecoder.decode(connectionName, "UTF-8") + "/" + ((AMQSession<?, ?>) _session).getChannelId()); + + getRestTestHelper().encodeAsUTF(connectionName) + "/" + ((AMQSession<?, ?>) _session).getChannelId()); assertEquals("Unexpected number of sessions", 1, sessions.size()); assertSession(sessions.get(0), (AMQSession<?, ?>) _session); } @@ -187,7 +186,8 @@ public class ConnectionRestTest extends String connectionName = getConnectionName(); List<Map<String, Object>> sessions = getRestTestHelper().getJsonAsList("session/test/test/" - + URLDecoder.decode(connectionName, "UTF-8") + "/" + ((AMQSession<?, ?>) _session).getChannelId()); + + getRestTestHelper().encodeAsUTF(connectionName) + + "/" + ((AMQSession<?, ?>) _session).getChannelId()); assertEquals("Unexpected number of sessions", 1, sessions.size()); final Map<String, Object> sessionData = sessions.get(0); Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/ExchangeRestTest.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/ExchangeRestTest.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/ExchangeRestTest.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/ExchangeRestTest.java Tue Mar 3 14:56:40 2015 @@ -20,7 +20,6 @@ */ package org.apache.qpid.systest.rest; -import java.net.URLDecoder; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -65,7 +64,7 @@ public class ExchangeRestTest extends Qp for (String exchangeName : EXPECTED_EXCHANGES) { Map<String, Object> exchange = getRestTestHelper().getJsonAsSingletonList("exchange/test/test/" - + URLDecoder.decode(exchangeName, "UTF-8")); + + getRestTestHelper().encodeAsUTF(exchangeName)); assertExchange(exchangeName, exchange); } } Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/KeyStoreRestTest.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/KeyStoreRestTest.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/KeyStoreRestTest.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/KeyStoreRestTest.java Tue Mar 3 14:56:40 2015 @@ -55,7 +55,7 @@ public class KeyStoreRestTest extends Qp Map<String, Object> keystore = keyStores.get(0); assertEquals("Unexpected name", TestBrokerConfiguration.ENTRY_NAME_SSL_KEYSTORE, keystore.get(KeyStore.NAME)); - assertEquals("unexpected path to key store", AbstractConfiguredObject.SECURED_STRING_VALUE, keystore.get(FileKeyStore.STORE_URL)); + assertEquals("unexpected path to key store", ConfiguredObject.OVER_SIZED_ATTRIBUTE_ALTERNATIVE_TEXT, keystore.get(FileKeyStore.STORE_URL)); assertEquals("unexpected (dummy) password of default systests key store", AbstractConfiguredObject.SECURED_STRING_VALUE, keystore.get(FileKeyStore.PASSWORD)); assertEquals("unexpected type of default systests key store", java.security.KeyStore.getDefaultType(), keystore.get(FileKeyStore.KEY_STORE_TYPE)); assertFalse("should not be a certificateAlias attribute", keystore.containsKey(FileKeyStore.CERTIFICATE_ALIAS)); @@ -77,7 +77,7 @@ public class KeyStoreRestTest extends Qp Map<String, Object> keystore = keyStores.get(0); assertEquals("Unexpected name", name, keystore.get(KeyStore.NAME)); - assertEquals("unexpected path to key store", AbstractConfiguredObject.SECURED_STRING_VALUE, keystore.get(FileKeyStore.STORE_URL)); + assertEquals("unexpected path to key store", TestSSLConstants.KEYSTORE, keystore.get(FileKeyStore.STORE_URL)); assertEquals("unexpected password", AbstractConfiguredObject.SECURED_STRING_VALUE, keystore.get(FileKeyStore.PASSWORD)); assertEquals("unexpected alias", certAlias, keystore.get(FileKeyStore.CERTIFICATE_ALIAS)); } @@ -125,7 +125,7 @@ public class KeyStoreRestTest extends Qp List<Map<String, Object>> keyStores = assertNumberOfKeyStores(1); Map<String, Object> keystore = keyStores.get(0); assertEquals("Unexpected name", TestBrokerConfiguration.ENTRY_NAME_SSL_KEYSTORE, keystore.get(KeyStore.NAME)); - assertEquals("unexpected path to key store", AbstractConfiguredObject.SECURED_STRING_VALUE, keystore.get(FileKeyStore.STORE_URL)); + assertEquals("unexpected path to key store", ConfiguredObject.OVER_SIZED_ATTRIBUTE_ALTERNATIVE_TEXT, keystore.get(FileKeyStore.STORE_URL)); assertEquals("unexpected (dummy) password of default systests key store", AbstractConfiguredObject.SECURED_STRING_VALUE, keystore.get(FileKeyStore.PASSWORD)); assertFalse("should not be a certificateAlias attribute", keystore.containsKey(FileKeyStore.CERTIFICATE_ALIAS)); } @@ -151,7 +151,7 @@ public class KeyStoreRestTest extends Qp Map<String, Object> keystore = keyStores.get(0); assertEquals("Unexpected name", name, keystore.get(KeyStore.NAME)); - assertEquals("unexpected data", AbstractConfiguredObject.SECURED_STRING_VALUE, keystore.get(FileKeyStore.STORE_URL)); + assertEquals("unexpected data", TestSSLConstants.UNTRUSTED_KEYSTORE, keystore.get(FileKeyStore.STORE_URL)); assertEquals("unexpected password", AbstractConfiguredObject.SECURED_STRING_VALUE, keystore.get(FileKeyStore.PASSWORD)); assertEquals("unexpected alias", null, keystore.get(FileKeyStore.CERTIFICATE_ALIAS)); } Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/PortRestTest.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/PortRestTest.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/PortRestTest.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/PortRestTest.java Tue Mar 3 14:56:40 2015 @@ -21,7 +21,6 @@ package org.apache.qpid.systest.rest; import java.net.ServerSocket; -import java.net.URLDecoder; import java.util.Arrays; import java.util.Collection; import java.util.Collections; @@ -71,7 +70,7 @@ public class PortRestTest extends QpidRe { String portName = (String) portMap.get(Port.NAME); assertNotNull("Port name attribute is not found", portName); - Map<String, Object> portData = getRestTestHelper().getJsonAsSingletonList("port/" + URLDecoder.decode(portName, "UTF-8")); + Map<String, Object> portData = getRestTestHelper().getJsonAsSingletonList("port/" + getRestTestHelper().encodeAsUTF(portName)); assertNotNull("Port " + portName + " is not found", portData); Asserts.assertPortAttributes(portData); } @@ -319,12 +318,12 @@ public class PortRestTest extends QpidRe attributes = new HashMap<String, Object>(); attributes.put(Port.NAME, portName); - attributes.put(Port.AUTHENTICATION_PROVIDER, ANONYMOUS_AUTHENTICATION_PROVIDER); + attributes.put(Port.AUTHENTICATION_PROVIDER, TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER); responseCode = getRestTestHelper().submitRequest("port/" + portName, "PUT", attributes); assertEquals("Unexpected response when trying to change auth provider to existing one", 200, responseCode); Map<String, Object> port = getRestTestHelper().getJsonAsSingletonList("port/" + portName); - assertEquals("Unexpected auth provider", ANONYMOUS_AUTHENTICATION_PROVIDER, port.get(Port.AUTHENTICATION_PROVIDER)); + assertEquals("Unexpected auth provider", TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER, port.get(Port.AUTHENTICATION_PROVIDER)); } public void testDefaultAmqpPortIsQuiescedWhenInManagementMode() throws Exception @@ -335,14 +334,14 @@ public class PortRestTest extends QpidRe getRestTestHelper().setUsernameAndPassword(BrokerOptions.MANAGEMENT_MODE_USER_NAME, MANAGEMENT_MODE_PASSWORD); String ampqPortName = TestBrokerConfiguration.ENTRY_NAME_AMQP_PORT; - Map<String, Object> portData = getRestTestHelper().getJsonAsSingletonList("port/" + URLDecoder.decode(ampqPortName, "UTF-8")); + Map<String, Object> portData = getRestTestHelper().getJsonAsSingletonList("port/" + getRestTestHelper().encodeAsUTF(ampqPortName)); Asserts.assertPortAttributes(portData, State.QUIESCED); } public void testNewPortErroredIfPortNumberInUse() throws Exception { String ampqPortName = TestBrokerConfiguration.ENTRY_NAME_AMQP_PORT; - Map<String, Object> portData = getRestTestHelper().getJsonAsSingletonList("port/" + URLDecoder.decode(ampqPortName, "UTF-8")); + Map<String, Object> portData = getRestTestHelper().getJsonAsSingletonList("port/" + getRestTestHelper().encodeAsUTF(ampqPortName)); int amqpPort = (Integer)portData.get(Port.PORT); ServerSocket socket = new ServerSocket(0); @@ -360,7 +359,7 @@ public class PortRestTest extends QpidRe int responseCode = getRestTestHelper().submitRequest("port/" + newPortName, "PUT", attributes); assertEquals("Unexpected response code for port creation", 409, responseCode); - List<Map<String,Object>> ports = getRestTestHelper().getJsonAsList("port/" + URLDecoder.decode(newPortName, "UTF-8")); + List<Map<String,Object>> ports = getRestTestHelper().getJsonAsList("port/" + getRestTestHelper().encodeAsUTF(newPortName)); assertTrue("Port should not be created", ports.isEmpty()); } } Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/QueueRestTest.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/QueueRestTest.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/QueueRestTest.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/QueueRestTest.java Tue Mar 3 14:56:40 2015 @@ -21,7 +21,6 @@ package org.apache.qpid.systest.rest; import java.io.IOException; -import java.net.URLDecoder; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -197,7 +196,7 @@ public class QueueRestTest extends QpidR bindingData.put(Binding.EXCHANGE, exchangeName); bindingData.put(Binding.QUEUE, queueName); - String url = "binding/test/test/" + URLDecoder.decode(exchangeName, "UTF-8") + "/" + queueName + "/" + bindingName; + String url = "binding/test/test/" + getRestTestHelper().encodeAsUTF(exchangeName) + "/" + queueName + "/" + bindingName; int responseCode = getRestTestHelper().submitRequest(url, "PUT", bindingData); assertEquals("Unexpected response code", 201, responseCode); } Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/StructureRestTest.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/StructureRestTest.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/StructureRestTest.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/StructureRestTest.java Tue Mar 3 14:56:40 2015 @@ -53,7 +53,7 @@ public class StructureRestTest extends Q @SuppressWarnings("unchecked") List<Map<String, Object>> providers = (List<Map<String, Object>>) structure.get("authenticationproviders"); - assertEquals("Unexpected number of authentication providers", 2, providers.size()); + assertEquals("Unexpected number of authentication providers", 1, providers.size()); for (String nodeName : EXPECTED_VIRTUALHOSTS) { Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/acl/BrokerACLTest.java URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/acl/BrokerACLTest.java?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/acl/BrokerACLTest.java (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/systests/src/test/java/org/apache/qpid/systest/rest/acl/BrokerACLTest.java Tue Mar 3 14:56:40 2015 @@ -244,29 +244,6 @@ public class BrokerACLTest extends QpidR assertPortDoesNotExist(portName); } - // TODO: test disabled until allowing the updating of active ports outside management mode - public void DISABLED_testSetPortAttributesAllowed() throws Exception - { - getRestTestHelper().setUsernameAndPassword(ALLOWED_USER, ALLOWED_USER); - - String portName = getTestName(); - - int responseCode = createPort(portName); - assertEquals("Port creation should be allowed", 201, responseCode); - - assertPortExists(portName); - - - Map<String, Object> attributes = new HashMap<String, Object>(); - attributes.put(Port.NAME, portName); - attributes.put(Port.AUTHENTICATION_PROVIDER, ANONYMOUS_AUTHENTICATION_PROVIDER); - responseCode = getRestTestHelper().submitRequest("port/" + portName, "PUT", attributes); - assertEquals("Setting of port attribites should be allowed", 200, responseCode); - - Map<String, Object> port = getRestTestHelper().getJsonAsSingletonList("port/" + portName); - assertEquals("Unexpected authentication provider attribute value", ANONYMOUS_AUTHENTICATION_PROVIDER, - port.get(Port.AUTHENTICATION_PROVIDER)); - } public void testSetPortAttributesDenied() throws Exception { @@ -284,7 +261,7 @@ public class BrokerACLTest extends QpidR Map<String, Object> attributes = new HashMap<String, Object>(); attributes.put(Port.NAME, portName); attributes.put(Port.PROTOCOLS, Arrays.asList(Protocol.AMQP_0_9)); - attributes.put(Port.AUTHENTICATION_PROVIDER, ANONYMOUS_AUTHENTICATION_PROVIDER); + attributes.put(Port.AUTHENTICATION_PROVIDER, TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER); responseCode = getRestTestHelper().submitRequest("port/" + portName, "PUT", attributes); assertEquals("Setting of port attribites should be denied", 403, responseCode); Modified: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/test-profiles/CPPExcludes URL: http://svn.apache.org/viewvc/qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/test-profiles/CPPExcludes?rev=1663717&r1=1663716&r2=1663717&view=diff ============================================================================== --- qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/test-profiles/CPPExcludes (original) +++ qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/test-profiles/CPPExcludes Tue Mar 3 14:56:40 2015 @@ -209,3 +209,8 @@ org.apache.qpid.test.unit.client.AMQSess org.apache.qpid.client.prefetch.PrefetchBehaviourTest#testPrefetchWindowExpandsOnReceiveTransaction org.apache.qpid.client.SyncPublishTest#* + +org.apache.qpid.server.queue.ArrivalTimeFilterTest#* +org.apache.qpid.server.queue.DefaultFiltersTest#* +org.apache.qpid.server.queue.EnsureNondestructiveConsumersTest#* + Propchange: qpid/branches/QPID-6262-JavaBrokerNIO/qpid/java/test-profiles/CPPExcludes ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Tue Mar 3 14:56:40 2015 @@ -5,3 +5,4 @@ /qpid/branches/java-broker-vhost-refactor/java/test-profiles/CPPExcludes:1493674-1494547 /qpid/branches/java-network-refactor/qpid/java/test-profiles/010Excludes:805429-821809 /qpid/branches/qpid-2935/qpid/java/test-profiles/CPPExcludes:1061302-1072333 +/qpid/trunk/qpid/java/test-profiles/CPPExcludes:1643238-1663687 --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@qpid.apache.org For additional commands, e-mail: commits-h...@qpid.apache.org