You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2017/06/27 09:34:27 UTC
[1/3] qpid-broker-j git commit: QPID-7839: [Java Broker] Manage inter
module dependencies with dependencyManagement too
Repository: qpid-broker-j
Updated Branches:
refs/heads/master a0773955c -> ae54418f1
QPID-7839: [Java Broker] Manage inter module dependencies with dependencyManagement too
Also standardised on the approach to inter-module test dependencies i.e. favour <classifier/> over <type/>.
Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/07a16bbe
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/07a16bbe
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/07a16bbe
Branch: refs/heads/master
Commit: 07a16bbe50a542ac998aa6621114eb67c7b5bfc7
Parents: a077395
Author: Keith Wall <kw...@apache.org>
Authored: Fri Jun 23 09:14:56 2017 +0100
Committer: Keith Wall <kw...@apache.org>
Committed: Tue Jun 27 10:12:33 2017 +0100
----------------------------------------------------------------------
bdbstore/pom.xml | 8 +-
bdbstore/systests/pom.xml | 5 +-
broker-core/pom.xml | 2 -
broker-plugins/access-control/pom.xml | 6 +-
broker-plugins/amqp-0-10-protocol/pom.xml | 6 +-
broker-plugins/amqp-0-8-protocol/pom.xml | 6 +-
broker-plugins/amqp-1-0-bdb-store/pom.xml | 8 +-
broker-plugins/amqp-1-0-jdbc-store/pom.xml | 7 +-
broker-plugins/amqp-1-0-protocol/pom.xml | 6 +-
.../amqp-msg-conv-0-10-to-1-0/pom.xml | 6 +-
.../amqp-msg-conv-0-8-to-0-10/pom.xml | 4 -
broker-plugins/amqp-msg-conv-0-8-to-1-0/pom.xml | 5 -
broker-plugins/derby-store/pom.xml | 6 +-
broker-plugins/jdbc-provider-bone/pom.xml | 2 -
broker-plugins/jdbc-store/pom.xml | 6 +-
broker-plugins/logging-logback/pom.xml | 6 +-
broker-plugins/management-amqp/pom.xml | 2 -
broker-plugins/management-http/pom.xml | 4 -
broker-plugins/memory-store/pom.xml | 6 +-
broker-plugins/websocket/pom.xml | 2 -
broker/pom.xml | 20 ---
perftests/pom.xml | 1 -
perftests/visualisation-jfc/pom.xml | 3 -
pom.xml | 168 +++++++++++++++++++
qpid-perftests-systests/pom.xml | 4 -
systests/pom.xml | 21 +--
systests/protocol-tests-amqp-1-0/pom.xml | 11 --
systests/qpid-systests-jms_2.0/pom.xml | 3 -
28 files changed, 182 insertions(+), 152 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/bdbstore/pom.xml
----------------------------------------------------------------------
diff --git a/bdbstore/pom.xml b/bdbstore/pom.xml
index 946858d..c438d13 100644
--- a/bdbstore/pom.xml
+++ b/bdbstore/pom.xml
@@ -32,21 +32,18 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-codegen</artifactId>
- <version>${project.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-0-8-protocol</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
@@ -58,22 +55,19 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-test-utils</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
- <type>test-jar</type>
+ <classifier>tests</classifier>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-0-10-protocol</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/bdbstore/systests/pom.xml
----------------------------------------------------------------------
diff --git a/bdbstore/systests/pom.xml b/bdbstore/systests/pom.xml
index bc76dc4..7580d78 100644
--- a/bdbstore/systests/pom.xml
+++ b/bdbstore/systests/pom.xml
@@ -40,20 +40,17 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-systests</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-bdbstore</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-bdbstore</artifactId>
- <version>${project.version}</version>
- <type>test-jar</type>
+ <classifier>tests</classifier>
<scope>test</scope>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/broker-core/pom.xml
----------------------------------------------------------------------
diff --git a/broker-core/pom.xml b/broker-core/pom.xml
index 60d6a63..c8feefb 100644
--- a/broker-core/pom.xml
+++ b/broker-core/pom.xml
@@ -40,7 +40,6 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-codegen</artifactId>
- <version>${project.version}</version>
<optional>true</optional>
</dependency>
@@ -80,7 +79,6 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-test-utils</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/broker-plugins/access-control/pom.xml
----------------------------------------------------------------------
diff --git a/broker-plugins/access-control/pom.xml b/broker-plugins/access-control/pom.xml
index 68d8e8b..989321f 100644
--- a/broker-plugins/access-control/pom.xml
+++ b/broker-plugins/access-control/pom.xml
@@ -37,14 +37,12 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-codegen</artifactId>
- <version>${project.version}</version>
<optional>true</optional>
</dependency>
@@ -52,15 +50,13 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-test-utils</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
- <type>test-jar</type>
+ <classifier>tests</classifier>
<scope>test</scope>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/broker-plugins/amqp-0-10-protocol/pom.xml
----------------------------------------------------------------------
diff --git a/broker-plugins/amqp-0-10-protocol/pom.xml b/broker-plugins/amqp-0-10-protocol/pom.xml
index 3d08bfa..39cc10d 100644
--- a/broker-plugins/amqp-0-10-protocol/pom.xml
+++ b/broker-plugins/amqp-0-10-protocol/pom.xml
@@ -33,14 +33,12 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-codegen</artifactId>
- <version>${project.version}</version>
<optional>true</optional>
</dependency>
@@ -53,15 +51,13 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-test-utils</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
- <type>test-jar</type>
+ <classifier>tests</classifier>
<scope>test</scope>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/broker-plugins/amqp-0-8-protocol/pom.xml
----------------------------------------------------------------------
diff --git a/broker-plugins/amqp-0-8-protocol/pom.xml b/broker-plugins/amqp-0-8-protocol/pom.xml
index 60ed62e..a40955f 100644
--- a/broker-plugins/amqp-0-8-protocol/pom.xml
+++ b/broker-plugins/amqp-0-8-protocol/pom.xml
@@ -37,14 +37,12 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-codegen</artifactId>
- <version>${project.version}</version>
<optional>true</optional>
</dependency>
@@ -52,15 +50,13 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-test-utils</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
- <type>test-jar</type>
+ <classifier>tests</classifier>
<scope>test</scope>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/broker-plugins/amqp-1-0-bdb-store/pom.xml
----------------------------------------------------------------------
diff --git a/broker-plugins/amqp-1-0-bdb-store/pom.xml b/broker-plugins/amqp-1-0-bdb-store/pom.xml
index 2dfba63..b3fc2a4 100644
--- a/broker-plugins/amqp-1-0-bdb-store/pom.xml
+++ b/broker-plugins/amqp-1-0-bdb-store/pom.xml
@@ -38,42 +38,36 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-codegen</artifactId>
- <version>${project.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-bdbstore</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-1-0-protocol</artifactId>
- <version>${project.version}</version>
</dependency>
<!-- test dependencies -->
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-test-utils</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-1-0-protocol</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
- <type>test-jar</type>
+ <classifier>tests</classifier>
</dependency>
</dependencies>
</project>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/broker-plugins/amqp-1-0-jdbc-store/pom.xml
----------------------------------------------------------------------
diff --git a/broker-plugins/amqp-1-0-jdbc-store/pom.xml b/broker-plugins/amqp-1-0-jdbc-store/pom.xml
index e7dab48..9e8c3dc 100644
--- a/broker-plugins/amqp-1-0-jdbc-store/pom.xml
+++ b/broker-plugins/amqp-1-0-jdbc-store/pom.xml
@@ -40,36 +40,31 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-codegen</artifactId>
- <version>${project.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-jdbc-store</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-1-0-protocol</artifactId>
- <version>${project.version}</version>
</dependency>
<!-- test dependencies -->
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-test-utils</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-1-0-protocol</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
- <type>test-jar</type>
+ <classifier>tests</classifier>
</dependency>
<dependency>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/broker-plugins/amqp-1-0-protocol/pom.xml
----------------------------------------------------------------------
diff --git a/broker-plugins/amqp-1-0-protocol/pom.xml b/broker-plugins/amqp-1-0-protocol/pom.xml
index fab8106..c2aae3f 100644
--- a/broker-plugins/amqp-1-0-protocol/pom.xml
+++ b/broker-plugins/amqp-1-0-protocol/pom.xml
@@ -33,14 +33,12 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-codegen</artifactId>
- <version>${project.version}</version>
<optional>true</optional>
</dependency>
@@ -48,15 +46,13 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-test-utils</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
- <type>test-jar</type>
+ <classifier>tests</classifier>
<scope>test</scope>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/broker-plugins/amqp-msg-conv-0-10-to-1-0/pom.xml
----------------------------------------------------------------------
diff --git a/broker-plugins/amqp-msg-conv-0-10-to-1-0/pom.xml b/broker-plugins/amqp-msg-conv-0-10-to-1-0/pom.xml
index 6ba0d7d..e9a9c9b 100644
--- a/broker-plugins/amqp-msg-conv-0-10-to-1-0/pom.xml
+++ b/broker-plugins/amqp-msg-conv-0-10-to-1-0/pom.xml
@@ -33,27 +33,23 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-codegen</artifactId>
- <version>${project.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-0-10-protocol</artifactId>
- <version>${project.version}</version>
- </dependency>
+ </dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-1-0-protocol</artifactId>
- <version>${project.version}</version>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/broker-plugins/amqp-msg-conv-0-8-to-0-10/pom.xml
----------------------------------------------------------------------
diff --git a/broker-plugins/amqp-msg-conv-0-8-to-0-10/pom.xml b/broker-plugins/amqp-msg-conv-0-8-to-0-10/pom.xml
index edadb1a..abf8795 100644
--- a/broker-plugins/amqp-msg-conv-0-8-to-0-10/pom.xml
+++ b/broker-plugins/amqp-msg-conv-0-8-to-0-10/pom.xml
@@ -33,27 +33,23 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-codegen</artifactId>
- <version>${project.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-0-8-protocol</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-0-10-protocol</artifactId>
- <version>${project.version}</version>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/broker-plugins/amqp-msg-conv-0-8-to-1-0/pom.xml
----------------------------------------------------------------------
diff --git a/broker-plugins/amqp-msg-conv-0-8-to-1-0/pom.xml b/broker-plugins/amqp-msg-conv-0-8-to-1-0/pom.xml
index 5f9fe50..a1f088b 100644
--- a/broker-plugins/amqp-msg-conv-0-8-to-1-0/pom.xml
+++ b/broker-plugins/amqp-msg-conv-0-8-to-1-0/pom.xml
@@ -33,33 +33,28 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-codegen</artifactId>
- <version>${project.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-0-8-protocol</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-1-0-protocol</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-test-utils</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/broker-plugins/derby-store/pom.xml
----------------------------------------------------------------------
diff --git a/broker-plugins/derby-store/pom.xml b/broker-plugins/derby-store/pom.xml
index 4f96103..d5edc52 100644
--- a/broker-plugins/derby-store/pom.xml
+++ b/broker-plugins/derby-store/pom.xml
@@ -33,13 +33,11 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-jdbc-store</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-codegen</artifactId>
- <version>${project.version}</version>
<optional>true</optional>
</dependency>
@@ -52,15 +50,13 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-test-utils</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
- <type>test-jar</type>
+ <classifier>tests</classifier>
<scope>test</scope>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/broker-plugins/jdbc-provider-bone/pom.xml
----------------------------------------------------------------------
diff --git a/broker-plugins/jdbc-provider-bone/pom.xml b/broker-plugins/jdbc-provider-bone/pom.xml
index 50174f6..1f218ba 100644
--- a/broker-plugins/jdbc-provider-bone/pom.xml
+++ b/broker-plugins/jdbc-provider-bone/pom.xml
@@ -33,13 +33,11 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-jdbc-store</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-codegen</artifactId>
- <version>${project.version}</version>
<optional>true</optional>
</dependency>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/broker-plugins/jdbc-store/pom.xml
----------------------------------------------------------------------
diff --git a/broker-plugins/jdbc-store/pom.xml b/broker-plugins/jdbc-store/pom.xml
index 7ec0eb7..5c16eaa 100644
--- a/broker-plugins/jdbc-store/pom.xml
+++ b/broker-plugins/jdbc-store/pom.xml
@@ -33,13 +33,11 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-codegen</artifactId>
- <version>${project.version}</version>
<optional>true</optional>
</dependency>
@@ -47,15 +45,13 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-test-utils</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
- <type>test-jar</type>
+ <classifier>tests</classifier>
<scope>test</scope>
</dependency>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/broker-plugins/logging-logback/pom.xml
----------------------------------------------------------------------
diff --git a/broker-plugins/logging-logback/pom.xml b/broker-plugins/logging-logback/pom.xml
index 3df0526..31bb77b 100644
--- a/broker-plugins/logging-logback/pom.xml
+++ b/broker-plugins/logging-logback/pom.xml
@@ -33,14 +33,12 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-codegen</artifactId>
- <version>${project.version}</version>
<optional>true</optional>
</dependency>
@@ -53,15 +51,13 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-test-utils</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
- <type>test-jar</type>
+ <classifier>tests</classifier>
<scope>test</scope>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/broker-plugins/management-amqp/pom.xml
----------------------------------------------------------------------
diff --git a/broker-plugins/management-amqp/pom.xml b/broker-plugins/management-amqp/pom.xml
index 220eb1c..91fc015 100644
--- a/broker-plugins/management-amqp/pom.xml
+++ b/broker-plugins/management-amqp/pom.xml
@@ -33,7 +33,6 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
@@ -41,7 +40,6 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-codegen</artifactId>
- <version>${project.version}</version>
<optional>true</optional>
</dependency>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/broker-plugins/management-http/pom.xml
----------------------------------------------------------------------
diff --git a/broker-plugins/management-http/pom.xml b/broker-plugins/management-http/pom.xml
index 85f6507..ad83158 100644
--- a/broker-plugins/management-http/pom.xml
+++ b/broker-plugins/management-http/pom.xml
@@ -39,14 +39,12 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-codegen</artifactId>
- <version>${project.version}</version>
<optional>true</optional>
</dependency>
@@ -116,14 +114,12 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-test-utils</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
<classifier>tests</classifier>
<scope>test</scope>
</dependency>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/broker-plugins/memory-store/pom.xml
----------------------------------------------------------------------
diff --git a/broker-plugins/memory-store/pom.xml b/broker-plugins/memory-store/pom.xml
index 39af559..45db2b4 100644
--- a/broker-plugins/memory-store/pom.xml
+++ b/broker-plugins/memory-store/pom.xml
@@ -33,14 +33,12 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-codegen</artifactId>
- <version>${project.version}</version>
<optional>true</optional>
</dependency>
@@ -48,15 +46,13 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-test-utils</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
- <type>test-jar</type>
+ <classifier>tests</classifier>
<scope>test</scope>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/broker-plugins/websocket/pom.xml
----------------------------------------------------------------------
diff --git a/broker-plugins/websocket/pom.xml b/broker-plugins/websocket/pom.xml
index f4315a8..23e9048 100644
--- a/broker-plugins/websocket/pom.xml
+++ b/broker-plugins/websocket/pom.xml
@@ -33,14 +33,12 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-codegen</artifactId>
- <version>${project.version}</version>
<optional>true</optional>
</dependency>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/broker/pom.xml
----------------------------------------------------------------------
diff --git a/broker/pom.xml b/broker/pom.xml
index cbca62c..b8ac0cb 100644
--- a/broker/pom.xml
+++ b/broker/pom.xml
@@ -36,7 +36,6 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
@@ -47,7 +46,6 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-logging-logback</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
@@ -58,105 +56,90 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-access-control</artifactId>
- <version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-0-8-protocol</artifactId>
- <version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-0-10-protocol</artifactId>
- <version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-1-0-protocol</artifactId>
- <version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-msg-conv-0-8-to-0-10</artifactId>
- <version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-msg-conv-0-8-to-1-0</artifactId>
- <version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-msg-conv-0-10-to-1-0</artifactId>
- <version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-derby-store</artifactId>
- <version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-jdbc-provider-bone</artifactId>
- <version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-jdbc-store</artifactId>
- <version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-1-0-protocol-jdbc-link-store</artifactId>
- <version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-management-http</artifactId>
- <version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-management-amqp</artifactId>
- <version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-memory-store</artifactId>
- <version>${project.version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-websocket</artifactId>
- <version>${project.version}</version>
<scope>runtime</scope>
</dependency>
@@ -164,7 +147,6 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-bdbstore</artifactId>
- <version>${project.version}</version>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
@@ -172,7 +154,6 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-1-0-protocol-bdb-link-store</artifactId>
- <version>${project.version}</version>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
@@ -181,7 +162,6 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-test-utils</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/perftests/pom.xml
----------------------------------------------------------------------
diff --git a/perftests/pom.xml b/perftests/pom.xml
index dd2d727..bda5113 100644
--- a/perftests/pom.xml
+++ b/perftests/pom.xml
@@ -102,7 +102,6 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-test-utils</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/perftests/visualisation-jfc/pom.xml
----------------------------------------------------------------------
diff --git a/perftests/visualisation-jfc/pom.xml b/perftests/visualisation-jfc/pom.xml
index 52f8aa7..5feda3f 100644
--- a/perftests/visualisation-jfc/pom.xml
+++ b/perftests/visualisation-jfc/pom.xml
@@ -33,7 +33,6 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-perftests</artifactId>
- <version>${project.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.qpid</groupId>
@@ -46,7 +45,6 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
@@ -77,7 +75,6 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-test-utils</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
</dependency>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 612ba6d..f9a2f6b 100644
--- a/pom.xml
+++ b/pom.xml
@@ -218,6 +218,174 @@
<dependencyManagement>
<dependencies>
+ <!-- Internal dependencies -->
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-bdbstore</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-bdbstore</artifactId>
+ <version>${project.version}</version>
+ <classifier>tests</classifier>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-broker</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-broker-core</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-broker-core</artifactId>
+ <version>${project.version}</version>
+ <classifier>tests</classifier>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-broker-codegen</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-broker-plugins-access-control</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-broker-plugins-jdbc-provider-bone</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-broker-plugins-jdbc-store</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-broker-plugins-amqp-msg-conv-0-8-to-0-10</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-broker-plugins-amqp-msg-conv-0-8-to-1-0</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-broker-plugins-amqp-msg-conv-0-10-to-1-0</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-broker-plugins-amqp-0-8-protocol</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-broker-plugins-amqp-0-10-protocol</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-broker-plugins-amqp-1-0-protocol</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-broker-plugins-amqp-1-0-protocol</artifactId>
+ <version>${project.version}</version>
+ <classifier>tests</classifier>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-broker-plugins-derby-store</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-broker-plugins-logging-logback</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-broker-plugins-memory-store</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-broker-plugins-amqp-1-0-protocol-jdbc-link-store</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-broker-plugins-amqp-1-0-protocol-bdb-link-store</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-broker-plugins-management-http</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-broker-plugins-management-amqp</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-broker-plugins-websocket</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-perftests</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-systests</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>org.apache.qpid</groupId>
+ <artifactId>qpid-test-utils</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <!-- External dependencies -->
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-client</artifactId>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/qpid-perftests-systests/pom.xml
----------------------------------------------------------------------
diff --git a/qpid-perftests-systests/pom.xml b/qpid-perftests-systests/pom.xml
index acf976a..f7106cd 100644
--- a/qpid-perftests-systests/pom.xml
+++ b/qpid-perftests-systests/pom.xml
@@ -37,20 +37,17 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-perftests</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-systests</artifactId>
- <version>${project.version}</version>
</dependency>
<!-- client deps -->
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-client</artifactId>
- <version>${qpid-jms-client-amqp-0-x-version}</version>
</dependency>
<!-- other deps -->
@@ -64,7 +61,6 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-bdbstore</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
<optional>true</optional>
</dependency>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/systests/pom.xml
----------------------------------------------------------------------
diff --git a/systests/pom.xml b/systests/pom.xml
index 49615c8..6ca1708 100644
--- a/systests/pom.xml
+++ b/systests/pom.xml
@@ -34,7 +34,6 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-test-utils</artifactId>
- <version>${project.version}</version>
</dependency>
<!-- Many systests have a compile/runtime dependency on qpid-client -->
@@ -47,111 +46,93 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
- <type>test-jar</type>
+ <classifier>tests</classifier>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-access-control</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-0-8-protocol</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-0-10-protocol</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-1-0-protocol</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-msg-conv-0-8-to-0-10</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-msg-conv-0-8-to-1-0</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-msg-conv-0-10-to-1-0</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-derby-store</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-jdbc-provider-bone</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-jdbc-store</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-logging-logback</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-management-http</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-memory-store</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-1-0-protocol-jdbc-link-store</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-1-0-protocol-bdb-link-store</artifactId>
- <version>${project.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-bdbstore</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
<optional>true</optional>
</dependency>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/systests/protocol-tests-amqp-1-0/pom.xml
----------------------------------------------------------------------
diff --git a/systests/protocol-tests-amqp-1-0/pom.xml b/systests/protocol-tests-amqp-1-0/pom.xml
index 9aa5295..d90f967 100644
--- a/systests/protocol-tests-amqp-1-0/pom.xml
+++ b/systests/protocol-tests-amqp-1-0/pom.xml
@@ -34,40 +34,33 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-core</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-1-0-protocol</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-websocket</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-codegen</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-test-utils</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-logging-logback</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-derby-store</artifactId>
- <version>${project.version}</version>
<optional>true</optional>
<scope>test</scope>
</dependency>
@@ -75,13 +68,11 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-memory-store</artifactId>
- <version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-1-0-protocol-jdbc-link-store</artifactId>
- <version>${project.version}</version>
<optional>true</optional>
<scope>test</scope>
</dependency>
@@ -89,7 +80,6 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-1-0-protocol-bdb-link-store</artifactId>
- <version>${project.version}</version>
<optional>true</optional>
<scope>test</scope>
</dependency>
@@ -97,7 +87,6 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-bdbstore</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
<optional>true</optional>
</dependency>
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/07a16bbe/systests/qpid-systests-jms_2.0/pom.xml
----------------------------------------------------------------------
diff --git a/systests/qpid-systests-jms_2.0/pom.xml b/systests/qpid-systests-jms_2.0/pom.xml
index 4d828f0..c27d593 100644
--- a/systests/qpid-systests-jms_2.0/pom.xml
+++ b/systests/qpid-systests-jms_2.0/pom.xml
@@ -44,7 +44,6 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-systests</artifactId>
- <version>${project.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.geronimo.specs</groupId>
@@ -56,7 +55,6 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-bdbstore</artifactId>
- <version>${project.version}</version>
<scope>test</scope>
<optional>true</optional>
</dependency>
@@ -69,7 +67,6 @@
<dependency>
<groupId>org.apache.qpid</groupId>
<artifactId>qpid-broker-plugins-amqp-1-0-protocol-bdb-link-store</artifactId>
- <version>${project.version}</version>
<optional>true</optional>
</dependency>
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org
[2/3] qpid-broker-j git commit: QPID-7838: [AMQP Management] Respect
semantics of model secure attributes and operations
Posted by kw...@apache.org.
QPID-7838: [AMQP Management] Respect semantics of model secure attributes and operations
Also:
* fixed defect that prevented the invocation of operations that were declared of a non-category class.
* managed operations now return a response message payload appropiate to their return type (rather than serialised java object).
* pushed up HttpPort#allowConfidentialOperationsOnInsecureChannels Port as it also applies to AmqpPorts too.
Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/3d042838
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/3d042838
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/3d042838
Branch: refs/heads/master
Commit: 3d0428385349a01c1a8f231a7e1407ec4069b32b
Parents: 07a16bb
Author: Keith Wall <ke...@gmail.com>
Authored: Sat Jun 24 17:30:12 2017 +0100
Committer: Keith Wall <kw...@apache.org>
Committed: Tue Jun 27 10:33:07 2017 +0100
----------------------------------------------------------------------
.../org/apache/qpid/server/model/Broker.java | 2 +-
.../ConfiguredObjectCustomSerialization.java | 48 +++-
.../java/org/apache/qpid/server/model/Port.java | 5 +
.../qpid/server/model/port/AbstractPort.java | 7 +
.../apache/qpid/server/model/port/HttpPort.java | 5 -
.../qpid/server/model/port/HttpPortImpl.java | 9 -
.../security/auth/SocketConnectionMetaData.java | 3 +-
.../server/management/amqp/ManagementNode.java | 217 ++++++++------
.../amqp/ManagementOutputConverter.java | 100 ++++---
.../qpid/systest/MessageCompressionTest.java | 3 +-
.../management/amqp/AmqpManagementTest.java | 287 ++++++++++++-------
.../rest/ExportImportMessagesRestTest.java | 3 +-
.../qpid/systest/rest/MessagesRestTest.java | 3 +-
.../systest/rest/PublishMessageRestTest.java | 3 +-
14 files changed, 423 insertions(+), 272 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/3d042838/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java b/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java
index 044f035..98523c3 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java
@@ -35,7 +35,7 @@ import org.apache.qpid.server.security.auth.SocketConnectionMetaData;
import org.apache.qpid.server.stats.StatisticsGatherer;
import org.apache.qpid.server.store.preferences.UserPreferencesCreator;
-@ManagedObject( defaultType = Broker.BROKER_TYPE)
+@ManagedObject( defaultType = Broker.BROKER_TYPE, amqpName = "org.apache.qpid.Broker")
public interface Broker<X extends Broker<X>> extends ConfiguredObject<X>, EventLoggerProvider, StatisticsGatherer, Container<X>,
UserPreferencesCreator
{
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/3d042838/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectCustomSerialization.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectCustomSerialization.java b/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectCustomSerialization.java
index 5a4628e..1aae0ca 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectCustomSerialization.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectCustomSerialization.java
@@ -20,6 +20,8 @@
*/
package org.apache.qpid.server.model;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.security.Principal;
@@ -187,8 +189,13 @@ public class ConfiguredObjectCustomSerialization
String propertyName =
methodName.startsWith("is") ? methodName.substring(2) : methodName.substring(3);
propertyName = Character.toLowerCase(propertyName.charAt(0)) + propertyName.substring(1);
+ final boolean originalAccessible = method.isAccessible();
try
{
+ if (!originalAccessible)
+ {
+ method.setAccessible(true);
+ }
final Object attrValue = method.invoke(value);
if (attrValue != null)
{
@@ -197,7 +204,14 @@ public class ConfiguredObjectCustomSerialization
}
catch (IllegalAccessException | InvocationTargetException e)
{
- throw new ServerScopedRuntimeException(e);
+ throw new ServerScopedRuntimeException(String.format("Failed to access %s", propertyName), e);
+ }
+ finally
+ {
+ if (!originalAccessible)
+ {
+ method.setAccessible(originalAccessible);
+ }
}
}
}
@@ -258,4 +272,36 @@ public class ConfiguredObjectCustomSerialization
return false;
}
}
+
+ @SuppressWarnings("unused")
+ private static final Converter<Content> CONTENT_CONVERTER = new ContentConverter();
+
+ private static class ContentConverter extends AbstractConverter<Content>
+ {
+
+ public ContentConverter()
+ {
+ super(Content.class, true, false);
+ }
+
+ @Override
+ public Object convert(final Content content)
+ {
+ final byte[] resultBytes;
+ try(ByteArrayOutputStream baos = new ByteArrayOutputStream())
+ {
+ content.write(baos);
+ return baos.toByteArray();
+ }
+ catch (IOException e)
+ {
+ throw new RuntimeException(String.format(
+ "Unexpected failure whilst streaming operation content from content : %s", content));
+ }
+ finally
+ {
+ content.release();
+ }
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/3d042838/broker-core/src/main/java/org/apache/qpid/server/model/Port.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/model/Port.java b/broker-core/src/main/java/org/apache/qpid/server/model/Port.java
index e3fc340..b34f400 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/model/Port.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/model/Port.java
@@ -59,6 +59,7 @@ public interface Port<X extends Port<X>> extends ConfiguredObject<X>
@ManagedContextDefault(name = CONNECTION_MAXIMUM_AUTHENTICATION_DELAY)
long DEFAULT_MAX_CONNECTION_AUTHENTICATION_DELAY = 10000l;
+ String ALLOW_CONFIDENTIAL_OPERATIONS_ON_INSECURE_CHANNELS = "allowConfidentialOperationsOnInsecureChannels";
// Attributes
@@ -66,6 +67,10 @@ public interface Port<X extends Port<X>> extends ConfiguredObject<X>
+ " will cause a dynamically allocated port to be assigned.")
int getPort();
+ @ManagedAttribute( defaultValue = "false", description = "If true allow operations which may return confidential "
+ + "information to be executed on insecure connections")
+ boolean isAllowConfidentialOperationsOnInsecureChannels();
+
@DerivedAttribute( description = "Actual port used to accept incoming connections. Will be -1 if the port"
+ " is not currently bound.")
int getBoundPort();
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/3d042838/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java b/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java
index b97dd7a..8349092 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/model/port/AbstractPort.java
@@ -76,6 +76,8 @@ public abstract class AbstractPort<X extends AbstractPort<X>> extends AbstractCo
@ManagedAttributeField
private TrustStore<?> _clientCertRecorder;
+ @ManagedAttributeField
+ private boolean _allowConfidentialOperationsOnInsecureChannels;
private List<String> _tlsProtocolBlackList;
private List<String> _tlsProtocolWhiteList;
@@ -204,6 +206,11 @@ public abstract class AbstractPort<X extends AbstractPort<X>> extends AbstractCo
return _authenticationProvider;
}
+ @Override
+ public boolean isAllowConfidentialOperationsOnInsecureChannels()
+ {
+ return _allowConfidentialOperationsOnInsecureChannels;
+ }
private boolean isUsingTLSTransport()
{
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/3d042838/broker-core/src/main/java/org/apache/qpid/server/model/port/HttpPort.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/model/port/HttpPort.java b/broker-core/src/main/java/org/apache/qpid/server/model/port/HttpPort.java
index 3cc9158..06b4c2b 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/model/port/HttpPort.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/model/port/HttpPort.java
@@ -37,7 +37,6 @@ public interface HttpPort<X extends HttpPort<X>> extends Port<X>
String DEFAULT_HTTP_WANT_CLIENT_AUTH = "false";
String THREAD_POOL_MINIMUM = "threadPoolMinimum";
String THREAD_POOL_MAXIMUM = "threadPoolMaximum";
- String ALLOW_CONFIDENTIAL_OPERATIONS_ON_INSECURE_CHANNELS = "allowConfidentialOperationsOnInsecureChannels";
String PORT_HTTP_NUMBER_OF_SELECTORS = "qpid.port.http.threadPool.numberOfSelectors";
@SuppressWarnings("unused")
@@ -95,10 +94,6 @@ public interface HttpPort<X extends HttpPort<X>> extends Port<X>
@ManagedAttribute( defaultValue = "${" + PORT_HTTP_THREAD_POOL_MINIMUM + "}")
int getThreadPoolMinimum();
- @ManagedAttribute( defaultValue = "false", description = "If true allow operations which may return confidential "
- + "information to be executed on insecure connections")
- boolean isAllowConfidentialOperationsOnInsecureChannels();
-
@ManagedAttribute( defaultValue = "true", description = "If true then this port will provide HTTP management "
+ "services for the broker, if no virtualhostalaias "
+ "matches the HTTP Host in the request")
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/3d042838/broker-core/src/main/java/org/apache/qpid/server/model/port/HttpPortImpl.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/model/port/HttpPortImpl.java b/broker-core/src/main/java/org/apache/qpid/server/model/port/HttpPortImpl.java
index 88296df..74c5b98 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/model/port/HttpPortImpl.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/model/port/HttpPortImpl.java
@@ -45,9 +45,6 @@ public class HttpPortImpl extends AbstractPort<HttpPortImpl> implements HttpPort
private int _threadPoolMinimum;
@ManagedAttributeField
- private boolean _allowConfidentialOperationsOnInsecureChannels;
-
- @ManagedAttributeField
private boolean _manageBrokerOnNoAliasMatch;
private int _numberOfAcceptors;
private int _numberOfSelectors;
@@ -91,12 +88,6 @@ public class HttpPortImpl extends AbstractPort<HttpPortImpl> implements HttpPort
}
@Override
- public boolean isAllowConfidentialOperationsOnInsecureChannels()
- {
- return _allowConfidentialOperationsOnInsecureChannels;
- }
-
- @Override
public boolean isManageBrokerOnNoAliasMatch()
{
return _manageBrokerOnNoAliasMatch;
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/3d042838/broker-core/src/main/java/org/apache/qpid/server/security/auth/SocketConnectionMetaData.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/security/auth/SocketConnectionMetaData.java b/broker-core/src/main/java/org/apache/qpid/server/security/auth/SocketConnectionMetaData.java
index 21b685c..038bdcd 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/security/auth/SocketConnectionMetaData.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/security/auth/SocketConnectionMetaData.java
@@ -20,12 +20,13 @@
*/
package org.apache.qpid.server.security.auth;
+import org.apache.qpid.server.model.ManagedAttributeValue;
import org.apache.qpid.server.model.ManagedAttributeValueType;
import org.apache.qpid.server.model.Protocol;
import org.apache.qpid.server.model.Transport;
@ManagedAttributeValueType(isAbstract = true)
-public interface SocketConnectionMetaData
+public interface SocketConnectionMetaData extends ManagedAttributeValue
{
String getLocalAddress();
String getRemoteAddress();
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/3d042838/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java
----------------------------------------------------------------------
diff --git a/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java b/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java
index 0df5591..7650546 100644
--- a/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java
+++ b/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java
@@ -37,7 +37,6 @@ import java.util.Comparator;
import java.util.EnumSet;
import java.util.HashMap;
import java.util.HashSet;
-import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
@@ -48,10 +47,13 @@ import java.util.regex.Pattern;
import javax.security.auth.Subject;
+import com.google.common.collect.Sets;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
+import org.apache.qpid.server.connection.AmqpConnectionMetaData;
+import org.apache.qpid.server.connection.ConnectionPrincipal;
import org.apache.qpid.server.connection.SessionPrincipal;
import org.apache.qpid.server.consumer.ConsumerOption;
import org.apache.qpid.server.consumer.ConsumerTarget;
@@ -133,7 +135,7 @@ class ManagementNode implements MessageSource, MessageDestination, BaseQueue
public static final int STATUS_CODE_NOT_FOUND = 404;
public static final int STATUS_CODE_CONFLICT = 409;
public static final int STATUS_CODE_INTERNAL_ERROR = 500;
- public static final int STATUS_CODE_NOT_IMPLEMENTED= 501;
+ public static final int STATUS_CODE_NOT_IMPLEMENTED = 501;
private static final Comparator<? super ConfiguredObject<?>> OBJECT_COMPARATOR =
new Comparator<ConfiguredObject<?>>()
{
@@ -176,14 +178,7 @@ class ManagementNode implements MessageSource, MessageDestination, BaseQueue
private final ManagementInputConverter _managementInputConverter;
- private static final InstanceProperties CONSUMED_INSTANCE_PROPERTIES = new InstanceProperties()
- {
- @Override
- public Object getProperty(final Property prop)
- {
- return null;
- }
- };
+ private static final InstanceProperties CONSUMED_INSTANCE_PROPERTIES = prop -> null;
ManagementNode(final NamedAddressSpace addressSpace,
final ConfiguredObject<?> configuredObject)
@@ -401,12 +396,11 @@ class ManagementNode implements MessageSource, MessageDestination, BaseQueue
}
private synchronized void enqueue(InternalMessage message,
- InstanceProperties properties,
Action<? super MessageInstance> postEnqueueAction)
{
if(postEnqueueAction != null)
{
- postEnqueueAction.performAction(new ConsumedMessageInstance(message, properties));
+ postEnqueueAction.performAction(new ConsumedMessageInstance(message));
}
@@ -444,12 +438,13 @@ class ManagementNode implements MessageSource, MessageDestination, BaseQueue
final Action<? super MessageInstance> action,
final MessageEnqueueRecord record)
{
+ @SuppressWarnings("unchecked")
MessageConverter<ServerMessage, InternalMessage> converter =
(MessageConverter<ServerMessage, InternalMessage>) MessageConverterRegistry.getConverter((message.getClass()), InternalMessage.class);
final InternalMessage msg = converter.convert(message, _addressSpace);
- enqueue(msg, CONSUMED_INSTANCE_PROPERTIES, action);
+ enqueue(msg, action);
}
@@ -539,30 +534,48 @@ class ManagementNode implements MessageSource, MessageDestination, BaseQueue
}
};
+ private final Set<String> STANDARD_OPERATIONS = Sets.newHashSet(CREATE_OPERATION.getName(),
+ READ_OPERATION.getName(),
+ UPDATE_OPERATION.getName(),
+ DELETE_OPERATION.getName());
private InternalMessage performOperation(final Class<? extends ConfiguredObject> clazz,
final String operation,
InternalMessage message)
{
- final Map<String, ConfiguredObjectOperation<?>> operations = _model.getTypeRegistry().getOperations(clazz);
- @SuppressWarnings("unchecked")
- final ConfiguredObjectOperation<ConfiguredObject<?>> method =
- (ConfiguredObjectOperation<ConfiguredObject<?>>) operations.get(operation);
- StandardOperation standardOperation;
try
{
- if (method != null)
+ if (STANDARD_OPERATIONS.contains(operation))
{
- return performConfiguredObjectOperation(clazz, message, method);
- }
- else if ((standardOperation = _standardOperations.get(clazz).get(operation)) != null)
- {
- return standardOperation.performOperation(clazz, message);
+ StandardOperation standardOperation;
+ if ((standardOperation = _standardOperations.get(clazz).get(operation)) != null)
+ {
+ return standardOperation.performOperation(clazz, message);
+ }
}
else
{
- return createFailureResponse(message, STATUS_CODE_NOT_IMPLEMENTED, "Not implemented");
+ final InternalMessageHeader requestHeader = message.getMessageHeader();
+ final Map<String, Object> headers = requestHeader.getHeaderMap();
+
+ ConfiguredObject<?> object = findObject(clazz, headers);
+ if (object == null)
+ {
+ return createFailureResponse(message, STATUS_CODE_NOT_FOUND, "Not found");
+ }
+
+ final Map<String, ConfiguredObjectOperation<?>> operations =
+ _model.getTypeRegistry().getOperations(object.getClass());
+ @SuppressWarnings("unchecked") final ConfiguredObjectOperation<ConfiguredObject<?>> method =
+ (ConfiguredObjectOperation<ConfiguredObject<?>>) operations.get(operation);
+
+ if (method != null)
+ {
+ return performConfiguredObjectOperation(object, message, method);
+ }
}
+ return createFailureResponse(message, STATUS_CODE_NOT_IMPLEMENTED, "Not implemented");
+
}
catch (RuntimeException e)
{
@@ -697,8 +710,6 @@ class ManagementNode implements MessageSource, MessageDestination, BaseQueue
responseHeader.setMessageId(UUID.randomUUID().toString());
responseHeader.setHeader(STATUS_CODE_HEADER, STATUS_CODE_OK);
- // TODO - remove insecure on insecure channel
-
return InternalMessage.createMapMessage(_addressSpace.getMessageStore(), responseHeader,
_managementOutputConverter.convertToOutput(object, actuals));
}
@@ -826,21 +837,13 @@ class ManagementNode implements MessageSource, MessageDestination, BaseQueue
}
}
- private InternalMessage performConfiguredObjectOperation(final Class<? extends ConfiguredObject> clazz,
+ private InternalMessage performConfiguredObjectOperation(final ConfiguredObject<?> object,
final InternalMessage message,
final ConfiguredObjectOperation<ConfiguredObject<?>> method)
{
- InternalMessageHeader requestHeader = message.getMessageHeader();
-
+ final InternalMessageHeader requestHeader = message.getMessageHeader();
final Map<String, Object> headers = requestHeader.getHeaderMap();
- ConfiguredObject<?> object = findObject(clazz, headers);
- if (object == null)
- {
- return createFailureResponse(message, STATUS_CODE_NOT_FOUND, "Not found");
- }
-
-
try
{
Map<String,Object> parameters = new HashMap<>(headers);
@@ -852,6 +855,13 @@ class ManagementNode implements MessageSource, MessageDestination, BaseQueue
parameters.keySet().removeIf(paramName -> paramName.startsWith("JMS_QPID"));
+ AmqpConnectionMetaData callerConnectionMetaData = getCallerConnectionMetaData();
+
+ if (method.isSecure(object, parameters) && !(callerConnectionMetaData.getTransport().isSecure() || callerConnectionMetaData.getPort().isAllowConfidentialOperationsOnInsecureChannels()))
+ {
+ return createFailureResponse(message, STATUS_CODE_FORBIDDEN, "Operation '" + method.getName() + "' can only be performed over a secure (AMQPS) connection");
+ }
+
final MutableMessageHeader responseHeader = new MutableMessageHeader();
responseHeader.setCorrelationId(requestHeader.getCorrelationId() == null
? requestHeader.getMessageId()
@@ -859,13 +869,8 @@ class ManagementNode implements MessageSource, MessageDestination, BaseQueue
responseHeader.setMessageId(UUID.randomUUID().toString());
responseHeader.setHeader(STATUS_CODE_HEADER, STATUS_CODE_OK);
- Serializable result = (Serializable) method.perform(object, parameters);
- if(result == null)
- {
- result = new byte[0];
- }
- return InternalMessage.createMessage(_addressSpace.getMessageStore(), responseHeader,
- result, false);
+ final Object result = method.perform(object, parameters);
+ return createManagedOperationResponse(method, responseHeader, result);
}
catch (IllegalArgumentException | IllegalStateException | IllegalConfigurationException e)
{
@@ -877,6 +882,33 @@ class ManagementNode implements MessageSource, MessageDestination, BaseQueue
}
}
+ private InternalMessage createManagedOperationResponse(final ConfiguredObjectOperation<ConfiguredObject<?>> method,
+ final MutableMessageHeader responseHeader,
+ final Object result)
+ {
+ Object convertedValue = _managementOutputConverter.convertObjectToOutput(result);
+ if (convertedValue instanceof byte[])
+ {
+ return InternalMessage.createBytesMessage(_addressSpace.getMessageStore(), responseHeader,
+ (byte[]) convertedValue, false);
+ }
+ else if (convertedValue instanceof Map)
+ {
+ return InternalMessage.createMapMessage(_addressSpace.getMessageStore(), responseHeader,
+ ((Map<?,?>) convertedValue));
+ }
+ else if (convertedValue instanceof Serializable)
+ {
+ return InternalMessage.createMessage(_addressSpace.getMessageStore(), responseHeader,
+ (Serializable) convertedValue, false);
+ }
+ else
+ {
+ return InternalMessage.createBytesMessage(_addressSpace.getMessageStore(), responseHeader,
+ new byte[0], false);
+ }
+ }
+
String generatePath(final ConfiguredObject<?> object)
{
return _configuredObjectFinder.getPath(object);
@@ -1143,7 +1175,7 @@ class ManagementNode implements MessageSource, MessageDestination, BaseQueue
}
List<ConfiguredObject<?>> objects = getObjects(entityType);
- Collections.sort(objects, OBJECT_COMPARATOR);
+ objects.sort(OBJECT_COMPARATOR);
if(headerMap.containsKey(OFFSET_HEADER))
{
int offset;
@@ -1331,7 +1363,7 @@ class ManagementNode implements MessageSource, MessageDestination, BaseQueue
private static <C extends ConfiguredObject<?>> Collection<ConfiguredObject<?>> getAssociatedChildren(final ConfiguredObjectOperation<C> op, final ConfiguredObject<?> managedObject)
{
@SuppressWarnings("unchecked")
- final Collection<ConfiguredObject<?>> associated = (Collection<ConfiguredObject<?>>) op.perform((C)managedObject, Collections.<String, Object>emptyMap());
+ final Collection<ConfiguredObject<?>> associated = (Collection<ConfiguredObject<?>>) op.perform((C)managedObject, Collections.emptyMap());
return associated;
}
@@ -1434,37 +1466,26 @@ class ManagementNode implements MessageSource, MessageDestination, BaseQueue
private Map<String,List<String>> performGetTypes(final Map<String, Object> header)
{
return performManagementOperation(header,
- new TypeOperation<List<String>>()
- {
- @Override
- public List<String> evaluateType(final Class<? extends ConfiguredObject> clazz)
- {
- Class<? extends ConfiguredObject> category =
- ConfiguredObjectTypeRegistry.getCategory(clazz);
- if(category == clazz)
- {
- return Collections.emptyList();
- }
- else
- {
- return Collections.singletonList(getAmqpName(category));
- }
- }
- }, Collections.<String>emptyList());
+ clazz ->
+ {
+ Class<? extends ConfiguredObject> category =
+ ConfiguredObjectTypeRegistry.getCategory(clazz);
+ if(category == clazz)
+ {
+ return Collections.emptyList();
+ }
+ else
+ {
+ return Collections.singletonList(getAmqpName(category));
+ }
+ }, Collections.<String>emptyList());
}
private Map<String,List<String>> performGetAttributes(final Map<String, Object> headers)
{
return performManagementOperation(headers,
- new TypeOperation<List<String>>()
- {
- @Override
- public List<String> evaluateType(final Class<? extends ConfiguredObject> clazz)
- {
- return new ArrayList<>(_model.getTypeRegistry().getAttributeNames(clazz));
- }
- }, Collections.<String>emptyList());
+ clazz -> new ArrayList<>(_model.getTypeRegistry().getAttributeNames(clazz)), Collections.<String>emptyList());
}
@@ -1475,27 +1496,23 @@ class ManagementNode implements MessageSource, MessageDestination, BaseQueue
final Map<String, List<String>> managementOperations = new HashMap<>();
return performManagementOperation(headers,
- new TypeOperation<Map<String,List<String>>>()
- {
- @Override
- public Map<String,List<String>> evaluateType(final Class<? extends ConfiguredObject> clazz)
- {
- final Map<String, ConfiguredObjectOperation<?>> operations =
- _model.getTypeRegistry().getOperations(clazz);
- Map<String,List<String>> result = new HashMap<>();
- for(Map.Entry<String, ConfiguredObjectOperation<?>> operation : operations.entrySet())
- {
-
- List<String> arguments = new ArrayList<>();
- for(OperationParameter param : operation.getValue().getParameters())
- {
- arguments.add(param.getName());
- }
- result.put(operation.getKey(), arguments);
- }
- return result;
- }
- }, managementOperations);
+ clazz ->
+ {
+ final Map<String, ConfiguredObjectOperation<?>> operations =
+ _model.getTypeRegistry().getOperations(clazz);
+ Map<String,List<String>> result = new HashMap<>();
+ for(Map.Entry<String, ConfiguredObjectOperation<?>> operation : operations.entrySet())
+ {
+
+ List<String> arguments = new ArrayList<>();
+ for(OperationParameter param : operation.getValue().getParameters())
+ {
+ arguments.add(param.getName());
+ }
+ result.put(operation.getKey(), arguments);
+ }
+ return result;
+ }, managementOperations);
}
@@ -1564,13 +1581,25 @@ class ManagementNode implements MessageSource, MessageDestination, BaseQueue
_consumers.remove(managementNodeConsumer);
}
+ private AmqpConnectionMetaData getCallerConnectionMetaData()
+ {
+ Subject currentSubject = Subject.getSubject(AccessController.getContext());
+ Set<ConnectionPrincipal> connectionPrincipals = currentSubject.getPrincipals(ConnectionPrincipal.class);
+ if (connectionPrincipals.isEmpty())
+ {
+ throw new IllegalStateException("Cannot find connection principal on calling thread");
+ }
+
+ ConnectionPrincipal principal = connectionPrincipals.iterator().next();
+ return principal.getConnectionMetaData();
+ }
+
private class ConsumedMessageInstance implements MessageInstance
{
private final ServerMessage _message;
- ConsumedMessageInstance(final ServerMessage message,
- final InstanceProperties properties)
+ ConsumedMessageInstance(final ServerMessage message)
{
_message = message;
}
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/3d042838/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementOutputConverter.java
----------------------------------------------------------------------
diff --git a/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementOutputConverter.java b/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementOutputConverter.java
index 74d096d..16e13f8 100644
--- a/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementOutputConverter.java
+++ b/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementOutputConverter.java
@@ -28,6 +28,7 @@ import java.util.List;
import java.util.Map;
import org.apache.qpid.server.model.ConfiguredObject;
+import org.apache.qpid.server.model.ConfiguredObjectAttribute;
import org.apache.qpid.server.model.ConfiguredObjectCustomSerialization;
class ManagementOutputConverter
@@ -40,37 +41,66 @@ class ManagementOutputConverter
_managementNode = managementNode;
}
- private Map<Object, Object> convertMapToOutput(final Map<?, ?> attributes)
+ Map<?, ?> convertToOutput(final ConfiguredObject<?> object,
+ final boolean actuals)
{
- Map<Object,Object> result = new LinkedHashMap<>();
- for(Map.Entry<?,?> entry : attributes.entrySet())
+ Map<String, Object> attributes = new LinkedHashMap<>();
+ attributes.put(ManagementNode.IDENTITY_ATTRIBUTE, object.getId());
+ attributes.put(ManagementNode.OBJECT_PATH, _managementNode.generatePath(object));
+ attributes.put(ManagementNode.TYPE_ATTRIBUTE, _managementNode.getAmqpName(object.getTypeClass()));
+ attributes.put(ManagementNode.QPID_TYPE, object.getType());
+
+ if(object != _managementNode.getManagedObject() && !_managementNode.isSyntheticChildClass(object.getCategoryClass()))
{
- result.put(convertObjectToOutput(entry.getKey()), convertObjectToOutput(entry.getValue()));
- }
- return result;
- }
+ Class<? extends ConfiguredObject> parentType = object.getModel().getParentType(object.getCategoryClass());
- private Collection<?> convertCollectionToOutput(final Collection<?> value)
- {
+ if (parentType != _managementNode.getManagedObject().getCategoryClass())
+ {
+ attributes.put(parentType.getSimpleName().toLowerCase(), object.getParent());
+ }
- List<Object> result = new ArrayList<>();
- for(Object entry : value)
+ }
+
+ for(String name : object.getAttributeNames())
{
- result.add(convertObjectToOutput(entry));
+ if(!ID_AND_TYPE.contains(name))
+ {
+ ConfiguredObjectAttribute<?, ?> attribute = object.getModel()
+ .getTypeRegistry()
+ .getAttributeTypes(object.getClass())
+ .get(name);
+
+ Object value = actuals
+ ? object.getActualAttributes().get(name)
+ : object.getAttribute(name);
+
+ if (attribute.isSecureValue(value))
+ {
+ value = object.getAttribute(name);
+ }
+
+ if (value != null)
+ {
+ attributes.put(name, value);
+ }
+ }
}
- return result;
+
+ return convertMapToOutput(attributes);
}
- private Object convertObjectToOutput(final Object value)
+ Object convertObjectToOutput(final Object value)
{
if(value == null)
{
return null;
}
else if(value instanceof String
+ || value instanceof Short
|| value instanceof Integer
|| value instanceof Long
|| value instanceof Byte
+ || value instanceof Boolean
|| value instanceof Character
|| value instanceof Float
|| value instanceof Double
@@ -105,40 +135,24 @@ class ManagementOutputConverter
}
}
- protected Map<?, ?> convertToOutput(final ConfiguredObject<?> object,
- final boolean actuals)
+ private Map<Object, Object> convertMapToOutput(final Map<?, ?> attributes)
{
- Map<String, Object> attributes = new LinkedHashMap<>();
- attributes.put(ManagementNode.IDENTITY_ATTRIBUTE, object.getId());
- attributes.put(ManagementNode.OBJECT_PATH, _managementNode.generatePath(object));
- attributes.put(ManagementNode.TYPE_ATTRIBUTE, _managementNode.getAmqpName(object.getTypeClass()));
- attributes.put(ManagementNode.QPID_TYPE, object.getType());
-
- if(object != _managementNode.getManagedObject() && !_managementNode.isSyntheticChildClass(object.getCategoryClass()))
+ Map<Object,Object> result = new LinkedHashMap<>();
+ for(Map.Entry<?,?> entry : attributes.entrySet())
{
- Class<? extends ConfiguredObject> parentType = object.getModel().getParentType(object.getCategoryClass());
-
- if (parentType != _managementNode.getManagedObject().getCategoryClass())
- {
- attributes.put(parentType.getSimpleName().toLowerCase(), object.getParent());
- }
-
+ result.put(convertObjectToOutput(entry.getKey()), convertObjectToOutput(entry.getValue()));
}
+ return result;
+ }
- for(String name : object.getAttributeNames())
+ private Collection<?> convertCollectionToOutput(final Collection<?> value)
+ {
+
+ List<Object> result = new ArrayList<>();
+ for(Object entry : value)
{
- if(!ID_AND_TYPE.contains(name))
- {
- Object value = actuals
- ? object.getActualAttributes().get(name)
- : object.getAttribute(name);
- if (value != null)
- {
- attributes.put(name, value);
- }
- }
+ result.add(convertObjectToOutput(entry));
}
-
- return convertMapToOutput(attributes);
+ return result;
}
}
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/3d042838/systests/src/test/java/org/apache/qpid/systest/MessageCompressionTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/MessageCompressionTest.java b/systests/src/test/java/org/apache/qpid/systest/MessageCompressionTest.java
index e413a13..1d048ae 100644
--- a/systests/src/test/java/org/apache/qpid/systest/MessageCompressionTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/MessageCompressionTest.java
@@ -47,7 +47,6 @@ import org.apache.qpid.client.AMQConnectionFactory;
import org.apache.qpid.jms.ConnectionURL;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.Port;
-import org.apache.qpid.server.model.port.HttpPort;
import org.apache.qpid.systest.rest.RestTestHelper;
import org.apache.qpid.test.utils.QpidBrokerTestCase;
import org.apache.qpid.test.utils.TestBrokerConfiguration;
@@ -67,7 +66,7 @@ public class MessageCompressionTest extends QpidBrokerTestCase
TestBrokerConfiguration config = getDefaultBrokerConfiguration();
config.addHttpManagementConfiguration();
config.setObjectAttribute(Port.class, TestBrokerConfiguration.ENTRY_NAME_HTTP_PORT,
- HttpPort.ALLOW_CONFIDENTIAL_OPERATIONS_ON_INSECURE_CHANNELS,
+ Port.ALLOW_CONFIDENTIAL_OPERATIONS_ON_INSECURE_CHANNELS,
true);
super.startDefaultBroker();
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/3d042838/systests/src/test/java/org/apache/qpid/systest/management/amqp/AmqpManagementTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/management/amqp/AmqpManagementTest.java b/systests/src/test/java/org/apache/qpid/systest/management/amqp/AmqpManagementTest.java
index 39188e6..4ce6c67 100644
--- a/systests/src/test/java/org/apache/qpid/systest/management/amqp/AmqpManagementTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/management/amqp/AmqpManagementTest.java
@@ -21,11 +21,15 @@
package org.apache.qpid.systest.management.amqp;
import static org.apache.qpid.server.model.Queue.ALERT_THRESHOLD_QUEUE_DEPTH_MESSAGES;
+import static org.apache.qpid.test.utils.TestSSLConstants.TRUSTSTORE;
+import static org.apache.qpid.test.utils.TestSSLConstants.TRUSTSTORE_PASSWORD;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import java.util.UUID;
@@ -41,9 +45,18 @@ import javax.jms.ObjectMessage;
import javax.jms.Queue;
import javax.jms.Session;
+import com.fasterxml.jackson.databind.ObjectMapper;
+
+import org.apache.qpid.server.exchange.ExchangeDefaults;
+import org.apache.qpid.server.model.DefaultVirtualHostAlias;
+import org.apache.qpid.server.model.Port;
+import org.apache.qpid.server.model.Transport;
+import org.apache.qpid.server.model.VirtualHostAlias;
+import org.apache.qpid.server.model.VirtualHostNameAlias;
import org.apache.qpid.server.model.VirtualHostNode;
import org.apache.qpid.server.queue.PriorityQueue;
import org.apache.qpid.test.utils.QpidBrokerTestCase;
+import org.apache.qpid.test.utils.TestBrokerConfiguration;
public class AmqpManagementTest extends QpidBrokerTestCase
{
@@ -59,6 +72,32 @@ public class AmqpManagementTest extends QpidBrokerTestCase
@Override
public void setUp() throws Exception
{
+ TestBrokerConfiguration config = getDefaultBrokerConfiguration();
+
+ Map<String, Object> ampqSslPort = new HashMap<>();
+ ampqSslPort.put(Port.TRANSPORTS, Collections.singletonList(Transport.SSL));
+ ampqSslPort.put(Port.PORT, DEFAULT_SSL_PORT);
+ ampqSslPort.put(Port.NAME, TestBrokerConfiguration.ENTRY_NAME_SSL_PORT);
+ ampqSslPort.put(Port.KEY_STORE, TestBrokerConfiguration.ENTRY_NAME_SSL_KEYSTORE);
+ ampqSslPort.put(Port.AUTHENTICATION_PROVIDER, TestBrokerConfiguration.ENTRY_NAME_AUTHENTICATION_PROVIDER);
+ ampqSslPort.put(Port.PROTOCOLS, System.getProperty(TEST_AMQP_PORT_PROTOCOLS_PROPERTY));
+
+ config.addObjectConfiguration(Port.class, ampqSslPort);
+
+ Map<String, Object> aliasAttributes = new HashMap<>();
+ aliasAttributes.put(VirtualHostAlias.NAME, "defaultAlias");
+ aliasAttributes.put(VirtualHostAlias.TYPE, DefaultVirtualHostAlias.TYPE_NAME);
+ getDefaultBrokerConfiguration().addObjectConfiguration(Port.class, TestBrokerConfiguration.ENTRY_NAME_SSL_PORT, VirtualHostAlias.class, aliasAttributes);
+
+ aliasAttributes = new HashMap<>();
+ aliasAttributes.put(VirtualHostAlias.NAME, "nameAlias");
+ aliasAttributes.put(VirtualHostAlias.TYPE, VirtualHostNameAlias.TYPE_NAME);
+ getDefaultBrokerConfiguration().addObjectConfiguration(Port.class, TestBrokerConfiguration.ENTRY_NAME_SSL_PORT, VirtualHostAlias.class, aliasAttributes);
+
+ // set the ssl system properties
+ setSystemProperty("javax.net.ssl.trustStore", TRUSTSTORE);
+ setSystemProperty("javax.net.ssl.trustStorePassword", TRUSTSTORE_PASSWORD);
+
super.setUp();
if (isBroker10())
@@ -73,6 +112,7 @@ public class AmqpManagementTest extends QpidBrokerTestCase
_runTest = !( metaData.getProviderMajorVersion() < 6 || (metaData.getProviderMajorVersion() == 6 && metaData.getProviderMinorVersion() <= 1));
con.close();
}
+ setSystemProperty("test.port.ssl", ""+getDefaultBroker().getAmqpTlsPort());
}
private void setupSession() throws Exception
@@ -88,7 +128,6 @@ public class AmqpManagementTest extends QpidBrokerTestCase
}
else
{
- final ConnectionMetaData metaData = _connection.getMetaData();
_queue = _session.createQueue("ADDR:$management");
_replyAddress = _session.createQueue("ADDR:!response");
_replyConsumer = _session.createQueue(
@@ -134,12 +173,7 @@ public class AmqpManagementTest extends QpidBrokerTestCase
_producer.send(message);
Message responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertEquals("The correlation id does not match the sent message's messageId", message.getJMSMessageID(), responseMessage.getJMSCorrelationID());
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("The response code did not indicate success", 200, responseMessage.getIntProperty("statusCode"));
-
+ assertResponseCode(responseMessage, 200);
checkResponseIsMapType(responseMessage);
assertNotNull("The response did not include the org.amqp.Management type", getValueFromMapResponse(responseMessage, "org.amqp.management"));
assertNotNull("The response did not include the org.apache.qpid.Port type", getValueFromMapResponse(responseMessage, "org.apache.qpid.Port"));
@@ -150,7 +184,8 @@ public class AmqpManagementTest extends QpidBrokerTestCase
{
if (isBroker10())
{
- assertTrue("The response was not an Object Message", responseMessage instanceof ObjectMessage);
+ assertTrue(String.format("The response was not an Object Message. It was a : %s ",
+ responseMessage.getClass()), responseMessage instanceof ObjectMessage);
assertTrue("The Object Message did not contain a Map",
((ObjectMessage) responseMessage).getObject() instanceof Map);
}
@@ -160,7 +195,7 @@ public class AmqpManagementTest extends QpidBrokerTestCase
}
}
- Object getValueFromMapResponse(final Message responseMessage, String name) throws JMSException
+ private Object getValueFromMapResponse(final Message responseMessage, String name) throws JMSException
{
if (isBroker10())
{
@@ -172,7 +207,8 @@ public class AmqpManagementTest extends QpidBrokerTestCase
}
}
- Collection getMapResponseKeys(final Message responseMessage) throws JMSException
+ @SuppressWarnings("unchecked")
+ private Collection<String> getMapResponseKeys(final Message responseMessage) throws JMSException
{
if (isBroker10())
{
@@ -187,7 +223,6 @@ public class AmqpManagementTest extends QpidBrokerTestCase
// test get types on $management
public void testQueryBrokerManagement() throws Exception
{
-
if (!_runTest)
{
return;
@@ -206,13 +241,10 @@ public class AmqpManagementTest extends QpidBrokerTestCase
_producer.send(message);
Message responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
+ assertResponseCode(responseMessage, 200);
assertEquals("The correlation id does not match the sent message's messageId", message.getJMSMessageID(), responseMessage.getJMSCorrelationID());
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("The response code did not indicate success", 200, responseMessage.getIntProperty("statusCode"));
checkResponseIsMapType(responseMessage);
- ArrayList resultMessageKeys = new ArrayList(getMapResponseKeys(responseMessage));
+ List<String> resultMessageKeys = new ArrayList<>(getMapResponseKeys(responseMessage));
assertEquals("The response map has two entries", 2, resultMessageKeys.size());
assertTrue("The response map does not contain attribute names", resultMessageKeys.contains("attributeNames"));
assertTrue("The response map does not contain results ", resultMessageKeys.contains("results"));
@@ -235,13 +267,11 @@ public class AmqpManagementTest extends QpidBrokerTestCase
_producer.send(message);
responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertEquals("The correlation id does not match the sent message's messageId", message.getJMSMessageID(), responseMessage.getJMSCorrelationID());
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("The response code did not indicate success", 200, responseMessage.getIntProperty("statusCode"));
+ assertResponseCode(responseMessage, 200);
checkResponseIsMapType(responseMessage);
- resultMessageKeys = new ArrayList(getMapResponseKeys(responseMessage));
+
+ assertEquals("The correlation id does not match the sent message's messageId", message.getJMSMessageID(), responseMessage.getJMSCorrelationID());
+ resultMessageKeys = new ArrayList<>(getMapResponseKeys(responseMessage));
assertEquals("The response map has two entries", 2, resultMessageKeys.size());
assertTrue("The response map does not contain attribute names", resultMessageKeys.contains("attributeNames"));
assertTrue("The response map does not contain results ", resultMessageKeys.contains("results"));
@@ -298,9 +328,8 @@ public class AmqpManagementTest extends QpidBrokerTestCase
assertNotNull("A response message was not sent", responseMessage);
assertTrue("The correlation id does not match the sent message's correlationId", Arrays.equals(correlationID, responseMessage.getJMSCorrelationIDAsBytes()));
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("The response code did not indicate success", 200, responseMessage.getIntProperty("statusCode"));
+ assertResponseCode(responseMessage, 200);
+
assertTrue("The response was not a MapMessage", responseMessage instanceof MapMessage);
assertNotNull("The response did not include the org.amqp.Management type",
((MapMessage) responseMessage).getObject("org.amqp.management"));
@@ -333,10 +362,7 @@ public class AmqpManagementTest extends QpidBrokerTestCase
_producer.send(message);
Message responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("The response code did not indicate success", 201, responseMessage.getIntProperty("statusCode"));
+ assertResponseCode(responseMessage, 201);
checkResponseIsMapType(responseMessage);
assertEquals("The created queue was not a standard queue", "org.apache.qpid.StandardQueue", getValueFromMapResponse(responseMessage, "type"));
assertEquals("The created queue was not a standard queue", "standard", getValueFromMapResponse(responseMessage, "qpid-type"));
@@ -354,10 +380,7 @@ public class AmqpManagementTest extends QpidBrokerTestCase
_producer.send(message);
responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("The response code did not indicate success", 200, responseMessage.getIntProperty("statusCode"));
+ assertResponseCode(responseMessage, 200);
checkResponseIsMapType(responseMessage);
assertEquals("the created queue did not have the correct alerting threshold", 250L, getValueFromMapResponse(responseMessage, ALERT_THRESHOLD_QUEUE_DEPTH_MESSAGES));
@@ -372,10 +395,7 @@ public class AmqpManagementTest extends QpidBrokerTestCase
_producer.send(message);
responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("The response code did not indicate success", 204, responseMessage.getIntProperty("statusCode"));
+ assertResponseCode(responseMessage, 204);
message = _session.createMapMessage();
@@ -387,12 +407,9 @@ public class AmqpManagementTest extends QpidBrokerTestCase
_producer.send(message);
responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("The response code did not indicate not found", 404, responseMessage.getIntProperty("statusCode"));
-
+ assertResponseCode(responseMessage, 404);
}
+
// create / update / read / delete a queue via vhost
public void testCreateQueueOnVhostManagement() throws Exception
@@ -416,10 +433,7 @@ public class AmqpManagementTest extends QpidBrokerTestCase
_producer.send(message);
Message responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("The response code did not indicate success", 201, responseMessage.getIntProperty("statusCode"));
+ assertResponseCode(responseMessage, 201);
checkResponseIsMapType(responseMessage);
assertEquals("The created queue was not a priority queue", "org.apache.qpid.PriorityQueue", getValueFromMapResponse(responseMessage, "type"));
assertEquals("The created queue was not a standard queue", "priority", getValueFromMapResponse(responseMessage, "qpid-type"));
@@ -438,10 +452,7 @@ public class AmqpManagementTest extends QpidBrokerTestCase
_producer.send(message);
responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("The response code did not indicate conflict", 409, responseMessage.getIntProperty("statusCode"));
+ assertResponseCode(responseMessage, 409);
message.setStringProperty("type", "org.apache.qpid.Queue");
message.setStringProperty("operation", "READ");
@@ -451,10 +462,7 @@ public class AmqpManagementTest extends QpidBrokerTestCase
_producer.send(message);
responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("The response code did not indicate success", 200, responseMessage.getIntProperty("statusCode"));
+ assertResponseCode(responseMessage, 200);
assertEquals("the queue did not have the correct number of priorities", 13, Integer.valueOf(getValueFromMapResponse(responseMessage, PriorityQueue.PRIORITIES).toString()).intValue());
assertEquals("the queue did not have the expected path", getTestName(), getValueFromMapResponse(responseMessage, "object-path"));
@@ -470,10 +478,7 @@ public class AmqpManagementTest extends QpidBrokerTestCase
_producer.send(message);
responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("The response code did not indicate success", 200, responseMessage.getIntProperty("statusCode"));
+ assertResponseCode(responseMessage, 200);
checkResponseIsMapType(responseMessage);
assertEquals("The updated queue did not have the correct alerting threshold", 250L, Long.valueOf(getValueFromMapResponse(responseMessage, ALERT_THRESHOLD_QUEUE_DEPTH_MESSAGES).toString()).longValue());
@@ -488,10 +493,7 @@ public class AmqpManagementTest extends QpidBrokerTestCase
_producer.send(message);
responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("The response code did not indicate success", 204, responseMessage.getIntProperty("statusCode"));
+ assertResponseCode(responseMessage, 204);
message = _session.createMapMessage();
message.setStringProperty("type", "org.apache.qpid.Queue");
@@ -503,10 +505,7 @@ public class AmqpManagementTest extends QpidBrokerTestCase
_producer.send(message);
responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("The response code did not indicate not found", 404, responseMessage.getIntProperty("statusCode"));
+ assertResponseCode(responseMessage, 404);
}
// read virtual host from virtual host management
@@ -528,19 +527,14 @@ public class AmqpManagementTest extends QpidBrokerTestCase
_producer.send(message);
Message responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("Incorrect response code", 200, responseMessage.getIntProperty("statusCode"));
+ assertResponseCode(responseMessage, 200);
checkResponseIsMapType(responseMessage);
assertEquals("The name of the virtual host is not as expected", "test", getValueFromMapResponse(responseMessage, "name"));
message.setBooleanProperty("actuals", false);
_producer.send(message);
responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
+ assertResponseCode(responseMessage, 200);
checkResponseIsMapType(responseMessage);
assertNotNull("Derived attribute (productVersion) should be available", getValueFromMapResponse(responseMessage, "productVersion"));
}
@@ -563,10 +557,7 @@ public class AmqpManagementTest extends QpidBrokerTestCase
_producer.send(message);
Message responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("Incorrect response code", 404, responseMessage.getIntProperty("statusCode"));
+ assertResponseCode(responseMessage, 404);
}
public void testInvokeOperation_ObjectNotFound() throws Exception
@@ -587,10 +578,98 @@ public class AmqpManagementTest extends QpidBrokerTestCase
_producer.send(message);
Message responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("Incorrect response code", 404, responseMessage.getIntProperty("statusCode"));
+ assertResponseCode(responseMessage, 404);
+ }
+
+ public void testInvokeOperationReturningMap() throws Exception
+ {
+ if (!_runTest)
+ {
+ return;
+ }
+ setupBrokerManagementConnection();
+
+ MapMessage message = _session.createMapMessage();
+
+ message.setStringProperty("type", "org.apache.qpid.Broker");
+ message.setStringProperty("operation", "getStatistics");
+ message.setStringProperty("index", "object-path");
+ message.setStringProperty("key", "");
+ message.setJMSReplyTo(_replyAddress);
+ _producer.send(message);
+
+ Message responseMessage = _consumer.receive(getReceiveTimeout());
+ assertResponseCode(responseMessage, 200);
+ checkResponseIsMapType(responseMessage);
+ assertNotNull(getValueFromMapResponse(responseMessage, "numberOfLiveThreads"));
+ }
+
+ public void testInvokeOperationReturningManagedAttributeValue() throws Exception
+ {
+ if (!_runTest)
+ {
+ return;
+ }
+ setupBrokerManagementConnection();
+
+ MapMessage message = _session.createMapMessage();
+
+ message.setStringProperty("type", "org.apache.qpid.Broker");
+ message.setStringProperty("operation", "getConnectionMetaData");
+ message.setStringProperty("index", "object-path");
+ message.setStringProperty("key", "");
+ message.setJMSReplyTo(_replyAddress);
+ _producer.send(message);
+
+ Message responseMessage = _consumer.receive(getReceiveTimeout());
+ assertResponseCode(responseMessage, 200);
+ checkResponseIsMapType(responseMessage);
+ assertNotNull(getValueFromMapResponse(responseMessage, "port"));
+ }
+
+ public void testInvokeSecureOperation() throws Exception
+ {
+ if (!_runTest)
+ {
+ return;
+ }
+ String secureOperation = "publishMessage"; // // a secure operation
+ Map<String, String> operationArg = new HashMap<>();
+ operationArg.put("address", ExchangeDefaults.FANOUT_EXCHANGE_NAME);
+ operationArg.put("content", "Hello, world!");
+
+ setupVirtualHostManagementConnection();
+
+ MapMessage plainRequest = _session.createMapMessage();
+
+ plainRequest.setStringProperty("type", "org.apache.qpid.VirtualHost");
+ plainRequest.setStringProperty("operation", secureOperation);
+ plainRequest.setStringProperty("index", "object-path");
+ plainRequest.setStringProperty("key", "");
+ plainRequest.setStringProperty("message", new ObjectMapper().writeValueAsString(operationArg));
+ plainRequest.setJMSReplyTo(_replyAddress);
+ _producer.send(plainRequest);
+
+ Message responseMessage = _consumer.receive(getReceiveTimeout());
+ assertResponseCode(responseMessage, 403);
+
+ _connection.close();
+
+ _connection = getConnectionBuilder().setTls(true).build();
+ setupSession();
+ MapMessage secureRequest = _session.createMapMessage();
+
+ secureRequest.setStringProperty("type", "org.apache.qpid.VirtualHost");
+ secureRequest.setStringProperty("operation", secureOperation);
+ secureRequest.setStringProperty("index", "object-path");
+ secureRequest.setStringProperty("key", "");
+ secureRequest.setStringProperty("message", new ObjectMapper().writeValueAsString(operationArg));
+ secureRequest.setJMSReplyTo(_replyAddress);
+ _producer.send(secureRequest);
+
+ responseMessage = _consumer.receive(getReceiveTimeout());
+ assertResponseCode(responseMessage, 200);
+ // responseMessage.get
}
// create a virtual host from $management
@@ -612,10 +691,7 @@ public class AmqpManagementTest extends QpidBrokerTestCase
_producer.send(message);
Message responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("Incorrect response code", 201, responseMessage.getIntProperty("statusCode"));
+ assertResponseCode(responseMessage, 201);
_connection.close();
_connection = getConnectionForVHost(virtualHostName);
setupSession();
@@ -630,10 +706,7 @@ public class AmqpManagementTest extends QpidBrokerTestCase
_producer.send(message);
responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("Incorrect response code", 200, responseMessage.getIntProperty("statusCode"));
+ assertResponseCode(responseMessage, 200);
checkResponseIsMapType(responseMessage);
assertEquals("The name of the virtual host is not as expected", virtualHostName, getValueFromMapResponse(responseMessage, "name"));
assertEquals("The type of the virtual host is not as expected", "Memory", getValueFromMapResponse(responseMessage, "qpid-type"));
@@ -658,10 +731,7 @@ public class AmqpManagementTest extends QpidBrokerTestCase
_producer.send(message);
Message responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("Incorrect response code", 501, responseMessage.getIntProperty("statusCode"));
+ assertResponseCode(responseMessage, 501);
}
// create a queue with the qpid type
@@ -685,10 +755,7 @@ public class AmqpManagementTest extends QpidBrokerTestCase
_producer.send(message);
Message responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("Incorrect response code", 201, responseMessage.getIntProperty("statusCode"));
+ assertResponseCode(responseMessage, 201);
checkResponseIsMapType(responseMessage);
assertEquals("The created queue did not have the correct type", "org.apache.qpid.LastValueQueue", getValueFromMapResponse(responseMessage, "type"));
}
@@ -714,10 +781,7 @@ public class AmqpManagementTest extends QpidBrokerTestCase
_producer.send(message);
Message responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("Incorrect response code", 201, responseMessage.getIntProperty("statusCode"));
+ assertResponseCode(responseMessage, 201);
checkResponseIsMapType(responseMessage);
assertEquals("The created queue did not have the correct type", "sorted", getValueFromMapResponse(responseMessage, "qpid-type"));
}
@@ -742,10 +806,7 @@ public class AmqpManagementTest extends QpidBrokerTestCase
_producer.send(message);
Message responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("Incorrect response code", 400, responseMessage.getIntProperty("statusCode"));
+ assertResponseCode(responseMessage, 400);
}
@@ -770,10 +831,7 @@ public class AmqpManagementTest extends QpidBrokerTestCase
_producer.send(message);
Message responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("The response code did not indicate not implemented", 501, responseMessage.getIntProperty("statusCode"));
+ assertResponseCode(responseMessage, 501);
}
public void testCreateConnectionOnBrokerManagement() throws Exception
@@ -795,10 +853,19 @@ public class AmqpManagementTest extends QpidBrokerTestCase
_producer.send(message);
Message responseMessage = _consumer.receive(getReceiveTimeout());
+ assertResponseCode(responseMessage, 501);
+
+ }
+
+ @SuppressWarnings("unchecked")
+ private void assertResponseCode(final Message responseMessage, final int expectedResponseCode) throws JMSException
+ {
assertNotNull("A response message was not sent", responseMessage);
assertTrue("The response message does not have a status code",
Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("The response code did not indicate not implemented", 501, responseMessage.getIntProperty("statusCode"));
+ assertEquals("The response code did not indicate success",
+ expectedResponseCode, responseMessage.getIntProperty("statusCode"));
}
+
}
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/3d042838/systests/src/test/java/org/apache/qpid/systest/rest/ExportImportMessagesRestTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/ExportImportMessagesRestTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/ExportImportMessagesRestTest.java
index 37f7b96..9d9ecd0 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/ExportImportMessagesRestTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/ExportImportMessagesRestTest.java
@@ -39,7 +39,6 @@ import org.apache.qpid.server.model.Port;
import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.model.VirtualHostNode;
-import org.apache.qpid.server.model.port.HttpPort;
import org.apache.qpid.test.utils.TestBrokerConfiguration;
import org.apache.qpid.util.DataUrlUtils;
@@ -84,7 +83,7 @@ public class ExportImportMessagesRestTest extends QpidRestTestCase
{
super.customizeConfiguration();
getDefaultBrokerConfiguration().setObjectAttribute(Port.class, TestBrokerConfiguration.ENTRY_NAME_HTTP_PORT,
- HttpPort.ALLOW_CONFIDENTIAL_OPERATIONS_ON_INSECURE_CHANNELS,
+ Port.ALLOW_CONFIDENTIAL_OPERATIONS_ON_INSECURE_CHANNELS,
true);
}
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/3d042838/systests/src/test/java/org/apache/qpid/systest/rest/MessagesRestTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/MessagesRestTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/MessagesRestTest.java
index 281ef1c..9305ea8 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/MessagesRestTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/MessagesRestTest.java
@@ -42,7 +42,6 @@ import javax.jms.StreamMessage;
import javax.servlet.http.HttpServletResponse;
import org.apache.qpid.server.model.Port;
-import org.apache.qpid.server.model.port.HttpPort;
import org.apache.qpid.test.utils.TestBrokerConfiguration;
public class MessagesRestTest extends QpidRestTestCase
@@ -100,7 +99,7 @@ public class MessagesRestTest extends QpidRestTestCase
super.customizeConfiguration();
// Allow retrieval of message information on an insecure (non-tls) connection
getDefaultBrokerConfiguration().setObjectAttribute(Port.class, TestBrokerConfiguration.ENTRY_NAME_HTTP_PORT,
- HttpPort.ALLOW_CONFIDENTIAL_OPERATIONS_ON_INSECURE_CHANNELS,
+ Port.ALLOW_CONFIDENTIAL_OPERATIONS_ON_INSECURE_CHANNELS,
true);
}
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/3d042838/systests/src/test/java/org/apache/qpid/systest/rest/PublishMessageRestTest.java
----------------------------------------------------------------------
diff --git a/systests/src/test/java/org/apache/qpid/systest/rest/PublishMessageRestTest.java b/systests/src/test/java/org/apache/qpid/systest/rest/PublishMessageRestTest.java
index 727ac9a..44838e3 100644
--- a/systests/src/test/java/org/apache/qpid/systest/rest/PublishMessageRestTest.java
+++ b/systests/src/test/java/org/apache/qpid/systest/rest/PublishMessageRestTest.java
@@ -44,7 +44,6 @@ import com.google.common.base.Strings;
import org.apache.qpid.server.model.Port;
import org.apache.qpid.server.model.Queue;
-import org.apache.qpid.server.model.port.HttpPort;
import org.apache.qpid.test.utils.TestBrokerConfiguration;
public class PublishMessageRestTest extends QpidRestTestCase
@@ -79,7 +78,7 @@ public class PublishMessageRestTest extends QpidRestTestCase
{
super.customizeConfiguration();
getDefaultBrokerConfiguration().setObjectAttribute(Port.class, TestBrokerConfiguration.ENTRY_NAME_HTTP_PORT,
- HttpPort.ALLOW_CONFIDENTIAL_OPERATIONS_ON_INSECURE_CHANNELS,
+ Port.ALLOW_CONFIDENTIAL_OPERATIONS_ON_INSECURE_CHANNELS,
true);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org
[3/3] qpid-broker-j git commit: QPID-7836: Avoid possibility of a NPE
when viewing a message
Posted by kw...@apache.org.
QPID-7836: Avoid possibility of a NPE when viewing a message
Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/ae54418f
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/ae54418f
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/ae54418f
Branch: refs/heads/master
Commit: ae54418f112eaca49d4bf9d2450776ed4f673403
Parents: 3d04283
Author: Keith Wall <kw...@apache.org>
Authored: Tue Jun 27 10:04:42 2017 +0100
Committer: Keith Wall <kw...@apache.org>
Committed: Tue Jun 27 10:33:57 2017 +0100
----------------------------------------------------------------------
.../java/org/apache/qpid/server/message/MessageInfoImpl.java | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/ae54418f/broker-core/src/main/java/org/apache/qpid/server/message/MessageInfoImpl.java
----------------------------------------------------------------------
diff --git a/broker-core/src/main/java/org/apache/qpid/server/message/MessageInfoImpl.java b/broker-core/src/main/java/org/apache/qpid/server/message/MessageInfoImpl.java
index c735932..60a820c 100644
--- a/broker-core/src/main/java/org/apache/qpid/server/message/MessageInfoImpl.java
+++ b/broker-core/src/main/java/org/apache/qpid/server/message/MessageInfoImpl.java
@@ -56,8 +56,8 @@ public class MessageInfoImpl implements MessageInfo
final ServerMessage message = instance.getMessage();
final AMQMessageHeader messageHeader = message.getMessageHeader();
- _deliveredTo = instance.getAcquiringConsumer() == null ? null : String.valueOf(instance.getAcquiringConsumer()
- .getIdentifier());
+ MessageInstanceConsumer<?> acquiringConsumer = instance.getAcquiringConsumer();
+ _deliveredTo = acquiringConsumer == null ? null : String.valueOf(acquiringConsumer.getIdentifier());
_arrivalTime = message.getArrivalTime() == 0L ? null : new Date(message.getArrivalTime());
_messageType = message.getMessageType();
_persistent = message.isPersistent();
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org