/** * Retourne un nouveau WikittyQueryResult avec comme resultat la liste * des ids des wikitties selectionnes par la Query initiale * @return * @since 3.10 */ public WikittyQueryResult<String> getWikittyResult() { WikittyQueryResult<String> result = new WikittyQueryResult<String>( queryName, offset, totalResult, query, queryString, wikittyIdResult, selectResult, wikittyIdResult, facets, timeQuery, timeConvertion); return result; }
/** * Retourne les resultats de select * @return * @since 3.10 */ public WikittyQueryResult<Map<String, Object>> getSelectResult() { WikittyQueryResult<Map<String, Object>> result = null; if (hasSelectResult()) { result = new WikittyQueryResult<Map<String, Object>>( queryName, offset, totalResult, query, queryString, selectResult, selectResult, wikittyIdResult, facets, timeQuery, timeConvertion); } return result; }
/** * Retourne les resultats de select pour le champs demande * * @param resultName * @return * @since 3.10 */ public WikittyQueryResult<Object> getSelectResult(String resultName) { List<Object> data = new ArrayList(selectResultSize()); for (Map<String, Object> m : selectResult) { data.add(m.get(resultName)); } WikittyQueryResult<Object> result = new WikittyQueryResult<Object>( queryName, offset, totalResult, query, queryString, data, selectResult, wikittyIdResult, facets, timeQuery, timeConvertion); return result; }
/** * if this WikittyQueryResult contains Map<String, Object>, and * each Map contains only one value, this methode return * new WikittyQueryResult with value only (no more map). * * If this WikittyQueryResult don't contains Map, then this is returned * * @return */ public <E> WikittyQueryResult<E> convertMapToSimple() { WikittyQueryResult<E> result; if (results.isEmpty() || !(results.get(0) instanceof Map)) { result = (WikittyQueryResult<E>)this; } else { List<E> data = new ArrayList<E>(results.size()); for (Map map : (List<Map>)results) { if (map.size() != 1) { throw new IllegalStateException(String.format( "Map must have ONE element (currently %s", map.size())); } data.addAll(map.values()); } result = new WikittyQueryResult<E>( queryName, offset, totalResult, query, queryString, data, selectResult, wikittyIdResult, facets, timeQuery, timeConvertion); } return result; }
public WikittyQueryResult<String> convertMapToSimpleString() { List dataObject = convertMapToSimple().getAll(); List<String> data = new ArrayList<String>(dataObject.size()); for (Object o : dataObject) { data.add(WikittyUtil.toString(o)); } WikittyQueryResult<String> result = new WikittyQueryResult<String>( queryName, offset, totalResult, query, queryString, data, selectResult, wikittyIdResult, facets, timeQuery, timeConvertion); return result; }
/** * Convert all result to the wanted type and return new WikittyQueryResult * with this new result list. For business object transformation, if some * result don't have the right extension (clazz) this extension is * automatically added. * * @param queryResult result to convert * @param target to cast into. * Can be Wikitty, BusinessEntity, String, Date, Number (returned is BigDecimal), Boolean, byte[] * @return new WikittyQueryResult with element in right class or Exception * if conversion is impossible * @since 3.10 */ public <E, F> WikittyQueryResult<Map<String, E>> castToMap( WikittyClient client, Class<E> target) { WikittyQueryResult<Map<String, E>> result; long startTime = System.nanoTime(); List<Map<String, E>> castedResult = client.castToMap(target, (List<Map<String, F>>)this.getAll()); long estimatedTime = System.nanoTime() - startTime; result = new WikittyQueryResult<Map<String, E>>( queryName, offset, totalResult, query, queryString, castedResult, selectResult, wikittyIdResult, facets, timeQuery, estimatedTime); return result; }
/** * Convert all result to the wanted type and return new WikittyQueryResult * with this new result list. For business object transformation, if some * result don't have the right extension (clazz) this extension is * automatically added. * * @param queryResult result to convert * @param target to cast into. * Can be Wikitty, BusinessEntity, String, Date, Number (returned is BigDecimal), Boolean, byte[] * @return new WikittyQueryResult with element in right class or Exception * if conversion is impossible * @since 3.10 */ public <E> WikittyQueryResult<E> castTo(WikittyClient client, Class<E> target) { WikittyQueryResult<E> result; if (target == null || Map.class.isAssignableFrom(target)) { result = (WikittyQueryResult<E>)this; } else { long startTime = System.nanoTime(); WikittyQueryResult queryResultFlated = convertMapToSimple(); List<E> castedResult = client.castTo(target, queryResultFlated.getAll()); long estimatedTime = System.nanoTime() - startTime; result = new WikittyQueryResult<E>( queryName, offset, totalResult, query, queryString, castedResult, selectResult, wikittyIdResult, facets, timeQuery, estimatedTime); } return result; }
@Override public void exportWriter(String securityToken, Writer writer, WikittyService ws, PagedResult<Wikitty> pagedResult) throws Exception { WikittyClient client = new WikittyClient(null, ws, securityToken); Map<String, List<FacetTopic>> facet = new HashMap<String, List<FacetTopic>>(); for (Map.Entry<String, List<org.nuiton.wikitty.search.FacetTopic>> e : pagedResult.getFacets().entrySet()) { String facetName = e.getKey(); List<FacetTopic> topics = new ArrayList<FacetTopic>(); // since 3.4, facet extension has changed of name if (org.nuiton.wikitty.search.operators.Element.ELT_EXTENSION.equals(facetName)) { facet.put(Element.EXTENSION.getValue(), topics); } else { facet.put(facetName, topics); } for (org.nuiton.wikitty.search.FacetTopic f : e.getValue()) { topics.add(new FacetTopic(f.getFacetName(), f.getTopicName(), f.getCount())); } } WikittyQueryResult<Wikitty> queryResult = new WikittyQueryResult( pagedResult.getCriteriaName(), pagedResult.getFirstIndice(), pagedResult.getNumFound(), null, pagedResult.getQueryString(), pagedResult.getAll(), null, null, facet, 0, 0); exportWriter(client, writer, queryResult); }
long timeQuery = resultTx.getTimeQuery() + resultWs.getTimeQuery() + timeEnd - timeStart; result.add(new WikittyQueryResult<Map<String, Object>>( queryName, firstIndice, numFound, query, queryString, results, selectFusion, wikittyId, facets,
@Override public void exportWriter(String securityToken, Writer result, WikittyService ws, PagedResult<Wikitty> pagedResult) throws Exception { WikittyClient client = new WikittyClient(null, ws, securityToken); WikittyQueryResult<Wikitty> queryResult = new WikittyQueryResult( pagedResult.getCriteriaName(), pagedResult.getFirstIndice(), pagedResult.getNumFound(), null, pagedResult.getQueryString(), pagedResult.getAll(), null, null,null, 0, 0); exportWriter(client, result, queryResult); } }
new WikittyQueryResult<Map<String, Object>>( queryWithoutSelect.getName(), offset, totalResult, query, queryWithoutSelect.getCondition().toString(),
WikittyQueryResult result = new WikittyQueryResult( query.getName(), offset, numFound, query, queryString, values, selectResult, wikittyId, facets,