You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stanbol.apache.org by rw...@apache.org on 2013/12/17 20:56:41 UTC

svn commit: r1551673 - in /stanbol/trunk/enhancement-engines/lucenefstlinking/src/main/java/org/apache/stanbol/enhancer/engines/lucenefstlinking: FstLinkingEngine.java FstLinkingEngineComponent.java

Author: rwesten
Date: Tue Dec 17 19:56:40 2013
New Revision: 1551673

URL: http://svn.apache.org/r1551673
Log:
merged fixes for STANBOL-1240, STANBOL-1241 and STANBOL-1242 from 0.12 to 1.0.0

Modified:
    stanbol/trunk/enhancement-engines/lucenefstlinking/src/main/java/org/apache/stanbol/enhancer/engines/lucenefstlinking/FstLinkingEngine.java
    stanbol/trunk/enhancement-engines/lucenefstlinking/src/main/java/org/apache/stanbol/enhancer/engines/lucenefstlinking/FstLinkingEngineComponent.java

Modified: stanbol/trunk/enhancement-engines/lucenefstlinking/src/main/java/org/apache/stanbol/enhancer/engines/lucenefstlinking/FstLinkingEngine.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/lucenefstlinking/src/main/java/org/apache/stanbol/enhancer/engines/lucenefstlinking/FstLinkingEngine.java?rev=1551673&r1=1551672&r2=1551673&view=diff
==============================================================================
--- stanbol/trunk/enhancement-engines/lucenefstlinking/src/main/java/org/apache/stanbol/enhancer/engines/lucenefstlinking/FstLinkingEngine.java (original)
+++ stanbol/trunk/enhancement-engines/lucenefstlinking/src/main/java/org/apache/stanbol/enhancer/engines/lucenefstlinking/FstLinkingEngine.java Tue Dec 17 19:56:40 2013
@@ -136,11 +136,19 @@ public class FstLinkingEngine implements
     public int canEnhance(ContentItem ci) throws EngineException {
         log.trace("canEnhancer {}", ci.getUri());
         String language = getLanguage(this, ci, false);
+        //(1) check if the language is enabled by the config
         if (language == null || !indexConfig.getFstConfig().isLanguage(language)) {
             log.debug("Engine {} ignores ContentItem {} becuase language {} is not condigured.",
                 new Object[] {getName(), ci.getUri(), language});
             return CANNOT_ENHANCE;
         }
+        //(2) check if we have a FST model for the language
+        if(indexConfig.getCorpus(language) == null &&  //for the language
+        		indexConfig.getDefaultCorpus() == null){ //a default model
+            log.debug("Engine {} ignores ContentItem {} becuase no FST modles for language {} "
+            		+ "are available", new Object[] {getName(), ci.getUri(), language});
+                return CANNOT_ENHANCE;
+        }
         // we need a detected language, the AnalyzedText contentPart with
         // Tokens.
         AnalysedText at = getAnalysedText(this, ci, false);

Modified: stanbol/trunk/enhancement-engines/lucenefstlinking/src/main/java/org/apache/stanbol/enhancer/engines/lucenefstlinking/FstLinkingEngineComponent.java
URL: http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/lucenefstlinking/src/main/java/org/apache/stanbol/enhancer/engines/lucenefstlinking/FstLinkingEngineComponent.java?rev=1551673&r1=1551672&r2=1551673&view=diff
==============================================================================
--- stanbol/trunk/enhancement-engines/lucenefstlinking/src/main/java/org/apache/stanbol/enhancer/engines/lucenefstlinking/FstLinkingEngineComponent.java (original)
+++ stanbol/trunk/enhancement-engines/lucenefstlinking/src/main/java/org/apache/stanbol/enhancer/engines/lucenefstlinking/FstLinkingEngineComponent.java Tue Dec 17 19:56:40 2013
@@ -493,6 +493,7 @@ public class FstLinkingEngineComponent {
                 
                 @Override
                 public void removedService(ServiceReference reference, Object service) {
+                    log.info(" ... SolrCore for {} was removed!", indexReference);
                     updateEngineRegistration(solrServerTracker.getServiceReference(), null); 
                     super.removedService(reference, service);
                 }
@@ -500,6 +501,7 @@ public class FstLinkingEngineComponent {
 
                 @Override
                 public void modifiedService(ServiceReference reference, Object service) {
+                    log.info(" ... SolrCore for {} was updated!", indexReference);
                     updateEngineRegistration(solrServerTracker.getServiceReference(), null); 
                     super.modifiedService(reference, service);
                 }
@@ -511,6 +513,7 @@ public class FstLinkingEngineComponent {
                         log.warn("Multiple SolrServer for IndexLocation {} available!",
                             indexReference);
                     } else {
+                        log.info(" ... SolrCore for {} becomes available!", indexReference);
                         updateEngineRegistration(reference, server);
                     }
                     return server;
@@ -561,7 +564,8 @@ public class FstLinkingEngineComponent {
                     core = null;
                 }
                 if(core == null){ //no SolrCore
-                    log.info("   - SolrCore not yet present");
+                    log.info("   - SolrCore {} present", this.solrCore == null ?
+                    		"not yet" : "no longer");
                     return; //NOTE: unregistering is done in finally block
                 } //else - we do have a SolrCore
                 //File fstDir = new File(dataDir,"fst");
@@ -583,12 +587,11 @@ public class FstLinkingEngineComponent {
                 }
                 //create a new searcher for creating FSTs
                 if(!indexConfig.activate()){
-                    unregisterEngine(); //unregister current engine and clean up
-                    log.error("Processing of the FST configuration was not successfull "
+                    log.warn("Processing of the FST configuration was not successfull "
                         + "for any language. See WARN level loggings for more details!");
-                    log.error("  ... FstLinkingEnigne wiht name {} will not be registered!"
-                        + "Please check the FST config of the engine corresponds with "
-                        + "available fields in the configured SolrCore {} (dir: {})", 
+                    log.warn("  ... FstLinkingEnigne wiht name {} will be registered but"
+                        + "be inactive as there seam to be no data for linking available" 
+                        + "in the SolrCore {} (dir: {})", 
                         new Object []{engineName, core.getName(), 
                                 core.getCoreDescriptor().getInstanceDir()});
                 } else { //some FST corpora initialised
@@ -623,8 +626,12 @@ public class FstLinkingEngineComponent {
                 defaultLanguage = ""; //FST uses an empty string for the default
             }
             CorpusInfo defaultCoprous = indexConfig.getCorpus(defaultLanguage);
-            log.info(" ... set '{}' as default FST Corpus: {}", defaultCoprous.language, defaultCoprous);
-            indexConfig.setDefaultCorpus(defaultCoprous);
+            if(defaultCoprous != null){
+	            log.info(" ... set '{}' as default FST Corpus: {}", defaultCoprous.language, defaultCoprous);
+	            indexConfig.setDefaultCorpus(defaultCoprous);
+            } else {
+            	log.info("  ... no corpus for default language {} available", defaultCoprous);
+            }
             //set the index configuration to the field;
             this.indexConfig = indexConfig;
             FstLinkingEngine engine = new FstLinkingEngine(engineName, indexConfig,