- @Override
- public void addPrefixShardConfiguration(final PrefixShardConfiguration config) {
- addPrefixConfig(requireNonNull(config, "PrefixShardConfiguration cannot be null"));
- allShardNames = ImmutableSet.<String>builder().addAll(allShardNames)
- .add(ClusterUtils.getCleanShardName(config.getPrefix().getRootIdentifier())).build();
- }
-
- @Override
- public void removePrefixShardConfiguration(final DOMDataTreeIdentifier prefix) {
- removePrefixConfig(requireNonNull(prefix, "Prefix cannot be null"));
-
- final HashSet<String> temp = new HashSet<>(allShardNames);
- temp.remove(ClusterUtils.getCleanShardName(prefix.getRootIdentifier()));
-
- allShardNames = ImmutableSet.copyOf(temp);
- }
-
- @Override
- public Map<DOMDataTreeIdentifier, PrefixShardConfiguration> getAllPrefixShardConfigurations() {
- return ImmutableMap.copyOf(prefixConfigMap);
- }
-
- private void addPrefixConfig(final PrefixShardConfiguration config) {
- final Map<DOMDataTreeIdentifier, PrefixShardConfiguration> newPrefixConfigMap = new HashMap<>(prefixConfigMap);
- newPrefixConfigMap.put(config.getPrefix(), config);
- prefixConfigMap = ImmutableMap.copyOf(newPrefixConfigMap);
- }
-
- private void removePrefixConfig(final DOMDataTreeIdentifier prefix) {
- final Map<DOMDataTreeIdentifier, PrefixShardConfiguration> newPrefixConfigMap = new HashMap<>(prefixConfigMap);
- newPrefixConfigMap.remove(prefix);
- prefixConfigMap = ImmutableMap.copyOf(newPrefixConfigMap);
- }
-