package org.myrobotlab.document.transformer;
import java.util.List;
import org.myrobotlab.document.Document;
import org.myrobotlab.document.ProcessingStatus;
/**
* DropDocument - if the document contains a particular field value, drop this
* document from the workflow. input field input value
*
* @author kwatters
*
*/
public class DropDocument extends AbstractStage {
private String field;
private String value;
@Override
public void startStage(StageConfiguration config) {
if (config != null) {
field = config.getProperty("field", null);
value = config.getProperty("value", null);
}
}
@Override
public List<Document> processDocument(Document doc) {
// TODO Auto-generated method stub
if (doc.hasField(field)) {
for (Object o : doc.getField(field)) {
if (o.equals(value)) {
doc.setStatus(ProcessingStatus.DROP);
break;
}
}
}
return null;
}
@Override
public void stopStage() {
// TODO Auto-generated method stub
}
@Override
public void flush() {
// TODO Auto-generated method stub
}
}