Package org.sindice.siren.qparser.keyword.nodes

Examples of org.sindice.siren.qparser.keyword.nodes.DatatypeQueryNode


      this.queryNodeList = actualQueryNodeList;
      this.latestNodeVerified = false;
    }
    else if (node instanceof DatatypeQueryNode) {
      final ArrayList<QueryNode> actualQueryNodeList = this.queryNodeList;
      final DatatypeQueryNode dtNode = (DatatypeQueryNode) node;
      final QueryNode child = dtNode.getChild();
      dtNode.set(Arrays.asList(this.applyModifier(this.process(child), node.getParent())));
      actualQueryNodeList.add(dtNode);
      this.queryNodeList = actualQueryNodeList;
      this.latestNodeVerified = false;
    }
    else if (!(node instanceof BooleanQueryNode)) {
View Full Code Here


  throws QueryNodeException {
    if (node instanceof DatatypeQueryNode) {
      // Set the datatype analyzer to use on the descendant querynodes
      final QueryConfigHandler conf = this.getQueryConfigHandler();
      final Map<String, Analyzer> dtAnalyzers = conf.get(KeywordConfigurationKeys.DATATYPES_ANALYZERS);
      final DatatypeQueryNode dt = (DatatypeQueryNode) node;

      if (dtAnalyzers == null) {
        throw new IllegalArgumentException("KeywordConfigurationKeys.DATAYPES_ANALYZERS " +
            "should be set on the KeywordQueryConfigHandler");
      }
      if (!dtAnalyzers.containsKey(dt.getDatatype())) {
        throw new IllegalArgumentException("Unknown datatype: [" + dt.getDatatype() + "]");
      }
      // check no datatype is already set
      if (datatype != null) {
        throw new IllegalArgumentException("Cannot use more than one datatype in a same tree. " +
            "Using [" + datatype + "], but receieved also [" + dt.getDatatype() + "]");
      }
      if (dtAnalyzers.get(dt.getDatatype()) == null) {
        throw new IllegalArgumentException("Analyzer of datatype [" + datatype + "] cannot be null.");
      }

      datatype = dt.getDatatype();
    }
    // parent twig query
    else if (node instanceof TwigQueryNode) {
      nbTwigs++;
      if (nbTwigs == 1) {
View Full Code Here

* {@link QueryTreeBuilder#QUERY_TREE_BUILDER_TAGID} tag.
*/
public class DatatypeQueryNodeBuilder implements KeywordQueryBuilder {

  public Query build(final QueryNode queryNode) throws QueryNodeException {
    final DatatypeQueryNode dtNode = (DatatypeQueryNode) queryNode;
    final QueryNode child = dtNode.getChild();

    assert queryNode.getChildren().size() == 1;

    final Query query = (Query) child.getTag(QueryTreeBuilder.QUERY_TREE_BUILDER_TAGID);
    this.setDatatype(child, dtNode.getDatatype());
    return query;
  }
View Full Code Here

TOP

Related Classes of org.sindice.siren.qparser.keyword.nodes.DatatypeQueryNode

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.