diff options
Diffstat (limited to 'qpid/java')
| -rw-r--r-- | qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeFactory.java | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeFactory.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeFactory.java index f67d232b9f..4f21baf42f 100644 --- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeFactory.java +++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/replication/ReplicatedEnvironmentFacadeFactory.java @@ -23,9 +23,7 @@ package org.apache.qpid.server.store.berkeleydb.replication; import java.util.Collections; import java.util.HashMap; import java.util.Map; - -import com.sleepycat.je.config.ConfigParam; -import com.sleepycat.je.config.EnvironmentParams; +import java.util.regex.Pattern; import org.apache.qpid.server.model.ConfiguredObject; import org.apache.qpid.server.store.berkeleydb.EnvironmentFacade; @@ -34,6 +32,9 @@ import org.apache.qpid.server.store.berkeleydb.HASettings; public class ReplicatedEnvironmentFacadeFactory implements EnvironmentFacadeFactory { + public static final Pattern NON_REP_JE_PARAM_PATTERN = Pattern.compile("^je\\.(?!rep\\.).*"); + public static final Pattern REP_JE_PARAM_PATTERN = Pattern.compile("^je\\.rep\\..*"); + @Override public EnvironmentFacade createEnvironmentFacade(final ConfiguredObject<?> parent) { @@ -113,27 +114,27 @@ public class ReplicatedEnvironmentFacadeFactory implements EnvironmentFacadeFact private Map<String, String> buildEnvironmentConfigParameters(ConfiguredObject<?> parent) { - return buildConfig(parent, false); + return buildConfig(parent, NON_REP_JE_PARAM_PATTERN); } private Map<String, String> buildReplicationConfigParameters(ConfiguredObject<?> parent) { - return buildConfig(parent, true); + return buildConfig(parent, REP_JE_PARAM_PATTERN); } - private Map<String, String> buildConfig(ConfiguredObject<?> parent, boolean selectReplicationParaemeters) + private Map<String, String> buildConfig(ConfiguredObject<?> parent, Pattern paramName) { Map<String, String> targetMap = new HashMap<>(); - for (ConfigParam entry : EnvironmentParams.SUPPORTED_PARAMS.values()) + for (String name : parent.getContext().keySet()) { - final String name = entry.getName(); - if (entry.isForReplication() == selectReplicationParaemeters && parent.getContext().containsKey(name)) + if (paramName.matcher(name).matches()) { String contextValue = parent.getContext().get(name); targetMap.put(name, contextValue); } } + return Collections.unmodifiableMap(targetMap); } |
