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

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

Introduction

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

Prototype

int limit

To view the source code for org.springframework.data.mongodb.core.query Query limit.

Click Source Link

Usage

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   w w w  . j a  va 2  s .  c  o m
    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:uk.gov.nationalarchives.discovery.taxonomy.common.repository.mongo.impl.IAViewUpdateRepositoryImpl.java

@Override
public List<IAViewUpdate> findDocumentsCreatedAfterDocumentAndCreatedBeforeDate(IAViewUpdate afterIAViewUpdate,
        Date ltDate, Integer limit) {
    List<Criteria> listOfCriterias = new ArrayList<Criteria>();
    listOfCriterias.add(new Criteria().orOperator(
            Criteria.where(IAViewUpdate.FIELD_CREATIONDATE).gt(afterIAViewUpdate.getCreationDate()),
            new Criteria().andOperator(
                    Criteria.where(IAViewUpdate.FIELD_CREATIONDATE).gte(afterIAViewUpdate.getCreationDate()),
                    Criteria.where(IAViewUpdate.FIELD_DOCREFERENCE).gt(afterIAViewUpdate.getDocReference()))));
    if (ltDate != null) {
        listOfCriterias.add(Criteria.where(IAViewUpdate.FIELD_CREATIONDATE).lt(ltDate));
    }//  w ww . jav  a 2  s.  c o  m
    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:uk.gov.nationalarchives.discovery.taxonomy.common.service.impl.IAViewServiceImpl.java

public List<MongoInformationAssetView> findUntaggedDocumentsBySeriesMongo(String seriesIaid, Integer limit,
        Integer offset) {// ww  w  .j  a  v  a2  s . com
    Query query = Query.query(Criteria.where("series").is(seriesIaid).and("categories").size(0));
    query.limit(limit);
    query.skip(offset);
    query.with(new Sort(Sort.Direction.ASC, "_id"));
    return mongoTemplate.find(query, MongoInformationAssetView.class);
}

From source file:org.shredzone.flufftron.repository.FluffDao.java

/**
 * Finds all {@link Fluff} objects. They are ordered by their creation date,
 * descendingly.//  w ww .  j av a  2  s . c o  m
 *
 * @param first
 *            First entry, starting with 0
 * @param max
 *            Maximum number of entries, or 0 for all
 * @return List of {@link Fluff}
 */
public List<Fluff> findAll(int first, int max) {
    Query q = new Query();

    if (first > 0) {
        q.skip(first);
    }

    if (max > 0) {
        q.limit(max);
    }

    q.sort().on("created", Order.DESCENDING);
    return mongoOperations.find(q, Fluff.class);
}

From source file:org.shredzone.flufftron.repository.FluffDao.java

/**
 * Finds all {@link Fluff} objects of a {@link Person}. They are ordered by their
 * creation date, descendingly./*from  www  . j av a 2 s . c o  m*/
 *
 * @param person
 *            {@link Person} to find all {@link Fluff} for
 * @param first
 *            First entry, starting with 0
 * @param max
 *            Maximum number of entries, or 0 for all
 * @return List of {@link Fluff}
 */
public List<Fluff> findByPerson(Person person, int first, int max) {
    Query q = query(where("personId").is(person.getId()));

    if (first > 0) {
        q.skip(first);
    }

    if (max > 0) {
        q.limit(max);
    }

    q.sort().on("created", Order.DESCENDING);
    return mongoOperations.find(q, Fluff.class);
}

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

@Override
public Iterable<DataPoint> findBySearchCriteria(DataPointSearchCriteria searchCriteria,
        @Nullable Integer offset, @Nullable Integer limit) {

    checkNotNull(searchCriteria);//  www .ja  va 2s.c  o  m
    checkArgument(offset == null || offset >= 0);
    checkArgument(limit == null || limit >= 0);

    Query query = newQuery(searchCriteria);

    if (offset != null) {
        query.skip(offset);
    }

    if (limit != null) {
        query.limit(limit);
    }

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

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

@Override
public Iterable<ShsMessageEntry> findMessages(Filter filter) {

    Criteria criteria = buildCriteria(filter);
    Query query = Query.query(criteria);

    query.with(new Sort(Sort.Direction.DESC, "arrivalTimeStamp"));

    query = query.limit(filter.getLimit());
    query = query.skip(filter.getSkip());

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

}

From source file:eu.trentorise.smartcampus.communicatorservice.storage.CommunicatorStorage.java

public List<Notification> searchNotifications(String user, String capp, Long since, Integer position,
        Integer count, NotificationFilter infilter) {
    NotificationFilter filter = infilter == null ? new NotificationFilter() : infilter;
    Criteria criteria = createNotificationSearchWithTypeCriteria(user, capp, since, filter);
    Query q = Query.query(criteria);
    q.sort().on("content.timestamp", Order.DESCENDING);
    q.skip(position);//w ww  .j  a v  a 2s .  c o  m
    q.limit(count);

    List<Notification> list = find(q, Notification.class);

    //      if (filter.getOrdering() != null) {
    //         switch (filter.getOrdering()) {
    //         case ORDER_BY_ARRIVAL:
    //            Collections.sort(list, arrivalDateComparator);
    //            break;
    //         case ORDER_BY_REL_PLACE:
    //         case ORDER_BY_REL_TIME:
    //         case ORDER_BY_PRIORITY:
    //         default:
    //            break;
    //         }
    //      } else {
    //         Collections.sort(list, arrivalDateComparator);
    //      }
    //      if (list.size() <= position) {
    //         return new ArrayList<Notification>();
    //      }
    //      if (position != null && count != null && count > 0) {
    //         return list.subList(position, Math.min(list.size(), position + count));
    //      }
    return list;
}

From source file:com.sangupta.jerry.mongodb.MongoTemplateBasicOperations.java

/**
 * //  ww  w  .j a  v  a  2  s. co m
 */
@Override
public List<T> getEntities(int page, int pageSize) {
    Query query = new Query();
    query.limit(pageSize);
    if (page > 1) {
        query.skip((page - 1) * pageSize);
    }
    return this.mongoTemplate.find(query, this.entityClass);
}

From source file:com.github.camellabs.iot.cloudlet.geofencing.service.DefaultRouteService.java

@Override
public int analyzeRoutes(String client) {
    RouteGpsCoordinates lastRouteCoordinates = findLastRouteCoordinates(client);
    GpsCoordinates lastCoordinates = null;
    if (lastRouteCoordinates == null) {
        LOG.info("No GPS coordinates assigned to routes for client {}", client);
    } else {/*from  ww  w  . j  a  v  a  2s. c  o m*/
        lastCoordinates = mongoTemplate.findById(lastRouteCoordinates.getCoordinatesId(), GpsCoordinates.class,
                GpsCoordinates.class.getSimpleName());
    }

    Query query = new Query();
    query.addCriteria(where("client").is(client));
    if (lastRouteCoordinates != null) {
        query.addCriteria(where("_id").gt(new ObjectId(lastRouteCoordinates.getCoordinatesId())));
    }
    query.limit(routeAnalysisBatchSize);
    query.with(new Sort(ASC, "_id"));
    List<GpsCoordinates> coordinatesToAnalyze = mongoTemplate.find(query, GpsCoordinates.class,
            GpsCoordinates.class.getSimpleName());
    for (GpsCoordinates coordinates : coordinatesToAnalyze) {
        String routeId;
        if (lastCoordinates == null || (TimeUnit.MILLISECONDS.toMinutes(
                coordinates.getTimestamp().getTime() - lastCoordinates.getTimestamp().getTime()) > 5)) {
            Route newRoute = createNewRoute(client);
            routeId = documentDriver.save(collectionName(newRoute.getClass()), pojoToMap(newRoute));
        } else {
            routeId = lastRouteCoordinates.getRouteId();
        }

        lastRouteCoordinates = new RouteGpsCoordinates(null, routeId, coordinates.getId(), client);
        mongoTemplate.save(lastRouteCoordinates, collectionName(RouteGpsCoordinates.class));
        lastCoordinates = coordinates;
    }
    return coordinatesToAnalyze.size();
}