public static void printQueryWithFilterClause(Queue filterClausequeue, String tableName) { StringBuilder printQuery = new StringBuilder("Fetch data from ").append(tableName).append(" for "); for (Object clause : filterClausequeue) { if (clause instanceof FilterClause) { printQuery.append(((FilterClause) clause).getProperty()).append(" ") .append(((FilterClause) clause).getCondition()).append(" ") .append(((FilterClause) clause).getValue()); } else { printQuery.append(" ").append(clause.toString()).append(" "); } } KunderaCoreUtils.printQuery(printQuery.toString(), true); }
/** * Returns clause value for supplied parameter. * * @param paramString * the param string * @return the clause value */ public List<Object> getClauseValue(String paramString) { if (typedParameter != null && typedParameter.getParameters() != null) { List<FilterClause> clauses = typedParameter.getParameters().get(paramString); if (clauses != null) { return clauses.get(0).getValue(); } else { throw new IllegalArgumentException("parameter is not a parameter of the query"); } } logger.error("Parameter {} is not a parameter of the query.", paramString); throw new IllegalArgumentException("Parameter is not a parameter of the query."); }
sb.append(appendRange(filter.getValue().get(0).toString(), false, true, String.class)); appended = true; sb.append(appendRange(filter.getValue().get(0).toString(), true, true, String.class)); appended = true; sb.append(appendRange(filter.getValue().get(0).toString(), false, false, String.class)); appended = true; sb.append(appendRange(filter.getValue().get(0).toString(), true, false, String.class)); appended = true; List<Object> items = filter.getValue(); Object firstItem = items.get(0); if (firstItem.getClass().isArray()) if (appender.equals("") && filter.getValue() != null && filter.getValue().get(0).toString().contains(" ")) sb.append(filter.getValue().get(0).toString()); sb.append("\""); sb.append(filter.getValue().get(0)); sb.append(appender);
Object value = ((FilterClause) clause).getValue().get(0); String condition = ((FilterClause) clause).getCondition(); String columnName = ((FilterClause) clause).getProperty();
String fieldName = clause.getProperty(); String condition = clause.getCondition(); List<Object> value = clause.getValue(); boolean useInClause = condition.trim().equalsIgnoreCase("IN");
Object value = clause.getValue().get(0); String propertyName = clause.getProperty(); String condition = clause.getCondition();
Object value = ((FilterClause) clause).getValue().get(0); String condition = ((FilterClause) clause).getCondition(); String columnName = ((FilterClause) clause).getProperty();
Object value = ((FilterClause) clause).getValue();
Assert.assertNotNull(((FilterClause) clause).getValue().get(0)); Assert.assertNotNull(((FilterClause) clause).getCondition());
Object value = ((FilterClause) clause).getValue(); if (!indexes.containsKey(fieldName))
String property = filter.getProperty(); String condition = filter.getCondition(); String valueAsString = filter.getValue().get(0).toString(); String fieldName = metadata.getFieldName(property); boolean isEmbeddedId = metaModel.isEmbeddable(metadata.getIdAttribute().getBindableJavaType()); valueAsString = prepareCompositeKey(metadata.getIdAttribute(), metaModel, filter.getValue() .get(0)); queryBuilder.appendIndexName(metadata.getIndexName()).appendPropertyName(idColumn) if (metaModel.isEmbeddable(filter.getValue().get(0).getClass())) prepareLuceneQueryForPartitionKey(queryBuilder, filter.getValue().get(0), metaModel, metadata.getIndexName(), valueClazz);
List<Object> value = clause.getValue(); if (value != null && value.size() > 1) { log.error("IN clause is not enabled for thrift, use cql3.");
Object value = condition.equals(Expression.IN) ? clause.getValue() : clause.getValue().get(0); String name = ((AbstractAttribute) ((MetamodelImpl) kunderaMetadata.getApplicationMetadata().getMetamodel( metadata.getPersistenceUnit())).entity(metadata.getEntityClazz()).getAttribute(clause.getProperty())) filterBuilder = new TermsQueryBuilder(name, clause.getValue());
Object value = ((FilterClause) obj).getValue().get(0); if (idColumn.equalsIgnoreCase(name))
Attribute attribute = compoundKey.getAttribute(field.getName()); String columnName = ((AbstractAttribute) attribute).getJPAColumnName(); Object value = PropertyAccessorHelper.getObject(filterClause.getValue().get(0), field); translator.buildWhereClause(builder, f.getType(), jpaColumnName, filterClause.getValue().get(0), filterClause.getCondition(), false);
/** * Gets the query. * * @param clause * the clause * @param metadata * the metadata * @return the query */ private QueryBuilder getQueryBuilder(FilterClause clause, final EntityMetadata metadata) { String condition = clause.getCondition(); String value = clause.getValue().get(0).toString(); String name = ((AbstractAttribute) ((MetamodelImpl) kunderaMetadata.getApplicationMetadata().getMetamodel( metadata.getPersistenceUnit())).entity(metadata.getEntityClazz()).getAttribute(clause.getProperty())) .getJPAColumnName(); String likePattern = value.contains(ESConstants.PERCENTAGE) ? value.replaceAll(ESConstants.PERCENTAGE, ESConstants.ASTERISK) : ESConstants.ASTERISK + value + ESConstants.ASTERISK; QueryBuilder queryBuilder = null; if (condition.equals(Expression.LIKE)) { queryBuilder = QueryBuilders.wildcardQuery(name, likePattern); } return QueryBuilders.queryFilter(queryBuilder); } }
@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 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); }