Example usage for org.springframework.data.mongodb.core.query Query addCriteria

List of usage examples for org.springframework.data.mongodb.core.query Query addCriteria

Introduction

In this page you can find the example usage for org.springframework.data.mongodb.core.query Query addCriteria.

Prototype

public Query addCriteria(CriteriaDefinition criteriaDefinition) 

Source Link

Document

Adds the given CriteriaDefinition to the current Query .

Usage

From source file:org.opentestsystem.delivery.testreg.persistence.EligibleStudentRepositoryImpl.java

@Override
public EligibleStudent findByStudentMongoId(final String studentMongoId) {
    Query query = new Query();
    query.addCriteria(where("student.id").is(new ObjectId(studentMongoId)));
    return mongoOperations.findOne(query, EligibleStudent.class);
}

From source file:org.opentestsystem.delivery.testreg.persistence.EligibleStudentRepositoryImpl.java

@Override
public EligibleStudent findByStudentIdAndState(final String studentId, final String state) {
    Query query = new Query();
    query.addCriteria(where("student.entityId").is(studentId).and("student.stateAbbreviation").is(state));
    return mongoOperations.findOne(query, EligibleStudent.class);
}

From source file:org.opentestsystem.delivery.testreg.persistence.EligibleStudentRepositoryImpl.java

@Override
public List<EligibleStudent> findByAcademicYearAndType(final String academicYear, final String[] types,
        final String eligStudentMongoId, final String sortCol, final int pageSize) {

    Query query = new Query();
    query.addCriteria(where("assessments.academicYear").is(academicYear).and("assessments.type")
            .in((Object[]) types).and("_id").gt(new ObjectId(eligStudentMongoId))).with(new Sort(sortCol))
            .limit(pageSize);//from   w w w. ja  va  2  s  .c  o  m

    return mongoOperations.find(query, EligibleStudent.class);
}

From source file:org.opentestsystem.delivery.testreg.persistence.EligibleStudentRepositoryImpl.java

@Override
public long countByAcademicYearAndType(final String academicYear, final String[] types) {
    Query query = new Query();
    query.addCriteria(
            where("assessments.academicYear").is(academicYear).and("assessments.type").in((Object[]) types));

    return mongoOperations.count(query, EligibleStudent.class);
}

From source file:org.opentestsystem.delivery.testreg.persistence.EligibleStudentRepositoryImpl.java

@Override
public long countByAssessmentMongoId(final String assessmentMongoId) {
    Query query = new Query();
    query.addCriteria(where("assessments.id").is(new ObjectId(assessmentMongoId)));

    return mongoOperations.count(query, EligibleStudent.class);
}

From source file:org.opentestsystem.delivery.testreg.persistence.EligibleStudentRepositoryImpl.java

@Override
public List<EligibleStudent> findByAssessmentMongoId(final String assessmentMongoId, final Pageable page) {

    Query query = new Query();
    query.addCriteria(where("assessments.id").is(new ObjectId(assessmentMongoId))).with(page);

    return mongoOperations.find(query, EligibleStudent.class);
}

From source file:org.opentestsystem.delivery.testreg.persistence.EligibleStudentRepositoryImpl.java

@SuppressWarnings("unchecked")
@Override// ww w. ja  v  a  2 s  .  co  m
public List<String> findByIdInstitutionIdAndAssessmentId(final String institutionEntityMongoId,
        final String assessmentId) {
    Query query = new Query();
    query.addCriteria(where("student.institutionEntityMongoId").is(institutionEntityMongoId)
            .and("assessments._id").is(new ObjectId(assessmentId)));
    return mongoOperations.getCollection("eligibleStudent").distinct("student.entityId",
            query.getQueryObject());

}

From source file:org.opentestsystem.delivery.testreg.persistence.EligibleStudentRepositoryImpl.java

@Override
public List<EligibleStudent> findByInstitutionIdAndAssessmentId(final String institutionEntityMongoId,
        final String assessmentId) {
    Query query = new Query();
    query.addCriteria(where("student.institutionEntityMongoId").is(institutionEntityMongoId)
            .and("assessments._id").is(new ObjectId(assessmentId)));
    query.fields().exclude("assessments");
    return mongoOperations.find(query, EligibleStudent.class);

}

From source file:org.opentestsystem.delivery.testreg.persistence.EligibleStudentRepositoryImpl.java

@Override
public List<EligibleStudent> findByStudentInstitutionEntityMongoId(final String institutionEntityMongoId) {
    Query query = new Query();
    query.addCriteria(where("student.institutionEntityMongoId").is(institutionEntityMongoId));
    return mongoOperations.find(query, EligibleStudent.class);

}

From source file:org.opentestsystem.shared.monitoringalerting.domain.search.AbstractRangedSearchRequest.java

@Override
protected Query composeQuery(final Collection<Criteria> inCriteria) {
    final Query query = new Query();
    for (final Criteria cri : inCriteria) {
        query.addCriteria(cri);
    }/*from   w  w  w.  j  a  v  a2s . c  o m*/

    final List<Order> orders = new ArrayList<Order>();
    // for ranged searches, ID descending must be foremost sort param
    final Order idOrder = new Order(Direction.DESC, ID_KEY);
    orders.add(idOrder);
    if (super.getSortKeys() != null) {
        for (int i = 0; i < super.getSortKeys().length; i++) {
            Direction sortDir = null;
            final String key = super.getSortKeys()[i];
            if (!StringUtils.equals(key, ID_KEY)) {
                if (super.getSortDirections().length >= i + 1) {
                    sortDir = super.getSortDirections()[i];
                }
                final Order order = new Order(sortDir, key);
                orders.add(order);
            }
        }
    }
    final Sort sort = new Sort(orders);

    query.with(sort);
    query.limit(super.getPageSize());
    // skip deliberately avoided in favor of below ID range

    if (this.additionalSearchCriteria.containsKey(PREVIOUS_FIRST_ID)) {
        final String previousFirstId = this.additionalSearchCriteria.get(PREVIOUS_FIRST_ID)[0];
        query.addCriteria(Criteria.where(ID_KEY).lt(new ObjectId(previousFirstId)));
    }

    return query;
}