diff --git a/pom.xml b/pom.xml index d30f4ed..ab189e9 100644 --- a/pom.xml +++ b/pom.xml @@ -23,8 +23,8 @@ UTF-8 - 1.7 - 1.7 + 1.8 + 1.8 @@ -228,7 +228,7 @@ com.google.guava guava - 19.0 + 14.0.1 org.slf4j diff --git a/src/main/java/com/optimaize/langdetect/i18n/LdLocale.java b/src/main/java/com/optimaize/langdetect/i18n/LdLocale.java index c084f7b..697ac44 100644 --- a/src/main/java/com/optimaize/langdetect/i18n/LdLocale.java +++ b/src/main/java/com/optimaize/langdetect/i18n/LdLocale.java @@ -17,9 +17,13 @@ package com.optimaize.langdetect.i18n; import com.google.common.base.Optional; +import com.google.common.base.Preconditions; import com.google.common.base.Splitter; import org.jetbrains.annotations.NotNull; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Iterator; import java.util.List; /** @@ -90,7 +94,7 @@ public static LdLocale fromString(@NotNull String string) { Optional script = null; Optional region = null; - List strings = Splitter.on('-').splitToList(string); + List strings = splitToList('-', string); for (int i=0; i splitToList(char separator, String string) { + Preconditions.checkNotNull(string); + Iterable iterator = Splitter.on(separator).split(string); + ArrayList result = new ArrayList(); + for (String s: iterator) { + result.add(s); + } + return Collections.unmodifiableList(result); + } + private static boolean looksLikeScriptCode(String string) { return string.length() == 4 && string.matches("[A-Z][a-z]{3}"); } diff --git a/src/test/java/com/optimaize/langdetect/ngram/NgramExtractorTest.java b/src/test/java/com/optimaize/langdetect/ngram/NgramExtractorTest.java index e7a8ee0..04b8ada 100644 --- a/src/test/java/com/optimaize/langdetect/ngram/NgramExtractorTest.java +++ b/src/test/java/com/optimaize/langdetect/ngram/NgramExtractorTest.java @@ -79,7 +79,7 @@ public void extractGrams_8() { public void stressTestAlgo2() { NgramExtractor ngramExtractor = NgramExtractor.gramLengths(1, 2, 3); String text = "Foo bar hello world and so on nana nunu dada dudu asdf asdf akewf köjvnawer aisdfj awejfr iajdsöfj ewi adjsköfjwei ajsdökfj ief asd"; - Stopwatch stopwatch = Stopwatch.createStarted(); + Stopwatch stopwatch = (new Stopwatch()).start(); for (int i=0; i<100000; i++) { ngramExtractor.extractGrams(text); } diff --git a/src/test/java/com/optimaize/langdetect/ngram/OldNgramExtractorTest.java b/src/test/java/com/optimaize/langdetect/ngram/OldNgramExtractorTest.java index 4183299..4d22778 100644 --- a/src/test/java/com/optimaize/langdetect/ngram/OldNgramExtractorTest.java +++ b/src/test/java/com/optimaize/langdetect/ngram/OldNgramExtractorTest.java @@ -49,7 +49,7 @@ public void testExtractNGrams2() { @Test public void stressTestAlgo1() { String text = "Foo bar hello world and so on nana nunu dada dudu asdf asdf akewf köjvnawer aisdfj awejfr iajdsöfj ewi adjsköfjwei ajsdökfj ief asd"; - Stopwatch stopwatch = Stopwatch.createStarted(); + Stopwatch stopwatch = (new Stopwatch()).start(); for (int i=0; i<100000; i++) { OldNgramExtractor.extractNGrams(text, null); //2.745s }