diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/model/step/DataDescribe.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/model/step/DataDescribe.java index 0055177c97..0b05e13cd1 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/model/step/DataDescribe.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/model/step/DataDescribe.java @@ -13,10 +13,13 @@ import java.util.Map; import org.dspace.app.rest.model.MetadataValueRest; +import com.fasterxml.jackson.annotation.JsonAnyGetter; + public class DataDescribe implements SectionData { private Map> metadata = new HashMap<>(); - + + @JsonAnyGetter public Map> getMetadata() { return metadata; } diff --git a/dspace-spring-rest/src/main/java/org/dspace/app/rest/submit/step/DescribeStep.java b/dspace-spring-rest/src/main/java/org/dspace/app/rest/submit/step/DescribeStep.java index 90e0446e0a..db72ed65ca 100644 --- a/dspace-spring-rest/src/main/java/org/dspace/app/rest/submit/step/DescribeStep.java +++ b/dspace-spring-rest/src/main/java/org/dspace/app/rest/submit/step/DescribeStep.java @@ -24,6 +24,7 @@ import org.dspace.app.util.SubmissionStepConfig; import org.dspace.content.MetadataValue; import org.dspace.content.WorkspaceItem; import org.dspace.content.service.ItemService; +import org.dspace.core.Utils; import org.springframework.beans.factory.annotation.Autowired; public class DescribeStep extends org.dspace.submit.step.DescribeStep implements AbstractRestProcessingStep { @@ -52,12 +53,12 @@ public class DescribeStep extends org.dspace.submit.step.DescribeStep implements dto.setValue(md.getValue()); if(data.getMetadata().containsKey(md.getMetadataField().toString())) { - data.getMetadata().get(md.getMetadataField().toString()).add(dto); + data.getMetadata().get(Utils.standardize(md.getMetadataField().getMetadataSchema().getName(), md.getMetadataField().getElement(), md.getMetadataField().getQualifier(), ".")).add(dto); } else { List listDto = new ArrayList<>(); listDto.add(dto); - data.getMetadata().put(md.getMetadataField().toString(), listDto); + data.getMetadata().put(Utils.standardize(md.getMetadataField().getMetadataSchema().getName(), md.getMetadataField().getElement(), md.getMetadataField().getQualifier(), "."), listDto); } } }