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); }
String condition = filter.getCondition().trim(); if (condition.equals("="))
String condition = clause.getCondition(); List<Object> value = clause.getValue(); if (value != null && value.size() > 1) {
/** * 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); } }
String condition = filter.getCondition(); boolean ignoreCase = filter.isIgnoreCase();
String condition = ((FilterClause) clause).getCondition(); String columnName = ((FilterClause) clause).getProperty();
FilterClause clause = ((FilterClause) o); 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();
String condition = ((FilterClause) clause).getCondition(); String columnName = ((FilterClause) clause).getProperty();
String condition = ((FilterClause) clause).getCondition(); Object value = ((FilterClause) clause).getValue();
Assert.assertNotNull(((FilterClause) clause).getCondition());
String condition = filter.getCondition(); String valueAsString = filter.getValue().get(0).toString(); String fieldName = metadata.getFieldName(property);
String condition = clause.getCondition(); Object value = condition.equals(Expression.IN) ? clause.getValue() : clause.getValue().get(0); String name = ((AbstractAttribute) ((MetamodelImpl) kunderaMetadata.getApplicationMetadata().getMetamodel(
String condition = ((FilterClause) obj).getCondition(); String name = ((FilterClause) obj).getProperty(); Object value = ((FilterClause) obj).getValue().get(0);
filterClause.getCondition(), false); filterClause.getCondition(), false);
FilterClause clause = (FilterClause) filterObject; Assert.assertEquals(expectedConditions.get(index), clause.getCondition()); Assert.assertEquals(expectedIgnoreCaseSettings.get(index), clause.isIgnoreCase());
String condition = clause.getCondition();
/** * 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; }
/** * 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; }