Author: rharo
Date: Tue Jul 16 09:43:52 2013
New Revision: 1503636

URL: http://svn.apache.org/r1503636
Log:
Fixed STANBOL-1120 with the proposed patches 

Modified:
    
stanbol/trunk/entityhub/indexing/core/src/main/java/org/apache/stanbol/entityhub/indexing/core/IndexerFactory.java
    
stanbol/trunk/entityhub/indexing/core/src/main/java/org/apache/stanbol/entityhub/indexing/core/config/IndexingConfig.java
    
stanbol/trunk/entityhub/indexing/core/src/main/java/org/apache/stanbol/entityhub/indexing/core/config/IndexingConstants.java
    
stanbol/trunk/entityhub/indexing/core/src/main/java/org/apache/stanbol/entityhub/indexing/core/source/ResourceLoader.java
    
stanbol/trunk/entityhub/indexing/core/src/test/java/org/apache/stanbol/entityhub/indexing/core/ResourceLoaderTest.java

Modified: 
stanbol/trunk/entityhub/indexing/core/src/main/java/org/apache/stanbol/entityhub/indexing/core/IndexerFactory.java
URL: 
http://svn.apache.org/viewvc/stanbol/trunk/entityhub/indexing/core/src/main/java/org/apache/stanbol/entityhub/indexing/core/IndexerFactory.java?rev=1503636&r1=1503635&r2=1503636&view=diff
==============================================================================
--- 
stanbol/trunk/entityhub/indexing/core/src/main/java/org/apache/stanbol/entityhub/indexing/core/IndexerFactory.java
 (original)
+++ 
stanbol/trunk/entityhub/indexing/core/src/main/java/org/apache/stanbol/entityhub/indexing/core/IndexerFactory.java
 Tue Jul 16 09:43:52 2013
@@ -16,8 +16,6 @@
 */
 package org.apache.stanbol.entityhub.indexing.core;
 
-import static 
org.apache.stanbol.entityhub.indexing.core.config.IndexingConfig.DEFAULT_INDEXED_ENTITIES_ID_FILE_NAME;
-
 import java.io.File;
 import java.io.IOException;
 import java.util.List;

Modified: 
stanbol/trunk/entityhub/indexing/core/src/main/java/org/apache/stanbol/entityhub/indexing/core/config/IndexingConfig.java
URL: 
http://svn.apache.org/viewvc/stanbol/trunk/entityhub/indexing/core/src/main/java/org/apache/stanbol/entityhub/indexing/core/config/IndexingConfig.java?rev=1503636&r1=1503635&r2=1503636&view=diff
==============================================================================
--- 
stanbol/trunk/entityhub/indexing/core/src/main/java/org/apache/stanbol/entityhub/indexing/core/config/IndexingConfig.java
 (original)
+++ 
stanbol/trunk/entityhub/indexing/core/src/main/java/org/apache/stanbol/entityhub/indexing/core/config/IndexingConfig.java
 Tue Jul 16 09:43:52 2013
