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

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

Introduction

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

Prototype

public Criteria and(String key) 

Source Link

Document

Static factory method to create a Criteria using the provided key

Usage

From source file:com.epam.ta.reportportal.database.dao.TestItemRepositoryCustomImpl.java

/**
 * Create {@link Criteria} object for items history selecting Define name
 * type conditions./*ww  w.  j  a  v  a 2  s.  co m*/
 *
 * @param testItems
 * @return
 */
private Criteria getItemsHistoryCriteria(List<TestItem> testItems) {
    Criteria criteria = new Criteria();
    Criteria[] itemCriteries = new Criteria[testItems.size()];

    for (int i = 0; i < testItems.size(); i++) {
        TestItem testItem = testItems.get(i);
        Criteria one = where("name").is(testItem.getName()).and("type").is(testItem.getType().toString());
        if (null != testItem.getItemDescription())
            one.and("itemDescription").is(testItem.getItemDescription());
        if (null != testItem.getTags())
            one.and("tags").is(testItem.getTags());
        itemCriteries[i] = one;
    }

    criteria.orOperator(itemCriteries);
    return criteria;
}

From source file:com.gongpingjia.carplay.official.service.impl.OfficialApproveServiceImpl.java

/**
 * ?//w w  w. j av  a2s . c o m
 *
 * @param type
 * @param status
 * @param start
 * @param end
 * @return
 */
private Query buildQueryParam(String type, String status, Long start, Long end, String applyUserId) {
    Criteria criteria = new Criteria();
    if (!StringUtils.isEmpty(applyUserId)) {
        criteria.and("applyUserId").is(applyUserId);
    }
    if (StringUtils.isNotEmpty(type)) {
        criteria.and("type").is(type);
    }
    if (StringUtils.isNotEmpty(status)) {
        criteria.and("status").is(status);
    }

    if (start != null && end != null) {
        criteria.and("applyTime").gte(start).lt(end + Constants.DAY_MILLISECONDS);
    } else if (end != null) {
        criteria.and("applyTime").lt(end + Constants.DAY_MILLISECONDS);
    } else if (start != null) {
        criteria.and("applyTime").gte(start);
    }

    Query query = Query.query(criteria);
    //        query.with(new Sort(new Sort.Order(Sort.Direction.ASC, "status")));
    query.with(new Sort(new Sort.Order(Sort.Direction.ASC, "applyTime")));
    return query;
}

From source file:eu.trentorise.smartcampus.mobility.service.SmartPlannerService.java

private Map<String, PlanningPolicy> getStoredPolicies(Boolean draft) {
    Map<String, PlanningPolicy> result = Maps.newTreeMap();
    Criteria criteria = new Criteria();
    if (draft != null) {
        criteria.and("draft").is(draft);
    }/*w w  w .j  av  a  2s.  c  om*/

    List<CompilablePolicyData> compilable = storage.searchDomainObjects(criteria, CompilablePolicyData.class);
    for (CompilablePolicyData policy : compilable) {
        result.put(policy.getPolicyId(), new CompilablePolicy(policy));
    }
    return result;
}

From source file:com.gongpingjia.carplay.official.service.impl.OfficialApproveServiceImpl.java

@Override
public ResponseDo getUserUncheckedPhotos(String phone, Long start, Long end, Integer limit, int checked) {
    LOG.debug("Begin build query criteria, find unchecked photos");
    Criteria criteria = Criteria.where("uploadTime").gte(start).lt(end + Constants.DAY_MILLISECONDS)
            .and("checked").is(checked).and("type").is(Constants.PhotoType.USER_ALBUM);
    if (!StringUtils.isEmpty(phone)) {
        User user = userDao.findOne(Query.query(Criteria.where("phone").is(phone)));
        if (user == null) {
            LOG.info("User is not exist with phone:{}", phone);
            return ResponseDo.buildSuccessResponse(new ArrayList<>(0));
        }/* w w  w .j av a  2 s .c o m*/
        criteria.and("userId").is(user.getUserId());
    }

    LOG.debug("Query photos from database");
    List<Photo> photos = photoDao.find(Query.query(criteria).limit(limit));
    List<Map<String, Object>> photoList = new ArrayList<>(photos.size());
    for (Photo item : photos) {
        photoList.add(item.buildBaseInfo());
    }
    return ResponseDo.buildSuccessResponse(photoList);
}

