use of org.w3._2007.rif.INeg in project hale by halestudio.
the class ModelRifToRifTranslator method createLogicalFilter.
private void createLogicalFilter(List<Formula> list, ModelRifMappingCondition mappingCondition) {
// $NON-NLS-1$
log.fine("Creating logical filter");
Formula logicFilterFormula = factory.createFormula();
if (mappingCondition.getLogicalType().equals(NOT)) {
INeg negation = factory.createINeg();
logicFilterFormula.setINeg(negation);
// Formula subNegationFormula = factory.createFormula();
List<Formula> notList = new ArrayList<Formula>();
// notList.add(subNegationFormula);
createChildFilters(mappingCondition, notList);
negation.setFormula(notList.get(0));
// $NON-NLS-1$
log.fine("Filter is a NOT filter");
} else {
if (mappingCondition.getLogicalType().equals(AND)) {
And and1 = factory.createAnd();
logicFilterFormula.setAnd(and1);
createChildFilters(mappingCondition, and1.getFormula());
// $NON-NLS-1$
log.fine("Filter is an AND filter");
} else if (mappingCondition.getLogicalType().equals(OR)) {
Or or = factory.createOr();
logicFilterFormula.setOr(or);
createChildFilters(mappingCondition, or.getFormula());
// $NON-NLS-1$
log.fine("Filter is an OR filter");
}
}
list.add(logicFilterFormula);
}