Example usage for org.springframework.data.mongodb.core.query Criteria Criteria

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

Introduction

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

Prototype

public Criteria() 

Source Link

Usage

From source file:com.trenako.repositories.mongo.MongoSearchCriteria.java

/**
 * Builds a MongoDB criteria for the provided {@code SearchCriteria}.
 *
 * @param sc the search criteria//from   w  w  w .  j  av a2 s . c  o  m
 * @return a MongoDB criteria
 */
public static Criteria buildCriteria(SearchCriteria sc) {
    Criteria c = new Criteria();

    if (sc.hasBrand()) {
        c.and("brand.slug").is(sc.getBrand());
    }

    if (sc.hasEra()) {
        c.and("era").is(sc.getEra());
    }

    if (sc.hasRailway()) {
        c.and("railway.slug").is(sc.getRailway());
    }

    if (sc.hasScale()) {
        c.and("scale.slug").is(sc.getScale());
    }

    if (sc.hasCat()) {
        Cat cat = Cat.parseString(sc.getCat());
        c.and("category").is(cat.category()).and("powerMethod").is(cat.powerMethod());
    }

    if (!sc.hasCat() && sc.hasPowerMethod()) {
        c.and("powerMethod").is(sc.getPowerMethod());
    }

    if (!sc.hasCat() && sc.hasCategory()) {
        c.and("category").is(sc.getCategory());
    }

    return c;
}

From source file:com.zxy.commons.mongodb.MongodbUtils.java

/**
 * ?/*from ww w.  j  a v a 2s.c o m*/
 *
 * @param params params
 * @return Query
 */
public static Query getQuery(Map<String, Object> params) {
    if (params == null || params.isEmpty()) {
        return null;
    }
    List<Criteria> criterias = new ArrayList<>();
    for (Map.Entry<String, Object> entry : params.entrySet()) {
        criterias.add(Criteria.where(entry.getKey()).is(entry.getValue()));
    }
    return new Query(new Criteria().andOperator(criterias.toArray(new Criteria[params.size()])));

}

From source file:com.github.rutledgepaulv.qbuilders.visitors.MongoVisitor.java

@Override
protected Criteria visit(AndNode node) {
    Criteria criteria = new Criteria();
    List<Criteria> children = node.getChildren().stream().map(this::visitAny).collect(Collectors.toList());
    return criteria.andOperator(children.toArray(new Criteria[children.size()]));
}

From source file:eu.trentorise.smartcampus.profileservice.storage.ProfileStorage.java

public ExtendedProfile findExtendedProfile(String userId, String profileId) {
    Criteria criteria = new Criteria();
    criteria = Criteria.where("content.userId").is(userId).and("content.profileId").is(profileId);
    criteria.and("type").is(ExtendedProfile.class.getCanonicalName());
    criteria.and("deleted").is(false);

    List<ExtendedProfile> profiles = find(Query.query(criteria), ExtendedProfile.class);
    if (!profiles.isEmpty()) {
        return profiles.get(0);
    } else {/*  www  .j av  a 2  s . c  o  m*/
        return null;
    }
}

From source file:com.github.rutledgepaulv.qbuilders.visitors.MongoVisitor.java

@Override
protected Criteria visit(OrNode node) {
    Criteria criteria = new Criteria();
    List<Criteria> children = node.getChildren().stream().map(this::visitAny).collect(Collectors.toList());
    return criteria.orOperator(children.toArray(new Criteria[children.size()]));
}

From source file:com.ewcms.common.query.mongo.EasyQueryInit.java

/**
 * ??/*from  ww w .ja v a  2s. c o m*/
 * 
 * @return
 */
private boolean isInit() {
    return operations.collectionExists(Certificate.class)
            && operations.count(Query.query(new Criteria()), Certificate.class) > 0;
}

From source file:uk.gov.nationalarchives.discovery.taxonomy.common.repository.mongo.impl.IAViewUpdateRepositoryImpl.java

@Override
public List<IAViewUpdate> findDocumentsCreatedFromDateAndCreatedBeforeDate(Date gtDate, Date ltDate,
        Integer limit) {//from  www .ja v  a 2  s .  c om
    List<Criteria> listOfCriterias = new ArrayList<Criteria>();
    if (gtDate != null) {
        listOfCriterias.add(Criteria.where(IAViewUpdate.FIELD_CREATIONDATE).gte(gtDate));
    }
    if (ltDate != null) {
        listOfCriterias.add(Criteria.where(IAViewUpdate.FIELD_CREATIONDATE).lt(ltDate));
    }
    Query query = new Query(new Criteria().andOperator(listOfCriterias.toArray(new Criteria[0])));

    query.limit(limit + 1);
    query.with(new Sort(new Order(Sort.Direction.ASC, IAViewUpdate.FIELD_CREATIONDATE),
            new Order(Sort.Direction.ASC, IAViewUpdate.FIELD_DOCREFERENCE)));
    return mongoTemplate.find(query, IAViewUpdate.class);
}

From source file:eu.trentorise.smartcampus.profileservice.storage.ProfileStorage.java

public List<ExtendedProfile> findExtendedProfiles(String userId) {
    Criteria criteria = new Criteria();
    criteria = Criteria.where("content.userId").is(userId);
    criteria.and("type").is(ExtendedProfile.class.getCanonicalName());
    criteria.and("deleted").is(false);

    List<ExtendedProfile> profiles = find(Query.query(criteria), ExtendedProfile.class);
    return profiles;
}

From source file:com.comcast.video.dawg.controller.house.filter.GroupCondition.java

/**
 * {@inheritDoc}/*from w  w w .  java 2 s.c  om*/
 */
@Override
public Criteria toCriteria(boolean negate) {
    /** If we are negating the whole criteria then we just negate the negation... */
    boolean notToUse = negate ? !not : not;
    Criteria crit = new Criteria();

    /** When you negate a grouping, you flip the operator and then negate all the elements */
    GroupOperator gop = groupOp;
    if (notToUse) {
        /** Flip operator */
        gop = groupOp.equals(GroupOperator.and) ? GroupOperator.or : GroupOperator.and;
    }

    Criteria[] all = new Criteria[conditions.size()];
    for (int i = 0; i < conditions.size(); i++) {
        all[i] = conditions.get(i).toCriteria(notToUse);
    }

    return gop.equals(GroupOperator.and) ? crit.andOperator(all) : crit.orOperator(all);
}

From source file:com.comcast.video.dawg.service.park.MongoParkService.java

private Query inKeys(String[] keys) {
    List<Criteria> list = new ArrayList<Criteria>();
    for (String key : keys) {
        list.add(Criteria.where("keys").regex(key));
    }/*from   w ww .  ja  v a2s. co m*/
    Criteria crit = new Criteria().andOperator(list.toArray(new Criteria[list.size()]));
    return new Query(crit);
}