@@ -80,7 +80,7 @@ public class IndexingConfig {
     private static final String DESTINATION_PATH = 
DEFAULT_ROOT_PATH+File.separatorChar+DESTINATION_FOLDER;
     private static final String DISTRIBUTION_FOLDER = "dist";
     private static final String DISTRIBUTION_PATH = 
DEFAULT_ROOT_PATH+File.separatorChar+DISTRIBUTION_FOLDER;
-    private static final String INDEXING_PROERTIES = "indexing.properties";
+    private static final String INDEXING_PROPERTIES = "indexing.properties";
     private static final String CONFIG_PARAM = "config";
     public static final String KEY_INDEXING_CONFIG = "indexingConfig";
     
@@ -135,7 +135,7 @@ public class IndexingConfig {
 //    private final Map<File,File> canonicalDirs = new HashMap<File,File>();
     
     /**
-     * The main indexing configuration as parsed form {@link 
#INDEXING_PROERTIES}
+     * The main indexing configuration as parsed form {@link 
#INDEXING_PROPERTIES}
      * file within the {@link #configDir}.
      */
     private final Map<String,Object> configuration;
@@ -318,16 +318,16 @@ public class IndexingConfig {
         }
         
         //check the main configuration
-        this.configuration = loadConfig(INDEXING_PROERTIES,true);
+        this.configuration = loadConfig(INDEXING_PROPERTIES,true);
         Object value = configuration.get(KEY_NAME);
         if(value == null){
             throw new IllegalArgumentException("Indexing Configuration '"+
-                INDEXING_PROERTIES+"' is missing the required key 
"+KEY_NAME+"!");
+                INDEXING_PROPERTIES+"' is missing the required key 
"+KEY_NAME+"!");
         }
         this.name = value.toString();
         if(name.isEmpty()){
             throw new IllegalArgumentException("Invalid Indexing Configuration 
'"+
-                INDEXING_PROERTIES+"': The value for the parameter"+KEY_NAME+" 
MUST NOT be empty!");
+                INDEXING_PROPERTIES+"': The value for the 
parameter"+KEY_NAME+" MUST NOT be empty!");
         }
         value = configuration.get(KEY_INDEX_FIELD_CONFIG);
         if(value == null || value.toString().isEmpty()){
@@ -360,7 +360,7 @@ public class IndexingConfig {
             throw new IllegalArgumentException("Invalid Indexing 
Configuration: " +
                        "IndexFieldConfiguration '"+indexFieldConfig+"' not 
found. " +
                        "Provide the missing file or use the 
'"+KEY_INDEX_FIELD_CONFIG+
-                       "' in the '"+INDEXING_PROERTIES+"' to configure a 
different one!");
+                       "' in the '"+INDEXING_PROPERTIES+"' to configure a 
different one!");
         }
     }
     
@@ -594,9 +594,9 @@ public class IndexingConfig {
         String contextResource;
         if(classpathResourceOffset != null){
             contextResource = FilenameUtils.concat(classpathResourceOffset, 
-                CONFIG_PATH+File.separatorChar+INDEXING_PROERTIES);
+                CONFIG_PATH+File.separatorChar+INDEXING_PROPERTIES);
         } else {
-            contextResource = 
CONFIG_PATH+File.separatorChar+INDEXING_PROERTIES;
+            contextResource = 
CONFIG_PATH+File.separatorChar+INDEXING_PROPERTIES;
         }
         URL contextUrl = loadViaClasspath(contextResource);
         if(contextUrl == null){// if indexing.properties is not found via 
classpath
@@ -784,6 +784,20 @@ public class IndexingConfig {
         return value != null?value.toString():null;
     }
     /**
+     * Getter for the failOnError as configured by the {@link 
IndexingConstants#KEY_FAIL_ON_ERROR_LOADING_RESOURCE}
+     * by the main indexing configuration.
+     * @return the boolean value of the failOnError parameter
+     */
+    public boolean isFailOnError(){
+       //by default failOnError is false to continue execution of the indexing 
tool
+        boolean failOnError = false;
+       Object value = 
configuration.get(IndexingConstants.KEY_FAIL_ON_ERROR_LOADING_RESOURCE);
+       if(value != null && !value.toString().isEmpty()){
+            failOnError = Boolean.parseBoolean(value.toString());
+        }
+       return failOnError;
+    }
+    /**
      * The {@link ScoreNormaliser} as configured by the {@link 
IndexingConstants#KEY_SCORE_NORMALIZER}
      * by the main indexing configuration.
      * @return the configured {@link ScoreNormaliser} or a {@link 
DefaultNormaliser} if

Modified: 
stanbol/trunk/entityhub/indexing/core/src/main/java/org/apache/stanbol/entityhub/indexing/core/config/IndexingConstants.java
URL: 
http://svn.apache.org/viewvc/stanbol/trunk/entityhub/indexing/core/src/main/java/org/apache/stanbol/entityhub/indexing/core/config/IndexingConstants.java?rev=1503636&r1=1503635&r2=1503636&view=diff
==============================================================================
--- 
stanbol/trunk/entityhub/indexing/core/src/main/java/org/apache/stanbol/entityhub/indexing/core/config/IndexingConstants.java
 (original)
+++ 
stanbol/trunk/entityhub/indexing/core/src/main/java/org/apache/stanbol/entityhub/indexing/core/config/IndexingConstants.java
 Tue Jul 16 09:43:52 2013
@@ -49,4 +49,6 @@ public interface IndexingConstants {
     String KEY_SCORE_NORMALIZER      = "scoreNormalizer";
     String KEY_ENTITY_PROCESSOR      = "entityProcessor";
     String KEY_ENTITY_POST_PROCESSOR = "entityPostProcessor";
+    String KEY_FAIL_ON_ERROR_LOADING_RESOURCE = "failOnErrorLoadingResource";
+
 }

Modified: 
stanbol/trunk/entityhub/indexing/core/src/main/java/org/apache/stanbol/entityhub/indexing/core/source/ResourceLoader.java
URL: 
http://svn.apache.org/viewvc/stanbol/trunk/entityhub/indexing/core/src/main/java/org/apache/stanbol/entityhub/indexing/core/source/ResourceLoader.java?rev=1503636&r1=1503635&r2=1503636&view=diff
==============================================================================
--- 
stanbol/trunk/entityhub/indexing/core/src/main/java/org/apache/stanbol/entityhub/indexing/core/source/ResourceLoader.java
 (original)
+++ 
stanbol/trunk/entityhub/indexing/core/src/main/java/org/apache/stanbol/entityhub/indexing/core/source/ResourceLoader.java
 Tue Jul 16 09:43:52 2013
@@ -293,16 +293,20 @@ public class ResourceLoader {
                 } else { //this does not use an imported folder or the state 
is not LOADED
                     files.put(file, state);
                 }
-                //if failOnError is activated we stop the loading on the first
-                //error!
-                if(failOnError && ResourceState.ERROR == state){
-                    String msg = "Error while loading Resource "+file;
-                    if(e != null){
-                        throw new IllegalStateException(msg,e);
-                    } else {
-                        throw new IllegalStateException(msg);
-                    }
-                }
+                if(ResourceState.ERROR == state){
+                       //if failOnError is activated we stop the loading on 
the first error!                   
+                    if (failOnError){
+                        String msg = "Error while loading Resource "+file;
+                       if(e != null){
+                            throw new IllegalStateException(msg,e);
+                        } else {
+                            throw new IllegalStateException(msg);
+                        }
+                    }else {
+                       //if failOnError is de-activated ignore the resource 
loading error and continue..                   
+                       log.info("Ignore Error for File {} and continue", file);
+                    }                    
+                } 
             } else {
                 log.info("Ignore Error for File {} because it is no longer 
registered with this RdfLoader",
                     file);

Modified: 
stanbol/trunk/entityhub/indexing/core/src/test/java/org/apache/stanbol/entityhub/indexing/core/ResourceLoaderTest.java
URL: 
http://svn.apache.org/viewvc/stanbol/trunk/entityhub/indexing/core/src/test/java/org/apache/stanbol/entityhub/indexing/core/ResourceLoaderTest.java?rev=1503636&r1=1503635&r2=1503636&view=diff
==============================================================================
--- 
stanbol/trunk/entityhub/indexing/core/src/test/java/org/apache/stanbol/entityhub/indexing/core/ResourceLoaderTest.java
 (original)
+++ 
stanbol/trunk/entityhub/indexing/core/src/test/java/org/apache/stanbol/entityhub/indexing/core/ResourceLoaderTest.java
 Tue Jul 16 09:43:52 2013
@@ -111,6 +111,13 @@ public class ResourceLoaderTest {
         importer.checkAllProcessed();
         
     }
+    
+    @Test
+    public void testFailOnError(){
+       assertTrue(isFailedOnError(true));
+       assertFalse(isFailedOnError(false));    
+    }
+    
     @Test
     public void testFolderWithoutProcessingArchives(){
         String folder = rootDir+TEST_FOLDER_NAME;
@@ -190,4 +197,19 @@ public class ResourceLoaderTest {
             folder+"ignoreFileInFolder.txt")), 
             loader.getResources(ResourceState.IGNORED));
     }
+    
+    private boolean isFailedOnError(boolean failOnError){
+               String folder = rootDir + TEST_FOLDER_NAME;
+               boolean failed = false;
+               DummyResourceImporter importer = new DummyResourceImporter(
+                               Arrays.asList(folder + 
"errorFileInFolder.txt"));
+               ResourceLoader loader = new ResourceLoader(importer, false, 
failOnError);
+               loader.addResource(new File(folder, "errorFileInFolder.txt"));
+               try {
+                       loader.loadResources();
+               } catch (IllegalStateException ex) {
+                       failed = true;
+               }
+               return failed;
+    }
 }


Reply via email to