private int getMetadataSchemaID(DCValue dcv) throws SQLException { int schemaID; MetadataSchema schema = MetadataSchema.find(ourContext, dcv.schema); if (schema == null) { schemaID = MetadataSchema.DC_SCHEMA_ID; } else { schemaID = schema.getSchemaID(); } return schemaID; }
@Override public MetadataField create( Context context, MetadataSchema metadataSchema, String element, String qualifier, String scopeNote) throws AuthorizeException, SQLException, NonUniqueMetadataException { // Check authorisation: Only admins may create DC types if (!authorizeService.isAdmin(context)) { throw new AuthorizeException("Only administrators may modify the metadata registry"); } // Ensure the element and qualifier are unique within a given schema. if (hasElement(context, -1, metadataSchema, element, qualifier)) { throw new NonUniqueMetadataException( "Please make " + element + "." + qualifier + " unique within schema #" + metadataSchema.getSchemaID()); } // Create a table row and update it with the values 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.getFieldID())); return metadataField; }
/** * Full constructor for new metadata field elements. * * @param schema schema to which the field belongs * @param element element of the field * @param qualifier qualifier of the field * @param scopeNote scope note of the field */ public MetadataField(MetadataSchema schema, String element, String qualifier, String scopeNote) { this.schemaID = schema.getSchemaID(); this.element = element; this.qualifier = qualifier; this.scopeNote = scopeNote; }
/** * Constructor creating a field within a schema. * * @param schema schema to which the field belongs */ public MetadataField(MetadataSchema schema) { this.schemaID = schema.getSchemaID(); }