/** * Parse et ajoute un bout de requete. Cette requete est prise comme une * condition terminal si l'on veut continuer a construire la requete, il * faut avoir ajouter avant une * {@link #and()}, {@link #or()}, {@link #not()}, {@link #containsOne()} * @param query la requete a ajouter (peut-etre vide ou nul, dans ce cas, la * condition utiliser est "true") * @param includeExtra copy offset, limit, depth found in query if true * @return {@code this} with the {@code c} restriction added. */ public M parse(String query, boolean includeExtra) { if (StringUtils.isNotBlank(query)) { WikittyQuery filter = WikittyQueryParser.parse(query); addCondition(filter.getCondition(), true); if (includeExtra) { WikittyQuery q = getQuery(); q.setOffset(filter.getOffset()); q.setLimit(filter.getLimit()); q.setWikittyFieldSearchDepth(filter.getWikittyFieldSearchDepth()); } } else { addCondition(new True()); } return this.asM(); }
transaction, this, elementModifier, queryWithoutSelect.getWikittyFieldSearchDepth()); queryWithoutSelect.getCondition().accept(v); String queryString = v.getSolrQuery();
@Override public boolean equals(Object o) { boolean result; if (o == null) { result = false; } else if (ObjectUtils.equals(this.getClass(), o.getClass())) { WikittyQuery other = (WikittyQuery)o; result = ObjectUtils.equals(this.getName(), other.getName()) && ObjectUtils.equals(this.getOffset(), other.getOffset()) && ObjectUtils.equals(this.getLimit(), other.getLimit()) && ObjectUtils.equals(this.isFacetExtension(), other.isFacetExtension()) && ObjectUtils.equals(this.getFacetField(), other.getFacetField()) && ObjectUtils.equals(this.getSortAscending(), other.getSortAscending()) && ObjectUtils.equals(this.getSortDescending(), other.getSortDescending()) && ObjectUtils.equals(this.getFacetLimit(), other.getFacetLimit()) && ObjectUtils.equals(this.getFacetSort(), other.getFacetSort()) && ObjectUtils.equals(this.getFacetMinCount(), other.getFacetMinCount()) && ObjectUtils.equals(this.getFacetQuery(), other.getFacetQuery()) && ObjectUtils.equals(this.getCondition(), other.getCondition()) && ObjectUtils.equals(this.getWikittyFieldSearchDepth(), other.getWikittyFieldSearchDepth()); } else { result = false; } return result; }
@Override public boolean visitEnter(WikittyQuery o) { WikittyQuery q = getQuery(); q.setFacetExtension(q.isFacetExtension()); q.setFacetField(new ArrayList<Element>(o.getFacetField())); q.setFacetLimit(o.getFacetLimit()); q.setFacetMinCount(o.getFacetMinCount()); q.setOffset(o.getOffset()); q.setLimit(o.getLimit()); q.setFacetSort(o.getFacetSort()); q.setName(o.getName()); q.setSortAscending(new ArrayList<Element>(o.getSortAscending())); q.setSortDescending(new ArrayList<Element>(o.getSortDescending())); q.setWikittyFieldSearchDepth(o.getWikittyFieldSearchDepth()); for (FacetQuery c : o.getFacetQuery()) { WikittyQueryVisitorCopy v = new WikittyQueryVisitorCopy(); c.getCondition().accept(v); Condition condition = v.getCondition(); q.addFacetQuery(c.getName(), condition); } return true; }