/** * Adds the where clause. * * @param builder * the builder */ void addWhereClause(StringBuilder builder) { if (!getKunderaQuery().getFilterClauseQueue().isEmpty()) { builder.append(CQLTranslator.ADD_WHERE_CLAUSE); } }
if (query.getKunderaQuery().getFilterClauseQueue().isEmpty())
@Override protected List findUsingLucene(EntityMetadata m, Client client) { CouchDBQueryInterpreter interpreter = onTranslation(getKunderaQuery().getFilterClauseQueue(), m); return ((CouchDBClient) client).createAndExecuteQuery(interpreter); }
/** * Checks whether a given JPA DML query is convertible to CQL. * * @param kunderaQuery * the kundera query * @return true, if is query convertible to cql */ private boolean isQueryConvertibleToCQL(KunderaQuery kunderaQuery) { EntityMetadata m = kunderaQuery.getEntityMetadata(); if (kunderaQuery.isUpdateClause() && m.isCounterColumnType()) return false; List<String> opsNotAllowed = Arrays.asList(new String[] { ">", "<", ">=", "<=" }); boolean result = false; if (!kunderaQuery.getFilterClauseQueue().isEmpty()) { String idColumn = ((AbstractAttribute) m.getIdAttribute()).getJPAColumnName(); for (Object o : kunderaQuery.getFilterClauseQueue()) { if (o instanceof FilterClause) { FilterClause filterClause = (FilterClause) o; if (!idColumn.equals(filterClause.getProperty()) || opsNotAllowed.contains(filterClause.getCondition())) { result = false; break; } result = true; } } } return result; }
@Override protected List<Object> recursivelyPopulateEntities(EntityMetadata m, Client client) { List<EnhanceEntity> ls = new ArrayList<EnhanceEntity>(); RedisQueryInterpreter interpreter = onTranslation(getKunderaQuery().getFilterClauseQueue(), m); ls = ((RedisClient) client).onExecuteQuery(interpreter, m.getEntityClazz()); return setRelationEntities(ls, client, m); }
@Override protected List findUsingLucene(EntityMetadata m, Client client) { RedisQueryInterpreter interpreter = onTranslation(getKunderaQuery().getFilterClauseQueue(), m); return ((RedisClient) client).onExecuteQuery(interpreter, m.getEntityClazz()); }
@Override protected List findUsingLucene(EntityMetadata m, Client client) { OracleNoSQLQueryInterpreter interpreter = translateQuery(getKunderaQuery().getFilterClauseQueue(), m); return ((OracleNoSQLClient) client).executeQuery(m.getEntityClazz(), interpreter, null); }
@Override protected List<Object> populateEntities(EntityMetadata m, Client client) { if (log.isDebugEnabled()) { log.debug("Populating entities for JPA query on OracleNOSQL"); } OracleNoSQLQueryInterpreter interpreter = translateQuery(getKunderaQuery().getFilterClauseQueue(), m); ClientMetadata clientMetadata = ((ClientBase) client).getClientMetadata(); if (!MetadataUtils.useSecondryIndex(clientMetadata) && !(clientMetadata.getIndexImplementor() != null && clientMetadata.getIndexImplementor().equals( OracleNoSQLInvertedIndexer.class.getName()))) { return populateUsingLucene(m, client, null, interpreter.getSelectColumns()); } else { return (List<Object>) ((OracleNoSQLClient) client).executeQuery(m.getEntityClazz(), interpreter, null); } }
RedisQueryInterpreter interpreter = onTranslation(getKunderaQuery().getFilterClauseQueue(), entityMetadata); results.addAll((List<Object>) ((RedisClient) client).onExecuteQuery(interpreter, entityMetadata.getEntityClazz()));
@Override protected List findUsingLucene(EntityMetadata m, Client client) { QueryTranslator translator = new QueryTranslator(); translator.translate(getKunderaQuery(), m, ((ClientBase) client).getClientMetadata()); List<String> columns = getTranslatedColumns(m, getKunderaQuery().getResult(), 1); return ((HBaseClient) client).findByRange(m.getEntityClazz(), m, translator.getStartRow(), translator .getEndRow(), columns.toArray(new String[columns.size()]), null, getKunderaQuery() .getFilterClauseQueue()); }
for (Object o : query.getKunderaQuery().getFilterClauseQueue())
String columnName = ((AbstractAttribute) entityType.getAttribute(idField)).getJPAColumnName(); List<Object> result = new ArrayList<Object>(); Queue queue = getKunderaQuery().getFilterClauseQueue(); KunderaQuery kunderaQuery = getKunderaQuery();
@Override protected List findUsingLucene(EntityMetadata m, Client client) { QueryTranslator translator = new QueryTranslator(); translator.translate(getKunderaQuery(), m, true); List<Map<String, Object>> columns = translator.getColumnsToOutput(m, getKunderaQuery(), true); Object value = null; for (Object obj : getKunderaQuery().getFilterClauseQueue()) { if (obj instanceof FilterClause) { value = ((FilterClause) obj).getValue().get(0); } } byte[] valueInBytes = HBaseUtils.getBytes(value, ((AbstractAttribute) m.getIdAttribute()).getBindableJavaType()); return ((HBaseClient) client).findData(m, valueInBytes, null, null, columns, null); }
/** * Initializes reader with conditions and filter in case for JPA/Named query * only! * */ private void initializeReader() { boolean isNative = kunderaQuery.isNative(); if (!isNative) { getReader().setConditions(getKunderaQuery().getFilterClauseQueue()); getReader().setFilter(getKunderaQuery().getFilter()); } }
@Override public Iterator iterate() { return new ResultIterator((CouchDBClient) persistenceDelegeator.getClient(getEntityMetadata()), getEntityMetadata(), persistenceDelegeator, onTranslation(getKunderaQuery().getFilterClauseQueue(), getEntityMetadata()), getFetchSize() != null ? getFetchSize() : this.maxResult); }
@Override protected List findUsingLucene(EntityMetadata m, Client client) { try { BasicDBObject orderByClause = getOrderByClause(m); // find on id, so no need to add skip() [firstResult hardcoded 0] return ((MongoDBClient) client).loadData(m, createMongoQuery(m, getKunderaQuery().getFilterClauseQueue()), null, orderByClause, isSingleResult ? 1 : maxResult, 0, isCountQuery(), getKeys(m, getKunderaQuery().getResult()), getKunderaQuery().getResult()); } catch (Exception e) { log.error("Error during executing query, Caused by:", e); throw new QueryHandlerException(e); } }
/** * Populate results. * * @param m * the m * @param client * the client * @return the list */ @Override protected List populateEntities(EntityMetadata m, Client client) { ClientMetadata clientMetadata = ((ClientBase) client).getClientMetadata(); this.useLuceneOrES = !MetadataUtils.useSecondryIndex(clientMetadata); if (useLuceneOrES) { return populateUsingLucene(m, client, null, kunderaQuery.getResult()); } else { CouchDBQueryInterpreter interpreter = onTranslation(getKunderaQuery().getFilterClauseQueue(), m); return ((CouchDBClient) client).createAndExecuteQuery(interpreter); } }
@Override protected List<Object> populateEntities(EntityMetadata m, Client client) { // Only find by id queries supported. EntityMetadata entityMetadata = getEntityMetadata(); Object value = null; for(Object clause: getKunderaQuery().getFilterClauseQueue()) { if(clause instanceof FilterClause) { String property = ((FilterClause)clause).getProperty(); String condition = ((FilterClause)clause).getCondition(); value = ((FilterClause)clause).getValue().get(0); } } Object result = client.find(m.getEntityClazz(), value); List results = new ArrayList(); if(result != null) { results.add(result); } return results; }
@Override public Iterator iterate() { EntityMetadata m = getEntityMetadata(); Client client = persistenceDelegeator.getClient(m); return new ResultIterator((MongoDBClient) client, m, createMongoQuery(m, getKunderaQuery().getFilterClauseQueue()), getOrderByClause(m), getKeys(m, getKunderaQuery().getResult()), persistenceDelegeator, getFetchSize() != null ? getFetchSize() : this.maxResult); }
kunderaQuery.getEntityMetadata())); Assert.assertNotNull(kunderaQuery.getFilter()); Assert.assertFalse(kunderaQuery.getFilterClauseQueue().isEmpty()); Assert.assertNotNull(kunderaQuery.getFrom()); Assert.assertTrue(kunderaQuery.getUpdateClauseQueue().isEmpty()); for (Object filterObject : kunderaQuery.getFilterClauseQueue()) { if (filterObject instanceof FilterClause) { FilterClause clause = (FilterClause) filterObject;