summaryrefslogtreecommitdiff
path: root/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreFactory.java
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreFactory.java')
-rw-r--r--qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreFactory.java34
1 files changed, 34 insertions, 0 deletions
diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreFactory.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreFactory.java
index ef886d3d6d..4d224ab86e 100644
--- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreFactory.java
+++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/BDBMessageStoreFactory.java
@@ -20,6 +20,11 @@
*/
package org.apache.qpid.server.store.berkeleydb;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import org.apache.commons.configuration.Configuration;
import org.apache.qpid.server.plugin.MessageStoreFactory;
import org.apache.qpid.server.store.MessageStore;
@@ -38,4 +43,33 @@ public class BDBMessageStoreFactory implements MessageStoreFactory
return new BDBMessageStore();
}
+ @Override
+ public Map<String, Object> convertStoreConfiguration(Configuration storeConfiguration)
+ {
+ final List<Object> argumentNames = storeConfiguration.getList("envConfig.name");
+ final List<Object> argumentValues = storeConfiguration.getList("envConfig.value");
+ final int initialSize = argumentNames.size();
+
+ final Map<String,String> attributes = new HashMap<String,String>(initialSize);
+
+ for (int i = 0; i < argumentNames.size(); i++)
+ {
+ final String argName = argumentNames.get(i).toString();
+ final String argValue = argumentValues.get(i).toString();
+
+ attributes.put(argName, argValue);
+ }
+
+ if(initialSize != 0)
+ {
+ return Collections.singletonMap("bdbEnvironmentConfig", (Object)attributes);
+ }
+ else
+ {
+ return Collections.emptyMap();
+ }
+
+
+ }
+
}