/** * Serialize the schema registry. If the parameter 'schema' is null or empty, save all schemas * * @param context DSpace Context * @param xmlSerializer XML serializer * @param schema schema (may be null to save all) * @throws SQLException if database error * @throws SAXException if XML error * @throws RegistryExportException if export error */ public static void saveSchema(Context context, XMLSerializer xmlSerializer, String schema) throws SQLException, SAXException, RegistryExportException { if (schema != null && !"".equals(schema)) { // Find a single named schema MetadataSchema mdSchema = metadataSchemaService.find(context, schema); saveSchema(xmlSerializer, mdSchema); } else { // Find all schemas List<MetadataSchema> mdSchemas = metadataSchemaService.findAll(context); for (MetadataSchema mdSchema : mdSchemas) { saveSchema(xmlSerializer, mdSchema); } } }
context = createContext(); org.dspace.content.MetadataSchema dspaceSchema = metadataSchemaService.find(context, schemaId); if (dspaceSchema == null) { log.error(String.format("Metadata Schema %d not found", schemaId)); request, context); metadataSchemaService.delete(context, dspaceSchema); context.complete();
@Override public Iterator<Item> findByAuthorityValue(Context context, String schema, String element, String qualifier, String value) throws SQLException, AuthorizeException { MetadataSchema mds = metadataSchemaService.find(context, schema); if (mds == null) { throw new IllegalArgumentException("No such metadata schema: " + schema); } MetadataField mdf = metadataFieldService.findByElement(context, mds, element, qualifier); if (mdf == null) { throw new IllegalArgumentException( "No such metadata field: schema=" + schema + ", element=" + element + ", qualifier=" + qualifier); } return itemDAO.findByAuthorityValue(context, mdf, value, true); }
context = createContext(); List<org.dspace.content.MetadataSchema> schemas = metadataSchemaService.findAll(context); metadataSchemas = new ArrayList<MetadataSchema>(); for (org.dspace.content.MetadataSchema schema : schemas) {
.create(context, schema.getPrefix(), schema.getNamespace()); log.debug("Creating return object."); retSchema = new MetadataSchema(dspaceSchema, "", context);
String schema, String element, String qualifier, String value) throws SQLException, AuthorizeException, IOException { MetadataSchema mds = metadataSchemaService.find(context, schema); if (mds == null) { throw new IllegalArgumentException("No such metadata schema: " + schema);
try { LookupProvidersCheck check = new LookupProvidersCheck(); List<MetadataSchema> schemas = metadataSchemaService.findAll(context); List<MetadataValue> values = itemService.getMetadata(item, dcSchema, dcElement, dcQualifier, Item.ANY);
context = createContext(); org.dspace.content.MetadataSchema schema = metadataSchemaService.find(context, schemaPrefix); metadataSchema = new MetadataSchema(schema, expand, context); if (schema == null) {
if (!validatedBefore(schema, element, qualifier)) { MetadataSchema mdSchema = metadataSchemaService.find(context, schema); MetadataField mdField = null; mdSchema = metadataSchemaService.create(context, schema, String.valueOf(new Date().getTime())); mdSchema.setNamespace("unknown" + mdSchema.getID()); metadataSchemaService.update(context, mdSchema); } catch (NonUniqueMetadataException e) {
} else { MetadataSchema foundSchema = metadataSchemaService.find(c, schema);
context = createContext(); org.dspace.content.MetadataSchema schema = metadataSchemaService.find(context, schemaPrefix);
MetadataSchema foundSchema = metadataSchemaService.find(c, metadataSchema); if (foundSchema == null) { throw new MetadataImportInvalidHeadingException(clean[0],
@Override public Iterator<Item> findByMetadataFieldAuthority(Context context, String mdString, String authority) throws SQLException, AuthorizeException { String[] elements = getElementsFilled(mdString); String schema = elements[0]; String element = elements[1]; String qualifier = elements[2]; MetadataSchema mds = metadataSchemaService.find(context, schema); if (mds == null) { throw new IllegalArgumentException("No such metadata schema: " + schema); } MetadataField mdf = metadataFieldService.findByElement(context, mds, element, qualifier); if (mdf == null) { throw new IllegalArgumentException( "No such metadata field: schema=" + schema + ", element=" + element + ", qualifier=" + qualifier); } return findByAuthorityValue(context, mds.getName(), mdf.getElement(), mdf.getQualifier(), authority); }
MetadataSchema epersonSchema = metadataSchemaService.find(context, "eperson"); MetadataField metadataField = null; try {
/** * Helper method to retrieve a schema name for the field. * Caches the name after looking up the id. * * @param context DSpace Context * @param mdField DSpace metadata field * @return name of schema * @throws SQLException if database error * @throws RegistryExportException if export error */ private static String getSchemaName(Context context, MetadataField mdField) throws SQLException, RegistryExportException { // Get name from cache String name = schemaMap.get(mdField.getMetadataSchema().getID()); if (name == null) { // Name not retrieved before, so get the schema now MetadataSchema mdSchema = metadataSchemaService.find(context, mdField.getMetadataSchema().getID()); if (mdSchema != null) { name = mdSchema.getName(); schemaMap.put(mdSchema.getID(), name); } else { // Can't find the schema throw new RegistryExportException("Can't get schema name for field"); } } return name; }
String qualifier = elt.getAttributeValue("qualifier"); MetadataSchema ms = ContentServiceFactory.getInstance().getMetadataSchemaService() .find(context, schema); if (ms == null) { System.err.println("DIM Error, Cannot find metadata schema for: schema=\"" + schema +
org.dspace.content.MetadataSchema schema = metadataSchemaService.find(context, schemaPrefix); if (schema == null) { log.error(String.format("Schema not found for prefix %s", schemaPrefix));
MetadataSchema mdSchema = metadataSchemaService.find(context, schema); if (mdSchema == null) { throw new RegistryExportException("no schema to export");