From 042660f0ffbcdca0dd8f6d596ff9c00e5767b8f9 Mon Sep 17 00:00:00 2001 From: Robert Gemmell Date: Thu, 6 Jun 2013 12:45:26 +0000 Subject: QPID-4900: Add the server properties to the AMQP 1.0 SASL ProtocolEngine as well. Use the same base property names for all protocol versions, using the standard 'version' and 'product' property names from AMQP 0-x specs. git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1490260 13f79535-47bb-0310-9956-ffa450edef68 --- .../apache/qpid/server/protocol/AMQProtocolEngine.java | 10 ++++++---- .../qpid/server/protocol/ProtocolEngine_1_0_0.java | 10 +++++----- .../qpid/server/protocol/ProtocolEngine_1_0_0_SASL.java | 14 ++++++++++++++ .../qpid/server/transport/ServerConnectionDelegate.java | 8 ++++---- .../java/org/apache/qpid/common/ServerPropertyNames.java | 16 +++++++++++----- 5 files changed, 40 insertions(+), 18 deletions(-) diff --git a/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolEngine.java b/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolEngine.java index 54ac966898..3274cffc08 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolEngine.java +++ b/java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolEngine.java @@ -46,6 +46,7 @@ import org.apache.qpid.AMQException; import org.apache.qpid.AMQSecurityException; import org.apache.qpid.codec.AMQCodecFactory; import org.apache.qpid.common.QpidProperties; +import org.apache.qpid.common.ServerPropertyNames; import org.apache.qpid.framing.*; import org.apache.qpid.properties.ConnectionStartProperties; import org.apache.qpid.protocol.AMQConstant; @@ -391,14 +392,15 @@ public class AMQProtocolEngine implements ServerProtocolEngine, AMQProtocolSessi FieldTable serverProperties = FieldTableFactory.newFieldTable(); - serverProperties.setString(ConnectionStartProperties.PRODUCT, + serverProperties.setString(ServerPropertyNames.PRODUCT, QpidProperties.getProductName()); - serverProperties.setString(ConnectionStartProperties.VERSION_0_8, + serverProperties.setString(ServerPropertyNames.VERSION, QpidProperties.getReleaseVersion()); - serverProperties.setString(ConnectionStartProperties.CLIENT_ID_0_8, + serverProperties.setString(ServerPropertyNames.QPID_BUILD, + QpidProperties.getBuildVersion()); + serverProperties.setString(ServerPropertyNames.QPID_INSTANCE_NAME, _broker.getName()); - AMQMethodBody responseBody = getMethodRegistry().createConnectionStartBody((short) getProtocolMajorVersion(), (short) pv.getActualMinorVersion(), serverProperties, diff --git a/java/broker/src/main/java/org/apache/qpid/server/protocol/ProtocolEngine_1_0_0.java b/java/broker/src/main/java/org/apache/qpid/server/protocol/ProtocolEngine_1_0_0.java index 597ae9b020..7d5459dce6 100755 --- a/java/broker/src/main/java/org/apache/qpid/server/protocol/ProtocolEngine_1_0_0.java +++ b/java/broker/src/main/java/org/apache/qpid/server/protocol/ProtocolEngine_1_0_0.java @@ -42,7 +42,7 @@ import org.apache.qpid.amqp_1_0.type.Binary; import org.apache.qpid.amqp_1_0.type.FrameBody; import org.apache.qpid.amqp_1_0.type.Symbol; import org.apache.qpid.common.QpidProperties; -import org.apache.qpid.properties.ConnectionStartProperties; +import org.apache.qpid.common.ServerPropertyNames; import org.apache.qpid.protocol.ServerProtocolEngine; import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.Port; @@ -169,10 +169,10 @@ public class ProtocolEngine_1_0_0 implements ServerProtocolEngine, FrameOutputHa getLocalAddress()))); Map serverProperties = new LinkedHashMap(); - serverProperties.put(Symbol.valueOf("qpid.product"), QpidProperties.getProductName()); - serverProperties.put(Symbol.valueOf("qpid.version"), QpidProperties.getReleaseVersion()); - serverProperties.put(Symbol.valueOf("qpid.build"), QpidProperties.getBuildVersion()); - serverProperties.put(Symbol.valueOf("qpid.instanceName"), _broker.getName()); + serverProperties.put(Symbol.valueOf(ServerPropertyNames.PRODUCT), QpidProperties.getProductName()); + serverProperties.put(Symbol.valueOf(ServerPropertyNames.VERSION), QpidProperties.getReleaseVersion()); + serverProperties.put(Symbol.valueOf(ServerPropertyNames.QPID_BUILD), QpidProperties.getBuildVersion()); + serverProperties.put(Symbol.valueOf(ServerPropertyNames.QPID_INSTANCE_NAME), _broker.getName()); _conn.setProperties(serverProperties); diff --git a/java/broker/src/main/java/org/apache/qpid/server/protocol/ProtocolEngine_1_0_0_SASL.java b/java/broker/src/main/java/org/apache/qpid/server/protocol/ProtocolEngine_1_0_0_SASL.java index 8e64ca74f9..9472e08ca5 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/protocol/ProtocolEngine_1_0_0_SASL.java +++ b/java/broker/src/main/java/org/apache/qpid/server/protocol/ProtocolEngine_1_0_0_SASL.java @@ -24,6 +24,8 @@ import java.io.PrintWriter; import java.net.SocketAddress; import java.nio.ByteBuffer; import java.security.Principal; +import java.util.LinkedHashMap; +import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; import javax.security.sasl.SaslException; @@ -39,6 +41,9 @@ import org.apache.qpid.amqp_1_0.transport.Container; import org.apache.qpid.amqp_1_0.transport.FrameOutputHandler; import org.apache.qpid.amqp_1_0.type.Binary; import org.apache.qpid.amqp_1_0.type.FrameBody; +import org.apache.qpid.amqp_1_0.type.Symbol; +import org.apache.qpid.common.QpidProperties; +import org.apache.qpid.common.ServerPropertyNames; import org.apache.qpid.protocol.ServerProtocolEngine; import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.model.Port; @@ -172,6 +177,15 @@ public class ProtocolEngine_1_0_0_SASL implements ServerProtocolEngine, FrameOut VirtualHost virtualHost = _broker.getVirtualHostRegistry().getVirtualHost((String)_broker.getAttribute(Broker.DEFAULT_VIRTUAL_HOST)); SubjectCreator subjectCreator = _broker.getSubjectCreator(getLocalAddress()); _conn = new ConnectionEndpoint(container, asSaslServerProvider(subjectCreator)); + + Map serverProperties = new LinkedHashMap(); + serverProperties.put(Symbol.valueOf(ServerPropertyNames.PRODUCT), QpidProperties.getProductName()); + serverProperties.put(Symbol.valueOf(ServerPropertyNames.VERSION), QpidProperties.getReleaseVersion()); + serverProperties.put(Symbol.valueOf(ServerPropertyNames.QPID_BUILD), QpidProperties.getBuildVersion()); + serverProperties.put(Symbol.valueOf(ServerPropertyNames.QPID_INSTANCE_NAME), _broker.getName()); + + _conn.setProperties(serverProperties); + _conn.setRemoteAddress(getRemoteAddress()); _conn.setConnectionEventListener(new Connection_1_0(virtualHost, _conn, _connectionId, _port, _transport)); _conn.setFrameOutputHandler(this); diff --git a/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnectionDelegate.java b/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnectionDelegate.java index e8053e735f..9e25182b10 100644 --- a/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnectionDelegate.java +++ b/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnectionDelegate.java @@ -103,10 +103,10 @@ public class ServerConnectionDelegate extends ServerDelegate map.put(ServerPropertyNames.QPID_FEATURES, features); } - map.put(ServerPropertyNames.QPID_PRODUCT, QpidProperties.getProductName()); - map.put(ServerPropertyNames.QPID_SERVER_VERSION, QpidProperties.getReleaseVersion()); - map.put(ServerPropertyNames.QPID_SERVER_BUILD_VERSION, QpidProperties.getBuildVersion()); - map.put(ServerPropertyNames.QPID_SERVER_NAME, broker.getName()); + map.put(ServerPropertyNames.PRODUCT, QpidProperties.getProductName()); + map.put(ServerPropertyNames.VERSION, QpidProperties.getReleaseVersion()); + map.put(ServerPropertyNames.QPID_BUILD, QpidProperties.getBuildVersion()); + map.put(ServerPropertyNames.QPID_INSTANCE_NAME, broker.getName()); return map; } diff --git a/java/common/src/main/java/org/apache/qpid/common/ServerPropertyNames.java b/java/common/src/main/java/org/apache/qpid/common/ServerPropertyNames.java index 5b73b26af3..3d792459a9 100644 --- a/java/common/src/main/java/org/apache/qpid/common/ServerPropertyNames.java +++ b/java/common/src/main/java/org/apache/qpid/common/ServerPropertyNames.java @@ -22,7 +22,7 @@ package org.apache.qpid.common; /** * Keys names used within the serverProperties argument of the ConnectionStart - * method. These property names are Qpid specific. + * method. Property names which start with "qpid." are Qpid specific. */ public final class ServerPropertyNames { @@ -45,10 +45,16 @@ public final class ServerPropertyNames */ public static final String FEATURE_QPID_JMS_SELECTOR = "qpid.jms-selector"; + /** + * Server property: 'name' attribute of the server instance. + */ + public static final String QPID_INSTANCE_NAME = "qpid.instance_name"; - public static final String QPID_PRODUCT = "qpid.product"; - public static final String QPID_SERVER_VERSION = "qpid.server_version"; - public static final String QPID_SERVER_NAME = "qpid.server_name"; - public static final String QPID_SERVER_BUILD_VERSION = "qpid.server_build_version"; + /** + * Server property: build number. + */ + public static final String QPID_BUILD = "qpid.build"; + public static final String PRODUCT = "product"; + public static final String VERSION = "version"; } -- cgit v1.2.1