From source file:se.inera.axel.shs.broker.messagestore.internal.MongoMessageLogService.java

@Override
public Iterable<ShsMessageEntry> listMessages(String shsTo, Filter filter) {

    Criteria criteria = Criteria.where("label.to.value").is(shsTo).and("label.transferType")
            .is(TransferType.ASYNCH).and("state").is(MessageState.RECEIVED).and("archived").in(null, false);

    if (filter.getProductIds() != null && !filter.getProductIds().isEmpty()) {
        criteria = criteria.and("label.product.value").in(filter.getProductIds());
    }//from  ww  w.  j  a  v a 2s  . c om

    if (filter.getNoAck() == true) {
        criteria = criteria.and("acknowledged").in(false, null);
    }

    if (filter.getStatus() != null) {
        criteria = criteria.and("label.status").is(filter.getStatus());
    }

    if (filter.getEndRecipient() != null) {
        criteria = criteria.and("label.endRecipient.value").is(filter.getEndRecipient());
    }

    if (filter.getOriginator() != null) {
        criteria = criteria.and("label.originatorOrFrom.value").is(filter.getOriginator());
    }

    if (filter.getCorrId() != null) {
        criteria = criteria.and("label.corrId").is(filter.getCorrId());
    }

    if (filter.getContentId() != null) {
        criteria = criteria.and("label.content.contentId").is(filter.getContentId());
    }

    if (filter.getMetaName() != null) {
        criteria = criteria.and("label.meta.name").is(filter.getMetaName());
    }

    if (filter.getMetaValue() != null) {
        criteria = criteria.and("label.meta.value").is(filter.getMetaValue());
    }

    if (filter.getSince() != null) {
        criteria = criteria.and("stateTimeStamp").gte(filter.getSince());
    }

    Query query = Query.query(criteria);

    Sort sort = createAttributeSort(filter);

    Sort arrivalOrderSort = createArrivalOrderSort(filter);

    if (sort != null)
        sort.and(arrivalOrderSort);
    else
        sort = arrivalOrderSort;

    query.with(sort);

    if (filter.getMaxHits() != null && filter.getMaxHits() > 0)
        query = query.limit(filter.getMaxHits());
    else
        query = query.limit(200);

    return mongoTemplate.find(query, ShsMessageEntry.class);
}

From source file:br.com.ezequieljuliano.argos.persistence.LoggerDAO.java

private List<Logger> findByTermsAndCriteria(List<UserTerm> terms, Criteria criteria, long limit) {
    List<Logger> loggers = new ArrayList<Logger>();
    if (!terms.isEmpty()) {
        String searchString = "";
        for (UserTerm userTerm : terms) {
            if (userTerm.getTerm() == Term.fullText) {
                searchString = searchString + userTerm.getValue() + " ";
            } else {
                switch (userTerm.getFilterMatchMode()) {
                case contains:
                    if (userTerm.getLogicalOperator() == LogicalOperator.orOperator) {
                        criteria.orOperator(
                                Criteria.where(userTerm.getTerm().getField()).regex(userTerm.getValue(), "i"));
                    } else {
                        criteria.and(userTerm.getTerm().getField()).regex(userTerm.getValue(), "i");
                    }/*w  w  w.ja v a2 s . c  o m*/
                    break;
                case startsWith:
                    if (userTerm.getLogicalOperator() == LogicalOperator.orOperator) {
                        criteria.orOperator(Criteria.where(userTerm.getTerm().getField())
                                .regex('^' + userTerm.getValue(), "i"));
                    } else {
                        criteria.and(userTerm.getTerm().getField()).regex('^' + userTerm.getValue(), "i");
                    }
                    break;
                case equal:
                    if (userTerm.getLogicalOperator() == LogicalOperator.orOperator) {
                        if (userTerm.getTerm().isObjId()) {
                            criteria.orOperator(Criteria.where(userTerm.getTerm().getField())
                                    .is(new ObjectId(userTerm.getValue())));
                        } else {
                            criteria.orOperator(
                                    Criteria.where(userTerm.getTerm().getField()).is(userTerm.getValue()));
                        }
                    } else {
                        if (userTerm.getTerm().isObjId()) {
                            criteria.and(userTerm.getTerm().getField()).is(new ObjectId(userTerm.getValue()));
                        } else {
                            criteria.and(userTerm.getTerm().getField()).is(userTerm.getValue());
                        }
                    }
                    break;
                case endsWith:
                    if (userTerm.getLogicalOperator() == LogicalOperator.orOperator) {
                        criteria.orOperator(Criteria.where(userTerm.getTerm().getField())
                                .regex(userTerm.getValue() + '$', "i"));
                    } else {
                        criteria.and(userTerm.getTerm().getField()).regex(userTerm.getValue() + '$', "i");
                    }
                    break;
                }
            }
        }
        if (Strings.isEmpty(searchString)) {
            loggers = getMongoOperations().find(Query.query(criteria).limit((int) limit), Logger.class);
        } else {
            loggers = findByFullText(Logger.COLLECTION_NAME, searchString, criteria, limit);
        }
    }
    return loggers;
}

