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:net.cit.tetrad.rrd.dao.DataAccessObjectForMongoImpl.java

public WriteResult upsertAlarm(Alarm alarm) {
    WriteResult wr = null;/*from   w  w  w .j  a va 2 s .c  o  m*/

    try {
        Update update = new Update();
        Query query = new Query(Criteria.where(ALARM_REG_DATE).is(alarm.getReg_date()));
        query.addCriteria(Criteria.where(ALARM_CONFIRM).is(alarm.getConfirm()));
        query.addCriteria(Criteria.where(ALARM_DEVICECODE).is(alarm.getDeviceCode()));
        query.addCriteria(Criteria.where(ALARM_TYPE).is(alarm.getType()));
        query.addCriteria(Criteria.where(ALARM_CRI_TYPE).is(alarm.getCri_type()));
        query.addCriteria(Criteria.where(ALARM_GROUPBIND).is(alarm.getGroupBind()));

        Alarm alarmInfo = readAlarmInfo(query);
        if (alarmInfo == null) {
            int idx = indexDao.createIdx(COLL_ALARM);
            update.set(IDX, idx);
            update.set(ALARM_REG_DATE, alarm.getReg_date());
            update.set(ALARM_REG_TIME, alarm.getReg_time());
        }

        update.set(ALARM_GROUPCODE, alarm.getGroupCode());
        update.set(ALARM_IP, alarm.getIp());
        update.set(ALARM_PORT, alarm.getPort());
        update.set(ALARM_CRI_VALUE, alarm.getCri_value());
        update.set(ALARM_FIGURE, alarm.getFigure());
        update.set(ALARM_REAL_CRI_VALUE, alarm.getReal_cri_value());
        update.set(ALARM_REAL_FIGURE, alarm.getReal_figure());
        update.set(ALARM_UP_DATE, alarm.getUp_date());
        update.set(ALARM_UP_TIME, alarm.getUp_time());
        update.set(ALARM_ALARM, alarm.getAlarm());
        //      update.set(ALARM_GROUPBIND, alarm.getGroupBind());
        update.set(ALARM_SUBLST, alarm.getSubLst());
        update.inc(ALARM_COUNT, 1);

        wr = operations.updateMulti(query, update, COLL_ALARM, true);

    } catch (Exception e) {
        e.printStackTrace();
    }
    return wr;
}

From source file:net.cit.tetrad.dao.management.impl.SubDaoImpl.java

public Object getIncludeOptionResult(CommonDto dto) {
    dhtmlxLogger.info("start getIncludeOptionResult");
    String dsname = dto.getDsname();

    Query query = new Query(
            Criteria.where(SERVERSTATUS_REGTIME).gt(dto.getSearch_sdate()).lte(dto.getSearch_edate()));
    query.addCriteria(Criteria.where(COL_DEVICECODE).is(dto.getDeviceCode()));
    if (dto.getCollname().equals(COLL_DBSTATUS))
        query.addCriteria(Criteria.where(DBSTATUS_DBNAME).is(dto.getDbname()));
    query.sort().on(SERVERSTATUS_REGTIME, Order.ASCENDING);
    query.fields().include("_id").include(SERVERSTATUS_REGTIME).include(dsname).include(COL_DEVICECODE);

    List<Map<String, Object>> result = new ArrayList<Map<String, Object>>();

    long start = System.currentTimeMillis();
    List<Object> serverStatusList = monadService.getListWithStrCollName(query, Map.class, dto.getCollname());
    double old = -1;
    for (Object obj : serverStatusList) {
        Map<String, Object> setInfo = new HashMap<String, Object>();
        Map<String, Object> statusInfo = (Map<String, Object>) obj;
        double recent = CriticalHelper.convertToDouble(statusInfo.get(dsname));
        String regtime = (String) statusInfo.get(SERVERSTATUS_REGTIME);
        int deviceCode = (Integer) statusInfo.get(COL_DEVICECODE);
        if (old == -1) {
            setInfo.put(dsname, 0);//from   ww w  .  j av  a2s.c  o m
        } else {
            setInfo.put(dsname, recent - old);
        }
        setInfo.put(COL_DEVICECODE, deviceCode);
        setInfo.put(SERVERSTATUS_REGTIME, regtime);
        old = recent;
        result.add(setInfo);
    }
    long end = System.currentTimeMillis();
    dhtmlxLogger.info("    getDiff Data : " + (end - start));
    String collname = "temp_" + TimestampUtil.readTimestamp();
    start = System.currentTimeMillis();
    monadService.insert(result, collname);
    end = System.currentTimeMillis();
    dhtmlxLogger.info("    insertDiff Data : " + (end - start));
    dto.setCollname(collname);
    Object obj = getCurrentResult(dto);

    //   
    dhtmlxLogger.info("drop temp collection!");
    monadService.dropCollection(collname);
    dhtmlxLogger.info("end getIncludeOptionResult");
    return obj;
}

