Search in sources :

Example 1 with INeg

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);
}
Also used : Formula(org.w3._2007.rif.Formula) Or(org.w3._2007.rif.Or) INeg(org.w3._2007.rif.INeg) And(org.w3._2007.rif.And) ArrayList(java.util.ArrayList)

Aggregations

ArrayList (java.util.ArrayList)1 And (org.w3._2007.rif.And)1 Formula (org.w3._2007.rif.Formula)1 INeg (org.w3._2007.rif.INeg)1 Or (org.w3._2007.rif.Or)1