Explorar o código

Undo accidental commit of crap

This reverts commit 589eecf55d26e6fe9831910ee45fb21b5bdedf9b.
Ryan Ernst %!s(int64=10) %!d(string=hai) anos
pai
achega
c16772b0fc
Modificáronse 23 ficheiros con 113 adicións e 58 borrados
  1. 0 1
      core/pom.xml
  2. 1 1
      core/src/main/java/org/elasticsearch/bootstrap/Bootstrap.java
  3. 1 7
      core/src/main/java/org/elasticsearch/cluster/metadata/IndexMetaData.java
  4. 1 6
      core/src/main/java/org/elasticsearch/cluster/metadata/MetaDataIndexUpgradeService.java
  5. 46 0
      core/src/main/java/org/elasticsearch/common/Classes.java
  6. 2 2
      core/src/main/java/org/elasticsearch/common/geo/ShapesAvailability.java
  7. 4 0
      core/src/main/java/org/elasticsearch/common/inject/Modules.java
  8. 21 3
      core/src/main/java/org/elasticsearch/common/settings/Settings.java
  9. 2 3
      core/src/main/java/org/elasticsearch/env/Environment.java
  10. 1 0
      core/src/main/java/org/elasticsearch/indices/IndicesService.java
  11. 3 3
      core/src/main/java/org/elasticsearch/script/ScriptModule.java
  12. 1 1
      core/src/main/java/org/elasticsearch/script/groovy/GroovyScriptEngineService.java
  13. 1 2
      core/src/test/java/org/elasticsearch/common/settings/loader/JsonSettingsLoaderTests.java
  14. 17 7
      core/src/test/java/org/elasticsearch/common/settings/loader/YamlSettingsLoaderTests.java
  15. 2 3
      core/src/test/java/org/elasticsearch/index/analysis/AnalysisModuleTests.java
  16. 1 1
      core/src/test/java/org/elasticsearch/index/analysis/AnalysisTestsHelper.java
  17. 2 4
      core/src/test/java/org/elasticsearch/index/analysis/CompoundAnalysisTests.java
  18. 1 2
      core/src/test/java/org/elasticsearch/index/analysis/PatternCaptureTokenFilterTests.java
  19. 1 2
      core/src/test/java/org/elasticsearch/index/analysis/StopAnalyzerTests.java
  20. 2 4
      core/src/test/java/org/elasticsearch/index/analysis/commongrams/CommonGramsTokenFilterFactoryTests.java
  21. 1 2
      core/src/test/java/org/elasticsearch/index/analysis/synonyms/SynonymsAnalysisTest.java
  22. 1 2
      plugins/analysis-kuromoji/src/test/java/org/elasticsearch/index/analysis/KuromojiAnalysisTests.java
  23. 1 2
      plugins/analysis-phonetic/src/test/java/org/elasticsearch/index/analysis/SimplePhoneticAnalysisTests.java

+ 0 - 1
core/pom.xml

@@ -315,7 +315,6 @@
                                 <include>org/elasticsearch/search/MockSearchService.class</include>
                                 <include>org/elasticsearch/search/MockSearchService$*.class</include>
                                 <include>org/elasticsearch/cache/recycler/MockPageCacheRecycler.class</include>
-                                <include>org/elasticsearch/cache/recycler/MockPageCacheRecycler$*.class</include>
                                 <include>org/elasticsearch/common/util/MockBigArrays.class</include>
                                 <include>org/elasticsearch/common/util/MockBigArrays$*.class</include>
                                 <include>org/elasticsearch/node/NodeMocksPlugin.class</include>

+ 1 - 1
core/src/main/java/org/elasticsearch/bootstrap/Bootstrap.java

