/** * Construct metadata field name out of Metadatum components * * @param v The Metadatum to construct a name for. * @return The complete metadata field name. */ protected String buildFieldName(MetadataValue v) { StringBuilder name = new StringBuilder(); MetadataField metadataField = v.getMetadataField(); MetadataSchema metadataSchema = v.getMetadataField().getMetadataSchema(); name.append(metadataSchema.getName()).append(".").append(metadataField.getElement()); if (null != metadataField.getQualifier()) { name.append("." + metadataField.getQualifier()); } return name.toString(); }
/** * Is it Ok to export this value? When exportAll is set to false, we don't export * some of the metadata elements. * * The list can be configured via the key ignore-on-export in bulkedit.cfg * * @param md The Metadatum to examine * @return Whether or not it is OK to export this element */ protected boolean okToExport(MetadataField md) { // Now compare with the list to ignore String key = md.getMetadataSchema().getName() + "." + md.getElement(); if (md.getQualifier() != null) { key += "." + md.getQualifier(); } if (ignore.get(key) != null) { return false; } // Must be OK, so don't ignore return true; }
(metadataField.getQualifier() != null && metadataField.getQualifier().equals("provenance")))) { String element; && (metadataField.getQualifier() != null) && metadataField.getQualifier().equals("author")) { element = "creator"; } else {
private void setup(org.dspace.content.MetadataSchema schema, org.dspace.content.MetadataField field, String expand, Context context) throws SQLException { List<String> expandFields = new ArrayList<String>(); if (expand != null) { expandFields = Arrays.asList(expand.split(",")); } StringBuilder sb = new StringBuilder(); sb.append(schema.getName()); sb.append("."); sb.append(field.getElement()); if (field.getQualifier() != null) { sb.append("."); sb.append(field.getQualifier()); } this.setName(sb.toString()); this.setFieldId(field.getID()); this.setElement(field.getElement()); this.setQualifier(field.getQualifier()); this.setDescription(field.getScopeNote()); if (expandFields.contains("parentSchema") || expandFields.contains("all")) { this.addExpand("parentSchema"); parentSchema = new MetadataSchema(schema, "", context); } }
if (metadataField.getQualifier() != null) { if (!qualifier.equals(metadataField.getQualifier())) { return false;
String valueMatch = field.getMetadataSchema().getName() + "." + field.getElement(); if (field.getQualifier() != null) { valueMatch += "." + field.getQualifier();
@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); }
@Override public void update(Context context, MetadataField metadataField) throws SQLException, AuthorizeException, NonUniqueMetadataException, IOException { // Check authorisation: Only admins may update the metadata registry if (!authorizeService.isAdmin(context)) { throw new AuthorizeException( "Only administrators may modiffy the Dublin Core registry"); } // Ensure the element and qualifier are unique within a given schema. if (hasElement(context, metadataField.getID(), metadataField.getMetadataSchema(), metadataField.getElement(), metadataField.getQualifier())) { throw new NonUniqueMetadataException( "Please make " + metadataField.getMetadataSchema().getName() + "." + metadataField.getElement() + "." + metadataField.getQualifier()); } metadataFieldDAO.save(context, metadataField); log.info(LogManager.getHeader(context, "update_metadatafieldregistry", "metadata_field_id=" + metadataField.getID() + "element=" + metadataField .getElement() + "qualifier=" + metadataField.getQualifier())); }
@Override public void addMetadata(Context context, T dso, MetadataField metadataField, String language, List<String> values) throws SQLException { if (metadataField != null) { String fieldKey = metadataAuthorityService .makeFieldKey(metadataField.getMetadataSchema().getName(), metadataField.getElement(), metadataField.getQualifier()); if (metadataAuthorityService.isAuthorityControlled(fieldKey)) { List<String> authorities = new ArrayList<String>(); List<Integer> confidences = new ArrayList<Integer>(); for (int i = 0; i < values.size(); ++i) { if (dso instanceof Item) { getAuthoritiesAndConfidences(fieldKey, ((Item) dso).getOwningCollection(), values, authorities, confidences, i); } else { getAuthoritiesAndConfidences(fieldKey, null, values, authorities, confidences, i); } } addMetadata(context, dso, metadataField, language, values, authorities, confidences); } else { addMetadata(context, dso, metadataField, language, values, null, null); } } }
/** * Get display of Metadatum * * @param dcv MetadataValue * @return string displaying elements of the Metadatum */ public static String getDCValueString(MetadataValue dcv) { MetadataField metadataField = dcv.getMetadataField(); MetadataSchema metadataSchema = metadataField.getMetadataSchema(); return "schema: " + metadataSchema.getName() + "; element: " + metadataField .getElement() + "; qualifier: " + metadataField.getQualifier() + "; language: " + dcv.getLanguage() + "; value: " + dcv.getValue(); }
((metadataField.getQualifier() == null) ? metadataField.getElement() : (metadataField.getElement() + "." + metadataField.getQualifier()));
@Override public Element disseminateElement(Context context, DSpaceObject dso) throws CrosswalkException, IOException, SQLException, AuthorizeException { if (dso.getType() != Constants.ITEM) { throw new CrosswalkObjectNotSupported("DIMDisseminationCrosswalk can only crosswalk an Item."); } Item item = (Item) dso; List<MetadataValue> dc = itemService.getMetadata(item, Item.ANY, Item.ANY, Item.ANY, Item.ANY); Element dim = new Element("dim", DIM_NS); for (MetadataValue aDc : dc) { MetadataField metadataField = aDc.getMetadataField(); MetadataSchema metadataSchema = metadataField.getMetadataSchema(); Element field = new Element("field", DIM_NS); field.setAttribute("mdschema", metadataSchema.getName()); field.setAttribute("element", metadataField.getElement()); if (metadataField.getQualifier() != null) { field.setAttribute("qualifier", metadataField.getQualifier()); } if (aDc.getLanguage() != null) { field.setAttribute("lang", aDc.getLanguage()); } if (aDc.getValue() != null) { field.setText(aDc.getValue()); } dim.addContent(field); } return dim; }
public MockMetadataValue(MetadataValue metadataValue) { MetadataField metadataField = metadataValue.getMetadataField(); MetadataSchema metadataSchema = metadataField.getMetadataSchema(); schema = metadataSchema.getName(); element = metadataField.getElement(); qualifier = metadataField.getQualifier(); language = metadataValue.getLanguage(); value = metadataValue.getValue(); authority = metadataValue.getAuthority(); confidence = metadataValue.getConfidence(); }
item.addMetadata(schema.getName(),field.getElement(), field.getQualifier(), lang, value);
String qualifier = mdField.getQualifier(); String scopeNote = mdField.getScopeNote();
String fieldQualifier = field.getQualifier();
MetadataSchema schema = MetadataSchema.find(context,field.getSchemaID()); item.addMetadata(schema.getName(), field.getElement(), field.getQualifier(), language, value);
itarch.addUndoMetadataField( DtoMetadata.create(metadataSchema.getName(), metadataField.getElement(), metadataField.getQualifier(), dcv.getLanguage(), dcv.getValue()));
MetadataSchema metadataSchema = metadataField.getMetadataSchema(); itemService.addMetadata(context, item, metadataSchema.getName(), metadataField.getElement(), metadataField.getQualifier(), aMd.getLanguage(), aMd.getValue());
qualifierValue = field.getQualifier();