You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by ma...@apache.org on 2017/09/02 15:35:34 UTC

[14/50] [abbrv] oodt git commit: - clear up some NPEs in product paging - add some methods to FM utils in PCS core

- clear up some NPEs in product paging
- add some methods to FM utils in PCS core

Project: http://git-wip-us.apache.org/repos/asf/oodt/repo
Commit: http://git-wip-us.apache.org/repos/asf/oodt/commit/6338e497
Tree: http://git-wip-us.apache.org/repos/asf/oodt/tree/6338e497
Diff: http://git-wip-us.apache.org/repos/asf/oodt/diff/6338e497

Branch: refs/heads/development
Commit: 6338e4979d4c8b58dad3f8ca1ab7adfbd6f8d8dd
Parents: 6d5e10d
Author: Chris Mattmann <ma...@apache.org>
Authored: Wed Jul 26 13:38:27 2017 -0700
Committer: Chris Mattmann <ma...@apache.org>
Committed: Wed Jul 26 13:38:27 2017 -0700

----------------------------------------------------------------------
 .../oodt/cas/filemgr/catalog/LuceneCatalog.java | 10 +++---
 .../oodt/cas/filemgr/structs/ProductPage.java   |  2 ++
 .../cas/filemgr/catalog/TestLuceneCatalog.java  | 10 ++++--
 .../apache/oodt/pcs/util/FileManagerUtils.java  | 37 ++++++++++++++++++++
 4 files changed, 53 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/oodt/blob/6338e497/filemgr/src/main/java/org/apache/oodt/cas/filemgr/catalog/LuceneCatalog.java
