@Override public QueryListResult count(CountOptions options, Consumer<CriteriaQuery> callback) { if (remoteRest) { RestResource restResource = restResourceFactory.createResource(dao.getOrmContext(), em); return new QueryListResult(null, restResource.count(options), null); } ModelExecutionContext context = new DefaultModelExecutionContext(this.context); CriteriaQuery<Record> query = createCriteriaQuery(); QueryOptions queryOptions = new QueryOptions(); queryOptions.setFilters(options.getFilters()); applyFilters(context, query, null, queryOptions, null, null); if (callback != null) { callback.accept(query); } long count = query.count(); return new QueryListResult(null, count, null); }
ModelExecutionContext context = new DefaultModelExecutionContext(this.context); ex.processReplaceRecord(context, id, record); if(null != ex.handler) {
@Override public UpdateOneResult partialUpdateOne(Object id, Map<String, Object> properties) { ModelExecutionContext context = new DefaultModelExecutionContext(this.context); ex.processUpdateProperties(context, id, properties); if(null != ex.handler) { ex.handler.processUpdateProperties(context, id, properties); } int affected; if(!em.isRemoteRest()) { affected = doUpdate(context, id, properties, true); }else { RestResource restResource = restResourceFactory.createResource(dao.getOrmContext(), em); if(restResource.update(id, properties)) { affected = 1; }else { affected = 0; } } Object entity = ex.postUpdateProperties(context, id, affected); return new UpdateOneResult(affected, entity); }
@Override public CreateOneResult createOne(Object request, Object id, Map<String, Object> extraProperties) { ModelExecutionContext context = new DefaultModelExecutionContext(this.context);
@Override public QueryOneResult queryOne(Object id, QueryOptionsBase options) { if (remoteRest) { RestResource restResource = restResourceFactory.createResource(dao.getOrmContext(), em); Record record = restResource.find(id, options); return new QueryOneResult(record); } ModelExecutionContext context = new DefaultModelExecutionContext(this.context); if (null != ex.handler) { ex.handler.processQueryOneOptions(context, id, options); } Record record; CriteriaQuery<Record> query = createCriteriaQuery().whereById(id); applySelect(query, options, new HashMap<>()); ex.preQueryOne(context, id, query); if (null != ex.handler) { ex.handler.preQueryOne(context, id, query); } record = query.firstOrNull(); expandOne(record, options); if (null != ex.handler && null != record) { ex.handler.postQueryOne(context, id, record); } Object entity = ex.processQueryOneRecord(context, id, record); return new QueryOneResult(record, entity); }
Map<String, Object> filters, Consumer<CriteriaQuery> callback, boolean filterByParams) { ModelExecutionContext context = new DefaultModelExecutionContext(this.context); if (null == options) { options = new QueryOptions();
@Override public DeleteOneResult deleteOne(Object id, DeleteOptions options) { ModelExecutionContext context = new DefaultModelExecutionContext(this.context);