Added support for the CRUD operations on the MetadataField and MetadataSchema REST endpoints

This commit is contained in:
Samuel
2018-12-12 14:31:54 +01:00
committed by Raf Ponsaerts
parent 211545a9d0
commit 42942978a8
9 changed files with 724 additions and 31 deletions

View File

@@ -14,6 +14,7 @@ import org.apache.logging.log4j.Logger;
import org.dspace.authorize.AuthorizeException;
import org.dspace.authorize.service.AuthorizeService;
import org.dspace.content.dao.MetadataSchemaDAO;
import org.dspace.content.service.MetadataFieldService;
import org.dspace.content.service.MetadataSchemaService;
import org.dspace.core.Context;
import org.dspace.core.LogManager;
@@ -33,6 +34,9 @@ public class MetadataSchemaServiceImpl implements MetadataSchemaService {
*/
private static Logger log = org.apache.logging.log4j.LogManager.getLogger(MetadataSchemaServiceImpl.class);
@Autowired
protected MetadataFieldService metadataFieldService;
@Autowired(required = true)
protected AuthorizeService authorizeService;
@@ -115,10 +119,14 @@ public class MetadataSchemaServiceImpl implements MetadataSchemaService {
"Only administrators may modify the metadata registry");
}
log.info(LogManager.getHeader(context, "delete_metadata_schema",
"metadata_schema_id=" + metadataSchema.getID()));
for (MetadataField metadataField : metadataFieldService.findAllInSchema(context, metadataSchema)) {
metadataFieldService.delete(context, metadataField);
}
metadataSchemaDAO.delete(context, metadataSchema);
log.info(LogManager.getHeader(context, "delete_metadata_schema",
"metadata_schema_id=" + metadataSchema.getID()));
}
@Override