From source file:com.mobileman.kuravis.core.services.event.impl.EventServiceImpl.java

/**
 * {@inheritDoc}/*from   w  w  w  .j a v  a  2  s .  c o m*/
 * 
 * @see com.mobileman.kuravis.core.services.event.EventService#findAllUserEventsByDateRange(com.mobileman.kuravis.core.domain.event.EventType, java.lang.String, java.util.Date, java.util.Date,
 *      org.springframework.data.domain.Pageable)
 */
@Override
public List<DBObject> findAllUserEventsByDateRange(EventType eventType, String userId, Date start, Date end,
        Pageable page) {

    Query query = Query.query(Criteria.where(Event.USER + "." + Event.ID).is(userId).and(START).gte(start)
            .orOperator(Criteria.where(END).lte(end), Criteria.where(END).is(null)));

    List<DBObject> result = null;
    if (eventType != null) {
        query.addCriteria(Criteria.where(Event.EVENT_TYPE).is(eventType));
        result = findAllByQuery(query.getQueryObject(), page);
    } else {
        /*
         * try { URL url = this.getClass().getResource("/calendar_data.json"); DBObject[] array = objectMapper.readValue(new File(url.getFile()), BasicDBObject[].class); result =
         * Arrays.asList(array); } catch (IOException e) {}
         */
        result = findAllByQuery(query.getQueryObject(), page);
    }
    return result;
}

From source file:org.tylproject.vaadin.addon.MongoContainer.java

protected Query applyCriteriaList(Query q, List<Criteria> criteriaList) {
    for (Criteria c : criteriaList)
        q.addCriteria(c);
    return q;//w ww. j ava2 s  . c o  m
}

From source file:io.smalldata.ohmageomh.data.repository.MongoDataPointRepositoryImpl.java

void addCreationTimestampCriteria(Query query, Range<OffsetDateTime> timestampRange) {

    if (timestampRange.hasLowerBound() || timestampRange.hasUpperBound()) {

        Criteria timestampCriteria = where("header.creation_date_time");

        if (timestampRange.hasLowerBound()) {
            if (timestampRange.lowerBoundType() == CLOSED) {
                timestampCriteria = timestampCriteria.gte(timestampRange.lowerEndpoint());
            } else {
                timestampCriteria = timestampCriteria.gt(timestampRange.lowerEndpoint());
            }/*  www  . java  2s . co m*/
        }

        if (timestampRange.hasUpperBound()) {
            if (timestampRange.upperBoundType() == CLOSED) {
                timestampCriteria = timestampCriteria.lte(timestampRange.upperEndpoint());
            } else {
                timestampCriteria = timestampCriteria.lt(timestampRange.upperEndpoint());
            }
        }

        query.addCriteria(timestampCriteria);
    }
}

From source file:net.cit.tetrad.resource.GraphResource.java

