summaryrefslogtreecommitdiff
path: root/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
commit99a278e86a349fcdb78d0f2c55937faeec392ebe (patch)
tree24af6de96c44d893fe471bad4ad919a0464b0145 /java
parent40b40e5d7cdb27c8f46fc8fc957f290883bd1207 (diff)
downloadqpid-python-99a278e86a349fcdb78d0f2c55937faeec392ebe.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/qpid@1463917 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java')
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/configuration/store/JsonConfigurationEntryStore.java4
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStore.java8
2 files changed, 12 insertions, 0 deletions
diff --git a/java/broker/src/main/java/org/apache/qpid/server/configuration/store/JsonConfigurationEntryStore.java b/java/broker/src/main/java/org/apache/qpid/server/configuration/store/JsonConfigurationEntryStore.java
index 413e9d2563..7a1db3d46d 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/configuration/store/JsonConfigurationEntryStore.java
+++ b/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/java/broker/src/main/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStore.java b/java/broker/src/main/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStore.java
index 5944adaa99..6931e22d63 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStore.java
+++ b/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;
+ }
}