/**
* Get a backward-compatible cluster user config
* @return UserConfig
*/
public UserConfig getUserConfig() {
UserConfig userConfig = UserConfig.from(this);
try {
for (String simpleField : _record.getSimpleFields().keySet()) {
Optional<HelixPropertyAttribute> superEnumField =
Enums.getIfPresent(HelixPropertyAttribute.class, simpleField);
if (!simpleField.contains(NamespacedConfig.PREFIX_CHAR + "")
&& !simpleField.equals(ZKHelixManager.ALLOW_PARTICIPANT_AUTO_JOIN)
&& !superEnumField.isPresent()) {
userConfig.setSimpleField(simpleField, _record.getSimpleField(simpleField));
}
}
for (String listField : _record.getListFields().keySet()) {
if (!listField.contains(NamespacedConfig.PREFIX_CHAR + "")) {
userConfig.setListField(listField, _record.getListField(listField));
}
}
for (String mapField : _record.getMapFields().keySet()) {
if (!mapField.contains(NamespacedConfig.PREFIX_CHAR + "")) {
userConfig.setMapField(mapField, _record.getMapField(mapField));
}
}
} catch (NoSuchMethodError e) {
LOG.error("Could not parse ClusterConfiguration", e);
}