private static DcsManifestation getManifestation(SolrDocument doc) { DcsManifestation man = new DcsManifestation(); man.setId(get(doc, EntityField.ID)); if (has(doc, ManifestationField.DELIVERABLE_UNIT)) { man.setDeliverableUnit(get(doc, ManifestationField.DELIVERABLE_UNIT)); } man.setMetadata(getMetadataSet(doc)); man.setMetadataRef(getMetadataRefSet(doc, EntityField.METADATA_REF)); man.setManifestationFiles(getManifestationFileSet(doc)); if (has(doc, CoreMetadataField.TYPE)) { man.setType(get(doc, CoreMetadataField.TYPE)); } man.setTechnicalEnvironment(getStringSet(doc, ManifestationField.TECH)); if (has(doc, ManifestationField.DATE_CREATED)) { man.setDateCreated( DateUtility.toIso8601( ((Date) doc.getFirstValue(ManifestationField.DATE_CREATED.solrName())).getTime())); } man.setAlternateIds(getResourceIdentifierSet(doc)); return man; }
private static SolrInputDocument toSolr(DcsManifestation man, ArchiveStore store) throws IOException { SolrInputDocument doc = new SolrInputDocument(); add(doc, EntityField.ID, man.getId()); add(doc, EntityField.TYPE, EntityTypeValue.MANIFESTATION.solrValue()); add(doc, ManifestationField.DELIVERABLE_UNIT, man.getDeliverableUnit()); add(doc, CoreMetadataField.TYPE, man.getType()); add(doc, ManifestationField.DATE_CREATED, man.getDateCreated()); addMetadataSet(doc, man.getMetadata()); addManifestationFileSet(doc, man.getManifestationFiles(), store); addMetadataRefSet(doc, man.getMetadataRef(), EntityField.METADATA_REF, store); addStrings(doc, man.getTechnicalEnvironment(), ManifestationField.TECH); addResourceIdentifierSet(doc, man.getAlternateIds()); return doc; }