List of usage examples for org.apache.lucene.queryparser.flexible.core.nodes ModifierQueryNode getChild
public QueryNode getChild()
From source file:com.sindicetech.siren.qparser.keyword.processors.GroupQueryNodeProcessor.java
License:Open Source License
/** */// w w w. j a v a 2s .com private QueryNode applyModifier(final QueryNode node, final QueryNode parent) { // if the default operator is AND if (this.usingAnd) { // if the parent is a or operator if (parent instanceof OrQueryNode) { // remove the modifier if (node instanceof ModifierQueryNode) { final ModifierQueryNode modNode = (ModifierQueryNode) node; if (modNode.getModifier() == Modifier.MOD_REQ) { return modNode.getChild(); } } // at this stage, the node does not have modifier, which means it is an SHOULD clause } // in any other case, add the MOD_REQ modifier as default else { if (node instanceof ModifierQueryNode) { final ModifierQueryNode modNode = (ModifierQueryNode) node; if (modNode.getModifier() == Modifier.MOD_NONE) { return new BooleanModifierNode(modNode.getChild(), Modifier.MOD_REQ); } } else { return new BooleanModifierNode(node, Modifier.MOD_REQ); } } } // if the default operator is OR else { // if the parent operator is AND if (parent instanceof AndQueryNode) { // add the MOD_REQ modifier if (node instanceof ModifierQueryNode) { final ModifierQueryNode modNode = (ModifierQueryNode) node; if (modNode.getModifier() == Modifier.MOD_NONE) { return new BooleanModifierNode(modNode.getChild(), Modifier.MOD_REQ); } } else { return new BooleanModifierNode(node, Modifier.MOD_REQ); } } } return node; }
From source file:org.sindice.siren.qparser.keyword.processors.GroupQueryNodeProcessor.java
License:Apache License
/** *///w w w . j a v a 2s . c o m private QueryNode applyModifier(final QueryNode node, final QueryNode parent) { if (this.usingAnd) { if (parent instanceof OrQueryNode) { if (node instanceof ModifierQueryNode) { final ModifierQueryNode modNode = (ModifierQueryNode) node; if (modNode.getModifier() == Modifier.MOD_REQ) { return modNode.getChild(); } } } else { if (node instanceof ModifierQueryNode) { final ModifierQueryNode modNode = (ModifierQueryNode) node; if (modNode.getModifier() == Modifier.MOD_NONE) { return new BooleanModifierNode(modNode.getChild(), Modifier.MOD_REQ); } } else { return new BooleanModifierNode(node, Modifier.MOD_REQ); } } } else { if (parent instanceof AndQueryNode) { if (node instanceof ModifierQueryNode) { final ModifierQueryNode modNode = (ModifierQueryNode) node; if (modNode.getModifier() == Modifier.MOD_NONE) { return new BooleanModifierNode(modNode.getChild(), Modifier.MOD_REQ); } } else { return new BooleanModifierNode(node, Modifier.MOD_REQ); } } } return node; }