private boolean deviceCheck(int deviceIdx) {
    Device device = null;//from   w w  w .j  av  a  2  s  . c  o  m
    Query query = new Query();
    query.addCriteria(Criteria.where("idx").is(deviceIdx));
    device = (Device) monadService.getFind(query, Device.class);
    return device == null ? false : true;
}

From source file:net.cit.tetrad.resource.GraphResource.java

/**
 * DB  //from  ww  w.  ja v a  2 s.c  o  m
 * 
 * @param mav
 * @return
 */
@RequestMapping("/selectDbLst.do")
public void dbLst(HttpServletRequest request, HttpServletResponse response) {
    String typeGubun = Utility.isNull(request.getParameter("type_gubun"));
    try {
        PersonJson result = new PersonJson();
        Query query = new Query();
        if (typeGubun.equals("deviceLock") || typeGubun.equals("event")) {
            int deviceCode = (Integer.parseInt(Utility.isNullNumber(request.getParameter("deviceCode"))));
            if (deviceCode != 0)
                query.addCriteria(Criteria.where(DEVICECODE).is(deviceCode));
        } else if (typeGubun.equals("typeLock")) {
            String type = Utility.isNull(request.getParameter("type"));
            if (!type.equals(""))
                query.addCriteria(Criteria.where(DEVICE_TYPE).is(type));
        } else if (typeGubun.equals("groupLock")) {
            String[] groups = request.getParameter("groupCode").split(",");
            List<Integer> list = new ArrayList<Integer>();
            for (String group : groups) {
                list.add(new Integer(group));
            }
            if (groups.length != 0)
                query.addCriteria(Criteria.where(DEVICE_GROUPCODE).in(list));

        }

        List<String> dbLst = mkDbLst(query);

        result.setsEcho(Integer.parseInt(Utility.isNullNumber(request.getParameter("sEcho"))));
        result.setAaData(dbLst);

        JSONObject jsonObject = JSONObject.fromObject(result);

        Writer writer = setResponse(response).getWriter();
        writer.write(jsonObject.toString());

        log.debug(jsonObject.toString());
        writer.flush();

    } catch (Exception e) {
        log.error(e, e);
    }
}

From source file:net.cit.tetrad.resource.ManagementResource.java

public Query deleteLogQuery() {
    Query query = new Query();
    query.addCriteria(
            Criteria.where("regtime").gte(StatusInMemory.getStartDate()).lte(StatusInMemory.getEndDate()));
    return query;
}

From source file:net.cit.tetrad.resource.ManagementResource.java

private Query getSearchQuery(String searchGubun, String searchText) {
    Query query = new Query();
    if (searchGubun.equals(COL_GROUPCODE)) {
        query.addCriteria(Criteria.where(searchGubun).is(Integer.parseInt(searchText)));
    } else if (searchGubun.equals(COL_DEVICECODE)) {
        query.addCriteria(Criteria.where(IDX).is(Integer.parseInt(searchText)));
    } else if (searchGubun.equals(SEARCHALL)) {

    } else if (searchGubun.equals(DEVICE_TYPE)) {
        query.addCriteria(Criteria.where(searchGubun).is(StringUtils.getEncStr(searchText)));
    } else {/*from  w  w  w. j  a  v  a 2  s . c om*/
        query.addCriteria(Criteria.where(searchGubun).is(searchText));
    }
    return query;
}

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

/**
 * ???   /*from   ww w. ja va  2s .c  om*/
 * <p/>
 * criteria:
 * city    estabPoint.city
 * phone ? phone user  ? userId   activity
 * fromDate  toDate           createTime
 * pay  -1 ??               ? AA
 * type -1            type ? type
 * transfer  -1       true  false
 *
 * @param json
 * @return
 * @throws ApiException
 */
