@Override public void execute(String depositId, IngestWorkflowState state) throws StatefulIngestServiceException { super.execute(depositId, state); List<DcsEntityReference> businessObjectRefs = build(state, depositId); // Emit event indication that business objects had been created from attribute sets DcsEvent event = state.getEventManager().newEvent(Package.Events.BUSINESS_OBJECT_BUILT); event.setDetail(SUCCESS_EVENT_DETAIL); event.setOutcome(SUCCESS_EVENT_OUTCOME + businessObjectRefs.size() + " objects created."); event.setTargets(businessObjectRefs); state.getEventManager().addEvent(depositId, event); }
/** * Composes an {@link Package.Events#INGEST_SUCCESS} event and adds it to the workflow state. The event is only * added if the last phase has been completed, otherwise this method simply returns. * * @param start the start time in milliseconds of the ingest * @param state the ingest state associated with the deposit ID * @param depositId the deposit DI of the successful ingest */ private void addSuccessEvent(long start, IngestWorkflowState state, String depositId) { DcsEvent event = state.getEventManager().newEvent(Package.Events.INGEST_SUCCESS); event.setDetail("Ingest of deposit: " + depositId + " successful"); event.setOutcome(depositId); // TODO DC-1477: The target should probably enumerate the business ids of the objects that were added to the system. List<DcsEntityReference> refs = new ArrayList<DcsEntityReference>(); DcsEntityReference ref = new DcsEntityReference(depositId); refs.add(ref); event.setTargets(refs); state.getEventManager().addEvent(depositId, event); }
@Override public void execute(String depositId, IngestWorkflowState state) throws StatefulIngestServiceException { super.execute(depositId, state); BusinessObjectManager businessObjectManager = state.getBusinessObjectManager(); List<DcsEntityReference> references = checkBusinessObjectsValidity(businessObjectManager); if (references.size() > 0) { // Emit event that indicates built business objects are valid. DcsEvent event = state.getEventManager().newEvent(Package.Events.BUSINESS_OBJECTS_VALIDATED); event.setDetail("Successfully validated the built business objects."); event.setOutcome("Successfully validated a total number of: " + references.size() + " BusinessObjects."); event.setTargets(references); state.getEventManager().addEvent(depositId, event); } }
List<DcsEntityReference> refs = new ArrayList<DcsEntityReference>(); refs.add(ref); event.setTargets(refs); state.getEventManager().addEvent(depositId, event);
refs.add(ref); event.setTargets(refs); refs.add(ref); event.setTargets(refs);
refs.add(ref); event.setTargets(refs); refs.add(ref); event.setTargets(refs);
@Override public void execute(String depositId, IngestWorkflowState state) throws StatefulIngestServiceException { super.execute(depositId, state); Set<DcsEntityReference> metadataFilesCreated = buildAttributeSetMetadataFile(state); //Emit event indication that business objects had been created from attribute sets DcsEvent event = state.getEventManager().newEvent(org.dataconservancy.packaging.ingest.api.Package.Events.BUSINESS_OBJECT_BUILT); event.setDetail(SUCCESS_EVENT_DETAIL); event.setOutcome(SUCCESS_EVENT_OUTCOME + metadataFilesCreated.size() + " MetadataFile objects created."); event.setTargets(metadataFilesCreated); state.getEventManager().addEvent(depositId, event); }
refs.add(ref); event.setTargets(refs); refs.add(ref); event.setTargets(refs);
refs.add(ref); event.setTargets(refs); refs.add(ref); event.setTargets(refs);
private boolean findAllAttributes(String depositId, IngestWorkflowState state, String attributeName, Set<String> ids) { Attribute attributeToMatch = new AttributeImpl(attributeName, null, null); Set<AttributeSet> matchingAttributeSets = state.getAttributeSetManager().matches(attributeToMatch); for (AttributeSet attributeSet : matchingAttributeSets) { for (Attribute matchingAttribute : attributeSet.getAttributes()) { if (matchingAttribute.getName().equalsIgnoreCase(attributeName)) { if (!ids.add(matchingAttribute.getValue())) { DcsEvent event = state.getEventManager().newEvent(Package.Events.INGEST_FAIL); String stackTrace = ""; for (StackTraceElement st : Thread.currentThread().getStackTrace()) { stackTrace += st + "\n"; } event.setDetail(stackTrace); event.setOutcome("Duplicate Identifiers were found: " + matchingAttribute.getValue()); List<DcsEntityReference> refs = new ArrayList<DcsEntityReference>(); DcsEntityReference ref = new DcsEntityReference(matchingAttribute.getValue()); refs.add(ref); event.setTargets(refs); state.getEventManager().addEvent(depositId, event); return false; } } } } return true; } }
refs.add(ref); event.setTargets(refs); refs.add(ref); event.setTargets(refs);
@Test public void creatAndPersistTest() { EventManager mgr = getEventManager(); DcsEvent e = mgr.newEvent(TEST_EVENT_TYPE); e.setDetail("detail"); e.setOutcome("outcome"); e.setTargets(getTargets()); String id = getSipStager().addSIP(new Dcp()); mgr.addEvent(id, e); Collection<DcsEvent> retrieved = mgr.getEvents(id); assertEquals("Expected to see one event", 1, retrieved.size()); assertTrue("Did not see test event", retrieved.contains(e)); }
refs.add(ref); event.setTargets(refs);
@Override public void execute(String depositId, IngestWorkflowState state) throws StatefulIngestServiceException { super.execute(depositId, state); PackageSerialization pkg = state.getPackage().getSerialization(); State extractionState = new State(); // Get absolute base directory containing the package as a directory. extractionState.baseDir = new File(pkg.getExtractDir(), pkg.getBaseDir().getPath()).getParentFile(); extractionState.manager = state.getAttributeSetManager(); extractionState.model = ModelFactory.createDefaultModel(); AttributeSetManager manager = state.getAttributeSetManager(); URI uri = ResourceMapLoader.getPackageResourceMapURI(manager); Resource resmap = extractionState.model.createResource(uri.toString()); // Walk the graph constructing attribute sets for each object and // generate events. visitResourceMap(resmap, extractionState); DcsEvent event = state.getEventManager().newEvent( org.dataconservancy.packaging.ingest.api.Package.Events.TRANSFORM); event.setDetail("AttributeSets generated for the ORE-ReM with deposit ID: " + depositId); event.setOutcome("Succeeded in extracting Attributes from ORE-ReM"); DcsEntityReference ref = new DcsEntityReference(depositId); List<DcsEntityReference> refs = new ArrayList<DcsEntityReference>(); refs.add(ref); event.setTargets(refs); state.getEventManager().addEvent(depositId, event); }
refs.add(ref); event.setTargets(refs);
List<DcsEntityReference> refs = new ArrayList<DcsEntityReference>(); refs.add(ref); event.setTargets(refs); state.getEventManager().addEvent(depositId, event); } else { List<DcsEntityReference> refs = new ArrayList<DcsEntityReference>(); refs.add(ref); event.setTargets(refs); state.getEventManager().addEvent(depositId, event);
public DcsEvent createEvent(String target) { DcsEvent event = new DcsEvent(); event.setId(nextid()); event.setDate(DateUtility.toIso8601(DateUtility.now())); event.setOutcome(randomString(20, false)); event.setEventType(randomString(2, false)); event.setDetail(randomText(5)); event.setTargets(createEnityReferences(rand.nextInt(2))); return event; }
event.setDetail("Checksum verification failure for deposit: " + depositId); event.setOutcome("Checksum verification failure"); event.setTargets(refs); state.getEventManager().addEvent(depositId, event);
List<DcsEntityReference> refs = new ArrayList<DcsEntityReference>(); refs.add(ref); event.setTargets(refs); state.getEventManager().addEvent(depositId, event);
private static DcsEvent getEvent(SolrDocument doc) { DcsEvent event = new DcsEvent(); event.setId(getFirst(doc, EntityField.ID)); Date date = (Date) doc.getFirstValue(EventField.DATE.solrName()); if (date != null) { event.setDate(DateUtil.getThreadLocalDateFormat().format(date)); } event.setDetail(getFirst(doc, EventField.DETAIL)); event.setOutcome(getFirst(doc, EventField.OUTCOME)); event.setEventType(getFirst(doc, EventField.TYPE)); event.setTargets(getEntityRefSet(doc, EventField.TARGET)); event.setAlternateIds(getResourceIdentifierSet(doc)); return event; }