@Override
public MetadataSchema create(Context context, String name, String namespace)
throws SQLException, AuthorizeException, NonUniqueMetadataException {
if (!authorizeService.isAdmin(context)) {
throw new AuthorizeException(
"Only administrators may modify the metadata registry");
}
if (!uniqueShortName(context, -1, name)) {
throw new NonUniqueMetadataException("Please make the name " + name
+ " unique");
}
if (!uniqueNamespace(context, -1, namespace)) {
throw new NonUniqueMetadataException("Please make the namespace " + namespace
+ " unique");
}
MetadataSchema metadataSchema = metadataSchemaDAO.create(context, new MetadataSchema());
metadataSchema.setNamespace(namespace);
metadataSchema.setName(name);
metadataSchemaDAO.save(context, metadataSchema);
log.info(LogManager.getHeader(context, "create_metadata_schema",
"metadata_schema_id="
+ metadataSchema.getID()));
return metadataSchema;
}