@Override
public ResponseDo getUserActivityList(JSONObject json, String userId) throws ApiException {
    //TODO?
    int draw = json.getInt("draw");
    int start = json.getInt("start");
    int length = json.getInt("length");

    JSONObject resultJson = new JSONObject();

    Query query = new Query();
    Criteria criteria = new Criteria();

    String startTimeStr = json.getString("fromTime");
    String endTimeStr = json.getString("toTime");
    if (StringUtils.isNotEmpty(startTimeStr) && StringUtils.isNotEmpty(endTimeStr)) {
        long startTime = TypeConverUtil.convertToLong("fromTime", startTimeStr, true);
        long endTime = TypeConverUtil.convertToLong("toTime", endTimeStr, true) + 24 * 60 * 60 * 1000;
        criteria.and("createTime").gte(startTime).lte(endTime);
    }

    String phone = json.getString("phone");
    if (StringUtils.isNotEmpty(phone)) {
        User user = userDao.findOne(Query.query(Criteria.where("phone").is(phone)));
        if (null == user || StringUtils.isEmpty(user.getUserId())) {
            throw new ApiException("???");
        }
        criteria.and("userId").is(user.getUserId());
    }

    criteria.and("deleteFlag").is(false);

    String province = json.getString("province");
    if (StringUtils.isNotEmpty(province)) {
        criteria.and("destination.province").is(province);
    }

    String city = json.getString("city");
    if (StringUtils.isNotEmpty(city)) {
        criteria.and("destination.city").is(city);
    }

    String majorType = json.getString("majorType");
    if (StringUtils.isNotEmpty(majorType)) {
        criteria.and("majorType").is(majorType);
    }

    String type = json.getString("type");
    if (StringUtils.isNotEmpty(type) && !StringUtils.equals(type, "-1")) {
        criteria.and("type").is(type);
    }

    String pay = json.getString("pay");
    if (StringUtils.isNotEmpty(pay) && !StringUtils.equals(pay, "-1")) {
        criteria.and("pay").is(pay);
    }

    String transferStr = json.getString("transfer");
    if (StringUtils.isNotEmpty(transferStr) && !StringUtils.equals(transferStr, "-1")) {
        criteria.and("transfer").is(TypeConverUtil.convertToBoolean("transfer", transferStr, true));
    }

    query.addCriteria(criteria);

    long totalNum = activityDao.count(query);

    query.with(new Sort(new Sort.Order(Sort.Direction.DESC, "createTime")));
    query.skip(start).limit(length);
    List<Activity> activityList = activityDao.find(query);

    resultJson.put("draw", draw);
    resultJson.put("recordsFiltered", totalNum);
    resultJson.put("recordsTotal", totalNum);

    if (null == activityList || activityList.isEmpty()) {
        return ResponseDo.buildSuccessResponse(resultJson);
    }

    Set<String> userIdSet = new HashSet<>(activityList.size());
    for (Activity activity : activityList) {
        userIdSet.add(activity.getUserId());
    }

    List<User> userList = userDao.findByIds(userIdSet);

    Map<String, User> userMap = new HashMap<>(userList.size());
    if (null == userList || userList.isEmpty()) {
        throw new ApiException(" ??");
    }
    for (User user : userList) {
        userMap.put(user.getUserId(), user);
    }

    JSONArray jsonArray = new JSONArray();
    for (Activity activity : activityList) {
        JSONObject item = new JSONObject();
        item.put("activityId", activity.getActivityId());
        item.put("nickname", userMap.get(activity.getUserId()).getNickname());
        item.put("phone", userMap.get(activity.getUserId()).getPhone());
        item.put("establish", activity.getEstablish());
        item.put("destination", activity.getDestination());
        item.put("type", activity.getType());
        item.put("pay", activity.getPay());
        item.put("transfer", activity.isTransfer());
        item.put("createTime", activity.getCreateTime());
        item.put("cover", userDao.getCover(activity.getCover(), activity.getUserId()));

        jsonArray.add(item);
    }
    resultJson.put("activityList", jsonArray);

    return ResponseDo.buildSuccessResponse(resultJson);
}