private DcsManifestation getManifestation(String id) { for (DcsManifestation m : dcp.getManifestations()) { if (m.getId().equals(id)) { return m; } } throw new IllegalStateException("No manifestation present with id " + id); }
private void saveManifestation(DcsManifestation man) { Set<DcsManifestation> manifestations = new HashSet<DcsManifestation>(); for (DcsManifestation m : dcp.getManifestations()) { if (m.getId().equals(man.getId())) { manifestations.add(man); } else { manifestations.add(m); } } dcp.setManifestations(manifestations); }
private void updateManifestationAncestry( Map<String, List<String>> ancestrymap, Collection<DcsManifestation> set) throws IOException, SolrServerException { for (DcsManifestation man : set) { List<String> ancestors = new ArrayList<String>(2); ancestrymap.put(man.getId(), ancestors); updateAncestry(ancestrymap, man.getId(), man.getDeliverableUnit()); for (DcsManifestationFile mf : man.getManifestationFiles()) { updateAncestry(ancestrymap, mf.getRef(), man.getId()); } for (DcsMetadataRef ref : man.getMetadataRef()) { updateAncestry(ancestrymap, ref, man.getId()); } } }
public DcsFile uploadFile(String path, String... manifestations) { if (manifestations.length == 0 && dcp.getManifestations().size() == 1) { return uploadFile(path, dcp.getManifestations().iterator().next() .getId()); } else if (manifestations.length == 0) { throw new IllegalStateException("Cannot add a file if there are no manifestations"); } DcsFile file = newFile(); uploadFile(file, path); for (String m : manifestations) { DcsManifestation manifestation = getManifestation(m); DcsManifestationFile dmf = new DcsManifestationFile(); dmf.setRef(new DcsFileRef(file.getId())); manifestation.addManifestationFile(dmf); saveManifestation(manifestation); } return file; }
if (m.getId().equals(target)) { m.addMetadataRef(mdref); found = true;
public DcsFile referenceFile(String path, String... manifestations) { if (manifestations.length == 0 && dcp.getManifestations().size() == 1) { return referenceFile(path, dcp.getManifestations().iterator() .next().getId()); } else if (manifestations.length == 0) { throw new IllegalStateException("Cannot add a file if there are no manifestations"); } DcsFile file = newFile(); URI pathUri = getUri(path); file.setSource(pathUri.toASCIIString()); file.setName(getFileName(pathUri)); for (String m : manifestations) { DcsManifestation manifestation = getManifestation(m); DcsManifestationFile dmf = new DcsManifestationFile(); dmf.setRef(new DcsFileRef(file.getId())); manifestation.addManifestationFile(dmf); saveManifestation(manifestation); } return file; }
flattenEventsHashMap.get(currentManifestation.getId());
String pid = mapper.getPID(entity.getId()); fdo.setObjectPid(pid); String title = "Manifestation: " + entity.getId(); if (entity.getId() != null) { DublinCoreElement dceIdentifier = new DublinCoreElement(); dceIdentifier.setName(DublinCoreConverter.IDENTIFIER); dceIdentifier.setValue(entity.getId()); dc.getElementList().add(dceIdentifier); erdfeid.setLiteral(entity.getId());
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; }
private String addIngestEvent(Dcp sip, String ingestId) { DcsEvent event = eventManager.newEvent(Events.DEPOSIT); event.setDetail(ingestId); for (DcsCollection c : sip.getCollections()) { event.addTargets(new DcsEntityReference(c.getId())); } for (DcsEntity du : sip.getDeliverableUnits()) { event.addTargets(new DcsEntityReference(du.getId())); } for (DcsManifestation m : sip.getManifestations()) { event.addTargets(new DcsEntityReference(m.getId())); } for (DcsFile f : sip.getFiles()) { event.addTargets(new DcsEntityReference(f.getId())); } for (DcsEvent e : sip.getEvents()) { event.addTargets(new DcsEntityReference(e.getId())); } eventManager.addEvent(ingestId, event); return ingestId; }