protected IntermediateProvenance findIntermediateProvenance() { for (DispatchLayer<?> layer : getProcessor().getDispatchStack() .getLayers()) if (layer instanceof IntermediateProvenance) return (IntermediateProvenance) layer; return null; }
@Test public void testUndo() throws Exception { defaultDispatchStackEdit.doEdit(); assertTrue(processor.getDispatchStack().getLayers().size()>0); }
private void addProvenanceLayerToProcessors(WorkflowProvenanceItem workflowItem) { // TODO Shouldn't we use a bean for this? Edits edits = new EditsImpl(); for (Processor processor : dataflow.getProcessors()) /* * Synchronized per processor as we might be modifying its dispatch * stack (fixes T3-929) */ synchronized (processor) { DispatchStack dispatchStack = processor.getDispatchStack(); List<DispatchLayer<?>> layers = dispatchStack.getLayers(); if (isProvenanceAlreadyAdded(layers)) continue; IntermediateProvenance provenance = new IntermediateProvenance(); provenance.setWorkflow(workflowItem); provenance.setReporter(context.getProvenanceReporter()); try { edits.getAddDispatchLayerEdit(dispatchStack, provenance, provenancePosition(layers)).doEdit(); break; } catch (EditException e) { logger.warn("adding provenance layer to dispatch stack failed " + e.toString()); } } }