package com.packtpub.storm.trident.operator;
import com.packtpub.storm.trident.model.DiagnosisEvent;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import storm.trident.operation.BaseFilter;
import storm.trident.tuple.TridentTuple;
public class DiseaseFilter extends BaseFilter {
private static final long serialVersionUID = 1L;
private static final Logger LOG = LoggerFactory.getLogger(DiseaseFilter.class);
@Override
public boolean isKeep(TridentTuple tuple) {
DiagnosisEvent diagnosis = (DiagnosisEvent) tuple.getValue(0);
Integer code = Integer.parseInt(diagnosis.diagnosisCode);
if (code.intValue() <= 322) {
LOG.debug("Emitting disease [" + diagnosis.diagnosisCode + "]");
return true;
} else {
LOG.debug("Filtering disease [" + diagnosis.diagnosisCode + "]");
return false;
}
}
}