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/10/12 17:57:39 UTC

[15/50] [abbrv] oodt git commit: Fix for OODT-931 CAS Crawler and metadata preconditions should say what preconditions failed.

Fix for OODT-931 CAS Crawler and metadata preconditions should say what preconditions failed.


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

Branch: refs/heads/master
Commit: fa8251058b55b5703eda622d6bc64df2c89c8e52
Parents: fcb214f
Author: Chris Mattmann <ma...@apache.org>
Authored: Wed Jul 6 16:08:04 2016 -0700
Committer: Lewis John McGibbney <le...@gmail.com>
Committed: Thu Mar 9 21:12:41 2017 -0800

----------------------------------------------------------------------
 CHANGES.txt                                     |  3 ++
 .../cas/crawl/MetExtractorProductCrawler.java   | 37 ++++++++++++++++----
 .../oodt/cas/crawl/StdProductCrawler.java       | 16 +++++++--
 3 files changed, 47 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/oodt/blob/fa825105/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 22147f5..e779398 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -3,6 +3,9 @@ Apache OODT Change Log
 
 Release 1.1 - Current Development
 
+* OODT-931 CAS Crawler and metadata preconditions should say what preconditions 
+  failed (mattmann)
+
 * OODT-932 OODT-Core forces javadoc to run and fails on linting - it shouldn't 
   do that (mattmann)
 

http://git-wip-us.apache.org/repos/asf/oodt/blob/fa825105/crawler/src/main/java/org/apache/oodt/cas/crawl/MetExtractorProductCrawler.java
----------------------------------------------------------------------
diff --git a/crawler/src/main/java/org/apache/oodt/cas/crawl/MetExtractorProductCrawler.java b/crawler/src/main/java/org/apache/oodt/cas/crawl/MetExtractorProductCrawler.java
index d663e84..978798a 100644
--- a/crawler/src/main/java/org/apache/oodt/cas/crawl/MetExtractorProductCrawler.java
+++ b/crawler/src/main/java/org/apache/oodt/cas/crawl/MetExtractorProductCrawler.java
@@ -22,12 +22,14 @@ import org.apache.oodt.cas.metadata.Metadata;
 import org.apache.oodt.cas.metadata.exceptions.MetExtractionException;
 import org.apache.oodt.cas.metadata.exceptions.NamingConventionException;
 import org.apache.oodt.cas.metadata.filenaming.NamingConvention;
+import org.apache.oodt.cas.metadata.preconditions.PreCondEvalUtils;
 import org.apache.oodt.cas.metadata.preconditions.PreConditionComparator;
 import org.springframework.beans.factory.annotation.Required;
 
 import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.logging.Level;
 
 
 /**
@@ -58,14 +60,29 @@ public class MetExtractorProductCrawler extends ProductCrawler {
     @Override
     protected boolean passesPreconditions(File product) {
         if (this.getPreCondIds() != null) {
-            for (String preCondId : this.getPreCondIds()) {
-                if (!((PreConditionComparator<?>) this.getApplicationContext()
-                        .getBean(preCondId)).passes(product)) {
-                  return false;
-                }
-            }
+          PreCondEvalUtils evalUtils = new PreCondEvalUtils(
+              this.getApplicationContext());
+          if (!evalUtils.eval(this.getPreCondIds(), product)) {
+            return false;
+          }          
         }
-        return product.exists() && product.length() > 0;
+        
+        String preCondComparatorId = "ProductFileExistsCheck";
+        String preCondComparatorIdLength = "ProductLengthGreaterZeroCheck";
+        
+        boolean existsFlag = true, lengthFlag = true;
+        
+        if (!product.exists()){
+          existsFlag = false;
+          logConditionMessage(existsFlag, preCondComparatorId, product);
+        }
+        
+        if (product.length() == 0){
+          lengthFlag = false;
+          logConditionMessage(lengthFlag, preCondComparatorIdLength, product);
+        }
+        
+        return existsFlag && lengthFlag;
     }
 
     @Override
@@ -120,4 +137,10 @@ public class MetExtractorProductCrawler extends ProductCrawler {
     public String getNamingConventionId() {
        return namingConventionId;
     }
+    
+    private void logConditionMessage(boolean flag, String preCondComparatorId, File product){
+      String startMsg = flag ? "Passed":"Failed";
+      LOG.log(Level.INFO, startMsg + " precondition comparator id "
+          + preCondComparatorId+" file: "+product);      
+    }
 }

http://git-wip-us.apache.org/repos/asf/oodt/blob/fa825105/crawler/src/main/java/org/apache/oodt/cas/crawl/StdProductCrawler.java
----------------------------------------------------------------------
diff --git a/crawler/src/main/java/org/apache/oodt/cas/crawl/StdProductCrawler.java b/crawler/src/main/java/org/apache/oodt/cas/crawl/StdProductCrawler.java
index 00e0c91..dcc5b68 100644
--- a/crawler/src/main/java/org/apache/oodt/cas/crawl/StdProductCrawler.java
+++ b/crawler/src/main/java/org/apache/oodt/cas/crawl/StdProductCrawler.java
@@ -23,6 +23,7 @@ import org.apache.oodt.cas.metadata.extractors.MetReaderExtractor;
 
 //JDK imports
 import java.io.File;
+import java.util.logging.Level;
 
 /**
  * A generic Product Crawler for Products. The Crawler is given a root Product
@@ -58,8 +59,19 @@ public class StdProductCrawler extends ProductCrawler {
 
    @Override
    protected boolean passesPreconditions(File product) {
-      return new File(product.getAbsolutePath() + "." + this.metFileExtension)
-            .exists();
+      String metFilePath = product.getAbsolutePath() + "." + this.metFileExtension;
+      boolean flag = new File(metFilePath).exists();
+      String preCondComparatorId = "MetFileExistsCheck";
+
+      if (!flag){
+        LOG.log(Level.INFO, "Failed precondition comparator id "
+            + preCondComparatorId+" file: "+metFilePath+" does not exist.");
+      }
+      else{
+        LOG.log(Level.INFO, "Passed precondition comparator id "
+            + preCondComparatorId+" file: "+metFilePath+" exists.");        
+      }
+      return flag;
    }
 
    @Override