@Override public QueryExpression rewrite(QueryExpression q) { UnaryLogicalExpression le=dyncast(UnaryLogicalExpression.class,q); if(le!=null&&le.getOp()==UnaryLogicalOperator._not) { ValueComparisonExpression vce=dyncast(ValueComparisonExpression.class,le.getQuery()); if(vce!=null) { return new ValueComparisonExpression(vce.getField(),vce.getOp().negate(),vce.getRvalue()); } else { FieldComparisonExpression fce=dyncast(FieldComparisonExpression.class,le.getQuery()); if(fce!=null) { return new FieldComparisonExpression(fce.getField(),fce.getOp().negate(),fce.getRfield()); } else { NaryRelationalExpression nre=dyncast(NaryRelationalExpression.class,le.getQuery()); if(nre!=null) { return new NaryRelationalExpression(nre.getField(),nre.getOp().negate(),nre.getValues()); } } } } return q; } }
@Override public QueryExpression rewrite(QueryExpression q) { UnaryLogicalExpression le = dyncast(UnaryLogicalExpression.class, q); if (le != null && le.getOp() == UnaryLogicalOperator._not) { ValueComparisonExpression vce = dyncast(ValueComparisonExpression.class, le.getQuery()); if (vce != null) { return new ValueComparisonExpression(vce.getField(), vce.getOp().negate(), vce.getRvalue()); } else { FieldComparisonExpression fce = dyncast(FieldComparisonExpression.class, le.getQuery()); if (fce != null) { return new FieldComparisonExpression(fce.getField(), fce.getOp().negate(), fce.getRfield()); } else { NaryValueRelationalExpression nre = dyncast(NaryValueRelationalExpression.class, le.getQuery()); if (nre != null) { return new NaryValueRelationalExpression(nre.getField(), nre.getOp().negate(), nre.getValues()); } else { NaryFieldRelationalExpression nfe = dyncast(NaryFieldRelationalExpression.class, le.getQuery()); if (nfe != null) { return new NaryFieldRelationalExpression(nfe.getField(), nfe.getOp().negate(), nfe.getRfield()); } } } } } return q; } }
@Override public QueryExpression rewrite(QueryExpression q) { UnaryLogicalExpression le = dyncast(UnaryLogicalExpression.class, q); if (le != null && le.getOp() == UnaryLogicalOperator._not) { ValueComparisonExpression vce = dyncast(ValueComparisonExpression.class, le.getQuery()); if (vce != null) { return new ValueComparisonExpression(vce.getField(), vce.getOp().negate(), vce.getRvalue()); } else { FieldComparisonExpression fce = dyncast(FieldComparisonExpression.class, le.getQuery()); if (fce != null) { return new FieldComparisonExpression(fce.getField(), fce.getOp().negate(), fce.getRfield()); } else { NaryValueRelationalExpression nre = dyncast(NaryValueRelationalExpression.class, le.getQuery()); if (nre != null) { return new NaryValueRelationalExpression(nre.getField(), nre.getOp().negate(), nre.getValues()); } else { NaryFieldRelationalExpression nfe = dyncast(NaryFieldRelationalExpression.class, le.getQuery()); if (nfe != null) { return new NaryFieldRelationalExpression(nfe.getField(), nfe.getOp().negate(), nfe.getRfield()); } } } } } return q; } }