private Set<DcsMetadataRef> createMetadataRefSet(int size) { Set<DcsMetadataRef> result = new HashSet<DcsMetadataRef>(); for (int i = 0; i < size; i++) { DcsMetadataRef ref = new DcsMetadataRef(); ref.setRef(randomString(10, false)); result.add(ref); } return result; }
public Set<DcsMetadataRef> getMetadataRef() { final Set<DcsMetadataRef> metadataRef = new HashSet<DcsMetadataRef>(this.metadataRef.size()); for (DcsMetadataRef mdRef : this.metadataRef) { metadataRef.add(new DcsMetadataRef(mdRef)); } return metadataRef; }
String ref = mdref.getRef();
public Set<DcsMetadataRef> getMetadataRef() { final Set<DcsMetadataRef> metadataRef = new HashSet<DcsMetadataRef>(this.metadataRef.size()); for (DcsMetadataRef m : this.metadataRef) { metadataRef.add(new DcsMetadataRef(m)); } return metadataRef; }
final String ref = mdRef.getRef(); if (!isEmptyOrNull(ref)) { writer.addAttribute(A_REF, ref);
private static Set<DcsMetadataRef> getMetadataRefSet(SolrDocument doc, SolrName field) { Set<DcsMetadataRef> set = new HashSet<DcsMetadataRef>(); for (String s : setgetAll(doc, field)) { DcsMetadataRef ref = new DcsMetadataRef(); if (s != null) { ref.setRef(s); } set.add(ref); } return set; }
/** * A defensive copy of metadata references * * @return metadata references */ public Set<DcsMetadataRef> getMetadataRef() { final Set<DcsMetadataRef> metadataRefs = new HashSet<DcsMetadataRef>(this.metadataRefs.size()); for (DcsMetadataRef m : this.metadataRefs) { metadataRefs.add(new DcsMetadataRef(m)); } return metadataRefs; }
@Override public void marshal(Object source, HierarchicalStreamWriter writer, MarshallingContext context) { super.marshal(source, writer, context); // Inside <metadata> if (source instanceof DcsMetadata) { final DcsMetadata md = (DcsMetadata) source; final String schemaUri = md.getSchemaUri(); final String metadataBlob = md.getMetadata(); if (!isEmptyOrNull(metadataBlob)) { if (!isEmptyOrNull(schemaUri)) { writer.addAttribute(A_SCHEMA, schemaUri); } try { final DcsStaxWriter staxWriter = (DcsStaxWriter) writer.underlyingWriter(); log.trace("Copying metadata blob: \n{}", metadataBlob); staxWriter.copyNode(metadataBlob, staxWriter.getXMLStreamWriter()); } catch (XMLStreamException e) { throw new ConversionException(e.getMessage(), e); } } } else if (source instanceof DcsMetadataRef) { final DcsMetadataRef mdRef = (DcsMetadataRef) source; final String ref = mdRef.getRef(); if (!isEmptyOrNull(ref)) { writer.addAttribute(A_REF, ref); } } else { log.warn("Unable to marshal metadata source object {} of type {}", source, source.getClass().getName()); } }
@Override public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) { final String schemaUri = reader.getAttribute(A_SCHEMA); final String mdRef = reader.getAttribute(A_REF); // If we are dealing with a reference, create the reference and return if (!isEmptyOrNull(mdRef)) { final DcsMetadataRef ref = new DcsMetadataRef(); ref.setRef(mdRef); return ref; } // Otherwise we're dealing with a full, in-line DcsMetadata object final DcsMetadata md = new DcsMetadata(); if (!isEmptyOrNull(schemaUri)) { md.setSchemaUri(schemaUri); } final ByteArrayOutputStream out = new ByteArrayOutputStream(); reader.moveDown(); try { ((DcsStaxReader) reader.underlyingReader()).copyNode(out); } catch (XMLStreamException e) { throw new ConversionException(e.getMessage(), e); } reader.moveUp(); final String mdValue = new String(out.toByteArray(), Charset.forName("UTF-8")); md.setMetadata(mdValue); log.trace("Deserialized metadata blob \n{}", mdValue); return md; }
/** * The metadata of the collection, by reference * * @return the collection metadata reference, or <code>null</code> if no metadata reference has been set */ public Set<DcsMetadataRef> getMetadataRef() { final Set<DcsMetadataRef> metadataRefs = new HashSet<DcsMetadataRef>(this.metadataRef.size()); for (DcsMetadataRef m : this.metadataRef) { metadataRefs.add(new DcsMetadataRef(m)); } return metadataRefs; }
final String ref = mdRef.getRef(); if (!isEmptyOrNull(ref)) { writer.addAttribute(A_REF, ref);
@Override public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) { final String schemaUri = reader.getAttribute(A_SCHEMA); final String mdRef = reader.getAttribute(A_REF); // If we are dealing with a reference, create the reference and return if (!isEmptyOrNull(mdRef)) { final DcsMetadataRef ref = new DcsMetadataRef(); ref.setRef(mdRef); return ref; } // Otherwise we're dealing with a full, in-line DcsMetadata object final DcsMetadata md = new DcsMetadata(); if (!isEmptyOrNull(schemaUri)) { md.setSchemaUri(schemaUri); } final ByteArrayOutputStream out = new ByteArrayOutputStream(); reader.moveDown(); try { ((DcsStaxReader) reader.underlyingReader()).copyNode(out); } catch (XMLStreamException e) { throw new RuntimeException("Unmarshalling failed", e); } reader.moveUp(); final String metadataAsString = new String(out.toByteArray(), Charset.forName("UTF-8")); md.setMetadata(metadataAsString); return md; }
public void setMetadataRef(Set<DcsMetadataRef> metadataRef) { Assertion.notNull(metadataRef); this.metadataRef = new HashSet<DcsMetadataRef>(metadataRef.size()); for (DcsMetadataRef m : metadataRef) { Assertion.notNull(m); this.metadataRef.add(new DcsMetadataRef(m)); } }
@Override public Object unmarshal(HierarchicalStreamReader reader, UnmarshallingContext context) { final String schemaUri = reader.getAttribute(A_SCHEMA); final String mdRef = reader.getAttribute(A_REF); // If we are dealing with a reference, create the reference and return if (!isEmptyOrNull(mdRef)) { final DcsMetadataRef ref = new DcsMetadataRef(); ref.setRef(mdRef); return ref; } // Otherwise we're dealing with a full, in-line DcsMetadata object final DcsMetadata md = new DcsMetadata(); if (!isEmptyOrNull(schemaUri)) { md.setSchemaUri(schemaUri); } final ByteArrayOutputStream out = new ByteArrayOutputStream(); reader.moveDown(); try { ((DcsStaxReader) reader.underlyingReader()).copyNode(out); } catch (XMLStreamException e) { throw new ConversionException(e.getMessage(), e); } reader.moveUp(); final String mdValue = new String(out.toByteArray(), Charset.forName("UTF-8")); md.setMetadata(mdValue); log.trace("Deserialized metadata blob \n{}", mdValue); return md; }
public void setMetadataRef(Set<DcsMetadataRef> metadataRef) { Assertion.notNull(metadataRef); this.metadataRef = new HashSet<DcsMetadataRef>(metadataRef.size()); for (DcsMetadataRef mdRef : metadataRef) { Assertion.notNull(mdRef); this.metadataRef.add(new DcsMetadataRef(mdRef)); } }
public void addMetadataRef(DcsMetadataRef... metadataRef) { Assertion.notNull(metadataRef); for (DcsMetadataRef mdRef : metadataRef) { Assertion.notNull(mdRef); this.metadataRef.add(new DcsMetadataRef(mdRef)); } }
public void addMetadataRef(DcsMetadataRef... metadataRef) { Assertion.notNull(metadataRef); for (DcsMetadataRef m : metadataRef) { Assertion.notNull(m); this.metadataRef.add(new DcsMetadataRef(m)); } }
/** * Add metadata references * * @param metadataRef metadata refs, must not be <code>null</code> * @throws IllegalArgumentException if <code>metadataRefs</code> are <code>null</code> */ public void addMetadataRef(DcsMetadataRef... metadataRef) { Assertion.notNull(metadataRef); for (DcsMetadataRef m : metadataRef) { Assertion.notNull(m); this.metadataRef.add(new DcsMetadataRef(m)); } }
/** * Add metadata references * * @param metadataRefs metadata refs, must not be <code>null</code> * @throws IllegalArgumentException if <code>metadataRefs</code> are <code>null</code> */ public void addMetadataRef(DcsMetadataRef... metadataRefs) { Assertion.notNull(metadataRefs); for (DcsMetadataRef m : metadataRefs) { Assertion.notNull(m); this.metadataRefs.add(new DcsMetadataRef(m)); } }
private void linkFileMetadata(String fileid, String target) { DcsMetadataRef mdref = new DcsMetadataRef(fileid); boolean found = false;