void aggregateIfEntityQuery() { if (isInstanceIdQuery() || isClassQuery()) { queryParams = queryParams.changeAggregate(true); } }
void validate(){ if (isAggregate()) { if (!(isClassQuery() || isInstanceIdQuery())) { throw new JaversException(JaversExceptionCode.MALFORMED_JQL, "aggregate filter can be enabled only for byClass and byInstanceId queries"); } } if (getShadowScope() != DEEP_PLUS && getMaxGapsToFill() > 0) { throw new JaversException(JaversExceptionCode.MALFORMED_JQL, "maxGapsToFill can be used only in the DEEP_PLUS query scope"); } }
List<CdoSnapshot> queryForSnapshots(JqlQuery query){ queryCompiler.compile(query); List<CdoSnapshot> result; if (query.isAnyDomainObjectQuery()) { result = repository.getSnapshots(query.getQueryParams()); } else if (query.isIdQuery()){ result = repository.getStateHistory(query.getIdFilter(), query.getQueryParams()); } else if (query.isClassQuery()){ result = repository.getStateHistory(query.getClassFilter(), query.getQueryParams()); } else if (query.isVoOwnerQuery()) { VoOwnerFilter filter = query.getVoOwnerFilter(); result = repository.getValueObjectStateHistory(filter.getOwnerEntity(), filter.getPath(), query.getQueryParams()); } else { throw new JaversException(JaversExceptionCode.MALFORMED_JQL, "queryForSnapshots: " + query + " is not supported"); } return result; } }
List<Change> queryForChanges(JqlQuery query) { queryCompiler.compile(query); if (query.isAnyDomainObjectQuery()) { return repository.getChanges(query.isNewObjectChanges(), query.getQueryParams()); } if (query.isIdQuery()){ return repository.getChangeHistory(query.getIdFilter(), query.getQueryParams()); } if (query.isClassQuery()){ return repository.getChangeHistory(query.getClassFilter(), query.getQueryParams()); } if (query.isVoOwnerQuery()) { VoOwnerFilter filter = query.getVoOwnerFilter(); return repository.getValueObjectChangeHistory( filter.getOwnerEntity(), filter.getPath(), query.getQueryParams()); } throw new JaversException(JaversExceptionCode.MALFORMED_JQL, "queryForChanges: " + query + " is not supported"); } }