You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by us...@apache.org on 2014/04/24 22:33:25 UTC

svn commit: r1589870 - in /lucene/dev/trunk/lucene: CHANGES.txt analysis/common/src/java/org/apache/lucene/analysis/util/AnalysisSPILoader.java analysis/common/src/test/org/apache/lucene/analysis/core/TestAllAnalyzersHaveFactories.java

Author: uschindler
Date: Thu Apr 24 20:33:25 2014
New Revision: 1589870

URL: http://svn.apache.org/r1589870
Log:
LUCENE-5630: Fix TestAllAnalyzersHaveFactories to correctly check for existence of class and corresponding Map<String,String> ctor

Modified:
    lucene/dev/trunk/lucene/CHANGES.txt
    lucene/dev/trunk/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/AnalysisSPILoader.java
    lucene/dev/trunk/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAllAnalyzersHaveFactories.java

Modified: lucene/dev/trunk/lucene/CHANGES.txt
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/CHANGES.txt?rev=1589870&r1=1589869&r2=1589870&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/CHANGES.txt (original)
+++ lucene/dev/trunk/lucene/CHANGES.txt Thu Apr 24 20:33:25 2014
@@ -319,6 +319,14 @@ Bug fixes
   concurrently. This error is now handled the same way like in NativeFSLockFactory
   by returning false.  (Uwe Schindler, Robert Muir, Dawid Weiss)
 
+* LUCENE-5630: Add missing META-INF entry for UpperCaseFilterFactory.
+  (Robert Muir)
+
+Tests
+  
+* LUCENE-5630: Fix TestAllAnalyzersHaveFactories to correctly check for existence
+  of class and corresponding Map<String,String> ctor.  (Uwe Schindler, Robert Muir)
+
 Test Framework
 
 * LUCENE-5592: Incorrectly reported uncloseable files. (Dawid Weiss)

Modified: lucene/dev/trunk/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/AnalysisSPILoader.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/AnalysisSPILoader.java?rev=1589870&r1=1589869&r2=1589870&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/AnalysisSPILoader.java (original)
+++ lucene/dev/trunk/lucene/analysis/common/src/java/org/apache/lucene/analysis/util/AnalysisSPILoader.java Thu Apr 24 20:33:25 2014
@@ -120,7 +120,7 @@ final class AnalysisSPILoader<S extends 
       return service;
     } else {
       throw new IllegalArgumentException("A SPI class of type "+clazz.getName()+" with name '"+name+"' does not exist. "+
-          "You need to add the corresponding JAR file supporting this SPI to your classpath."+
+          "You need to add the corresponding JAR file supporting this SPI to your classpath. "+
           "The current classpath supports the following names: "+availableServices());
     }
   }

Modified: lucene/dev/trunk/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAllAnalyzersHaveFactories.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAllAnalyzersHaveFactories.java?rev=1589870&r1=1589869&r2=1589870&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAllAnalyzersHaveFactories.java (original)
+++ lucene/dev/trunk/lucene/analysis/common/src/test/org/apache/lucene/analysis/core/TestAllAnalyzersHaveFactories.java Thu Apr 24 20:33:25 2014
@@ -125,6 +125,7 @@ public class TestAllAnalyzersHaveFactori
         String clazzName = c.getSimpleName();
         assertTrue(clazzName.endsWith("Tokenizer"));
         String simpleName = clazzName.substring(0, clazzName.length() - 9);
+        assertNotNull(TokenizerFactory.lookupClass(simpleName));
         TokenizerFactory instance = null;
         try {
           instance = TokenizerFactory.forName(simpleName, args);
@@ -134,7 +135,8 @@ public class TestAllAnalyzersHaveFactori
           }
           assertSame(c, instance.create().getClass());
         } catch (IllegalArgumentException e) {
-          if (!e.getMessage().contains("SPI") || e.getMessage().contains("does not exist")) {
+          if (e.getCause() instanceof NoSuchMethodException) {
+            // there is no corresponding ctor available
             throw e;
           }
           // TODO: For now pass because some factories have not yet a default config that always works
@@ -143,6 +145,7 @@ public class TestAllAnalyzersHaveFactori
         String clazzName = c.getSimpleName();
         assertTrue(clazzName.endsWith("Filter"));
         String simpleName = clazzName.substring(0, clazzName.length() - (clazzName.endsWith("TokenFilter") ? 11 : 6));
+        assertNotNull(TokenFilterFactory.lookupClass(simpleName));
         TokenFilterFactory instance = null; 
         try {
           instance = TokenFilterFactory.forName(simpleName, args);
@@ -156,7 +159,8 @@ public class TestAllAnalyzersHaveFactori
             assertSame(c, createdClazz);
           }
         } catch (IllegalArgumentException e) {
-          if (!e.getMessage().contains("SPI") || e.getMessage().contains("does not exist")) {
+          if (e.getCause() instanceof NoSuchMethodException) {
+            // there is no corresponding ctor available
             throw e;
           }
           // TODO: For now pass because some factories have not yet a default config that always works
@@ -165,6 +169,7 @@ public class TestAllAnalyzersHaveFactori
         String clazzName = c.getSimpleName();
         assertTrue(clazzName.endsWith("CharFilter"));
         String simpleName = clazzName.substring(0, clazzName.length() - 10);
+        assertNotNull(CharFilterFactory.lookupClass(simpleName));
         CharFilterFactory instance = null;
         try {
           instance = CharFilterFactory.forName(simpleName, args);
@@ -178,7 +183,8 @@ public class TestAllAnalyzersHaveFactori
             assertSame(c, createdClazz);
           }
         } catch (IllegalArgumentException e) {
-          if (!e.getMessage().contains("SPI") || e.getMessage().contains("does not exist")) {
+          if (e.getCause() instanceof NoSuchMethodException) {
+            // there is no corresponding ctor available
             throw e;
           }
           // TODO: For now pass because some factories have not yet a default config that always works