@Override
public MetadataField create(Context context, MetadataSchema metadataSchema, String element, String qualifier,
String scopeNote) throws AuthorizeException, SQLException, NonUniqueMetadataException {
if (!authorizeService.isAdmin(context)) {
throw new AuthorizeException(
"Only administrators may modify the metadata registry");
}
if (hasElement(context, -1, metadataSchema, element, qualifier)) {
throw new NonUniqueMetadataException("Please make " + element + "."
+ qualifier + " unique within schema #" + metadataSchema.getID());
}
MetadataField metadataField = new MetadataField();
metadataField.setElement(element);
metadataField.setQualifier(qualifier);
metadataField.setScopeNote(scopeNote);
metadataField.setMetadataSchema(metadataSchema);
metadataField = metadataFieldDAO.create(context, metadataField);
metadataFieldDAO.save(context, metadataField);
log.info(LogManager.getHeader(context, "create_metadata_field",
"metadata_field_id=" + metadataField.getID()));
return metadataField;
}