/** * La query passee dans le constructeur ou une nouvelle query si aucune * query n'avait ete passee dans le constructeur * * @return */ public WikittyQuery getQuery() { if (query == null) { query = new WikittyQuery(); } // la condition de la query doit toujours refleter la valeur courante // de la condition en cours de creation query.setCondition(getCondition()); return query; }
protected List<String> evalConditionValueAsList(ConditionValue o) { List<String> result = new ArrayList<String>(); if (o instanceof Select) { WikittyQuery query = new WikittyQuery(o); // eval select WikittyQueryResult<String> selectResult = searchEngine.findAllByQuery(tx, query).convertMapToSimpleString(); result.addAll(selectResult.getAll()); } else if (o instanceof ConditionValueString) { result.add(((ConditionValueString)o).getValue()); } else { throw new WikittyException(String.format( "ConditionValue type unsupported %s", ClassUtils.getShortCanonicalName(o, "null"))); } return result; } protected String evalConditionValue(ConditionValue o) {
protected List<String> evalConditionValueAsList(ConditionValue o) { List<String> result = new ArrayList<String>(); if (o instanceof Select) { WikittyQuery query = new WikittyQuery(o); // eval select WikittyQueryResult<String> selectResult = searchEngine.findAllByQuery(tx, query).convertMapToSimpleString(); for (String s : selectResult) { result.add(escape2solr(s)); } } else if (o instanceof ConditionValueString) { result.add(escape2solr(((ConditionValueString)o).getValue())); } else { throw new WikittyException(String.format( "ConditionValue type unsupported %s", ClassUtils.getShortCanonicalName(o, "null"))); } return result; } protected String evalConditionValue(ConditionValue o) {
protected String evalConditionValue(ConditionValue o) { String result; if (o instanceof Select) { WikittyQuery query = new WikittyQuery(o);
protected String evalConditionValue(ConditionValue o) { String result; if (o instanceof Select) { WikittyQuery query = new WikittyQuery(o).setLimit(WikittyQuery.MAX);
Rule start() { return Sequence(FirstOf(or(), empty()), push(new WikittyQuery((Condition)pop())), offset(), limit(), depth(), space(), EOI); }