@Override public Map<String, ?> unapply(Map<String, ?> childKeys, String pathPrefix) { String tableNameWithSuffix = childKeys.filterKeys(key -> key.startsWith("table.name")).head()._2.toString(); return ((Map<String, Object>) childKeys).filterKeys(key -> !key.startsWith("table.name")) .put("table.name", TableNameBuilder.extractRawTableName(tableNameWithSuffix)); } }
@Override public Map<String, ?> unapply(Map<String, ?> config, String keyPrefix) { Map<String, ?> tableTypeMap = config.filterKeys(key -> key.startsWith("table.type.")); java.util.List<String> tableTypes = tableTypeMap.values().map(Object::toString).toSet().toJavaList(); Map<String, Object> remappedConfig = ((Map<String, Object>) config).removeAll(tableTypeMap.keySet()).put("table.types", tableTypes); return remappedConfig; } }