@Override public MockFlowFile putAttribute( final FlowFile flowFile, final String attrName, final String attrValue) { validateState(flowFile); if (attrName == null || attrValue == null || flowFile == null) { throw new IllegalArgumentException("argument cannot be null"); } if (!(flowFile instanceof MockFlowFile)) { throw new IllegalArgumentException( "Cannot update attributes of a flow file that I did not create"); } if ("uuid".equals(attrName)) { Assert.fail( "Should not be attempting to set FlowFile UUID via putAttribute. This will be ignored in production"); } final MockFlowFile mock = (MockFlowFile) flowFile; final MockFlowFile newFlowFile = new MockFlowFile(mock.getId(), flowFile); currentVersions.put(newFlowFile.getId(), newFlowFile); final Map<String, String> attrs = new HashMap<>(); attrs.put(attrName, attrValue); newFlowFile.putAttributes(attrs); return newFlowFile; }
@Override public MockFlowFile putAllAttributes(final FlowFile flowFile, final Map<String, String> attrs) { validateState(flowFile); if (attrs == null || flowFile == null) { throw new IllegalArgumentException("argument cannot be null"); } if (!(flowFile instanceof MockFlowFile)) { throw new IllegalArgumentException( "Cannot update attributes of a flow file that I did not create"); } final MockFlowFile mock = (MockFlowFile) flowFile; final MockFlowFile newFlowFile = new MockFlowFile(mock.getId(), flowFile); currentVersions.put(newFlowFile.getId(), newFlowFile); newFlowFile.putAttributes(attrs); return newFlowFile; }
public MockFlowFile createFlowFile(final byte[] data, final Map<String, String> attrs) { final MockFlowFile ff = createFlowFile(data); ff.putAttributes(attrs); return ff; }