/** * 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; }
@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 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.getID()); } // 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.getID())); return metadataField; }
@Override public int hashCode() { int hash = 7; hash = 47 * hash + getID(); hash = 47 * hash + getMetadataSchema().getID(); return hash; }
for (String id : idsString.split(",")) MetadataField field = MetadataField.find(context,Integer.valueOf(id)); fields.add(field); String fieldID = String.valueOf(field.getFieldID()); String fieldEelement = field.getElement(); String fieldQualifier = field.getQualifier(); MetadataSchema schema = MetadataSchema.find(context, field.getSchemaID()); String schemaName = schema.getName(); String fieldScopeNote = field.getScopeNote();
MetadataField field = MetadataField.find(context,dcTypeID); MetadataSchema schema = MetadataSchema.find(context,field.getSchemaID()); item.addMetadata(schema.getName(),field.getElement(), field.getQualifier(), lang, value);
MetadataField dc = MetadataField.find(context, UIUtil .getIntParameter(request, "dc_type_id")); dc.setElement(request.getParameter("element")); dc.setQualifier(qual); dc.setScopeNote(request.getParameter("scope_note")); dc.update(context); showTypes(context, request, response, schemaID); context.complete(); MetadataField dc = new MetadataField(); dc.setSchemaID(schemaID); dc.setElement(request.getParameter("element")); dc.setQualifier(qual); dc.setScopeNote(request.getParameter("scope_note")); dc.create(context); showTypes(context, request, response, schemaID); context.complete(); MetadataField dc = MetadataField.find(context, UIUtil .getIntParameter(request, "dc_type_id")); request.setAttribute("type", dc); MetadataField dc = MetadataField.find(context, UIUtil .getIntParameter(request, "dc_type_id")); try dc.delete(context);
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); } }
MetadataField field = new MetadataField(); field.setSchemaID(schemaID); field.setElement(element); field.setQualifier(qualifier); field.setScopeNote(note); field.create(context); result.setOutcome(true); result.setMessage(T_add_metadata_field_success_notice); result.setParameter("fieldID", field.getFieldID());
MetadataField metadataField = metadataValue.getMetadataField(); if (!metadataExposureService.isHidden(context, metadataField.getMetadataSchema().getName(), metadataField.getElement(), metadataField.getQualifier())) { metadata.add(new MetadataEntry(metadataField.toString('.'), metadataValue.getValue(), metadataValue.getLanguage()));
if (!(metadataField.getElement().equals("description") && (metadataField.getQualifier() != null && metadataField.getQualifier().equals("provenance")))) { String element; if (metadataField.getElement().equals("contributor") && (metadataField.getQualifier() != null) && metadataField.getQualifier().equals("author")) { element = "creator"; } else { element = metadataField.getElement();
MetadataField[] types = MetadataField.findAll(context); MetadataField[] fields = MetadataField.findAllInSchema(context, schemas[i].getSchemaID()); for (int j = 0; j < fields.length; j++) Integer fieldID = Integer.valueOf(fields[j].getFieldID()); String displayName = ""; displayName = schemaName + "." + fields[j].getElement() + (fields[j].getQualifier() == null ? "" : "." + fields[j].getQualifier()); metadataFields.put(fieldID, displayName);
MetadataField possibleDuplicate = MetadataField.findByElement(context, schemaID, element, qualifier); if (possibleDuplicate != null && possibleDuplicate.getFieldID() != fieldID) MetadataField field = MetadataField.find(context, fieldID); field.setElement(element); field.setQualifier(qualifier); field.setScopeNote(note); field.update(context);
int highlightID = parameters.getParameterAsInteger("highlightID",-1); MetadataSchema schema = MetadataSchema.find(context,schemaID); MetadataField[] fields = MetadataField.findAllInSchema(context, schemaID); String schemaName = schema.getName(); String schemaNamespace = schema.getNamespace(); String id = String.valueOf(field.getFieldID()); String fieldElement = field.getElement(); String fieldQualifier = field.getQualifier(); if (field.getFieldID() == highlightID) String fieldScopeNote = field.getScopeNote();
@Override public List<Group> findByMetadataField(Context context, String searchValue, MetadataField metadataField) throws SQLException { StringBuilder queryBuilder = new StringBuilder(); String groupTableName = "g"; queryBuilder.append("SELECT ").append(groupTableName).append(" FROM Group as ").append(groupTableName); addMetadataLeftJoin(queryBuilder, groupTableName, Collections.singletonList(metadataField)); addMetadataValueWhereQuery(queryBuilder, Collections.singletonList(metadataField), "=", null); Query query = createQuery(context, queryBuilder.toString()); query.setParameter(metadataField.toString(), metadataField.getID()); query.setParameter("queryParam", searchValue); return list(query); }
MetadataField[] fields = MetadataField.findAll(context); for (MetadataField field : fields) int fieldID = field.getFieldID(); MetadataSchema schema = MetadataSchema.find(context, field.getSchemaID()); String name = schema.getName() +"."+field.getElement(); if (field.getQualifier() != null) name += "." + field.getQualifier();
String element = mdField.getElement(); String qualifier = mdField.getQualifier(); String scopeNote = mdField.getScopeNote();
protected void copyMetadata(Context context, Item itemNew, Item nativeItem) throws SQLException { List<MetadataValue> md = itemService.getMetadata(nativeItem, Item.ANY, Item.ANY, Item.ANY, Item.ANY); for (MetadataValue aMd : md) { MetadataField metadataField = aMd.getMetadataField(); MetadataSchema metadataSchema = metadataField.getMetadataSchema(); String unqualifiedMetadataField = metadataSchema.getName() + "." + metadataField.getElement(); if (getIgnoredMetadataFields().contains(metadataField.toString('.')) || getIgnoredMetadataFields().contains(unqualifiedMetadataField + "." + Item.ANY)) { //Skip this metadata field continue; } itemService .addMetadata(context, itemNew, metadataField, aMd.getLanguage(), aMd.getValue(), aMd.getAuthority(), aMd.getConfidence()); } }
headers, request, context); dspaceField.setElement(field.getElement()); dspaceField.setQualifier(field.getQualifier()); dspaceField.setScopeNote(field.getDescription()); metadataFieldService.update(context, dspaceField);
@Override public String toString() { return toString('_'); } }