Package com.opengamma.util.paging

Examples of com.opengamma.util.paging.PagingRequest


  //-------------------------------------------------------------------------
  @Override
  public <R> ConfigHistoryResult<R> history(final ConfigHistoryRequest<R> request) {
    final Class<?> type = request.getType();
    final ObjectId oid = request.getObjectId();
    final PagingRequest pagingRequest = request.getPagingRequest();

    return new ConfigHistoryResult<R>(
        pagingRequest.select(
            functional(_store.keySet())
                .map(new Function1<ObjectId, ConfigDocument>() {
                  @Override
                  public ConfigDocument execute(final ObjectId objectId) {
                    return _store.get(objectId);
View Full Code Here


   */
  protected <S extends PagedRequest> void pagedSearch(SearchStrategy<D, M, S> searchStrategy, AbstractDocumentsResult<D> documentsResult, S searchRequest) {
    //first, hive off the original paging request. this is
    //because we're about to mutate the searchRequest so
    //that it is appropriate for downstream masters.
    PagingRequest originalPagingRequest = searchRequest.getPagingRequest();
    //first page to request will be identical to passed
    //page request.
    PagingRequest nextPage = originalPagingRequest;
    //totalResults used to keep track of whether we
    //have accumulated enough records to satisfy the
    //page size.
    int totalResults = 0;
    //iterate over the master list, stopping when we
    //either run out of masters or the totalResults
    //exceeds the range of records requested.
    for (int i = 0; i < getMasterList().size(); i++) {
      M master = getMasterList().get(i);
      //delegate the query to the master via the strategy
      AbstractDocumentsResult<D> masterResult = searchStrategy.search(master, searchRequest);
      //totalItems() reflects the total number of records
      //available from the queried master.
      totalResults += masterResult.getPaging().getTotalItems();
      documentsResult.getDocuments().addAll(masterResult.getDocuments());
      if (i == getMasterList().size() - 1) {
        //all masters are exhausted so stop here.
        //totalResults will reflect the total number of
        //records available across masters to no need
        //to modify it (see next condition).
        break;
      }
      if (totalResults >= nextPage.getLastItem()) {
        //we have maxed out the requested window and more masters remain.
        //add one to ensure that the gui makes further requests which will
        //run into the next master's range.
        totalResults += 1;
        break;
View Full Code Here

   * avoids complexities such as dealing with live updates.
   * @param request the search request to broaden
   * @return the {@link PagingRequest}
   */
  protected PagingRequest clearPaging(AbstractSearchRequest request) {
    PagingRequest pagingRequest = request.getPagingRequest();
    request.setPagingRequest(PagingRequest.ALL);
    return pagingRequest;
  }
View Full Code Here

   * Same as for {@link AbstractSearchRequest}.
   * @param request the search request
   * @return the paging request
   */
  protected PagingRequest clearPaging(AbstractHistoryRequest request) {
    PagingRequest pagingRequest = request.getPagingRequest();
    request.setPagingRequest(PagingRequest.ALL);
    return pagingRequest;
  }
View Full Code Here

  public void testSearchCache() {
    for (int requestSize = 1; requestSize < TOTAL_SIZE; requestSize = requestSize + 17) {
      for (int requestStartStepSize = 1; requestStartStepSize < TOTAL_SIZE / 2; requestStartStepSize = requestStartStepSize + 71) {
        EHCachingSearchCache searchCache = getCleanSearchCache();
        for (int requestStartPos = 0; requestStartPos * requestStartStepSize < TOTAL_SIZE * 4; requestStartPos++) {
          PagingRequest pagingRequest = PagingRequest.ofIndex((requestStartPos * requestStartStepSize) % TOTAL_SIZE, requestSize);
          assertEquals(searchCache.search(new SecuritySearchRequest(), pagingRequest, false).getSecond(),
                       buildResultIDs(
                         PagingRequest.ofIndex(
                           pagingRequest.getFirstItem(),
                           Math.min(pagingRequest.getLastItem() - pagingRequest.getFirstItem(),
                                    TOTAL_SIZE - pagingRequest.getFirstItem()
                           )
                         )
                       )
          );
        }
View Full Code Here

  public void testSearchCachePrefetching() {
    for (int requestSize = 1; requestSize < TOTAL_SIZE; requestSize = requestSize + 17) {
      for (int requestStartStepSize = 1; requestStartStepSize < TOTAL_SIZE / 2; requestStartStepSize = requestStartStepSize + 71) {
        EHCachingSearchCache searchCache = getCleanSearchCache();
        for (int requestStartPos = 0; requestStartPos * requestStartStepSize < TOTAL_SIZE * 4; requestStartPos++) {
          PagingRequest pagingRequest = PagingRequest.ofIndex((requestStartPos * requestStartStepSize) % TOTAL_SIZE, requestSize);
          searchCache.prefetch(new SecuritySearchRequest(), pagingRequest);
          assertEquals(searchCache.search(new SecuritySearchRequest(), pagingRequest, false).getSecond(),
                       buildResultIDs(
                         PagingRequest.ofIndex(
                           pagingRequest.getFirstItem(),
                           Math.min(pagingRequest.getLastItem() - pagingRequest.getFirstItem(),
                                    TOTAL_SIZE - pagingRequest.getFirstItem()
                           )
                         )
                       )
          );
        }
View Full Code Here

  @Produces(MediaType.APPLICATION_JSON)
  public Response getJSON(
      @QueryParam("pgIdx") Integer pgIdx,
      @QueryParam("pgNum") Integer pgNum,
      @QueryParam("pgSze") Integer pgSze) {
    PagingRequest pr = buildPagingRequest(pgIdx, pgNum, pgSze);
    RegionHistoryRequest request = new RegionHistoryRequest(data().getRegion().getUniqueId());
    request.setPagingRequest(pr);
    RegionHistoryResult result = data().getRegionMaster().history(request);
   
    FlexiBean out = createRootData();
View Full Code Here

        (pagingRequest.getLastItem() < Integer.MAX_VALUE - (PREFETCH_RADIUS * PREFETCH_GRANULARITY))
        ? ((pagingRequest.getLastItem() / PREFETCH_GRANULARITY) * PREFETCH_GRANULARITY)
              + (PREFETCH_RADIUS * PREFETCH_GRANULARITY)
        : Integer.MAX_VALUE;

    final PagingRequest superPagingRequest = PagingRequest.ofIndex(start, end - start);

    // Submit search task to background executor
    getExecutorService().submit(new Runnable() {
      @Override
      public void run() {
View Full Code Here

      @QueryParam("pgSze") Integer pgSze,
      @QueryParam("name") String name,
      @QueryParam("classification") RegionClassification classification,
      @QueryParam("regionId") List<String> regionIdStrs,
      @Context UriInfo uriInfo) {
    PagingRequest pr = buildPagingRequest(pgIdx, pgNum, pgSze);
    FlexiBean out = createSearchResultData(pr, name, classification, regionIdStrs, uriInfo);
    return getFreemarker().build(HTML_DIR + "regions.ftl", out);
  }
View Full Code Here

      @QueryParam("pgSze") Integer pgSze,
      @QueryParam("name") String name,
      @QueryParam("classification") RegionClassification classification,
      @QueryParam("regionId") List<String> regionIdStrs,
      @Context UriInfo uriInfo) {
    PagingRequest pr = buildPagingRequest(pgIdx, pgNum, pgSze);
    FlexiBean out = createSearchResultData(pr, name, classification, regionIdStrs, uriInfo);
    return getFreemarker().build(JSON_DIR + "regions.ftl", out);
  }
View Full Code Here

TOP

Related Classes of com.opengamma.util.paging.PagingRequest

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.