public void populate(Object parsed, ExpressionStoreQuery query) { if (!(parsed instanceof JPQLExpressionBuilder.ParsedJPQL)) throw new ClassCastException(parsed == null ? null + "" : parsed.getClass().getName()); ((JPQLExpressionBuilder.ParsedJPQL) parsed).populate(query); }
private Value getSubquery(JPQLNode node) { final boolean subclasses = true; // parse the subquery ParsedJPQL parsed = new ParsedJPQL(node.parser.jpql, node); Context subContext = new Context(parsed, null, ctx()); contexts.push(subContext); ClassMetaData candidate = getCandidateMetaData(node); Subquery subq = subContext.getSubquery(); if (subq == null) { subq = factory.newSubquery(candidate, subclasses, nextAlias()); subContext.setSubquery(subq); } subq.setMetaData(candidate); // evaluate from clause for resolving variables defined in subquery JPQLNode from = node.getChild(1); subContext.from = evalFromClause(from, true); try { QueryExpressions subexp = getQueryExpressions(); subq.setQueryExpressions(subexp); if (subexp.projections.length > 0) checkEmbeddable(subexp.projections[0]); return subq; } finally { // remove the subquery parse context contexts.pop(); } }
private Value getSubquery(JPQLNode node) { final boolean subclasses = true; // parse the subquery ParsedJPQL parsed = new ParsedJPQL(node.parser.jpql, node); Context subContext = new Context(parsed, null, ctx()); contexts.push(subContext); ClassMetaData candidate = getCandidateMetaData(node); Subquery subq = subContext.getSubquery(); if (subq == null) { subq = factory.newSubquery(candidate, subclasses, nextAlias()); subContext.setSubquery(subq); } subq.setMetaData(candidate); // evaluate from clause for resolving variables defined in subquery JPQLNode from = node.getChild(1); subContext.from = evalFromClause(from, true); try { QueryExpressions subexp = getQueryExpressions(); subq.setQueryExpressions(subexp); if (subexp.projections.length > 0) checkEmbeddable(subexp.projections[0]); return subq; } finally { // remove the subquery parse context contexts.pop(); } }
private Value getSubquery(JPQLNode node) { final boolean subclasses = true; // parse the subquery ParsedJPQL parsed = new ParsedJPQL(node.parser.jpql, node); Context subContext = new Context(parsed, null, ctx()); contexts.push(subContext); ClassMetaData candidate = getCandidateMetaData(node); Subquery subq = subContext.getSubquery(); if (subq == null) { subq = factory.newSubquery(candidate, subclasses, nextAlias()); subContext.setSubquery(subq); } subq.setMetaData(candidate); // evaluate from clause for resolving variables defined in subquery JPQLNode from = node.getChild(1); subContext.from = evalFromClause(from, true); try { QueryExpressions subexp = getQueryExpressions(); subq.setQueryExpressions(subexp); if (subexp.projections.length > 0) checkEmbeddable(subexp.projections[0]); return subq; } finally { // remove the subquery parse context contexts.pop(); } }
private Value getSubquery(JPQLNode node) { final boolean subclasses = true; // parse the subquery ParsedJPQL parsed = new ParsedJPQL(node.parser.jpql, node); Context subContext = new Context(parsed, null, ctx()); contexts.push(subContext); ClassMetaData candidate = getCandidateMetaData(node); Subquery subq = subContext.getSubquery(); if (subq == null) { subq = factory.newSubquery(candidate, subclasses, nextAlias()); subContext.setSubquery(subq); } subq.setMetaData(candidate); // evaluate from clause for resolving variables defined in subquery JPQLNode from = node.getChild(1); subContext.from = evalFromClause(from, true); try { QueryExpressions subexp = getQueryExpressions(); subq.setQueryExpressions(subexp); if (subexp.projections.length > 0) checkEmbeddable(subexp.projections[0]); return subq; } finally { // remove the subquery parse context contexts.pop(); } }
private Value getSubquery(JPQLNode node) { final boolean subclasses = true; String alias = nextAlias(); // parse the subquery ParsedJPQL parsed = new ParsedJPQL(node.parser.jpql, node); ClassMetaData candidate = getCandidateMetaData(node); Subquery subq = factory.newSubquery(candidate, subclasses, alias); subq.setMetaData(candidate); contexts.push(new Context(parsed, subq)); try { QueryExpressions subexp = getQueryExpressions(); subq.setQueryExpressions(subexp); return subq; } finally { // remove the subquery parse context contexts.pop(); } }
ParsedJPQL(String jpql) { this(jpql, parse(jpql)); }
ParsedJPQL(String jpql) { this(jpql, parse(jpql)); }
ParsedJPQL(String jpql) { this(jpql, parse(jpql)); }
protected ParsedJPQL getParsedQuery(String jpql) { return new ParsedJPQL(jpql); }
protected ParsedJPQL getParsedQuery(String jpql) { return new ParsedJPQL(jpql); }
protected ParsedJPQL getParsedQuery(String jpql) { return new ParsedJPQL(jpql); }
protected ParsedJPQL getParsedQuery(String jpql) { return new ParsedJPQL(jpql); }
protected ParsedJPQL getParsedQuery(String jpql) { return new ParsedJPQL(jpql); }
ParsedJPQL(String jpql) { this(jpql, parse(jpql)); }
public Object parse(String ql, ExpressionStoreQuery query) { if (query.getContext().getParameterDeclaration() != null) throw new UserException(_loc.get("param-decs-invalid")); try { return new JPQLExpressionBuilder.ParsedJPQL(ql); } catch (ParseException e) { throw new ParseException(_loc.get("jpql-parse-error", ql, e.getMessage()).getMessage(), e); } }
public void populate(Object parsed, ExpressionStoreQuery query) { if (!(parsed instanceof JPQLExpressionBuilder.ParsedJPQL)) throw new ClassCastException(parsed == null ? null + "" : parsed.getClass().getName()); ((JPQLExpressionBuilder.ParsedJPQL) parsed).populate(query); }
public Object parse(String ql, ExpressionStoreQuery query) { if (query.getContext().getParameterDeclaration() != null) throw new UserException(_loc.get("param-decs-invalid")); try { return new JPQLExpressionBuilder.ParsedJPQL(ql); } catch (ParseException e) { throw new ParseException(_loc.get("jpql-parse-error", ql, e.getMessage()).getMessage(), e); } }
ParsedJPQL(String jpql) { this(jpql, parse(jpql)); }
public Object parse(String ql, ExpressionStoreQuery query) { if (query.getContext().getParameterDeclaration() != null) throw new UserException(_loc.get("param-decs-invalid")); try { return new JPQLExpressionBuilder.ParsedJPQL(ql); } catch (ParseException e) { throw new ParseException(_loc.get("jpql-parse-error", ql, e.getMessage()).getMessage(), e); } }