summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorKeith Wall <kwall@apache.org>2014-08-11 16:55:15 +0000
committerKeith Wall <kwall@apache.org>2014-08-11 16:55:15 +0000
commit7d193fef0a947cb71e8f9de93d90f26d4f11ca2d (patch)
tree2f59930e9adca2331e7c0455326005951aba6356 /qpid/java
parent19d06780b7d15bd68d7f451ede011adf40cbf381 (diff)
downloadqpid-python-7d193fef0a947cb71e8f9de93d90f26d4f11ca2d.tar.gz
QPID-5988: [Java Broker] Default VHN/VH store paths to path location based on QPID_WORK
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1617325 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
-rw-r--r--qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBVirtualHost.java2
-rw-r--r--qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBVirtualHostNode.java2
-rw-r--r--qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb/add.html4
-rw-r--r--qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/existinggroup/add.html4
-rw-r--r--qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/newgroup/add.html4
-rw-r--r--qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/edit.html4
-rw-r--r--qpid/java/bdbstore/systests/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostNodeRestTest.java22
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/JsonVirtualHostNode.java2
-rw-r--r--qpid/java/broker-core/src/main/resources/initial-config.json3
-rw-r--r--qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/virtualhost/derby/DerbyVirtualHost.java2
-rw-r--r--qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/virtualhostnode/derby/DerbyVirtualHostNode.java2
-rw-r--r--qpid/java/broker-plugins/derby-store/src/main/java/resources/virtualhostnode/derby/add.html4
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhost/sizemonitoring/add.html4
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhost/sizemonitoring/edit.html4
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhostnode/filebased/edit.html4
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhostnode/json/add.html4
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostNodeRestTest.java33
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java78
-rwxr-xr-xqpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java17
-rw-r--r--qpid/java/test-profiles/JavaJsonExcludes2
-rw-r--r--qpid/java/test-profiles/JavaTransientExcludes1
21 files changed, 96 insertions, 106 deletions
diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBVirtualHost.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBVirtualHost.java
index 12511ad9e0..ac8d33685a 100644
--- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBVirtualHost.java
+++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhost/berkeleydb/BDBVirtualHost.java
@@ -38,7 +38,7 @@ public interface BDBVirtualHost<X extends BDBVirtualHost<X>> extends VirtualHost
Math.min(200l*1024l*1024l,
Runtime.getRuntime().maxMemory()/20l));
- @ManagedAttribute(mandatory = true)
+ @ManagedAttribute(mandatory = true, defaultValue = "${qpid.work_dir}${file.separator}${this:name}${file.separator}messages")
String getStorePath();
@ManagedAttribute(mandatory = true, defaultValue = "0")
diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBVirtualHostNode.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBVirtualHostNode.java
index 763b59146b..61b0d1882a 100644
--- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBVirtualHostNode.java
+++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/virtualhostnode/berkeleydb/BDBVirtualHostNode.java
@@ -26,6 +26,6 @@ public interface BDBVirtualHostNode<X extends BDBVirtualHostNode<X>> extends org
{
String STORE_PATH = "storePath";
- @ManagedAttribute(mandatory = true)
+ @ManagedAttribute(mandatory = true, defaultValue = "${qpid.work_dir}${file.separator}${this:name}${file.separator}config")
String getStorePath();
}
diff --git a/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb/add.html b/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb/add.html
index f9e9d0a82f..9ce23084c5 100644
--- a/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb/add.html
+++ b/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb/add.html
@@ -20,15 +20,13 @@
-->
<div>
<div class="clear">
- <div class="formLabel-labelCell tableContainer-labelCell">Store path*:</div>
+ <div class="formLabel-labelCell tableContainer-labelCell">Store path:</div>
<div class="formLabel-controlCell tableContainer-valueCell">
<input type="text" id="addVirtualHostNode.storePath"
data-dojo-type="dijit/form/ValidationTextBox"
data-dojo-props="
name: 'storePath',
placeHolder: 'path/to/store',
- required: true,
- missingMessage: 'Store path must be supplied',
title: 'Enter store path'" />
</div>
</div>
diff --git a/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/existinggroup/add.html b/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/existinggroup/add.html
index b08c734e35..820a94e754 100644
--- a/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/existinggroup/add.html
+++ b/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/existinggroup/add.html
@@ -81,15 +81,13 @@
</div>
</div>
<div class="clear">
- <div class="formLabel-labelCell tableContainer-labelCell">Store path*:</div>
+ <div class="formLabel-labelCell tableContainer-labelCell">Store path:</div>
<div class="formLabel-controlCell tableContainer-valueCell">
<input type="text" id="addVirtualHostNode.storePath"
data-dojo-type="dijit/form/ValidationTextBox"
data-dojo-props="
name: 'storePath',
placeHolder: 'path/to/store',
- required: true,
- missingMessage: 'Store path must be supplied',
title: 'Enter store path'" />
</div>
</div>
diff --git a/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/newgroup/add.html b/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/newgroup/add.html
index 3d06d15d5c..1d3b2a1906 100644
--- a/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/newgroup/add.html
+++ b/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/newgroup/add.html
@@ -45,15 +45,13 @@
</div>
</div>
<div class="clear">
- <div class="formLabel-labelCell tableContainer-labelCell">Store path*:</div>
+ <div class="formLabel-labelCell tableContainer-labelCell">Store path:</div>
<div class="formLabel-controlCell tableContainer-valueCell">
<input type="text" id="addVirtualHostNode.storePath"
data-dojo-type="dijit/form/ValidationTextBox"
data-dojo-props="
name: 'storePath',
placeHolder: 'path/to/store',
- required: true,
- missingMessage: 'Store path must be supplied',
title: 'Enter store path'" />
</div>
</div>
diff --git a/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/edit.html b/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/edit.html
index c18ca34fdb..189eb6f7b6 100644
--- a/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/edit.html
+++ b/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/edit.html
@@ -45,15 +45,13 @@
</div>
</div>
<div class="clear">
- <div class="formLabel-labelCell tableContainer-labelCell">Configuration store path*:</div>
+ <div class="formLabel-labelCell tableContainer-labelCell">Configuration store path:</div>
<div class="formLabel-controlCell tableContainer-valueCell">
<input type="text" id="editVirtualHostNode.storePath"
data-dojo-type="dijit/form/ValidationTextBox"
data-dojo-props="
name: 'storePath',
placeHolder: 'path/to/store',
- required: true,
- missingMessage: 'Store path must be supplied',
title: 'Enter configuration store path'" />
</div>
</div>
diff --git a/qpid/java/bdbstore/systests/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostNodeRestTest.java b/qpid/java/bdbstore/systests/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostNodeRestTest.java
index c855fd84ba..66bee0cce6 100644
--- a/qpid/java/bdbstore/systests/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostNodeRestTest.java
+++ b/qpid/java/bdbstore/systests/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBHAVirtualHostNodeRestTest.java
@@ -47,7 +47,6 @@ import org.apache.qpid.server.virtualhostnode.berkeleydb.BDBHAVirtualHostNode;
import org.apache.qpid.systest.rest.Asserts;
import org.apache.qpid.systest.rest.QpidRestTestCase;
import org.apache.qpid.test.utils.TestBrokerConfiguration;
-import org.apache.qpid.util.FileUtils;
public class BDBHAVirtualHostNodeRestTest extends QpidRestTestCase
{
@@ -60,7 +59,6 @@ public class BDBHAVirtualHostNodeRestTest extends QpidRestTestCase
private int _node3HaPort;
private String _hostName;
- private File _storeBaseDir;
private String _baseNodeRestUrl;
@Override
@@ -72,8 +70,6 @@ public class BDBHAVirtualHostNodeRestTest extends QpidRestTestCase
_hostName = getTestName();
_baseNodeRestUrl = "virtualhostnode/";
- _storeBaseDir = new File(TMP_FOLDER, "store-" + _hostName + "-" + System.currentTimeMillis());
-
_node1HaPort = findFreePort();
_node2HaPort = getNextAvailable(_node1HaPort + 1);
_node3HaPort = getNextAvailable(_node2HaPort + 1);
@@ -82,22 +78,6 @@ public class BDBHAVirtualHostNodeRestTest extends QpidRestTestCase
}
@Override
- public void tearDown() throws Exception
- {
- try
- {
- super.tearDown();
- }
- finally
- {
- if (_storeBaseDir != null)
- {
- FileUtils.delete(_storeBaseDir, true);
- }
- }
- }
-
- @Override
protected void customizeConfiguration() throws IOException
{
super.customizeConfiguration();
@@ -311,7 +291,6 @@ public class BDBHAVirtualHostNodeRestTest extends QpidRestTestCase
Map<String, Object> nodeData = new HashMap<String, Object>();
nodeData.put(BDBHAVirtualHostNode.NAME, nodeName);
nodeData.put(BDBHAVirtualHostNode.TYPE, "BDB_HA");
- nodeData.put(BDBHAVirtualHostNode.STORE_PATH, _storeBaseDir.getPath() + File.separator + nodeName);
nodeData.put(BDBHAVirtualHostNode.GROUP_NAME, _hostName);
nodeData.put(BDBHAVirtualHostNode.ADDRESS, "localhost:" + nodePort);
nodeData.put(BDBHAVirtualHostNode.HELPER_ADDRESS, "localhost:" + helperPort);
@@ -332,7 +311,6 @@ public class BDBHAVirtualHostNodeRestTest extends QpidRestTestCase
Map<String, Object> nodeData = getRestTestHelper().getJsonAsSingletonList(_baseNodeRestUrl + nodeName + "?depth=0");
assertEquals("Unexpected name", nodeName, nodeData.get(BDBHAVirtualHostNode.NAME));
assertEquals("Unexpected type", "BDB_HA", nodeData.get(BDBHAVirtualHostNode.TYPE));
- assertEquals("Unexpected path", new File(_storeBaseDir, nodeName).getPath(), nodeData.get(BDBHAVirtualHostNode.STORE_PATH));
assertEquals("Unexpected address", "localhost:" + nodePort, nodeData.get(BDBHAVirtualHostNode.ADDRESS));
assertEquals("Unexpected helper address", "localhost:" + nodeHelperPort, nodeData.get(BDBHAVirtualHostNode.HELPER_ADDRESS));
assertEquals("Unexpected group name", _hostName, nodeData.get(BDBHAVirtualHostNode.GROUP_NAME));
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/JsonVirtualHostNode.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/JsonVirtualHostNode.java
index 34a18c884f..58fd8d73d0 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/JsonVirtualHostNode.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhostnode/JsonVirtualHostNode.java
@@ -26,6 +26,6 @@ public interface JsonVirtualHostNode<X extends JsonVirtualHostNode<X>> extends o
String STORE_PATH = "storePath";
- @ManagedAttribute(mandatory = true)
+ @ManagedAttribute(mandatory = true, defaultValue = "${qpid.work_dir}${file.separator}${this:name}${file.separator}config")
String getStorePath();
}
diff --git a/qpid/java/broker-core/src/main/resources/initial-config.json b/qpid/java/broker-core/src/main/resources/initial-config.json
index 74aedd14af..9f1f779559 100644
--- a/qpid/java/broker-core/src/main/resources/initial-config.json
+++ b/qpid/java/broker-core/src/main/resources/initial-config.json
@@ -55,9 +55,8 @@
"virtualhostnodes" : [ {
"name" : "default",
"type" : "JSON",
- "storePath" : "${qpid.work_dir}${file.separator}default${file.separator}config",
"context" : {
- "virtualhostBlueprint" : "{ \"type\" : \"DERBY\", \"storePath\" : \"${json:qpid.work_dir}${json:file.separator}default${json:file.separator}messages\" }"
+ "virtualhostBlueprint" : "{ \"type\" : \"DERBY\" }"
}
} ],
"plugins" : [ {
diff --git a/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/virtualhost/derby/DerbyVirtualHost.java b/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/virtualhost/derby/DerbyVirtualHost.java
index 9411d7906d..4935d5e707 100644
--- a/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/virtualhost/derby/DerbyVirtualHost.java
+++ b/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/virtualhost/derby/DerbyVirtualHost.java
@@ -29,7 +29,7 @@ public interface DerbyVirtualHost<X extends DerbyVirtualHost<X>> extends Virtual
{
String STORE_PATH = "storePath";
- @ManagedAttribute(mandatory = true)
+ @ManagedAttribute(mandatory = true, defaultValue = "${qpid.work_dir}${file.separator}${this:name}${file.separator}messages")
String getStorePath();
@ManagedAttribute(mandatory = true, defaultValue = "0")
diff --git a/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/virtualhostnode/derby/DerbyVirtualHostNode.java b/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/virtualhostnode/derby/DerbyVirtualHostNode.java
index 3b31f4e7e0..81a9167924 100644
--- a/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/virtualhostnode/derby/DerbyVirtualHostNode.java
+++ b/qpid/java/broker-plugins/derby-store/src/main/java/org/apache/qpid/server/virtualhostnode/derby/DerbyVirtualHostNode.java
@@ -26,6 +26,6 @@ public interface DerbyVirtualHostNode<X extends DerbyVirtualHostNode<X>> extends
{
String STORE_PATH = "storePath";
- @ManagedAttribute(mandatory = true)
+ @ManagedAttribute(mandatory = true, defaultValue = "${qpid.work_dir}${file.separator}${this:name}${file.separator}config")
String getStorePath();
}
diff --git a/qpid/java/broker-plugins/derby-store/src/main/java/resources/virtualhostnode/derby/add.html b/qpid/java/broker-plugins/derby-store/src/main/java/resources/virtualhostnode/derby/add.html
index fa4f0d64f1..0ec1e89c24 100644
--- a/qpid/java/broker-plugins/derby-store/src/main/java/resources/virtualhostnode/derby/add.html
+++ b/qpid/java/broker-plugins/derby-store/src/main/java/resources/virtualhostnode/derby/add.html
@@ -20,15 +20,13 @@
-->
<div>
<div class="clear">
- <div class="formLabel-labelCell tableContainer-labelCell">Store path*:</div>
+ <div class="formLabel-labelCell tableContainer-labelCell">Store path:</div>
<div class="formLabel-controlCell tableContainer-valueCell">
<input type="text" id="addVirtualHostNode.storePath"
data-dojo-type="dijit/form/ValidationTextBox"
data-dojo-props="
name: 'storePath',
placeHolder: 'path/to/store',
- required: true,
- missingMessage: 'Store path must be supplied',
title: 'Enter store path'" />
</div>
</div>
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhost/sizemonitoring/add.html b/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhost/sizemonitoring/add.html
index 7cf789e520..88ca0b3807 100644
--- a/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhost/sizemonitoring/add.html
+++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhost/sizemonitoring/add.html
@@ -19,15 +19,13 @@
<div>
<div class="clear">
- <div class="formLabel-labelCell tableContainer-labelCell">Message store path*:</div>
+ <div class="formLabel-labelCell tableContainer-labelCell">Message store path:</div>
<div class="formLabel-controlCell tableContainer-valueCell">
<input type="text" id="addVirtualHost.storePath"
data-dojo-type="dijit/form/ValidationTextBox"
data-dojo-props="
name: 'storePath',
placeHolder: 'path/to/store',
- required: true,
- missingMessage: 'Store path must be supplied',
title: 'Enter message store path'" />
</div>
</div>
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhost/sizemonitoring/edit.html b/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhost/sizemonitoring/edit.html
index 9e240a83c4..60b8faef56 100644
--- a/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhost/sizemonitoring/edit.html
+++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhost/sizemonitoring/edit.html
@@ -20,15 +20,13 @@
<div>
<div class="clear">
- <div class="formLabel-labelCell tableContainer-labelCell">Message store path*:</div>
+ <div class="formLabel-labelCell tableContainer-labelCell">Message store path:</div>
<div class="formLabel-controlCell tableContainer-valueCell">
<input type="text" id="editVirtualHost.storePath"
data-dojo-type="dijit/form/ValidationTextBox"
data-dojo-props="
name: 'storePath',
placeHolder: 'path/to/store',
- required: true,
- missingMessage: 'Store path must be supplied',
disabled: true,
title: 'Enter message store path'" />
</div>
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhostnode/filebased/edit.html b/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhostnode/filebased/edit.html
index a132444268..2f0d72fe9a 100644
--- a/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhostnode/filebased/edit.html
+++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhostnode/filebased/edit.html
@@ -20,15 +20,13 @@
<div>
<div class="clear">
- <div class="formLabel-labelCell tableContainer-labelCell">Configuration store path*:</div>
+ <div class="formLabel-labelCell tableContainer-labelCell">Configuration store path:</div>
<div class="formLabel-controlCell tableContainer-valueCell">
<input type="text" id="editVirtualHostNode.storePath"
data-dojo-type="dijit/form/ValidationTextBox"
data-dojo-props="
name: 'storePath',
placeHolder: 'path/to/store',
- required: true,
- missingMessage: 'Store path must be supplied',
title: 'Enter configuration store path'" />
</div>
</div>
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhostnode/json/add.html b/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhostnode/json/add.html
index 622eb17b63..ec3ef79fa0 100644
--- a/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhostnode/json/add.html
+++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/virtualhostnode/json/add.html
@@ -20,15 +20,13 @@
-->
<div>
<div class="clear">
- <div class="formLabel-labelCell tableContainer-labelCell">Store path*:</div>
+ <div class="formLabel-labelCell tableContainer-labelCell">Store path:</div>
<div class="formLabel-controlCell tableContainer-valueCell">
<input type="text" id="addVirtualHostNode.jsonStorePath"
data-dojo-type="dijit/form/ValidationTextBox"
data-dojo-props="
name: 'storePath',
placeHolder: 'path/to/store',
- required: true,
- missingMessage: 'Store path must be supplied',
title: 'Enter store path'" />
</div>
</div>
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostNodeRestTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostNodeRestTest.java
index 3e49f63cff..9569b90251 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostNodeRestTest.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostNodeRestTest.java
@@ -55,14 +55,33 @@ public class VirtualHostNodeRestTest extends QpidRestTestCase
public void testCreateAndDeleteVirtualHostNode() throws Exception
{
- String storeType = getTestProfileVirtualHostNodeType();
+ String virtualhostNodeType = getTestProfileVirtualHostNodeType();
String nodeName = "virtualhostnode-" + getTestName();
File storePathAsFile = new File(getStoreLocation(nodeName));
- createAndDeleteVirtualHostNode(storeType, nodeName, storePathAsFile);
+ createAndDeleteVirtualHostNode(virtualhostNodeType, nodeName, storePathAsFile);
assertFalse("Store should not exist after deletion", storePathAsFile.exists());
}
+ public void testCreateVirtualHostNodeWithDefaultStorePath() throws Exception
+ {
+ String virtualhostNodeType = getTestProfileVirtualHostNodeType();
+ String nodeName = "virtualhostnode-" + getTestName();
+
+ createVirtualHostNode(nodeName, virtualhostNodeType);
+
+ String restUrl = "virtualhostnode/" + nodeName;
+ Map<String, Object> virtualhostNode = getRestTestHelper().getJsonAsSingletonList(restUrl);
+ Asserts.assertVirtualHostNode(nodeName, virtualhostNode);
+ assertNull("Virtualhostnode should not automatically get a virtualhost child",
+ virtualhostNode.get("virtualhosts"));
+
+ getRestTestHelper().submitRequest(restUrl, "DELETE", HttpServletResponse.SC_OK);
+
+ List<Map<String, Object>> virtualHostNodes = getRestTestHelper().getJsonAsList(restUrl);
+ assertEquals("Host should be deleted", 0, virtualHostNodes.size());
+ }
+
public void testRecoverVirtualHostNodeWithDesiredStateStopped() throws Exception
{
stopBroker();
@@ -149,7 +168,10 @@ public class VirtualHostNodeRestTest extends QpidRestTestCase
Map<String, Object> nodeData = new HashMap<String, Object>();
nodeData.put(VirtualHostNode.NAME, nodeName);
nodeData.put(VirtualHostNode.TYPE, storeType);
- nodeData.put(JsonVirtualHostNode.STORE_PATH, configStorePath);
+ if (configStorePath != null)
+ {
+ nodeData.put(JsonVirtualHostNode.STORE_PATH, configStorePath);
+ }
getRestTestHelper().submitRequest("virtualhostnode/" + nodeName,
"PUT",
@@ -157,6 +179,11 @@ public class VirtualHostNodeRestTest extends QpidRestTestCase
HttpServletResponse.SC_CREATED);
}
+ private void createVirtualHostNode(String nodeName, final String storeType) throws Exception
+ {
+ createVirtualHostNode(nodeName, null, storeType);
+ }
+
private String getStoreLocation(String hostName)
{
return new File(TMP_FOLDER, "store-" + hostName + "-" + System.currentTimeMillis()).getAbsolutePath();
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java
index 243b93e798..45cbee205d 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/VirtualHostRestTest.java
@@ -20,7 +20,6 @@
*/
package org.apache.qpid.systest.rest;
-import java.io.File;
import java.io.IOException;
import java.util.Collections;
import java.util.HashMap;
@@ -33,18 +32,18 @@ import javax.jms.Session;
import javax.servlet.http.HttpServletResponse;
import org.apache.qpid.server.virtualhost.ProvidedStoreVirtualHostImpl;
-import org.apache.qpid.server.virtualhostnode.JsonVirtualHostNode;
import org.apache.qpid.client.AMQConnection;
import org.apache.qpid.server.model.Exchange;
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.queue.LastValueQueue;
import org.apache.qpid.server.queue.PriorityQueue;
import org.apache.qpid.server.queue.SortedQueue;
import org.apache.qpid.server.virtualhost.AbstractVirtualHost;
-import org.apache.qpid.util.FileUtils;
+import org.apache.qpid.server.virtualhost.derby.DerbyVirtualHostImpl;
+import org.apache.qpid.server.virtualhostnode.JsonVirtualHostNodeImpl;
+import org.apache.qpid.test.utils.TestBrokerConfiguration;
public class VirtualHostRestTest extends QpidRestTestCase
{
@@ -52,8 +51,19 @@ public class VirtualHostRestTest extends QpidRestTestCase
public static final String VIRTUALHOST_QUEUES_ATTRIBUTE = "queues";
public static final String VIRTUALHOST_CONNECTIONS_ATTRIBUTE = "connections";
+ public static final String EMPTY_VIRTUALHOSTNODE_NAME = "emptyVHN";
+
private AMQConnection _connection;
+ @Override
+ protected void customizeConfiguration() throws IOException
+ {
+ super.customizeConfiguration();
+
+ TestBrokerConfiguration config = getBrokerConfiguration();
+ createTestVirtualHostNode(0, EMPTY_VIRTUALHOSTNODE_NAME, false);
+ }
+
public void testGet() throws Exception
{
List<Map<String, Object>> hosts = getRestTestHelper().getJsonAsList("virtualhost");
@@ -106,27 +116,30 @@ public class VirtualHostRestTest extends QpidRestTestCase
Asserts.assertConnection(connections.get(0), _connection);
}
- public void testPutCreateVirtualHostUsingProfileNodeType() throws Exception
+ public void testPutCreateProvidedVirtualHost() throws Exception
{
String hostName = getTestName();
- String virtualhostNodeType = getTestProfileVirtualHostNodeType();
- String storeLocation = createVirtualHostNodeAndVirtualHost(hostName, virtualhostNodeType);
- try
- {
- // make sure that the host is saved in the broker store
- restartBroker();
- Map<String, Object> hostDetails = getRestTestHelper().getJsonAsSingletonList("virtualhost/" + hostName);
- Asserts.assertVirtualHost(hostName, hostDetails);
+ createVirtualHost(hostName, ProvidedStoreVirtualHostImpl.VIRTUAL_HOST_TYPE);
- assertNewVirtualHost(hostDetails);
- }
- finally
+ Map<String, Object> hostDetails = getRestTestHelper().getJsonAsSingletonList("virtualhost/" + EMPTY_VIRTUALHOSTNODE_NAME + "/" + hostName);
+ Asserts.assertVirtualHost(hostName, hostDetails);
+
+ assertNewVirtualHost(hostDetails);
+ }
+
+ public void testPutCreateVirtualHost() throws Exception
+ {
+ String hostName = getTestName();
+ String vhnType = getTestProfileVirtualHostNodeType();
+ if (JsonVirtualHostNodeImpl.VIRTUAL_HOST_NODE_TYPE.equals(vhnType))
{
- if (storeLocation != null)
- {
- FileUtils.delete(new File(storeLocation), true);
- }
+ vhnType = DerbyVirtualHostImpl.VIRTUAL_HOST_TYPE;
}
+ createVirtualHost(hostName, vhnType);
+ Map<String, Object> hostDetails = getRestTestHelper().getJsonAsSingletonList("virtualhost/" + EMPTY_VIRTUALHOSTNODE_NAME + "/" + hostName);
+ Asserts.assertVirtualHost(hostName, hostDetails);
+
+ assertNewVirtualHost(hostDetails);
}
public void testDeleteHost() throws Exception
@@ -562,34 +575,17 @@ public class VirtualHostRestTest extends QpidRestTestCase
return getRestTestHelper().submitRequest("queue/test/test/" + queueName, "PUT", queueData);
}
- private String createVirtualHostNodeAndVirtualHost(String virtualHostName,
- String virtualHostNodeType) throws Exception
+ private void createVirtualHost(final String virtualHostName,
+ final String virtualHostType) throws IOException
{
- String storePath = getStoreLocation(virtualHostName);
-
- Map<String, Object> nodeData = new HashMap<>();
- nodeData.put(VirtualHostNode.NAME, virtualHostName);
- nodeData.put(VirtualHostNode.TYPE, virtualHostNodeType);
- nodeData.put(JsonVirtualHostNode.STORE_PATH, storePath);
-
- getRestTestHelper().submitRequest("virtualhostnode/" + virtualHostName, "PUT", nodeData, HttpServletResponse.SC_CREATED);
-
Map<String, Object> virtualhostData = new HashMap<>();
virtualhostData.put(VirtualHost.NAME, virtualHostName);
- virtualhostData.put(VirtualHost.TYPE, ProvidedStoreVirtualHostImpl.VIRTUAL_HOST_TYPE);
+ virtualhostData.put(VirtualHost.TYPE, virtualHostType);
- getRestTestHelper().submitRequest("virtualhost/" + virtualHostName + "/" + virtualHostName,
+ getRestTestHelper().submitRequest("virtualhost/" + EMPTY_VIRTUALHOSTNODE_NAME + "/" + virtualHostName,
"PUT",
virtualhostData,
HttpServletResponse.SC_CREATED);
-
-
- return storePath;
- }
-
- private String getStoreLocation(String hostName)
- {
- return new File(TMP_FOLDER, "store-" + hostName + "-" + System.currentTimeMillis()).getAbsolutePath();
}
private void assertNewVirtualHost(Map<String, Object> hostDetails)
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
index 82fcadfcf9..0f558f3abe 100755
--- a/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
@@ -848,7 +848,7 @@ public class QpidBrokerTestCase extends QpidTestCase
* @param brokerPort broker port
* @param virtualHostNodeName virtual host node name
*/
- protected void createTestVirtualHostNode(int brokerPort, String virtualHostNodeName)
+ protected void createTestVirtualHostNode(int brokerPort, String virtualHostNodeName, boolean withBlueprint)
{
String storeType = getTestProfileVirtualHostNodeType();
String storeDir = null;
@@ -871,15 +871,24 @@ public class QpidBrokerTestCase extends QpidTestCase
attributes.put(JsonVirtualHostNode.STORE_PATH, storeDir);
}
- final String blueprint = getTestProfileVirtualHostNodeBlueprint();
+ if (withBlueprint)
+ {
+ final String blueprint = getTestProfileVirtualHostNodeBlueprint();
- attributes.put(ConfiguredObject.CONTEXT, Collections.singletonMap(AbstractVirtualHostNode.VIRTUALHOST_BLUEPRINT_CONTEXT_VAR,
- blueprint));
+ attributes.put(ConfiguredObject.CONTEXT,
+ Collections.singletonMap(AbstractVirtualHostNode.VIRTUALHOST_BLUEPRINT_CONTEXT_VAR,
+ blueprint));
+ }
int port = getPort(brokerPort);
getBrokerConfiguration(port).addObjectConfiguration(VirtualHostNode.class, attributes);
}
+ protected void createTestVirtualHostNode(int brokerPort, String virtualHostNodeName)
+ {
+ createTestVirtualHostNode(brokerPort, virtualHostNodeName, true);
+ }
+
/**
* Set a System property that is to be applied only to the external test
* broker.
diff --git a/qpid/java/test-profiles/JavaJsonExcludes b/qpid/java/test-profiles/JavaJsonExcludes
index 1c4524987b..77b4e3d704 100644
--- a/qpid/java/test-profiles/JavaJsonExcludes
+++ b/qpid/java/test-profiles/JavaJsonExcludes
@@ -22,5 +22,5 @@ org.apache.qpid.server.store.berkeleydb.replication.*
org.apache.qpid.server.store.SplitStoreTest#*
org.apache.qpid.systest.rest.acl.VirtualHostACLTest#*
org.apache.qpid.systest.rest.VirtualHostNodeRestTest#testCreateAndDeleteVirtualHostNode
-org.apache.qpid.systest.rest.VirtualHostRestTest#testPutCreateVirtualHostUsingProfileNodeType
+org.apache.qpid.systest.rest.VirtualHostRestTest#testPutCreateProvidedVirtualHost
org.apache.qpid.server.BrokerStartupTest#testStartupWithNoConfig
diff --git a/qpid/java/test-profiles/JavaTransientExcludes b/qpid/java/test-profiles/JavaTransientExcludes
index 3bfeba92b3..70056d6968 100644
--- a/qpid/java/test-profiles/JavaTransientExcludes
+++ b/qpid/java/test-profiles/JavaTransientExcludes
@@ -55,7 +55,6 @@ org.apache.qpid.systest.management.jmx.QueueManagementTest#testCopyMessageBetwee
org.apache.qpid.test.unit.client.MaxDeliveryCountTest#testWhenBrokerIsRestartedAfterEnqeuingMessages
-org.apache.qpid.systest.rest.VirtualHostRestTest#testPutCreateVirtualHostUsingProfileNodeType
org.apache.qpid.systest.rest.VirtualHostRestTest#testRecoverVirtualHostInDesiredStateStoppedWithDescription
org.apache.qpid.systest.rest.VirtualHostRestTest#testMutateStateOfVirtualHostWithQueuesAndMessages