return createResourceWithId(entity.getType() + "/" + entity.getName(), entity);
}
@Override
protected DetailedModuleDefinitionResource instantiateResource(ModuleDefinition entity) {
DetailedModuleDefinitionResource result = new DetailedModuleDefinitionResource(entity.getName(),
entity.getType().name(), entity.isComposed());
ModuleOptionsMetadata moduleOptionsMetadata = moduleOptionsMetadataResolver.resolve(entity);
if (!(moduleOptionsMetadata instanceof PassthruModuleOptionsMetadata)) {
for (ModuleOption option : moduleOptionsMetadata) {
Object defaultValue = option.getDefaultValue();
Class<?> type = option.getType();
final String defaultValueAsString;
if (Password.class.equals(type) && defaultValue != null) {
defaultValueAsString = "******";
}
else if (defaultValue == null) {
defaultValueAsString = null;
}
else {
defaultValueAsString = defaultValue.toString();
}
result.addOption(new DetailedModuleDefinitionResource.Option(option.getName(),
type == null ? null : type.getSimpleName(), option.getDescription(),
defaultValueAsString, option.isHidden()));
}
}
return result;