summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2013-06-06 12:45:26 +0000
committerRobert Gemmell <robbie@apache.org>2013-06-06 12:45:26 +0000
commit042660f0ffbcdca0dd8f6d596ff9c00e5767b8f9 (patch)
treea3e83dc65d6ed12efc7c373f9833851415731b72
parentc6affa0bf08a3d26f436ebbdd4d8a0eaa030af60 (diff)
downloadqpid-python-042660f0ffbcdca0dd8f6d596ff9c00e5767b8f9.tar.gz
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
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/protocol/AMQProtocolEngine.java10
-rwxr-xr-xjava/broker/src/main/java/org/apache/qpid/server/protocol/ProtocolEngine_1_0_0.java10
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/protocol/ProtocolEngine_1_0_0_SASL.java14
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnectionDelegate.java8
-rw-r--r--java/common/src/main/java/org/apache/qpid/common/ServerPropertyNames.java16
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<Symbol,Object> serverProperties = new LinkedHashMap<Symbol, Object>();
- 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<Symbol,Object> serverProperties = new LinkedHashMap<Symbol, Object>();
+ 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";
}