mirror of
https://github.com/DSpace/DSpace.git
synced 2025-10-10 11:33:11 +00:00
66075: Improvements from feedback:
- DspaceObjectMetadataOperation.performPatchOperation() > Logic split into seperate methods - DspaceObjectMetadataOperation.replace() > Split into method per case
This commit is contained in:
@@ -12,11 +12,13 @@ import java.sql.SQLException;
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.dspace.authorize.AuthorizeException;
|
||||
import org.dspace.authorize.service.AuthorizeService;
|
||||
import org.dspace.content.dao.MetadataFieldDAO;
|
||||
import org.dspace.content.service.MetadataFieldService;
|
||||
import org.dspace.content.service.MetadataSchemaService;
|
||||
import org.dspace.content.service.MetadataValueService;
|
||||
import org.dspace.core.Context;
|
||||
import org.dspace.core.LogManager;
|
||||
@@ -42,6 +44,8 @@ public class MetadataFieldServiceImpl implements MetadataFieldService {
|
||||
protected AuthorizeService authorizeService;
|
||||
@Autowired(required = true)
|
||||
protected MetadataValueService metadataValueService;
|
||||
@Autowired(required = true)
|
||||
protected MetadataSchemaService metadataSchemaService;
|
||||
|
||||
protected MetadataFieldServiceImpl() {
|
||||
|
||||
@@ -94,6 +98,20 @@ public class MetadataFieldServiceImpl implements MetadataFieldService {
|
||||
return metadataFieldDAO.findByElement(context, metadataSchemaName, element, qualifier);
|
||||
}
|
||||
|
||||
@Override
|
||||
public MetadataField findByString(Context context, String mdString, char separator) throws SQLException {
|
||||
String[] seq = StringUtils.split(mdString, separator);
|
||||
String schema = seq.length > 1 ? seq[0] : null;
|
||||
String element = seq.length > 1 ? seq[1] : null;
|
||||
String qualifier = seq.length == 3 ? seq[2] : null;
|
||||
if (schema == null || element == null) {
|
||||
return null;
|
||||
} else {
|
||||
MetadataSchema metadataSchema = metadataSchemaService.find(context, schema);
|
||||
return this.findByElement(context, metadataSchema, element, qualifier);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<MetadataField> findFieldsByElementNameUnqualified(Context context, String metadataSchemaName,
|
||||
String element) throws SQLException {
|
||||
|
Reference in New Issue
Block a user