@@ -192,7 +192,7 @@ public class Bootstrap {
     @SuppressForbidden(reason = "Exception#printStackTrace()")
     private static void setupLogging(Settings settings, Environment environment) {
         try {
-            Class.forName("org.apache.log4j.Logger");
+            settings.getClassLoader().loadClass("org.apache.log4j.Logger");
             LogConfigurator.configure(settings);
         } catch (ClassNotFoundException e) {
             // no log4j

+ 1 - 7
core/src/main/java/org/elasticsearch/cluster/metadata/IndexMetaData.java

@@ -23,7 +23,6 @@ import com.carrotsearch.hppc.cursors.ObjectCursor;
 import com.carrotsearch.hppc.cursors.ObjectObjectCursor;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableMap;
-import org.elasticsearch.ElasticsearchException;
 import org.elasticsearch.Version;
 import org.elasticsearch.cluster.Diff;
 import org.elasticsearch.cluster.Diffable;
@@ -252,12 +251,7 @@ public class IndexMetaData implements Diffable<IndexMetaData>, FromXContentBuild
         if (hashFunction == null) {
             routingHashFunction = MURMUR3_HASH_FUNCTION;
         } else {
-            final Class<? extends HashFunction> hashFunctionClass;
-            try {
-                hashFunctionClass = (Class<? extends HashFunction>) getClass().getClassLoader().loadClass(hashFunction);
-            } catch (ClassNotFoundException|NoClassDefFoundError e) {
-                throw new ElasticsearchException("failed to load custom hash function [" + hashFunction + "]", e);
-            }
+            final Class<? extends HashFunction> hashFunctionClass = Classes.loadClass(getClass().getClassLoader(), hashFunction);
             try {
                 routingHashFunction = hashFunctionClass.newInstance();
             } catch (InstantiationException | IllegalAccessException e) {

+ 1 - 6
core/src/main/java/org/elasticsearch/cluster/metadata/MetaDataIndexUpgradeService.java

@@ -20,7 +20,6 @@ package org.elasticsearch.cluster.metadata;
 
 import com.carrotsearch.hppc.cursors.ObjectCursor;
 import org.apache.lucene.analysis.Analyzer;
-import org.elasticsearch.ElasticsearchException;
 import org.elasticsearch.Version;
 import org.elasticsearch.cluster.routing.DjbHashFunction;
 import org.elasticsearch.cluster.routing.HashFunction;
@@ -79,11 +78,7 @@ public class MetaDataIndexUpgradeService extends AbstractComponent {
                     pre20HashFunction = DjbHashFunction.class;
                     break;
                 default:
-                    try {
-                        pre20HashFunction = (Class<? extends HashFunction>) getClass().getClassLoader().loadClass(pre20HashFunctionName);
-                    } catch (ClassNotFoundException|NoClassDefFoundError e) {
-                        throw new ElasticsearchException("failed to load custom hash function [" + pre20HashFunctionName + "]", e);
-                    }
+                    pre20HashFunction = Classes.loadClass(getClass().getClassLoader(), pre20HashFunctionName);
             }
         } else {
             pre20HashFunction = DjbHashFunction.class;

+ 46 - 0
core/src/main/java/org/elasticsearch/common/Classes.java

@@ -19,7 +19,17 @@
 
 package org.elasticsearch.common;
 
+import org.elasticsearch.ElasticsearchException;
+import org.elasticsearch.bootstrap.Elasticsearch;
+import org.elasticsearch.common.inject.Module;
+import org.elasticsearch.common.settings.NoClassSettingsException;
+
 import java.lang.reflect.Modifier;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.Locale;
+
+import static org.elasticsearch.common.Strings.toCamelCase;
 
 /**
  *
@@ -31,6 +41,34 @@ public class Classes {
      */
     private static final char PACKAGE_SEPARATOR = '.';
 
+    /**
+     * Return the default ClassLoader to use: typically the thread context
+     * ClassLoader, if available; the ClassLoader that loaded the ClassUtils
+     * class will be used as fallback.
+     * <p/>
+     * <p>Call this method if you intend to use the thread context ClassLoader
+     * in a scenario where you absolutely need a non-null ClassLoader reference:
+     * for example, for class path resource loading (but not necessarily for
+     * <code>Class.forName</code>, which accepts a <code>null</code> ClassLoader
+     * reference as well).
+     *
+     * @return the default ClassLoader (never <code>null</code>)
+     * @see java.lang.Thread#getContextClassLoader()
+     */
+    public static ClassLoader getDefaultClassLoader() {
+        ClassLoader cl = null;
+        try {
+            cl = Thread.currentThread().getContextClassLoader();
+        } catch (Throwable ex) {
+            // Cannot access thread context ClassLoader - falling back to system class loader...
+        }
+        if (cl == null) {
+            // No thread context class loader -> use class loader of this class.
+            cl = Classes.class.getClassLoader();
+        }
+        return cl;
+    }
+
     /**
      * Determine the name of the package of the given class:
      * e.g. "java.lang" for the <code>java.lang.String</code> class.
@@ -55,5 +93,13 @@ public class Classes {
         return !clazz.isInterface() && !Modifier.isAbstract(modifiers);
     }
 
+    public static <T> Class<? extends T> loadClass(ClassLoader classLoader, String className) {
+        try {
+            return (Class<? extends T>) classLoader.loadClass(className);
+        } catch (ClassNotFoundException|NoClassDefFoundError e) {
+            throw new ElasticsearchException("failed to load class [" + className + "]", e);
+        }
+    }
+
     private Classes() {}
 }

+ 2 - 2
core/src/main/java/org/elasticsearch/common/geo/ShapesAvailability.java

@@ -31,7 +31,7 @@ public class ShapesAvailability {
     static {
         boolean xSPATIAL4J_AVAILABLE;
         try {
-            Class.forName("com.spatial4j.core.shape.impl.PointImpl");
+            Classes.getDefaultClassLoader().loadClass("com.spatial4j.core.shape.impl.PointImpl");
             xSPATIAL4J_AVAILABLE = true;
         } catch (Throwable t) {
             xSPATIAL4J_AVAILABLE = false;
@@ -40,7 +40,7 @@ public class ShapesAvailability {
 
         boolean xJTS_AVAILABLE;
         try {
-            Class.forName("com.vividsolutions.jts.geom.GeometryFactory");
+            Classes.getDefaultClassLoader().loadClass("com.vividsolutions.jts.geom.GeometryFactory");
             xJTS_AVAILABLE = true;
         } catch (Throwable t) {
             xJTS_AVAILABLE = false;

+ 4 - 0
core/src/main/java/org/elasticsearch/common/inject/Modules.java

@@ -30,6 +30,10 @@ import java.lang.reflect.Constructor;
  */
 public class Modules {
 
+    public static Module createModule(String moduleClass, Settings settings) throws ClassNotFoundException {
+        return createModule((Class<? extends Module>) settings.getClassLoader().loadClass(moduleClass), settings);
+    }
+
     public static Module createModule(Class<? extends Module> moduleClass, @Nullable Settings settings) {
         Constructor<? extends Module> constructor;
         try {

+ 21 - 3
core/src/main/java/org/elasticsearch/common/settings/Settings.java

@@ -81,7 +81,7 @@ public final class Settings implements ToXContent {
     private final ImmutableMap<String, String> forcedUnderscoreSettings;
     private transient ClassLoader classLoader;
 
-    Settings(Map<String, String> settings) {
+    Settings(Map<String, String> settings, ClassLoader classLoader) {
         // we use a sorted map for consistent serialization when using getAsMap()
         // TODO: use Collections.unmodifiableMap with a TreeMap
         this.settings = ImmutableSortedMap.copyOf(settings);
@@ -96,6 +96,7 @@ public final class Settings implements ToXContent {
             }
         }
         this.forcedUnderscoreSettings = forcedUnderscoreSettings == null ? ImmutableMap.<String, String>of() : ImmutableMap.copyOf(forcedUnderscoreSettings);
+        this.classLoader = classLoader;
     }
 
     /**
@@ -647,7 +648,7 @@ public final class Settings implements ToXContent {
         }
         Map<String, Settings> retVal = new LinkedHashMap<>();
         for (Map.Entry<String, Map<String, String>> entry : map.entrySet()) {
-            retVal.put(entry.getKey(), new Settings(Collections.unmodifiableMap(entry.getValue())));
+            retVal.put(entry.getKey(), new Settings(Collections.unmodifiableMap(entry.getValue()), classLoader));
         }
         return Collections.unmodifiableMap(retVal);
     }
@@ -1117,6 +1118,23 @@ public final class Settings implements ToXContent {
             return this;
         }
 
+        /**
+         * Loads settings from classpath that represents them using the
+         * {@link SettingsLoaderFactory#loaderFromSource(String)}.
+         */
+        public Builder loadFromClasspath(String resourceName) throws SettingsException {
+            ClassLoader classLoader = this.classLoader;
+            if (classLoader == null) {
+                classLoader = Classes.getDefaultClassLoader();
+            }
+            InputStream is = classLoader.getResourceAsStream(resourceName);
+            if (is == null) {
+                throw new SettingsException("Failed to load settings from [" + resourceName + "]");
+            }
+
+            return loadFromStream(resourceName, is);
+        }
+
         /**
          * Sets the class loader associated with the settings built.
          */
@@ -1252,7 +1270,7 @@ public final class Settings implements ToXContent {
          * set on this builder.
          */
         public Settings build() {
-            return new Settings(Collections.unmodifiableMap(map));
+            return new Settings(Collections.unmodifiableMap(map), classLoader);
         }
     }
 

+ 2 - 3
core/src/main/java/org/elasticsearch/env/Environment.java

@@ -319,14 +319,13 @@ public class Environment {
             }
         }
         // try and load it from the classpath directly
-        // TODO: remove this, users can look up their own config on classpath
-        URL resource = getClass().getResource(path);
+        URL resource = settings.getClassLoader().getResource(path);
         if (resource != null) {
             return resource;
         }
         // try and load it from the classpath with config/ prefix
         if (!path.startsWith("config/")) {
-            resource = getClass().getResource("config/" + path);
+            resource = settings.getClassLoader().getResource("config/" + path);
             if (resource != null) {
                 return resource;
             }

+ 1 - 0
core/src/main/java/org/elasticsearch/indices/IndicesService.java

@@ -300,6 +300,7 @@ public class IndicesService extends AbstractLifecycleComponent<IndicesService> i
         Settings indexSettings = settingsBuilder()
                 .put(this.settings)
                 .put(settings)
+                .classLoader(settings.getClassLoader())
                 .build();
 
         ModulesBuilder modules = new ModulesBuilder();

+ 3 - 3
core/src/main/java/org/elasticsearch/script/ScriptModule.java

@@ -79,21 +79,21 @@ public class ScriptModule extends AbstractModule {
         multibinder.addBinding().to(NativeScriptEngineService.class);
 
         try {
-            Class.forName("groovy.lang.GroovyClassLoader");
+            settings.getClassLoader().loadClass("groovy.lang.GroovyClassLoader");
             multibinder.addBinding().to(GroovyScriptEngineService.class).asEagerSingleton();
         } catch (Throwable t) {
             Loggers.getLogger(ScriptService.class, settings).debug("failed to load groovy", t);
         }
         
         try {
-            Class.forName("com.github.mustachejava.Mustache");
+            settings.getClassLoader().loadClass("com.github.mustachejava.Mustache");
             multibinder.addBinding().to(MustacheScriptEngineService.class).asEagerSingleton();
         } catch (Throwable t) {
             Loggers.getLogger(ScriptService.class, settings).debug("failed to load mustache", t);
         }
 
         try {
-            Class.forName("org.apache.lucene.expressions.Expression");
+            settings.getClassLoader().loadClass("org.apache.lucene.expressions.Expression");
             multibinder.addBinding().to(ExpressionScriptEngineService.class).asEagerSingleton();
         } catch (Throwable t) {
             Loggers.getLogger(ScriptService.class, settings).debug("failed to load lucene expressions", t);

+ 1 - 1
core/src/main/java/org/elasticsearch/script/groovy/GroovyScriptEngineService.java

@@ -70,7 +70,7 @@ public class GroovyScriptEngineService extends AbstractComponent implements Scri
         config.addCompilationCustomizers(imports);
         // Add BigDecimal -> Double transformer
         config.addCompilationCustomizers(new GroovyBigDecimalTransformer(CompilePhase.CONVERSION));
-        this.loader = new GroovyClassLoader(getClass().getClassLoader(), config);
+        this.loader = new GroovyClassLoader(settings.getClassLoader(), config);
     }
 
     @Override

+ 1 - 2
core/src/test/java/org/elasticsearch/common/settings/loader/JsonSettingsLoaderTests.java

@@ -34,9 +34,8 @@ public class JsonSettingsLoaderTests extends ESTestCase {
 
     @Test
     public void testSimpleJsonSettings() throws Exception {
-        String json = "org/elasticsearch/common/settings/loader/test-settings.json";
         Settings settings = settingsBuilder()
-                .loadFromStream(json, getClass().getResourceAsStream(json))
+                .loadFromClasspath("org/elasticsearch/common/settings/loader/test-settings.json")
                 .build();
 
         assertThat(settings.get("test1.value1"), equalTo("value1"));

+ 17 - 7
core/src/test/java/org/elasticsearch/common/settings/loader/YamlSettingsLoaderTests.java

@@ -34,9 +34,8 @@ public class YamlSettingsLoaderTests extends ESTestCase {
 
     @Test
     public void testSimpleYamlSettings() throws Exception {
-        String yaml = "org/elasticsearch/common/settings/loader/test-settings.yml";
         Settings settings = settingsBuilder()
-                .loadFromStream(yaml, getClass().getResourceAsStream(yaml))
+                .loadFromClasspath("org/elasticsearch/common/settings/loader/test-settings.yml")
                 .build();
 
         assertThat(settings.get("test1.value1"), equalTo("value1"));
@@ -53,17 +52,28 @@ public class YamlSettingsLoaderTests extends ESTestCase {
 
     @Test(expected = SettingsException.class)
     public void testIndentation() {
-        String yaml = "org/elasticsearch/common/settings/loader/indentation-settings.yml";
         settingsBuilder()
-            .loadFromStream(yaml, getClass().getResourceAsStream(yaml))
-            .build();
+                .loadFromClasspath("org/elasticsearch/common/settings/loader/indentation-settings.yml")
+                .build();
     }
 
     @Test(expected = SettingsException.class)
     public void testIndentationWithExplicitDocumentStart() {
-        String yaml = "org/elasticsearch/common/settings/loader/indentation-with-explicit-document-start-settings.yml";
         settingsBuilder()
-                .loadFromStream(yaml, getClass().getResourceAsStream(yaml))
+                .loadFromClasspath("org/elasticsearch/common/settings/loader/indentation-with-explicit-document-start-settings.yml")
                 .build();
     }
+
+    
+    @Test
+    public void testYamlSettingsNoFile() throws Exception {
+        String invalidResourceName = "org/elasticsearch/common/settings/loader/no-test-settings.yml";
+        try {
+            Settings defaultSettings = settingsBuilder().loadFromClasspath(invalidResourceName).build();
+            fail("For a not exiting file an exception should be thrown.");
+        } catch (Exception e) {
+            assertTrue(e instanceof SettingsException);
+            assertThat(e.getMessage(), equalTo("Failed to load settings from [" + invalidResourceName + "]"));
+        }
+    }
 }

+ 2 - 3
core/src/test/java/org/elasticsearch/index/analysis/AnalysisModuleTests.java

@@ -79,7 +79,7 @@ public class AnalysisModuleTests extends ESTestCase {
     }
 
     private Settings loadFromClasspath(String path) {
-        return settingsBuilder().loadFromStream(path, getClass().getResourceAsStream(path))
+        return settingsBuilder().loadFromClasspath(path)
                 .put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT)
                 .put("path.home", createTempDir().toString())
                 .build();
@@ -107,9 +107,8 @@ public class AnalysisModuleTests extends ESTestCase {
 
     @Test
     public void testVersionedAnalyzers() throws Exception {
-        String yaml = "org/elasticsearch/index/analysis/test1.yml";
         Settings settings2 = settingsBuilder()
-                .loadFromStream(yaml, getClass().getResourceAsStream(yaml))
+                .loadFromClasspath("org/elasticsearch/index/analysis/test1.yml")
                 .put("path.home", createTempDir().toString())
                 .put(IndexMetaData.SETTING_VERSION_CREATED, Version.V_0_90_0)
                 .build();

+ 1 - 1
core/src/test/java/org/elasticsearch/index/analysis/AnalysisTestsHelper.java

@@ -39,7 +39,7 @@ public class AnalysisTestsHelper {
 
     public static AnalysisService createAnalysisServiceFromClassPath(Path baseDir, String resource) {
         Settings settings = Settings.settingsBuilder()
-                .loadFromStream(resource, AnalysisTestsHelper.class.getResourceAsStream(resource))
+                .loadFromClasspath(resource)
                 .put("path.home", baseDir.toString())
                 .build();
 

+ 2 - 4
core/src/test/java/org/elasticsearch/index/analysis/CompoundAnalysisTests.java

@@ -115,18 +115,16 @@ public class CompoundAnalysisTests extends ESTestCase {
     }
 
     private Settings getJsonSettings() {
-        String json = "org/elasticsearch/index/analysis/test1.json";
         return settingsBuilder()
-                .loadFromStream(json, getClass().getResourceAsStream(json))
+                .loadFromClasspath("org/elasticsearch/index/analysis/test1.json")
                 .put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT)
                 .put("path.home", createTempDir().toString())
                 .build();
     }
 
     private Settings getYamlSettings() {
-        String yaml = "org/elasticsearch/index/analysis/test1.yml";
         return settingsBuilder()
-                .loadFromStream(yaml, getClass().getResourceAsStream(yaml))
+                .loadFromClasspath("org/elasticsearch/index/analysis/test1.yml")
                 .put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT)
                 .put("path.home", createTempDir().toString())
                 .build();

+ 1 - 2
core/src/test/java/org/elasticsearch/index/analysis/PatternCaptureTokenFilterTests.java

@@ -41,11 +41,10 @@ public class PatternCaptureTokenFilterTests extends ESTokenStreamTestCase {
 
     @Test
     public void testPatternCaptureTokenFilter() throws Exception {
-        String json = "org/elasticsearch/index/analysis/pattern_capture.json";
         Index index = new Index("test");
         Settings settings = settingsBuilder()
                 .put("path.home", createTempDir())
-                .loadFromStream(json, getClass().getResourceAsStream(json))
+                .loadFromClasspath("org/elasticsearch/index/analysis/pattern_capture.json")
                 .put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT)
                 .build();
         Injector parentInjector = new ModulesBuilder().add(new SettingsModule(settings), new EnvironmentModule(new Environment(settings)), new IndicesAnalysisModule()).createInjector();

+ 1 - 2
core/src/test/java/org/elasticsearch/index/analysis/StopAnalyzerTests.java

@@ -41,10 +41,9 @@ public class StopAnalyzerTests extends ESTokenStreamTestCase {
 
     @Test
     public void testDefaultsCompoundAnalysis() throws Exception {
-        String json = "org/elasticsearch/index/analysis/stop.json";
         Index index = new Index("test");
         Settings settings = settingsBuilder()
-            .loadFromStream(json, getClass().getResourceAsStream(json))
+                .loadFromClasspath("org/elasticsearch/index/analysis/stop.json")
                 .put("path.home", createTempDir().toString())
                 .put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT)
                 .build();

+ 2 - 4
core/src/test/java/org/elasticsearch/index/analysis/commongrams/CommonGramsTokenFilterFactoryTests.java

@@ -134,9 +134,8 @@ public class CommonGramsTokenFilterFactoryTests extends ESTokenStreamTestCase {
 
     @Test
     public void testCommonGramsAnalysis() throws IOException {
-        String json = "org/elasticsearch/index/analysis/commongrams/commongrams.json";
         Settings settings = Settings.settingsBuilder()
-                     .loadFromStream(json, getClass().getResourceAsStream(json))
+                     .loadFromClasspath("org/elasticsearch/index/analysis/commongrams/commongrams.json")
                      .put("path.home", createTempDir().toString())
                      .build();
         {
@@ -219,9 +218,8 @@ public class CommonGramsTokenFilterFactoryTests extends ESTokenStreamTestCase {
 
     @Test
     public void testQueryModeCommonGramsAnalysis() throws IOException {
-        String json = "org/elasticsearch/index/analysis/commongrams/commongrams_query_mode.json";
         Settings settings = Settings.settingsBuilder()
-                .loadFromStream(json, getClass().getResourceAsStream(json))
+                .loadFromClasspath("org/elasticsearch/index/analysis/commongrams/commongrams_query_mode.json")
                 .put("path.home", createTempDir().toString())
                 .build();
         {

+ 1 - 2
core/src/test/java/org/elasticsearch/index/analysis/synonyms/SynonymsAnalysisTest.java

@@ -59,9 +59,8 @@ public class SynonymsAnalysisTest extends ESTestCase {
 
     @Test
     public void testSynonymsAnalysis() throws IOException {
-        String json = "org/elasticsearch/index/analysis/synonyms/synonyms.json";
         Settings settings = settingsBuilder().
-                loadFromStream(json, getClass().getResourceAsStream(json))
+                loadFromClasspath("org/elasticsearch/index/analysis/synonyms/synonyms.json")
                 .put("path.home", createTempDir().toString())
                 .put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT).build();
 

+ 1 - 2
plugins/analysis-kuromoji/src/test/java/org/elasticsearch/index/analysis/KuromojiAnalysisTests.java

@@ -191,10 +191,9 @@ public class KuromojiAnalysisTests extends ESTestCase {
 
 
     public AnalysisService createAnalysisService() {
-        String json = "org/elasticsearch/index/analysis/kuromoji_analysis.json";
         Settings settings = Settings.settingsBuilder()
                 .put("path.home", createTempDir())
-                .loadFromStream(json, getClass().getResourceAsStream(json))
+                .loadFromClasspath("org/elasticsearch/index/analysis/kuromoji_analysis.json")
                 .put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT)
                 .build();
 

+ 1 - 2
plugins/analysis-phonetic/src/test/java/org/elasticsearch/index/analysis/SimplePhoneticAnalysisTests.java

@@ -45,8 +45,7 @@ public class SimplePhoneticAnalysisTests extends ESTestCase {
 
     @Test
     public void testPhoneticTokenFilterFactory() {
-        String yaml = "org/elasticsearch/index/analysis/phonetic-1.yml"
-        Settings settings = settingsBuilder().loadFromStream(yaml, getClass().getResourceAsStream(yaml))
+        Settings settings = settingsBuilder().loadFromClasspath("org/elasticsearch/index/analysis/phonetic-1.yml")
                 .put(IndexMetaData.SETTING_VERSION_CREATED, Version.CURRENT)
                 .put("path.home", createTempDir())
                 .build();