Author: rwesten
Date: Fri Sep 2 07:10:30 2016
New Revision: 1758882
URL: http://svn.apache.org/viewvc?rev=1758882&view=rev
Log:
the FST linking engine now checks if a FST corpus is present for a given
Language in the compute method. This is to avoid situations where a corpus
became unavailable in-between the canEnhance and computeEnhancement calls.
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/TaggingSession.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=1758882&r1=1758881&r2=1758882&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
Fri Sep 2 07:10:30 2016
@@ -240,6 +240,10 @@ public class FstLinkingEngine implements
} catch (CorpusException e) {
throw new EngineException(this, ci, e);
}
+ if(!session.hasCorpus()){
+ //no corpus available for processing the request
+ return;
+ }
long taggingStart = System.currentTimeMillis();
final NavigableMap<int[],Tag> tags = new
TreeMap<int[],Tag>(Tag.SPAN_COMPARATOR);
try {
Modified:
stanbol/trunk/enhancement-engines/lucenefstlinking/src/main/java/org/apache/stanbol/enhancer/engines/lucenefstlinking/TaggingSession.java
URL:
http://svn.apache.org/viewvc/stanbol/trunk/enhancement-engines/lucenefstlinking/src/main/java/org/apache/stanbol/enhancer/engines/lucenefstlinking/TaggingSession.java?rev=1758882&r1=1758881&r2=1758882&view=diff
==============================================================================
---
stanbol/trunk/enhancement-engines/lucenefstlinking/src/main/java/org/apache/stanbol/enhancer/engines/lucenefstlinking/TaggingSession.java
(original)
+++
stanbol/trunk/enhancement-engines/lucenefstlinking/src/main/java/org/apache/stanbol/enhancer/engines/lucenefstlinking/TaggingSession.java
Fri Sep 2 07:10:30 2016
@@ -158,12 +158,6 @@ public class TaggingSession implements C
solrDocfields.add(idField);
//obtain the language specific fields for the session
- if(langCorpusInfo == null && defaultCorpusInfo == null){
- //this should not happen, because the canEnhance method of the
- //engine should already reject such calls
- throw new IllegalStateException("No FST Corpus configured for
language '"
- +language+"' and also no default FST Corpus is present.!");
- }
if(langCorpusInfo != null){
this.langCorpus = new Corpus(langCorpusInfo,
obtainFstCorpus(indexVersion,langCorpusInfo));
@@ -657,5 +651,13 @@ public class TaggingSession implements C
public boolean isSkipAltTokens() {
return config.isSkipAltTokens();
}
+ /**
+ * If this session has a FST corpus for tagging
+ * @return <code>true</code> if a language and/or a default corpus is
available.
+ * <code>false</code> if both are <code>null</code>
+ */
+ public boolean hasCorpus() {
+ return langCorpus != null || defaultCorpus != null;
+ }
}