/** * * @param format * @param projections: please note that no constant could be used as a projection * if you need some constant, probably you can add it to the format * @return */ public static Projection format(String format, Projection... projections) { format = escape(format); return new CompositeProjection("format('" + format + "', %s)", Projection.projection(Joiner.listJoiner.join(projections))); }
public Clause within(Number[] ... points) { List<Number[]> pointsToList = newArrayList(points); List<Projection> projections = transform(pointsToList, toProjection); Projection joined = ProjectionFunction.join( projections.get(0), projections.get(1), projections.subList(2, projections.size()).toArray(new Projection[]{}) ); return new AtomicClause(this, Operator.WITHIN, joined); }
@Statement public Long selectMeterLogSum(OPersistenceSession session, final ListQueryParameterObject params) { Map<String, Object> map = (Map<String, Object>) params.getParameter(); Query q = new Query().select(ProjectionFunction.count(Projection.projection("value")).as("value")) .from(getSchemaClass()); List<Object> args = new ArrayList<>(); if(map.get("name")!=null) { q.where(Clause.clause("name", Operator.EQ, Parameter.PARAMETER)); args.add(map.get("name")); } if(map.get("reporter")!=null) { q.where(Clause.clause("reporter", Operator.EQ, Parameter.PARAMETER)); args.add(map.get("reporter")); } if(map.get("startDate")!=null) { q.where(Clause.clause("timestamp", Operator.GT, Parameter.PARAMETER)); args.add(map.get("startDate")); } if(map.get("endDate")!=null) { q.where(Clause.clause("timestamp", Operator.LT, Parameter.PARAMETER)); args.add(map.get("endDate")); } ODatabaseDocument db = session.getDatabase(); List<ODocument> ret = db.query(new OSQLSynchQuery<>(q.toString()), args.toArray()); return (Long)(ret!=null && !ret.isEmpty()? ret.get(0).field("value", OType.LONG):null); } }
public Clause within(Number[] ... points) { List<Number[]> pointsToList = newArrayList(points); List<Projection> projections = transform(pointsToList, toProjection); Projection joined = ProjectionFunction.join( projections.get(0), projections.get(1), projections.subList(2, projections.size()).toArray(new Projection[]{}) ); return new AtomicClause(this, Operator.WITHIN, joined); }
/** * * @param format * @param projections: please note that no constant could be used as a projection * if you need some constant, probably you can add it to the format * @return */ public static Projection format(String format, Projection... projections) { String escapedFormat = j.join("format('", escape(format), "', %s)"); return new CompositeProjection(escapedFormat , projection(listJoiner.join(projections))); }
public Clause near(Number lat, Number lon) { Projection joined = ProjectionFunction.join(projection(lat.toString()), projection(lon.toString())); return new AtomicClause(this, Operator.NEAR, joined); }
public Clause near(Number lat, Number lon) { Projection joined = ProjectionFunction.join(projection(lat.toString()), projection(lon.toString())); return new AtomicClause(this, Operator.NEAR, joined); }
public Clause near(Number lat, Number lon, Projection projection) { Projection joined = ProjectionFunction.join( projection(lat.toString()), projection(lon.toString()), new CompositeProjection("{'maxDistance': %s}", projection) ); return new AtomicClause(this, Operator.NEAR, joined); }
public Clause near(Number lat, Number lon, Projection projection) { Projection joined = ProjectionFunction.join( projection(lat.toString()), projection(lon.toString()), new CompositeProjection("{'maxDistance': %s}", projection) ); return new AtomicClause(this, Operator.NEAR, joined); }
public Clause near(Number lat, Number lon, Number distanceInKM) { Projection joined = ProjectionFunction.join( projection(lat.toString()), projection(lon.toString()), new CompositeProjection("{'maxDistance': %s}", projection(distanceInKM.toString())) ); return new AtomicClause(this, Operator.NEAR, joined); }
public Clause near(Number lat, Number lon, Number distanceInKM) { Projection joined = ProjectionFunction.join( projection(lat.toString()), projection(lon.toString()), new CompositeProjection("{'maxDistance': %s}", projection(distanceInKM.toString())) ); return new AtomicClause(this, Operator.NEAR, joined); }