/** * Sets the filters from where clause. * * @param query * the query * @param m * the m * @param useLuceneOrES * the use lucene or es * @return the filters from where clause */ private Filter getFiltersFromWhereClause(KunderaQuery query, EntityMetadata m, Boolean useLuceneOrES) { String idColumn = ((AbstractAttribute) m.getIdAttribute()).getJPAColumnName(); WhereClause whereClause = KunderaQueryUtils.getWhereClause(query.getJpqlExpression()); if (whereClause != null) { this.isWhereOrAggregation = true; if (!useLuceneOrES) return traverse(whereClause.getConditionalExpression(), m, idColumn); } return null; }
WhereClause whereClause = new WhereClause(); if(!(txt_billing2.getText().trim().isEmpty())) { whereClause.addParameter("BILLING", txt_billing2.getText().trim()); } ... if(!(txt_umonth2.getText().trim().isEmpty())) { whereClause.addParameter("UMONTH ", txt_umonth2.getText().trim()); } String sql = "SELECT * FROM airindia_sqlite" + whereClause.getWhereClause(); ps = con.prepareStatement(sql); Map<Integer, Object> parameters = whereClause.getParameters(); for (Integer key : parameters.keySet()) { ps.setObject(key, parameters.get(key)); } rs = ps.executeQuery();
/** * {@inheritDoc} */ public JPQLQueryBNF getQueryBNF() { return getQueryBNF(WhereClauseBNF.ID); } }
/** * {@inheritDoc} */ @Override public void visit(WhereClause expression) { if (expression.hasConditionalExpression()) { conditionalExpression = true; expression.getConditionalExpression().accept(this); conditionalExpression = false; } } }
/** * {@inheritDoc} */ @Override protected AbstractExpression buildExpression(AbstractExpression parent, WordParser wordParser, String word, JPQLQueryBNF queryBNF, AbstractExpression expression, boolean tolerant) { expression = new WhereClause(parent); expression.parse(wordParser, tolerant); return expression; } }
/** * {@inheritDoc} */ @Override public void visit(WhereClauseStateObject stateObject) { if (stateObject.isDecorated()) { toText(stateObject); } else { WhereClause expression = stateObject.getExpression(); // 'WHERE appendIdentifier((expression != null) ? expression.getActualIdentifier() : WHERE, WHERE); if (exactMatch && (expression != null) && expression.hasSpaceAfterIdentifier() || stateObject.hasConditional()) { writer.append(SPACE); } // Conditional expression if (stateObject.hasConditional()) { stateObject.getConditional().accept(this); } } } }
/** * {@inheritDoc} */ @Override protected AbstractExpression buildExpression(AbstractExpression parent, WordParser wordParser, String word, JPQLQueryBNF queryBNF, AbstractExpression expression, boolean tolerant) { expression = new WhereClause(parent); expression.parse(wordParser, tolerant); return expression; } }
/** * Inits the filter. */ private void initFilter() { EntityMetadata metadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, entityClass); Metamodel metaModel = kunderaMetadata.getApplicationMetadata().getMetamodel(getPersistenceUnit()); EntityType entityType = metaModel.entity(entityClass); if (null == filter) { List<String> clauses = new ArrayList<String>(); addDiscriminatorClause(clauses, entityType); return; } WhereClause whereClause = KunderaQueryUtils.getWhereClause(getJpqlExpression()); KunderaQueryUtils.traverse(whereClause.getConditionalExpression(), metadata, kunderaMetadata, this, false); for (Object filterClause : filtersQueue) { if (!(filterClause instanceof String)) { onTypedParameter(((FilterClause) filterClause)); } } addDiscriminatorClause(null, entityType); }
/** * {@inheritDoc} */ @Override protected void parse(WordParser wordParser, boolean tolerant) { // Parse 'DELETE FROM' deleteClause = new DeleteClause(this); deleteClause.parse(wordParser, tolerant); hasSpace = wordParser.skipLeadingWhitespace() > 0; // Parse 'WHERE' if (wordParser.startsWithIdentifier(WHERE)) { whereClause = new WhereClause(this); whereClause.parse(wordParser, tolerant); } // Now fully qualify attribute names with a virtual identification variable accept(new FullyQualifyPathExpressionVisitor()); }
/** * {@inheritDoc} */ public JPQLQueryBNF getQueryBNF() { return getQueryBNF(WhereClauseBNF.ID); } }
@Override protected List<Object> populateEntities(EntityMetadata m, Client client) { MetamodelImpl metaModel = (MetamodelImpl) kunderaMetadata.getApplicationMetadata().getMetamodel( m.getPersistenceUnit()); EntityType entity = metaModel.entity(m.getEntityClazz()); Expression whereExpression = KunderaQueryUtils.getWhereClause(kunderaQuery.getJpqlExpression()); QueryBuilder filter = whereExpression == null || whereExpression instanceof NullExpression ? null : esFilterBuilder.populateFilterBuilder(((WhereClause) whereExpression).getConditionalExpression(), m); return ((ESClient) client).executeQuery(filter, buildAggregation(kunderaQuery, m, filter), m, getKunderaQuery(),this.firstResult, this.maxResult); }
/** * {@inheritDoc} */ @Override protected void parse(WordParser wordParser, boolean tolerant) { // Parse 'UPDATE' updateClause = new UpdateClause(this); updateClause.parse(wordParser, tolerant); hasSpaceAfterUpdateClause = wordParser.skipLeadingWhitespace() > 0; // Parse 'WHERE' if (wordParser.startsWithIdentifier(WHERE)) { whereClause = new WhereClause(this); whereClause.parse(wordParser, tolerant); } // Now fully qualify attribute names with a virtual identification variable accept(new FullyQualifyPathExpressionVisitor()); }
/** * Compile where. */ private void compileWhere() { WhereClause whereClause = null; if (query.isSelectStatement()) { whereClause = (WhereClause) query.getSelectStatement().getWhereClause(); } else if (query.isUpdateStatement()) { whereClause = (WhereClause) query.getUpdateStatement().getWhereClause(); } if (query.isDeleteStatement()) { whereClause = (WhereClause) query.getDeleteStatement().getWhereClause(); } String content = whereClause.getConditionalExpression().toActualText(); if (whereClause != null && content.length() == 0) { throw new JPQLParseException("keyword without value[WHERE]"); } query.setFilter(content); }
/** * {@inheritDoc} */ @Override protected void parse(WordParser wordParser, boolean tolerant) { // Parse 'DELETE FROM' deleteClause = new DeleteClause(this); deleteClause.parse(wordParser, tolerant); hasSpace = wordParser.skipLeadingWhitespace() > 0; // Parse 'WHERE' if (wordParser.startsWithIdentifier(WHERE)) { whereClause = new WhereClause(this); whereClause.parse(wordParser, tolerant); } // Now fully qualify attribute names with a virtual identification variable accept(new FullyQualifyPathExpressionVisitor()); }
@Override public Map<String, Object> search(KunderaMetadata kunderaMetadata, KunderaQuery kunderaQuery, PersistenceDelegator persistenceDelegator, EntityMetadata m, int firstResult, int maxResults) { ESQuery query = new ESQuery<>(kunderaQuery, persistenceDelegator, kunderaMetadata); MetamodelImpl metaModel = (MetamodelImpl) kunderaMetadata.getApplicationMetadata() .getMetamodel(m.getPersistenceUnit()); Expression whereExpression = KunderaQueryUtils.getWhereClause(kunderaQuery.getJpqlExpression()); QueryBuilder filter = whereExpression != null ? query.getEsFilterBuilder() .populateFilterBuilder(((WhereClause) whereExpression).getConditionalExpression(), m) : null; FilteredQueryBuilder queryBuilder = QueryBuilders.filteredQuery(null, filter); SearchResponse response = getSearchResponse(kunderaQuery, queryBuilder, filter, query, m, firstResult, maxResults, kunderaMetadata); return buildResultMap(response, kunderaQuery, m, metaModel); }
/** * {@inheritDoc} */ @Override protected void parse(WordParser wordParser, boolean tolerant) { // Parse 'UPDATE' updateClause = new UpdateClause(this); updateClause.parse(wordParser, tolerant); hasSpaceAfterUpdateClause = wordParser.skipLeadingWhitespace() > 0; // Parse 'WHERE' if (wordParser.startsWithIdentifier(WHERE)) { whereClause = new WhereClause(this); whereClause.parse(wordParser, tolerant); } // Now fully qualify attribute names with a virtual identification variable accept(new FullyQualifyPathExpressionVisitor()); }
Expression whereExp = whereClause.getConditionalExpression();
whereClause = new WhereClause(this); whereClause.parse(wordParser, tolerant);
Expression whereExp = whereClause.getConditionalExpression(); parseAndBuildFilters(entityType, scannerBuilder, whereExp);
whereClause = new WhereClause(this); whereClause.parse(wordParser, tolerant);