use of org.w3._2007.rif.ExternalFORMULAType in project hale by halestudio.
the class ModelRifToRifTranslator method createExternalPredicateFilter.
private void createExternalPredicateFilter(ModelRifMappingCondition mappingCondition, Formula filterFormula) {
// create an <External>/<content>/<Atom> element hierarchy
ExternalFORMULAType external = factory.createExternalFORMULAType();
filterFormula.setExternal(external);
ContentFORMULAType content = factory.createContentFORMULAType();
external.setContent(content);
Atom atom = factory.createAtom();
content.setAtom(atom);
Op op = factory.createOp();
ArgsUNITERMType args = factory.createArgsUNITERMType();
atom.setOp(op);
Const opConst = factory.createConst();
// $NON-NLS-1$
opConst.setType("rif:iri");
opConst.getContent().add(mappingCondition.getOperator().getRifPredicate());
op.setConst(opConst);
atom.setArgs(args);
// $NON-NLS-1$
args.setOrdered("yes");
Var var = factory.createVar();
var.getContent().add(mappingCondition.getLeft().getName());
args.getTERM().add(var);
Const argsConst = factory.createConst();
argsConst.setType(getLiteralTypeFor(mappingCondition.getLiteralClass()));
String literalValue = mappingCondition.getLiteralValue().toString();
// remove any wildcards
if (mappingCondition.getOperator().equals(ComparisonType.STRING_CONTAINS)) {
// $NON-NLS-1$ //$NON-NLS-2$
literalValue = literalValue.replaceAll("%", "");
}
argsConst.getContent().add(literalValue);
args.getTERM().add(argsConst);
// $NON-NLS-1$ //$NON-NLS-2$
log.fine("Filter is a " + mappingCondition.getOperator().toString() + " filter");
}
Aggregations