public ProductPage pagedQuery(Query query, ProductType type, int pageNum) throws CatalogException { int totalPages = PaginationUtils.getTotalPage( getResultListSize(query, type), this.pageSize); /* * if there are 0 total pages in the result list size then don't bother * returning a valid product page instead, return blank ProductPage */ if (totalPages == 0) { return ProductPage.blankPage(); } ProductPage retPage = new ProductPage(); retPage.setPageNum(pageNum); retPage.setPageSize(this.pageSize); retPage.setTotalPages(totalPages); List<String> productIds = paginateQuery(query, type, pageNum); if (productIds != null && productIds.size() > 0) { List<Product> products = new Vector<Product>(productIds.size()); for (String productId : productIds) { Product p = getProductById(productId); products.add(p); } retPage.setPageProducts(products); } return retPage; }
public static AvroProductPage getAvroProductPage(ProductPage productPage){ List<AvroProduct> avroProducts = new ArrayList<AvroProduct>(); for (Product ap : productPage.getPageProducts()){ avroProducts.add(getAvroProduct(ap)); } return new AvroProductPage(productPage.getPageNum(), productPage.getTotalPages(), productPage.getPageSize(), avroProducts, productPage.getNumOfHits()); }
public ProductPage getPrevPage(ProductType type, ProductPage currentPage) { if(type==null){ LOG.warning("getPrevPage: Provided type was null: Returning blank page."); return ProductPage.blankPage(); if (currentPage.isFirstPage()) { return currentPage; ProductPage prevPage = new ProductPage(); prevPage.setPageNum(currentPage.getPageNum() - 1); prevPage.setPageSize(pageSize); try { products = paginateQuery(query, type, currentPage.getPageNum() - 1, prevPage); } catch (CatalogException e) { LOG.log(Level.WARNING, return null; prevPage.setPageProducts(products);
/** * * @return A blank, unpopulated {@link ProductPage}. */ public static ProductPage blankPage() { ProductPage blank = new ProductPage(); blank.setPageNum(0); blank.setTotalPages(0); blank.setPageSize(0); blank.setPageProducts(Collections.EMPTY_LIST); return blank; }
@Override public ProductPage getNextPage(ProductType type, ProductPage currentPage) { int nextPageNumber = currentPage.getPageNum()+1; if (nextPageNumber>currentPage.getTotalPages()) { throw new RuntimeException("Invalid next page number: " + nextPageNumber); } try { return this.pagedQuery(new Query(), type, currentPage.getPageNum()+1); } catch(CatalogException e) { throw new RuntimeException(e.getMessage(), e); } }
throw new Exception("FileManager returned null first ProductPage"); ProductPage currentPage = new ProductPage(); currentPage.setPageNum(currentPageNum); currentPage.setPageSize(firstPage.getPageSize()); currentPage.setTotalPages(firstPage.getTotalPages()); ProductPage prevPage = client.getPrevPage(type, currentPage); if (prevPage == null) { throw new Exception("FileManager returned null previous ProductPage"); printer.println("Page: [num=" + prevPage.getPageNum() + ", totalPages=" + prevPage.getTotalPages() + ", pageSize=" + prevPage.getPageSize() + "]"); printer.println("Products:"); if (prevPage.getPageProducts() == null) { throw new NullPointerException( "FileManager returned null page Products"); for (Product p : prevPage.getPageProducts()) { printer.println("Product: [id=" + p.getProductId() + ",name=" + p.getProductName() + ",type="
public ProductPage getNextPage(ProductType type, ProductPage currentPage) { if(type==null){ LOG.warning("getNextPage: Provided type was null: Returning blank page."); return ProductPage.blankPage(); if (currentPage.isLastPage()) { return currentPage; ProductPage nextPage = new ProductPage(); Query query = new Query(); nextPage.setPageNum(currentPage.getPageNum() + 1); nextPage.setPageSize(pageSize); try { products = paginateQuery(query, type, currentPage.getPageNum() + 1, nextPage); } catch (CatalogException e) { LOG.log(Level.WARNING, + type.getProductTypeId() + "] from catalog: Message: " + e.getMessage()); return ProductPage.blankPage(); return ProductPage.blankPage(); nextPage.setPageProducts(products);
private void computeStartEndIdx() { if (this.productPage.getTotalPages() == 1) { this.totalProducts = this.productPage.getPageProducts().size(); this.pageNum = 1; } else if (productPage.getTotalPages() == 0) { this.totalProducts = 0; this.pageNum = 1; } else { this.totalProducts = (productPage.getTotalPages() - 1) * PAGE_SIZE; this.pageNum = this.productPage.getPageNum(); // get the last page ProductPage lastPage; Query query = new Query(); query.getCriteria().addAll(this.criteria); try { lastPage = fm.getFm().pagedQuery(query, this.type, this.productPage.getTotalPages()); this.totalProducts += lastPage.getPageProducts().size(); } catch (Exception ignore) { } } this.endIdx = this.totalProducts != 0 ? Math.min(this.totalProducts, (PAGE_SIZE) * (this.pageNum)) : 0; this.startIdx = this.totalProducts != 0 ? ((this.pageNum - 1) * PAGE_SIZE) + 1 : 0; }
public ProductPage getNextPage(ProductType type , ProductPage currPage) { LOG.fine("Getting next page for : " + type.toString()); ProductPage page = catalog.getNextPage(type, currPage); try { setProductType(page.getPageProducts()); } catch (Exception e) { LOG.log(Level.WARNING, "Unable to set product types for product page list: [" + page + "]"); } return page; }
for (int i = 0; i < page.getTotalPages(); i++) { if (page.getPageProducts() != null && page.getPageProducts().size() > 0) { for (Product p : page.getPageProducts()) { p.setProductReferences(fmgrClient.getProductReferences(p)); Metadata met = fmgrClient.getMetadata(p); if (!page.isLastPage()) { page = fmgrClient.getNextPage(type, page);
public ProductPage pagedQuery( Query query, ProductType type, int pageNum) throws CatalogException { ProductPage prodPage = null; try { prodPage = catalog.pagedQuery(this.getCatalogQuery(query, type), type, pageNum); if (prodPage == null) { prodPage = ProductPage.blankPage(); } else { // it is possible here that the underlying catalog did not // set the ProductType // to obey the contract of the File Manager, we need to make // sure its set here setProductType(prodPage.getPageProducts()); } } catch (Exception e) { e.printStackTrace(); LOG.log(Level.WARNING, "Catalog exception performing paged query for product type: [" + type.getProductTypeId() + "] query: [" + query + "]: Message: " + e.getMessage()); throw new CatalogException(e.getMessage()); } return prodPage; }
public ProductPage getNextPage(ProductType type, ProductPage currentPage) { if (currentPage == null) { return getFirstPage(type); } if (currentPage.isLastPage()) { return currentPage; } ProductPage nextPage = null; Query query = new Query(); try { nextPage = pagedQuery(query, type, currentPage.getPageNum() + 1); } catch (CatalogException e) { LOG.log(Level.WARNING, "Exception getting next page: Message: " + e.getMessage()); } return nextPage; }
public ProductPage getPrevPage(ProductType type, ProductPage currentPage) { if (currentPage == null) { return getFirstPage(type); } if (currentPage.isFirstPage()) { return currentPage; } ProductPage prevPage = null; Query query = new Query(); try { prevPage = pagedQuery(query, type, currentPage.getPageNum() - 1); } catch (CatalogException e) { LOG.log(Level.WARNING, "Exception getting prev page: Message: " + e.getMessage()); } return prevPage; }
private void exportTypeToDest(ProductType type) throws CatalogException, RepositoryManagerException { ProductPage page; if (this.srcCatalog != null) { page = srcCatalog.getFirstPage(type); } else { page = sourceClient.getFirstPage(type); } if (page == null) { return; } exportProductsToDest(page.getPageProducts(), type); while (!page.isLastPage()) { if (this.srcCatalog != null) { page = srcCatalog.getNextPage(type, page); } else { page = sourceClient.getNextPage(type, page); } if (page == null) { break; } exportProductsToDest(page.getPageProducts(), type); } }
@Override public ProductPage getPrevPage(ProductType type, ProductPage currentPage) { int prevPageNumber = currentPage.getPageNum()-1; if (prevPageNumber<=0) { throw new RuntimeException("Invalid previous page number: " + prevPageNumber); } try { return this.pagedQuery(new Query(), type, prevPageNumber); } catch(CatalogException e) { throw new RuntimeException(e.getMessage(), e); } }
public ProductPage getLastProductPage(ProductType type) { ProductPage lastPage = null; ProductPage firstPage = getFirstPage(type); Query query = new Query(); try { lastPage = pagedQuery(query, type, firstPage.getTotalPages()); } catch (CatalogException e) { LOG.log(Level.WARNING, "Exception getting last page: Message: " + e.getMessage()); } return lastPage; }
/** * Get a first page of Products using the pagination API. * * @param type * Gets the first page of products for this type. * @return The first page of products for this type. */ public ProductPage safeFirstPage(ProductType type) { if (!isConnected()) return ProductPage.blankPage(); ProductPage page = null; try { page = this.fmgrClient.getFirstPage(type); } catch (Exception e) { LOG.info("No products found for: " + type.getName()); } return page; }
public static ProductPage getProductPage(AvroProductPage avroProductPage){ List<Product> products = new ArrayList<Product>(); for (AvroProduct ap : avroProductPage.getPageProducts()){ products.add(getProduct(ap)); } ProductPage pp = new ProductPage(avroProductPage.getPageNum(), avroProductPage.getTotalPages(), avroProductPage.getPageSize(), products ); pp.setNumOfHits(avroProductPage.getNumOfHits()); return pp; }
throw new Exception("FileManager returned null first ProductPage"); ProductPage currentPage = new ProductPage(); currentPage.setPageNum(currentPageNum); currentPage.setPageSize(firstPage.getPageSize()); currentPage.setTotalPages(firstPage.getTotalPages()); ProductPage prevPage = client.getPrevPage(type, currentPage); if (prevPage == null) { throw new Exception("FileManager returned null previous ProductPage"); printer.println("Page: [num=" + prevPage.getPageNum() + ", totalPages=" + prevPage.getTotalPages() + ", pageSize=" + prevPage.getPageSize() + "]"); printer.println("Products:"); if (prevPage.getPageProducts() == null) { throw new NullPointerException( "FileManager returned null page Products"); for (Product p : prevPage.getPageProducts()) { printer.println("Product: [id=" + p.getProductId() + ",name=" + p.getProductName() + ",type="
public ProductPage getNextPage(ProductType type, ProductPage currentPage) { if(type==null){ LOG.warning("getNextPage: Provided type was null: Returning blank page."); return ProductPage.blankPage(); if (currentPage.isLastPage()) { return currentPage; ProductPage nextPage = new ProductPage(); Query query = new Query(); nextPage.setPageNum(currentPage.getPageNum() + 1); nextPage.setPageSize(pageSize); try { products = paginateQuery(query, type, currentPage.getPageNum() + 1, nextPage); } catch (CatalogException e) { LOG.log(Level.WARNING, + type.getProductTypeId() + "] from catalog: Message: " + e.getMessage()); return ProductPage.blankPage(); return ProductPage.blankPage(); nextPage.setPageProducts(products);