CSV Import fixes

This commit is contained in:
Raf Ponsaerts
2018-10-31 13:41:36 +01:00
parent eb0ea9a6bf
commit b5c3af6aa5
2 changed files with 17 additions and 15 deletions

View File

@@ -199,20 +199,22 @@ public class DSpaceCSV implements Serializable {
}
// Check that the scheme exists
MetadataSchema foundSchema = metadataSchemaService.find(c, metadataSchema);
if (foundSchema == null) {
throw new MetadataImportInvalidHeadingException(clean[0],
MetadataImportInvalidHeadingException.SCHEMA,
columnCounter);
}
if (!StringUtils.equals(metadataSchema, "relation")) {
MetadataSchema foundSchema = metadataSchemaService.find(c, metadataSchema);
if (foundSchema == null) {
throw new MetadataImportInvalidHeadingException(clean[0],
MetadataImportInvalidHeadingException.SCHEMA,
columnCounter);
}
// Check that the metadata element exists in the schema
MetadataField foundField = metadataFieldService
.findByElement(c, foundSchema, metadataElement, metadataQualifier);
if (foundField == null && !StringUtils.equals(metadataSchema, "relationship")) {
throw new MetadataImportInvalidHeadingException(clean[0],
MetadataImportInvalidHeadingException.ELEMENT,
columnCounter);
// Check that the metadata element exists in the schema
MetadataField foundField = metadataFieldService
.findByElement(c, foundSchema, metadataElement, metadataQualifier);
if (foundField == null) {
throw new MetadataImportInvalidHeadingException(clean[0],
MetadataImportInvalidHeadingException.ELEMENT,
columnCounter);
}
}
// Store the heading

View File

@@ -355,7 +355,7 @@ public class MetadataImport {
// Add the metadata to the item
List<BulkEditMetadataValue> relationships = new LinkedList<>();
for (BulkEditMetadataValue dcv : whatHasChanged.getAdds()) {
if (StringUtils.equals(dcv.getSchema(), "relationship")) {
if (StringUtils.equals(dcv.getSchema(), "relation")) {
if (!StringUtils.equals(dcv.getElement(), "type")) {
relationships.add(dcv);
@@ -628,7 +628,7 @@ public class MetadataImport {
}
if (StringUtils.equals(schema, "relationship")) {
if (StringUtils.equals(schema, "relation")) {
handleRelationMetadata(c, item, schema, element, qualifier, language, values, authorities, confidences);
} else {
itemService.clearMetadata(c, item, schema, element, qualifier, language);