public <E> Expression<E> addProjection(Expression<E> e) { e = convert(e, false); metadata.addProjection(e); return e; }
public T addProjection(Expression<?>... o) { for (Expression<?> e : o) { metadata.addProjection(convert(e, false)); } return self; }
@Override public <T> JDOUpdateClause set(Path<T> path, Expression<? extends T> expression) { metadata.addProjection(ExpressionUtils.eq(path, expression)); return this; }
@SuppressWarnings({ "unchecked", "rawtypes" }) @Override public JDOUpdateClause set(List<? extends Path<?>> paths, List<?> values) { for (int i = 0; i < paths.size(); i++) { if (values.get(i) != null) { metadata.addProjection(ExpressionUtils.eqConst(((Expression)paths.get(i)), values.get(i))); } else { metadata.addProjection(ExpressionUtils.eq(((Expression)paths.get(i)), new NullExpression(paths.get(i).getType()))); } } return this; }
@Override public <T> JDOUpdateClause set(Path<T> path, T value) { if (value != null) { metadata.addProjection(ExpressionUtils.eqConst(path, value)); } else { metadata.addProjection(ExpressionUtils.eq(path, new NullExpression<T>(path.getType()))); } return this; }
@SuppressWarnings("unchecked") @Override public JPAUpdateClause set(List<? extends Path<?>> paths, List<?> values) { for (int i = 0; i < paths.size(); i++){ if (values.get(i) != null){ metadata.addProjection(((Expr)paths.get(i).asExpr()).eq(values.get(i))); }else{ metadata.addProjection(((Expr)paths.get(i).asExpr()).eq(new NullExpr(paths.get(i).getType()))); } } return this; }
@SuppressWarnings("unchecked") @Override public HibernateUpdateClause set(List<? extends Path<?>> paths, List<?> values) { for (int i = 0; i < paths.size(); i++){ if (values.get(i) != null){ metadata.addProjection(((Expr)paths.get(i).asExpr()).eq(values.get(i))); }else{ metadata.addProjection(((Expr)paths.get(i).asExpr()).eq(new NullExpr(paths.get(i).getType()))); } } return this; }
@Override public <T> JDOUpdateClause setNull(Path<T> path) { metadata.addProjection(ExpressionUtils.eq(path, new NullExpression<T>(path.getType()))); return this; }
@Override public <T> JPAUpdateClause set(Path<T> path, T value) { if (value != null){ metadata.addProjection(path.asExpr().eq(value)); }else{ metadata.addProjection(path.asExpr().eq(new NullExpr<T>(path.getType()))); } return this; }
private NumberExpression<Long> count(Operator<Long> operator) { QueryMetadata md = subQueryMixin.getMetadata().clone(); Expression<?> e = null; if (md.getProjection().size() == 1) { e = md.getProjection().get(0); } else if (!md.getProjection().isEmpty()) { e = ExpressionUtils.list(Object.class, md.getProjection()); } md.clearProjection(); if (e != null) { md.addProjection(OperationImpl.create(Long.class, operator, e)); } else if (operator == Ops.AggOps.COUNT_AGG) { md.addProjection(Wildcard.count); } else { md.addProjection(Wildcard.countDistinct); } return new NumberSubQuery<Long>(Long.class, md); }
@Override public <T> HibernateUpdateClause set(Path<T> path, T value) { if (value != null){ metadata.addProjection(path.asExpr().eq(value)); }else{ metadata.addProjection(path.asExpr().eq(new NullExpr<T>(path.getType()))); } return this; }
private QueryMetadata projection(Expression<?>... projection) { QueryMetadata metadata = queryMixin.getMetadata().clone(); for (Expression<?> expr : projection) { expr = queryMixin.convert(expr, false); metadata.addProjection(nullAsTemplate(expr)); } return metadata; }
public Expression<?> visit(SubQueryExpression<?> expr, Filters filters) { QueryMetadata md = expr.getMetadata(); Filters f = new Filters(); // from for (JoinExpression join : md.getJoins()) { f.add(handleRootPath((Path<?>) join.getTarget(), f)); } // where if (md.getWhere() != null) { f.add(transform(md.getWhere(), f)); } // select if (!md.getProjection().isEmpty()) { QueryMetadata rv = new DefaultQueryMetadata().noValidate(); for (Expression<?> e : md.getProjection()) { rv.addProjection(transform(e, f)); } rv.addWhere(f.asBlock()); return new SubQueryExpressionImpl<Object>(Object.class, rv); } else { return f.asBlock(); } }
@Test public void Treat() { QCat cat = QCat.cat; JPQLSerializer serializer = new JPQLSerializer(HQLTemplates.DEFAULT); QueryMetadata md = new DefaultQueryMetadata(); md.addJoin(JoinType.DEFAULT, cat); md.addJoin(JoinType.JOIN, cat.mate.as((Path) QDomesticCat.domesticCat)); md.addProjection(QDomesticCat.domesticCat); serializer.serialize(md, false, null); assertEquals("select domesticCat\n" + "from Cat cat\n" + " inner join treat(cat.mate as DomesticCat) as domesticCat", serializer.toString()); }
@Test public void Start_Flag() { final String PREFIX = "DEFINE input:inference \"ruleset\" "; RDFQueryImpl query = new RDFQueryImpl(null); query.addFlag(Position.START, PREFIX); query.where(Blocks.SPO); query.aggregateFilters(); QueryMetadata metadata = query.getMetadata(); metadata.addProjection(QNODE.s); visitor.visit(metadata, QueryLanguage.TUPLE); assertEquals(PREFIX + "SELECT ?s WHERE { ?s ?p ?o } ", stripWS(visitor.toString())); }
rn.orderBy(os); metadata.addProjection(rn.as("rn")); metadata.clearOrderBy(); context.serializeForQuery(metadata, forCountRow);
rn.orderBy(os); metadata.addProjection(rn.as("rn")); metadata.clearOrderBy(); context.serializeForQuery(metadata, forCountRow);
md.addProjection(e.accept(this, null));