summaryrefslogtreecommitdiff
path: root/qpid/java
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2013-04-03 11:12:41 +0000
committerRobert Gemmell <robbie@apache.org>2013-04-03 11:12:41 +0000
commit24b2431ab0f4cdb639122a3f1d54d66a657ecbc7 (patch)
tree03c8be141f5d0d359557957d90d0fafc1afad091 /qpid/java
parent8661cf5bfb4006a023d66dc4baa62670c00ec62a (diff)
downloadqpid-python-24b2431ab0f4cdb639122a3f1d54d66a657ecbc7.tar.gz
QPID-4694: ensure that any IDs generated at startup are saved immediately, rather than waiting for the user to edit something that prompts the save to occur
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1463917 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java')
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/JsonConfigurationEntryStore.java4
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStore.java8
2 files changed, 12 insertions, 0 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/JsonConfigurationEntryStore.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/JsonConfigurationEntryStore.java
index 413e9d2563..7a1db3d46d 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/JsonConfigurationEntryStore.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/JsonConfigurationEntryStore.java
@@ -28,6 +28,10 @@ public class JsonConfigurationEntryStore extends MemoryConfigurationEntryStore
initialiseStore(_storeFile, initialStore);
}
load(fileToURL(_storeFile));
+ if(isGeneratedObjectIdDuringLoad())
+ {
+ saveAsTree(_storeFile);
+ }
}
@Override
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStore.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStore.java
index 5944adaa99..6931e22d63 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStore.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStore.java
@@ -75,6 +75,8 @@ public class MemoryConfigurationEntryStore implements ConfigurationEntryStore
private String _storeLocation;
private UUID _rootId;
+ private boolean _generatedObjectIdDuringLoad;
+
protected MemoryConfigurationEntryStore()
{
_objectMapper = new ObjectMapper();
@@ -592,6 +594,8 @@ public class MemoryConfigurationEntryStore implements ConfigurationEntryStore
{
id = UUIDGenerator.generateBrokerChildUUID(type, name);
}
+
+ _generatedObjectIdDuringLoad = true;
}
else
{
@@ -683,4 +687,8 @@ public class MemoryConfigurationEntryStore implements ConfigurationEntryStore
return array;
}
+ protected boolean isGeneratedObjectIdDuringLoad()
+ {
+ return _generatedObjectIdDuringLoad;
+ }
}