From e24fe7cc76a6ac23417d7d8fb83829ca69e156dc Mon Sep 17 00:00:00 2001 From: Keith Wall Date: Mon, 13 Jan 2014 11:43:52 +0000 Subject: QPID-5472: [Java Broker] Connection model object attribute PORT should return the name of the Port * Added REST system test for the above * Also addressed review comments from Andrew MacBean (namely, HttpManagement#stop should chain the underlying exception). git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1557683 13f79535-47bb-0310-9956-ffa450edef68 --- .../src/main/java/org/apache/qpid/server/model/Connection.java | 1 + .../java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java | 4 +++- .../java/org/apache/qpid/server/management/plugin/HttpManagement.java | 2 +- .../systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java | 3 +++ 4 files changed, 8 insertions(+), 2 deletions(-) (limited to 'qpid/java') diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Connection.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Connection.java index 3139850892..31d40c7c3e 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Connection.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Connection.java @@ -79,6 +79,7 @@ public interface Connection extends ConfiguredObject public static final String REMOTE_PROCESS_PID = "remoteProcessPid"; public static final String SESSION_COUNT_LIMIT = "sessionCountLimit"; public static final String TRANSPORT = "transport"; + /** Name of port associated with the connection */ public static final String PORT = "port"; diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java index e8bacb2712..dd5fc67b48 100644 --- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java +++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java @@ -35,6 +35,7 @@ import org.apache.qpid.protocol.AMQConstant; import org.apache.qpid.server.model.ConfiguredObject; import org.apache.qpid.server.model.Connection; import org.apache.qpid.server.model.LifetimePolicy; +import org.apache.qpid.server.model.Port; import org.apache.qpid.server.model.Session; import org.apache.qpid.server.model.State; import org.apache.qpid.server.model.Statistics; @@ -226,7 +227,8 @@ final class ConnectionAdapter extends AbstractAdapter implements Connection } else if(name.equals(PORT)) { - return String.valueOf(_connection.getPort()); + Port port = _connection.getPort(); + return String.valueOf(port == null ? null : port.getName()); } return super.getAttribute(name); } diff --git a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java index c5eea97061..63d8a78822 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java +++ b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java @@ -199,7 +199,7 @@ public class HttpManagement extends AbstractPluginAdapter implements HttpManagem } catch (Exception e) { - throw new RuntimeException("Failed to stop HTTP management on ports : " + getHttpPorts(getBroker().getPorts())); + throw new RuntimeException("Failed to stop HTTP management on ports : " + getHttpPorts(getBroker().getPorts()), e); } } diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java index ad328eaede..b65ddbb2d0 100644 --- a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java +++ b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java @@ -41,6 +41,7 @@ import org.apache.qpid.server.model.Protocol; import org.apache.qpid.server.model.Queue; import org.apache.qpid.server.model.State; import org.apache.qpid.server.model.VirtualHost; +import org.apache.qpid.test.utils.TestBrokerConfiguration; public class Asserts { @@ -163,6 +164,8 @@ public class Asserts Connection.INCOMING, Connection.REMOTE_PROCESS_NAME, Connection.REMOTE_PROCESS_PID, Connection.LOCAL_ADDRESS, Connection.PROPERTIES); + assertEquals("Unexpected value for connection attribute " + Connection.PORT, + TestBrokerConfiguration.ENTRY_NAME_AMQP_PORT, connectionData.get(Connection.PORT)); assertEquals("Unexpected value of connection attribute " + Connection.SESSION_COUNT_LIMIT, (int) connection.getMaximumChannelCount(), connectionData.get(Connection.SESSION_COUNT_LIMIT)); assertEquals("Unexpected value of connection attribute " + Connection.CLIENT_ID, "clientid", -- cgit v1.2.1