private void updateAncestry(Map<String, List<String>> ancestrymap, String entity_id, DcsEntityReference ancestor_ref) throws IOException, SolrServerException { if (ancestor_ref == null) { return; } updateAncestry(ancestrymap, entity_id, ancestor_ref.getRef()); }
/** * The target, or object, of the relationship. * * @param ref the reference */ public void setRef(DcsEntityReference ref) { this.ref = new DcsEntityReference(ref); }
@Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; DcsRelation that = (DcsRelation) o; if (ref != null ? !ref.equals(that.ref) : that.ref != null) return false; if (relUri != null ? !relUri.equals(that.relUri) : that.relUri != null) return false; return true; }
private Set<DcsEntityReference> createEnityReferences(int size) { Set<DcsEntityReference> set = new HashSet<DcsEntityReference>(); for (int i = 0; i < size; i++) { DcsEntityReference ref = new DcsEntityReference(); ref.setRef(randomString(3, false)); } return set; }
@Override public void execute(String depositId, IngestWorkflowState state) throws StatefulIngestServiceException { for (DcsEvent event : state.getEventManager().getEvents(depositId, Package.Events.METADATA_FILE_VALIDATED)) { if (!event.getTargets().isEmpty()) { if (event.getOutcome().equals(Package.Outcomes.SUCCESS)) { MetadataFile file = (MetadataFile)state.getBusinessObjectManager().get(event.getTargets().iterator().next().getRef()); MetadataResult result = metadataBizService.extractMetadata(file); String outcome = Package.Outcomes.SUCCESS; String extractionMessages = ""; if (!result.getMetadataExtractionErrors().isEmpty()) { outcome = Package.Outcomes.FAILURE; for (MetadataEventMessage error : result.getMetadataExtractionErrors()) { extractionMessages += error.getMessage() + "<\br>"; } } // Send the event, using the outcome and any error/warning messages. DcsEvent extractionEvent = state.getEventManager().newEvent(Package.Events.METADATA_FILE_EXTRACTION); extractionEvent.setOutcome(outcome); extractionEvent.setDetail(extractionMessages); extractionEvent.addTargets(new DcsEntityReference(file.getId())); state.getEventManager().addEvent(depositId, extractionEvent); } } } } }
@Override public int hashCode() { int result = relUri != null ? relUri.hashCode() : 0; result = 31 * result + (ref != null ? ref.hashCode() : 0); return result; }
@Override public void execute(String depositId, IngestWorkflowState state) throws StatefulIngestServiceException { for (DcsEvent event : state.getEventManager().getEvents(depositId, Package.Events.METADATA_FILE_VALIDATED)) { if (!event.getTargets().isEmpty()) { if (event.getOutcome().equals(Package.Outcomes.SUCCESS)) { MetadataFile file = (MetadataFile)state.getBusinessObjectManager().get(event.getTargets().iterator().next().getRef()); MetadataResult result = metadataBizService.extractMetadata(file); String outcome = Package.Outcomes.SUCCESS; String extractionMessages = ""; if (!result.getMetadataExtractionErrors().isEmpty()) { outcome = Package.Outcomes.FAILURE; for (MetadataEventMessage error : result.getMetadataExtractionErrors()) { extractionMessages += error.getMessage() + "<\br>"; } } // Send the event, using the outcome and any error/warning messages. DcsEvent extractionEvent = state.getEventManager().newEvent(Package.Events.METADATA_FILE_EXTRACTION); extractionEvent.setOutcome(outcome); extractionEvent.setDetail(extractionMessages); extractionEvent.addTargets(new DcsEntityReference(file.getId())); state.getEventManager().addEvent(depositId, extractionEvent); } } } } }
private static Set<DcsEntityReference> getEntityRefSet(SolrDocument doc, EventField field) { Set<DcsEntityReference> set = new HashSet<DcsEntityReference>(); for (String s : setgetAll(doc, field)) { DcsEntityReference ref = new DcsEntityReference(); if (s != null) { ref.setRef(s); } set.add(ref); } return set; }
private static void addRefSet(SolrInputDocument doc, Collection<? extends DcsEntityReference> set, SolrName field) { if (set == null || set.size() == 0) { return; } for (DcsEntityReference ref : set) { setadd(doc, field, ref.getRef()); } }
/** * The target, or object, of the relationship. * * @return a reference to the target of the relationship */ public DcsEntityReference getRef() { return new DcsEntityReference(ref); }
private Set<String> getEventRefs(DcsEntity event) { Set<String> rels = new HashSet<String>(); DcsEvent e = (DcsEvent) event; for (DcsEntityReference ref : e.getTargets()) { rels.add(ref.getRef()); } return rels; }
private Set<DcsEntityReference> getTargets() { Set<DcsEntityReference> refs = new HashSet<DcsEntityReference>(); refs.add(new DcsEntityReference("id:1")); refs.add(new DcsEntityReference("id:2")); return refs; } }
private Set<String> getFileRefs(DcsEntity file) { Set<String> rels = new HashSet<String>(); DcsFile f = (DcsFile) file; for (DcsEntityReference ref : f.getMetadataRef()) { rels.add(ref.getRef()); } return rels; }
public Set<DcsEntityReference> getTargets() { final Set<DcsEntityReference> targets = new HashSet<DcsEntityReference>(this.targets.size()); for (DcsEntityReference r : this.targets) { targets.add(new DcsEntityReference(r)); } return targets; }
private Set<String> getFileRefs(DcsEntity file) { Set<String> rels = new HashSet<String>(); DcsFile f = (DcsFile) file; for (DcsEntityReference ref : f.getMetadataRef()) { rels.add(ref.getRef()); } return rels; }
public void setTargets(Set<DcsEntityReference> targets) { Assertion.notNull(targets); this.targets = new HashSet<DcsEntityReference>(targets.size()); for (DcsEntityReference r : targets) { Assertion.notNull(r); this.targets.add(new DcsEntityReference(r)); } }
/** * Copy constructor for a DcsEntityRef. The state of <code>toCopy</code> is copied * to this. * * @param toCopy the dcs entity to copy, must not be <code>null</code> * @throws IllegalArgumentException if <code>toCopy</code> is <code>null</code> */ public DcsEntityReference(DcsEntityReference toCopy) { Assertion.notNull(toCopy); this.ref = toCopy.getRef(); }
public void addTargets(DcsEntityReference... targets) { Assertion.notNull(targets); for (DcsEntityReference r : targets) { Assertion.notNull(r); this.targets.add(new DcsEntityReference(r)); } }
private void updateAncestry(Map<String, List<String>> ancestrymap, DcsEntityReference entity_ref, String ancestor_id) throws IOException, SolrServerException { if (entity_ref == null) { return; } updateAncestry(ancestrymap, entity_ref.getRef(), ancestor_id); }
/** * Creates a DcsRelationship with a relationship type of <code>relUri</code> with <code>target</code>. See * {@link DcsRelationship} for supported relationship types. * * @param relUri the relationship type, must not be empty or <code>null</code> * @param target the target entity, must not be <code>null</code> */ public DcsRelation(String relUri, DcsEntityReference target) { Assertion.notEmptyOrNull(relUri); Assertion.notNull(target); this.relUri = relUri; this.ref = new DcsEntityReference(target); }