----------------------------------------------------------------------
diff --git a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/catalog/LuceneCatalog.java b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/catalog/LuceneCatalog.java
index 4c9ed96..ae218d8 100644
--- a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/catalog/LuceneCatalog.java
+++ b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/catalog/LuceneCatalog.java
@@ -897,7 +897,8 @@ public class LuceneCatalog implements Catalog {
      */
     public ProductPage getNextPage(ProductType type, ProductPage currentPage) {
         if(type==null){
-            return null;
+            LOG.warning("getNextPage: Provided type was null: Returning blank page.");
+            return ProductPage.blankPage();
         }
         if (currentPage == null) {
             return getFirstPage(type);
@@ -921,11 +922,11 @@ public class LuceneCatalog implements Catalog {
                   "CatalogException getting next page for product type: ["
                           + type.getProductTypeId()
                           + "] from catalog: Message: " + e.getMessage());
-            return null;
+            return ProductPage.blankPage();
         }
         // There are no products and thus no next page
         if (products == null || (products.size() == 0)) {
-        	  return null;
+        	  return ProductPage.blankPage();
         }
         nextPage.setPageProducts(products);
 
@@ -940,7 +941,8 @@ public class LuceneCatalog implements Catalog {
      */
     public ProductPage getPrevPage(ProductType type, ProductPage currentPage) {
         if(type==null){
-            return null;
+            LOG.warning("getPrevPage: Provided type was null: Returning blank page.");
+            return ProductPage.blankPage();
         }
 
         if (currentPage == null) {

http://git-wip-us.apache.org/repos/asf/oodt/blob/6338e497/filemgr/src/main/java/org/apache/oodt/cas/filemgr/structs/ProductPage.java
----------------------------------------------------------------------
diff --git a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/structs/ProductPage.java b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/structs/ProductPage.java
index e70c19e..2ed9312 100644
--- a/filemgr/src/main/java/org/apache/oodt/cas/filemgr/structs/ProductPage.java
+++ b/filemgr/src/main/java/org/apache/oodt/cas/filemgr/structs/ProductPage.java
@@ -17,6 +17,7 @@
 
 package org.apache.oodt.cas.filemgr.structs;
 
+import java.util.Collections;
 //JDK imports
 import java.util.List;
 import java.util.Vector;
@@ -176,6 +177,7 @@ public class ProductPage {
         blank.setPageNum(0);
         blank.setTotalPages(0);
         blank.setPageSize(0);
+        blank.setPageProducts(Collections.EMPTY_LIST);
         return blank;
     }
     

http://git-wip-us.apache.org/repos/asf/oodt/blob/6338e497/filemgr/src/test/java/org/apache/oodt/cas/filemgr/catalog/TestLuceneCatalog.java
----------------------------------------------------------------------
diff --git a/filemgr/src/test/java/org/apache/oodt/cas/filemgr/catalog/TestLuceneCatalog.java b/filemgr/src/test/java/org/apache/oodt/cas/filemgr/catalog/TestLuceneCatalog.java
index 166a991..890c20c 100644
--- a/filemgr/src/test/java/org/apache/oodt/cas/filemgr/catalog/TestLuceneCatalog.java
+++ b/filemgr/src/test/java/org/apache/oodt/cas/filemgr/catalog/TestLuceneCatalog.java
@@ -502,7 +502,10 @@ public class TestLuceneCatalog extends TestCase {
         ProductPage page = myCat.getNextPage(null, myCat.getFirstPage(type));
 
 
-        assertNull(page);
+        assertNotNull(page);
+        assertEquals(0, page.getPageNum());
+        assertEquals(0, page.getTotalPages());
+        assertEquals(0, page.getPageSize());
     }
 
     public void testGetNextPageNullCurrentPage(){
@@ -775,7 +778,10 @@ public class TestLuceneCatalog extends TestCase {
                                        .size());
         ProductPage page2 = myCat.getNextPage(type, myCat.getFirstPage(type));
         ProductPage page = myCat.getPrevPage(null, page2);
-        assertNull(page);
+        assertNotNull(page);
+        assertEquals(0, page.getPageNum());
+        assertEquals(0, page.getPageSize());
+        assertEquals(0, page.getTotalPages());
 
     }
 

http://git-wip-us.apache.org/repos/asf/oodt/blob/6338e497/pcs/core/src/main/java/org/apache/oodt/pcs/util/FileManagerUtils.java
----------------------------------------------------------------------
diff --git a/pcs/core/src/main/java/org/apache/oodt/pcs/util/FileManagerUtils.java b/pcs/core/src/main/java/org/apache/oodt/pcs/util/FileManagerUtils.java
index abfed56..aecefb7 100644
--- a/pcs/core/src/main/java/org/apache/oodt/pcs/util/FileManagerUtils.java
+++ b/pcs/core/src/main/java/org/apache/oodt/pcs/util/FileManagerUtils.java
@@ -22,6 +22,7 @@ import org.apache.oodt.pcs.metadata.PCSConfigMetadata;
 import org.apache.oodt.pcs.query.FilenameQuery;
 import org.apache.oodt.cas.filemgr.structs.Element;
 import org.apache.oodt.cas.filemgr.structs.Product;
+import org.apache.oodt.cas.filemgr.structs.ProductPage;
 import org.apache.oodt.cas.filemgr.structs.ProductType;
 import org.apache.oodt.cas.filemgr.structs.Query;
 import org.apache.oodt.cas.filemgr.structs.Reference;
@@ -322,6 +323,42 @@ public class FileManagerUtils implements PCSConfigMetadata {
 
     return p;
   }
+  
+
+  /**
+   * Gets the number of products for the given type.
+   * @param type The given type.
+   * @return The number of products.
+   */
+  public int safeGetNumProducts(ProductType type){
+    int numProducts = -1;
+    try{
+      numProducts = this.fmgrClient.getNumProducts(type);
+    }
+    catch(Exception e){
+      e.printStackTrace();
+      LOG.warning("Exception getting num products by type: ["+type.getName()+"]: "
+          + "Message: "+e.getLocalizedMessage());
+    }
+    
+    return numProducts;
+  }
+
+  
+  /**
+   * 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) {
+    ProductPage page = null;
+    try {
+      page = this.fmgrClient.getFirstPage(type);
+    } catch (Exception e) {
+      LOG.info("No products found for: " + type.getName());
+    }
+    return page;
+  }
 
   public String getFilePath(Product prod) {
     if (prod.getProductReferences() == null) {