From source file:com.gongpingjia.carplay.service.impl.ActivityServiceImpl.java

@Override
public ResponseDo viewUserActivity(String activityId) throws ApiException {
    Activity activity = activityDao.findById(activityId);
    if (null == activity) {
        throw new ApiException("?");
    }// ww  w  .  j a  v  a  2s. com
    User organizer = userDao.findById(activity.getUserId());
    if (null == organizer || StringUtils.isEmpty(organizer.getUserId())) {
        throw new ApiException("");
    }
    activity.setOrganizer(organizer.buildCommonUserMap());

    Criteria criteria = new Criteria();
    criteria.and("activityId").is(activity.getActivityId());
    Query query = Query.query(criteria);
    query.with(new Sort(new Sort.Order(Sort.Direction.DESC, "createTime")));
    List<Appointment> appointmentList = appointmentDao.find(query);
    if (null != appointmentList && !appointmentList.isEmpty()) {
        activity.setAppointmentList(appointmentList);
    }
    return ResponseDo.buildSuccessResponse(activity);
}

From source file:com.gongpingjia.carplay.service.impl.ActivityServiceImpl.java

@Override
public ResponseDo getActivityInfo(String userId, String activityId, Landmark landmark) throws ApiException {
    LOG.debug("getActivityInfo");

    Criteria criteria = Criteria.where("activityId").is(activityId);
    criteria.and("deleteFlag").is(false);
    Activity activity = activityDao.findOne(Query.query(criteria));
    if (null == activity) {
        LOG.warn("activity not exist");
        throw new ApiException("id ?");
    }//from  www.j  av a  2s  .com
    User organizer = userDao.findById(activity.getUserId());
    if (null == organizer) {
        LOG.error("the activity {} cannot found the organizer user {}", activityId, userId);
        throw new ApiException("? User");
    }
    Map<String, Object> map = organizer.buildCommonUserMap();
    User.appendCover(map, userDao.getCover(activity.getCover(), organizer.getUserId()));
    activity.setOrganizer(map);
    if (landmark.getLatitude() != null && landmark.getLongitude() != null) {
        activity.setDistance(DistanceUtil.getDistance(landmark, activity.getEstabPoint()));
    }
    return ResponseDo.buildSuccessResponse(activity);
}

From source file:com.gongpingjia.carplay.service.impl.UserServiceImpl.java

private Map<String, Appointment> buildActivityIdToAppointmentMap(String userId,
        Map<String, Activity> activityMap) {
    Criteria criteria = Criteria.where("applyUserId").is(userId);
    criteria.and("activityId").in(activityMap.keySet());
    List<Appointment> appointmentList = appointmentDao.find(Query.query(criteria));
    Map<String, Appointment> appointmentMap = new HashMap<>(appointmentList.size(), 1);
    for (Appointment appointment : appointmentList) {
        //? key   activityId
        appointmentMap.put(appointment.getActivityId(), appointment);
    }//from   ww w .  ja  v  a 2 s  .  c om
    return appointmentMap;
}