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:org.springframework.data.mongodb.core.mapping.MappingTests.java

@Test
public void testOrQuery() {
    PersonWithObjectId p1 = new PersonWithObjectId(1, "first", "");
    template.save(p1);//w  w w .  j  a va 2s.  c om
    PersonWithObjectId p2 = new PersonWithObjectId(2, "second", "");
    template.save(p2);

    List<PersonWithObjectId> results = template.find(
            new Query(new Criteria().orOperator(where("ssn").is(1), where("ssn").is(2))),
            PersonWithObjectId.class);

    assertNotNull(results);
    assertThat(results.size(), is(2));
    assertThat(results.get(1).getSsn(), is(2));
}

From source file:org.springframework.data.mongodb.repository.query.MongoQueryCreator.java

@Override
protected Criteria and(Part part, Criteria base, Iterator<Object> iterator) {

    if (base == null) {
        return create(part, iterator);
    }//w w w.  jav  a2  s .  com

    PersistentPropertyPath<MongoPersistentProperty> path = context
            .getPersistentPropertyPath(part.getProperty());

    return new Criteria().andOperator(base,
            from(part.getType(),
                    where(path.toDotPath(MongoPersistentProperty.PropertyToFieldNameConverter.INSTANCE)),
                    (PotentiallyConvertingIterator) iterator));
}

From source file:org.springframework.data.mongodb.repository.query.MongoQueryCreator.java

@Override
protected Criteria or(Criteria base, Criteria criteria) {

    Criteria result = new Criteria();
    return result.orOperator(base, criteria);
}

From source file:vn.chodientu.service.ItemCrawlLogService.java

public DataPage<ItemCrawlLog> search(ItemCrawlLogSearch logSearch) {
    String itemId = logSearch.getItemId();
    String sellerId = logSearch.getSellerId();
    long timeFrom = logSearch.getTimeFrom();
    long timeTo = logSearch.getTimeTo();
    int status = logSearch.getStatus();
    String imgStatus = logSearch.getImageStatus();
    String type = logSearch.getType();
    int pageIndex = logSearch.getPageIndex();
    int pageSize = logSearch.getPageSize();

    Criteria cri = new Criteria();
    if (itemId != null && !itemId.equals("")) {
        cri.and("itemId").is(itemId);
    }//from w  ww . ja  v a2s  . c o  m
    if (sellerId != null && !sellerId.equals("")) {
        cri.and("sellerId").is(sellerId);
    }
    if (imgStatus != null && !imgStatus.equals("")) {
        switch (imgStatus) {
        case "NO_IMAGE":
            cri.and("imageStatus").is(CrawlImageStatus.NO_IMAGE);
            break;
        case "WAIT_DOWNLOAD":
            cri.and("imageStatus").is(CrawlImageStatus.WAIT_DOWNLOAD);
            break;
        case "DOWNLOAD_SUCCESS":
            cri.and("imageStatus").is(CrawlImageStatus.DOWNLOAD_SUCCESS);
            break;
        case "DOWNLOAD_FAIL":
            cri.and("imageStatus").is(CrawlImageStatus.DOWNLOAD_FAIL);
            break;
        case "SMALL_IMAGE":
            cri.and("imageStatus").is(CrawlImageStatus.SMALL_IMAGE);
            break;
        default:
            break;
        }
    }
    if (type != null && !type.equals("")) {
        switch (type) {
        case "ADD":
            cri.and("type").is(CrawlType.ADD);
            break;
        case "EDIT":
            cri.and("type").is(CrawlType.ADD);
            break;
        default:
            break;
        }
    }
    switch (status) {
    case 0: //everrun
        cri.and("status").is(false);
        break;
    case 1: //running
        cri.and("status").is(true);
        break;
    default:
        break;
    }

    if (timeFrom > 0 && timeTo > 0) {
        cri.and("time").gte(timeFrom).lt(timeTo);
    } else if (timeFrom > 0) {
        cri.and("time").gte(timeFrom);
    } else if (timeTo > 0) {
        cri.and("time").lt(timeTo);
    }
    if (pageIndex <= 0) {
        pageIndex = 0;
    }
    if (pageSize <= 0) {
        pageSize = 50;
    }
    Query query = new Query(cri);
    query.skip(pageIndex * pageSize).limit(pageSize);
    query.with(new Sort(Sort.Direction.DESC, "time"));
    //
    DataPage<ItemCrawlLog> dataPage = new DataPage<>();
    dataPage.setData(crawlLogRepository.find(query));
    dataPage.setPageIndex(pageIndex);
    dataPage.setPageSize(pageSize);
    dataPage.setDataCount(crawlLogRepository.count(query));
    dataPage.setPageCount(dataPage.getDataCount() / pageSize);
    try {
        List<String> listItemIds = new ArrayList<>();
        for (ItemCrawlLog crawlLog : dataPage.getData()) {
            if (crawlLog.getItemId() != null && !crawlLog.getItemId().equals("")) {
                listItemIds.add(crawlLog.getItemId());
            }
            List<String> errMsg = new ArrayList<>();
            List<String> alertMsg = new ArrayList<>();
            for (String errcode : crawlLog.getErrorCode()) {
                errMsg.add(ErrorUtils.getErrorMessage(errcode));
            }
            for (String alertCode : crawlLog.getAlertCode()) {
                alertMsg.add(ErrorUtils.getAlertMessage(alertCode));
            }
            crawlLog.setErrorMessage(errMsg);
            crawlLog.setAlertMessage(alertMsg);
        }
        List<Item> listItems = itemService.list(listItemIds);
        for (ItemCrawlLog crawlLog : dataPage.getData()) {
            for (Item item : listItems) {
                if (item.getId().equals(crawlLog.getItemId())) {
                    crawlLog.setItem(item);
                }
            }
            for (KeyVal64 keyval : crawlLog.getRequest()) {
                String value = StringUtils.newStringUtf8(Base64.decodeBase64(keyval.getValue()));
                if (value != null && !value.equals("")) {
                    value = value.trim();
                }
                keyval.setValue(value);
            }
        }
    } catch (Exception ex) {
        return dataPage;
    }
    return dataPage;

}