From ecefb1a30222dbf664f5f3fe59245274111d9875 Mon Sep 17 00:00:00 2001 From: Pasquale Cavallo Date: Wed, 24 Jun 2020 14:52:33 +0200 Subject: [PATCH] Comment and minor improvements --- .../SimpleMetadataContributor.java | 27 +++++++++---------- .../AbstractImportMetadataSourceService.java | 3 ++- .../dto/PlainMetadataKeyValueItem.java | 15 ++++++++++- .../dto/PlainMetadataSourceDto.java | 6 +++++ .../spring-dspace-addon-import-services.xml | 7 ----- .../rest/WorkspaceItemRestRepositoryIT.java | 2 +- 6 files changed, 35 insertions(+), 25 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/importer/external/metadatamapping/contributor/SimpleMetadataContributor.java b/dspace-api/src/main/java/org/dspace/importer/external/metadatamapping/contributor/SimpleMetadataContributor.java index 8fcbfdb8b8..21dd1bfcee 100644 --- a/dspace-api/src/main/java/org/dspace/importer/external/metadatamapping/contributor/SimpleMetadataContributor.java +++ b/dspace-api/src/main/java/org/dspace/importer/external/metadatamapping/contributor/SimpleMetadataContributor.java @@ -19,9 +19,10 @@ import org.dspace.importer.external.service.components.dto.PlainMetadataKeyValue import org.dspace.importer.external.service.components.dto.PlainMetadataSourceDto; /** - * Metadata contributor that takes an PlainMetadataSourceDto instance and turns it into a metadatum + * Metadata contributor that takes an PlainMetadataSourceDto instance and turns it into a + * collection of metadatum * - * @author Roeland Dillen (roeland at atmire dot com) + * @author Pasquale Cavallo (pasquale.cavallo at 4science dot it) */ public class SimpleMetadataContributor implements MetadataContributor { @@ -57,25 +58,21 @@ public class SimpleMetadataContributor implements MetadataContributor contributeMetadata(PlainMetadataSourceDto t) { List values = new LinkedList<>(); - try { - for (PlainMetadataKeyValueItem metadatum : t.getMetadata()) { - if (metadatum.getKey().equals(key)) { - MetadatumDTO dcValue = new MetadatumDTO(); - dcValue.setValue(metadatum.getValue()); - dcValue.setElement(field.getElement()); - dcValue.setQualifier(field.getQualifier()); - dcValue.setSchema(field.getSchema()); - values.add(dcValue); - } + for (PlainMetadataKeyValueItem metadatum : t.getMetadata()) { + if (key.equals(metadatum.getKey())) { + MetadatumDTO dcValue = new MetadatumDTO(); + dcValue.setValue(metadatum.getValue()); + dcValue.setElement(field.getElement()); + dcValue.setQualifier(field.getQualifier()); + dcValue.setSchema(field.getSchema()); + values.add(dcValue); } - } catch (Exception e) { - throw new RuntimeException(e); } return values; } diff --git a/dspace-api/src/main/java/org/dspace/importer/external/service/AbstractImportMetadataSourceService.java b/dspace-api/src/main/java/org/dspace/importer/external/service/AbstractImportMetadataSourceService.java index f904ce613c..a803958a9d 100644 --- a/dspace-api/src/main/java/org/dspace/importer/external/service/AbstractImportMetadataSourceService.java +++ b/dspace-api/src/main/java/org/dspace/importer/external/service/AbstractImportMetadataSourceService.java @@ -28,7 +28,8 @@ import org.springframework.beans.factory.annotation.Required; * * @author Roeland Dillen (roeland at atmire dot com) */ -public abstract class AbstractImportMetadataSourceService extends AbstractRemoteMetadataSource { +public abstract class AbstractImportMetadataSourceService extends AbstractRemoteMetadataSource + implements MetadataSource { private GenerateQueryService generateQueryForItem = null; private MetadataFieldMapping> metadataFieldMapping; diff --git a/dspace-api/src/main/java/org/dspace/importer/external/service/components/dto/PlainMetadataKeyValueItem.java b/dspace-api/src/main/java/org/dspace/importer/external/service/components/dto/PlainMetadataKeyValueItem.java index c3134db3a5..fa362760b9 100644 --- a/dspace-api/src/main/java/org/dspace/importer/external/service/components/dto/PlainMetadataKeyValueItem.java +++ b/dspace-api/src/main/java/org/dspace/importer/external/service/components/dto/PlainMetadataKeyValueItem.java @@ -12,24 +12,37 @@ package org.dspace.importer.external.service.components.dto; * * @author Pasquale Cavallo (pasquale.cavallo at 4science dot it) */ - public class PlainMetadataKeyValueItem { private String key; private String value; + /* + * In a key-value items, like PlainMetadata, this method get the item's key + */ public String getKey() { return key; } + /* + * In a key-value items, like PlainMetadata, this method set the item's key. + * Never set or leave this field to null + * + */ public void setKey(String key) { this.key = key; } + /* + * In key-value items, like PlainMetadata, this method get the item's value + */ public String getValue() { return value; } + /* + * In key-value items, like PlainMetadata, this method set the item's value + */ public void setValue(String value) { this.value = value; } diff --git a/dspace-api/src/main/java/org/dspace/importer/external/service/components/dto/PlainMetadataSourceDto.java b/dspace-api/src/main/java/org/dspace/importer/external/service/components/dto/PlainMetadataSourceDto.java index bf800f1e49..041823b027 100644 --- a/dspace-api/src/main/java/org/dspace/importer/external/service/components/dto/PlainMetadataSourceDto.java +++ b/dspace-api/src/main/java/org/dspace/importer/external/service/components/dto/PlainMetadataSourceDto.java @@ -21,10 +21,16 @@ public class PlainMetadataSourceDto { private List metadata; + /* + * Method used to get the Metadata list + */ public List getMetadata() { return metadata; } + /* + * Method used to set the metadata list + */ public void setMetadata(List metadata) { this.metadata = metadata; } diff --git a/dspace-api/src/main/resources/spring/spring-dspace-addon-import-services.xml b/dspace-api/src/main/resources/spring/spring-dspace-addon-import-services.xml index b369b3295a..3b4f7bad31 100644 --- a/dspace-api/src/main/resources/spring/spring-dspace-addon-import-services.xml +++ b/dspace-api/src/main/resources/spring/spring-dspace-addon-import-services.xml @@ -53,13 +53,6 @@ - - - diff --git a/dspace-server-webapp/src/test/java/org/dspace/app/rest/WorkspaceItemRestRepositoryIT.java b/dspace-server-webapp/src/test/java/org/dspace/app/rest/WorkspaceItemRestRepositoryIT.java index 297282980c..ba5f3226d0 100644 --- a/dspace-server-webapp/src/test/java/org/dspace/app/rest/WorkspaceItemRestRepositoryIT.java +++ b/dspace-server-webapp/src/test/java/org/dspace/app/rest/WorkspaceItemRestRepositoryIT.java @@ -900,7 +900,7 @@ public class WorkspaceItemRestRepositoryIT extends AbstractControllerIntegration String authToken = getAuthToken(eperson.getEmail(), password); // bulk create workspaceitems in the default collection (col1) getClient(authToken).perform(fileUpload("/api/submission/workspaceitems") - .file(bibtexFile).param("owningCollection", col1.getID().toString())) + .file(bibtexFile).param("projection", "full")) // bulk create should return 200, 201 (created) is better for single resource .andExpect(status().isOk()) .andExpect(jsonPath("$._embedded.workspaceitems[0].sections.traditionalpageone['dc.title'][0].value",