public Query select(Projection... projections) { for(Projection s : projections) this.select(s); return this; }
@Override public String getAssignment() { return toString(); } }
public String toString() { String base = SELECT + " %s "; if(!getTarget().equals(Target.EMPTY)) { base += " " + FROM + " %s "; } String joinedProjections = joinProjections(); String query = format(base, joinedProjections, getTarget()); query += joinLet(); query += joinWhere(); query += generateGroupBy(); query += joinOrderBy(); query += generateSkip(); query += generateLimit(); query += generateFetchPlan(); query += generateTimeout(); query += generateLock(); query += generateParallel(); return Commons.clean(query); }
@Statement public List<JobEntity> selectJobsByConfiguration(OPersistenceSession session, ListQueryParameterObject query) { Map<String, Object> params = (Map<String, Object>) query.getParameter(); String config = (String) params.get("handlerConfiguration"); String followUpConfig = (String) params.get("handlerConfigurationWithFollowUpJobCreatedProperty"); String type = (String) params.get("handlerType"); List<String> args = new ArrayList<>(); Query q = new Query().from(getSchemaClass()); q.where(Clause.clause("jobHandlerType", Operator.EQ, Parameter.PARAMETER)); args.add(type); Clause eqConfig = Clause.clause("JobHandlerConfigurationRaw", Operator.EQ, Parameter.PARAMETER); if(Strings.isEmpty(followUpConfig)) { q.where(eqConfig); args.add(config); } else { q.where(Clause.or(eqConfig, eqConfig)); args.add(config); args.add(followUpConfig); } return queryList(session, q.toString(), args.toArray()); }
protected List<T> query(final OPersistenceSession session, Map<String, ?> query, Function<Query, Query> queryManger, String... ignoreFileds) { OClass schemaClass = session.getClass(getSchemaClass()); Query q = new Query().from(getSchemaClass()); List<Object> args = new ArrayList<>(); enrichWhereByMap(session, q, schemaClass, query, args, Arrays.asList(ignoreFileds)); if(queryManger!=null) q = queryManger.apply(q); return queryList(session, q.toString(), args.toArray()); }
@Override public Query apply(Query input) { input.where(Clause.clause("parentId", Operator.NULL, "")); return input; } });
public Query orderBy(Projection projection) { Ordering ordering = new Ordering(projection, Ordering.Order.ASC); addOrderBy(ordering); return this; }
@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); } }
protected void delete(final OPersistenceSession session, Map<String, ?> query, Function<Query, Query> queryManger, String... ignoreFileds) { OClass schemaClass = session.getClass(getSchemaClass()); Query q = new Query().from(getSchemaClass()); List<Object> args = new ArrayList<>(); enrichWhereByMap(session, q, schemaClass, query, args, Arrays.asList(ignoreFileds)); if(queryManger!=null) q = queryManger.apply(q); command(session, q.toString(), args.toArray()); }
protected AbstractQuery where(AbstractQuery q, Clause clause) { if(q instanceof Query)((Query)q).where(clause); else if(q instanceof Delete)((Delete)q).where(clause); return q; }
public Query orderByDesc(Projection projection) { Ordering ordering = new Ordering(projection, Ordering.Order.DESC); addOrderBy(ordering); return this; }
public T get(K key, String[] fields) throws GoraException { String[] dbFields = getFieldsToQuery(fields); com.github.raymanrt.orientqb.query.Query selectQuery = new com.github.raymanrt.orientqb.query.Query(); for (String k : dbFields) { String dbFieldName = orientDBMapping.getDocumentField(k); if (dbFieldName != null && dbFieldName.length() > 0) { selectQuery.select(dbFieldName); selectQuery.from(orientDBMapping.getDocumentClass()) .where(projection("_id").eq(Parameter.parameter("key"))); Map<String, Object> params = new HashMap<String, Object>(); params.put("key", key); OSQLSynchQuery<ODocument> query = new OSQLSynchQuery<ODocument>(selectQuery.toString());
public String toString() { StringBuilder baseBuilder = new StringBuilder(SELECT).append(" %s "); if(!getTarget().equals(Target.EMPTY)) { baseBuilder.append(" ").append(FROM).append(" %s "); } String joinedProjections = joinProjections(); StringBuilder query = new StringBuilder(format(baseBuilder.toString(), joinedProjections, getTarget())) .append(joinLet()) .append(joinWhere()) .append(generateGroupBy()) .append(joinOrderBy()) .append(generateSkip()) .append(generateLimit()) .append(generateFetchPlan()) .append(generateTimeout()) .append(generateLock()) .append(generateParallel()); return Commons.clean(query.toString()); }
protected List<T> query(final OPersistenceSession session, org.camunda.bpm.engine.query.Query<?, ? super T> query, Function<Query, Query> queryManger, String... ignoreFileds) { try { OClass schemaClass = session.getClass(getSchemaClass()); Query q = new Query().from(getSchemaClass()); List<Object> args = new ArrayList<>(); enrichWhereByBean(session, q, schemaClass, query, args, Arrays.asList(ignoreFileds)); if(queryManger!=null) q = queryManger.apply(q); return queryList(session, q.toString(), args.toArray()); } catch (Exception e) { throw new ProcessEngineException("Problems with read method of "+query.getClass().getName(), e); } }
public Query select(Projection... projections) { for(Projection s : projections) this.select(s); return this; }
@Override public String getAssignment() { return toString(); }
@Override public Query apply(Query input) { SuspensionState state = query.getSuspensionState(); if(state!=null) input.where(Clause.clause("suspensionState", Operator.EQ, state.getStateCode())); String businessKey = query.getBusinessKey(); if(businessKey!=null) { List<ODocument> proc = session.getDatabase() .query(new OSQLSynchQuery<>("select processInstanceId from "+getSchemaClass()+" where businessKey=?", 1) , businessKey); if(proc!=null && !proc.isEmpty()) { String processInstanceId = proc.get(0).field("processInstanceId"); input.where(Clause.clause("processInstanceId", Operator.EQ, processInstanceId)); } } return input; } },"suspensionState", "businessKey");
final String[] schemaFields) { params = new HashMap<String, Object>(); Query selectQuery = new Query(); selectQuery.from(orientDBMapping.getDocumentClass()); if ((this.getStartKey() != null) && (this.getEndKey() != null) && this.getStartKey().equals(this.getEndKey())) { selectQuery.where(projection("_id").eq(Parameter.parameter("key"))); params.put("key", this.getStartKey()); } else if (this.getStartKey() != null || this.getEndKey() != null) { if (this.getStartKey() != null) { selectQuery.where(projection("_id").ge(Parameter.parameter("key_lower"))); params.put("key_lower", this.getStartKey()); selectQuery.where(projection("_id").le(Parameter.parameter("key_upper"))); params.put("key_upper", this.getEndKey()); selectQuery.select(Projection.ALL); } else { for (String k : fields) { String dbFieldName = orientDBMapping.getDocumentField(k); if (dbFieldName != null && dbFieldName.length() > 0) { selectQuery.select(dbFieldName); selectQuery.select("_id"); dbQuery = new OSQLSynchQuery<ODocument>(selectQuery.toString()); return dbQuery;
protected void delete(final OPersistenceSession session, org.camunda.bpm.engine.query.Query<?, ? super T> query, Function<Query, Query> queryManger, String... ignoreFileds) { try { OClass schemaClass = session.getClass(getSchemaClass()); Query q = new Query().from(getSchemaClass()); List<Object> args = new ArrayList<>(); enrichWhereByBean(session, q, schemaClass, query, args, Arrays.asList(ignoreFileds)); if(queryManger!=null) q = queryManger.apply(q); command(session, q.toString(), args.toArray()); } catch (Exception e) { throw new ProcessEngineException("Problems with read method of "+query.getClass().getName(), e); } }
public Query select(String ... projections) { for(String projection : projections) this.select(projection(projection)); return this; }