- private static Map<String, ModuleConfig.Builder> readModuleShardsConfig(final Config moduleShardsConfig) {
- final List<? extends ConfigObject> moduleShardsConfigObjectList =
- moduleShardsConfig.getObjectList("module-shards");
-
- final Map<String, ModuleConfig.Builder> moduleConfigMap = new HashMap<>();
- for (final ConfigObject moduleShardConfigObject : moduleShardsConfigObjectList) {
- final String moduleName = moduleShardConfigObject.get("name").unwrapped().toString();
- final ModuleConfig.Builder builder = ModuleConfig.builder(moduleName);
-
- final List<? extends ConfigObject> shardsConfigObjectList =
- moduleShardConfigObject.toConfig().getObjectList("shards");
-
- for (final ConfigObject shard : shardsConfigObjectList) {
- final String shardName = shard.get("name").unwrapped().toString();
- final List<MemberName> replicas = shard.toConfig().getStringList("replicas").stream()
- .map(MemberName::forName).collect(Collectors.toList());
- builder.shardConfig(shardName, replicas);
- }
-
- moduleConfigMap.put(moduleName, builder);
- }
-
- return moduleConfigMap;
- }
-
- private static class ConfigObjectWrapper {
-
- private final ConfigObject configObject;
-
- ConfigObjectWrapper(final ConfigObject configObject) {
- this.configObject = configObject;
- }
-
- public String stringValue(final String name) {
- return configObject.get(name).unwrapped().toString();
- }