You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opennlp.apache.org by ko...@apache.org on 2017/04/17 01:17:13 UTC
opennlp git commit: OPENNLP-1020:
MockInputStreamFactory.createInputStream should create a new InputStream
Repository: opennlp
Updated Branches:
refs/heads/OPENNLP-1020 [created] 2691b7106
OPENNLP-1020: MockInputStreamFactory.createInputStream should create a new InputStream
Project: http://git-wip-us.apache.org/repos/asf/opennlp/repo
Commit: http://git-wip-us.apache.org/repos/asf/opennlp/commit/2691b710
Tree: http://git-wip-us.apache.org/repos/asf/opennlp/tree/2691b710
Diff: http://git-wip-us.apache.org/repos/asf/opennlp/diff/2691b710
Branch: refs/heads/OPENNLP-1020
Commit: 2691b7106f5d5698c658af85a814029a32a4331e
Parents: 2721401
Author: koji <ko...@apache.org>
Authored: Mon Apr 17 09:44:04 2017 +0900
Committer: koji <ko...@apache.org>
Committed: Mon Apr 17 09:44:04 2017 +0900
----------------------------------------------------------------------
.../lemmatizer/LemmatizerEvaluatorTest.java | 14 +++---
.../tools/lemmatizer/LemmatizerMETest.java | 8 ++-
.../tools/namefind/NameFinderMETest.java | 51 ++++++--------------
.../tools/util/MockInputStreamFactory.java | 30 ++++++++----
4 files changed, 46 insertions(+), 57 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/opennlp/blob/2691b710/opennlp-tools/src/test/java/opennlp/tools/lemmatizer/LemmatizerEvaluatorTest.java
----------------------------------------------------------------------
diff --git a/opennlp-tools/src/test/java/opennlp/tools/lemmatizer/LemmatizerEvaluatorTest.java b/opennlp-tools/src/test/java/opennlp/tools/lemmatizer/LemmatizerEvaluatorTest.java
index 0eb775d..2f4e74d 100644
--- a/opennlp-tools/src/test/java/opennlp/tools/lemmatizer/LemmatizerEvaluatorTest.java
+++ b/opennlp-tools/src/test/java/opennlp/tools/lemmatizer/LemmatizerEvaluatorTest.java
@@ -18,8 +18,8 @@
package opennlp.tools.lemmatizer;
import java.io.ByteArrayOutputStream;
+import java.io.File;
import java.io.IOException;
-import java.io.InputStream;
import java.io.OutputStream;
import org.junit.Assert;
@@ -47,18 +47,18 @@ public class LemmatizerEvaluatorTest {
*/
@Test
public void testEvaluator() throws IOException {
- InputStream inPredicted = getClass().getClassLoader()
- .getResourceAsStream("opennlp/tools/lemmatizer/output.txt");
- InputStream inExpected = getClass().getClassLoader()
- .getResourceAsStream("opennlp/tools/lemmatizer/output.txt");
+ String inPredicted = "opennlp/tools/lemmatizer/output.txt";
+ String inExpected = "opennlp/tools/lemmatizer/output.txt";
String encoding = "UTF-8";
DummyLemmaSampleStream predictedSample = new DummyLemmaSampleStream(
- new PlainTextByLineStream(new MockInputStreamFactory(inPredicted), encoding), true);
+ new PlainTextByLineStream(
+ new MockInputStreamFactory(new File(inPredicted)), encoding), true);
DummyLemmaSampleStream expectedSample = new DummyLemmaSampleStream(
- new PlainTextByLineStream(new MockInputStreamFactory(inExpected), encoding), false);
+ new PlainTextByLineStream(
+ new MockInputStreamFactory(new File(inExpected)), encoding), false);
Lemmatizer dummyLemmatizer = new DummyLemmatizer(predictedSample);
http://git-wip-us.apache.org/repos/asf/opennlp/blob/2691b710/opennlp-tools/src/test/java/opennlp/tools/lemmatizer/LemmatizerMETest.java
----------------------------------------------------------------------
diff --git a/opennlp-tools/src/test/java/opennlp/tools/lemmatizer/LemmatizerMETest.java b/opennlp-tools/src/test/java/opennlp/tools/lemmatizer/LemmatizerMETest.java
index 97dcc3c..4631763 100644
--- a/opennlp-tools/src/test/java/opennlp/tools/lemmatizer/LemmatizerMETest.java
+++ b/opennlp-tools/src/test/java/opennlp/tools/lemmatizer/LemmatizerMETest.java
@@ -17,8 +17,8 @@
package opennlp.tools.lemmatizer;
+import java.io.File;
import java.io.IOException;
-import java.io.InputStream;
import org.junit.Assert;
import org.junit.Before;
@@ -63,11 +63,9 @@ public class LemmatizerMETest {
public void startup() throws IOException {
// train the lemmatizer
- InputStream in = getClass().getClassLoader()
- .getResourceAsStream("opennlp/tools/lemmatizer/trial.old.tsv");
-
ObjectStream<LemmaSample> sampleStream = new LemmaSampleStream(
- new PlainTextByLineStream(new MockInputStreamFactory(in), "UTF-8"));
+ new PlainTextByLineStream(new MockInputStreamFactory(
+ new File("opennlp/tools/lemmatizer/trial.old.tsv")), "UTF-8"));
TrainingParameters params = new TrainingParameters();
params.put(TrainingParameters.ITERATIONS_PARAM, Integer.toString(100));
http://git-wip-us.apache.org/repos/asf/opennlp/blob/2691b710/opennlp-tools/src/test/java/opennlp/tools/namefind/NameFinderMETest.java
----------------------------------------------------------------------
diff --git a/opennlp-tools/src/test/java/opennlp/tools/namefind/NameFinderMETest.java b/opennlp-tools/src/test/java/opennlp/tools/namefind/NameFinderMETest.java
index c258d07..876df5b 100644
--- a/opennlp-tools/src/test/java/opennlp/tools/namefind/NameFinderMETest.java
+++ b/opennlp-tools/src/test/java/opennlp/tools/namefind/NameFinderMETest.java
@@ -17,7 +17,7 @@
package opennlp.tools.namefind;
-import java.io.InputStream;
+import java.io.File;
import java.util.Collections;
import org.junit.Assert;
@@ -57,15 +57,12 @@ public class NameFinderMETest {
public void testNameFinder() throws Exception {
// train the name finder
-
- InputStream in = getClass().getClassLoader().getResourceAsStream(
- "opennlp/tools/namefind/AnnotatedSentences.txt");
-
String encoding = "ISO-8859-1";
ObjectStream<NameSample> sampleStream =
new NameSampleDataStream(
- new PlainTextByLineStream(new MockInputStreamFactory(in), encoding));
+ new PlainTextByLineStream(new MockInputStreamFactory(
+ new File("opennlp/tools/namefind/AnnotatedSentences.txt")), encoding));
TrainingParameters params = new TrainingParameters();
params.put(TrainingParameters.ITERATIONS_PARAM, Integer.toString(70));
@@ -119,14 +116,11 @@ public class NameFinderMETest {
public void testNameFinderWithTypes() throws Exception {
// train the name finder
-
- InputStream in = getClass().getClassLoader().getResourceAsStream(
- "opennlp/tools/namefind/AnnotatedSentencesWithTypes.txt");
-
String encoding = "ISO-8859-1";
ObjectStream<NameSample> sampleStream = new NameSampleDataStream(
- new PlainTextByLineStream(new MockInputStreamFactory(in), encoding));
+ new PlainTextByLineStream(new MockInputStreamFactory(
+ new File("opennlp/tools/namefind/AnnotatedSentencesWithTypes.txt")), encoding));
TrainingParameters params = new TrainingParameters();
params.put(TrainingParameters.ITERATIONS_PARAM, Integer.toString(70));
@@ -168,12 +162,9 @@ public class NameFinderMETest {
public void testOnlyWithNames() throws Exception {
// train the name finder
-
- InputStream in = getClass().getClassLoader().getResourceAsStream(
- "opennlp/tools/namefind/OnlyWithNames.train");
-
ObjectStream<NameSample> sampleStream = new NameSampleDataStream(
- new PlainTextByLineStream(new MockInputStreamFactory(in), "UTF-8"));
+ new PlainTextByLineStream(new MockInputStreamFactory(
+ new File("opennlp/tools/namefind/OnlyWithNames.train")), "UTF-8"));
TrainingParameters params = new TrainingParameters();
params.put(TrainingParameters.ITERATIONS_PARAM, Integer.toString(70));
@@ -201,12 +192,9 @@ public class NameFinderMETest {
public void testOnlyWithNamesTypeOverride() throws Exception {
// train the name finder
-
- InputStream in = getClass().getClassLoader().getResourceAsStream(
- "opennlp/tools/namefind/OnlyWithNames.train");
-
ObjectStream<NameSample> sampleStream = new NameSampleDataStream(
- new PlainTextByLineStream(new MockInputStreamFactory(in), "UTF-8"));
+ new PlainTextByLineStream(new MockInputStreamFactory(
+ new File("opennlp/tools/namefind/OnlyWithNames.train")), "UTF-8"));
TrainingParameters params = new TrainingParameters();
params.put(TrainingParameters.ITERATIONS_PARAM, Integer.toString(70));
@@ -239,12 +227,9 @@ public class NameFinderMETest {
public void testOnlyWithNamesWithTypes() throws Exception {
// train the name finder
-
- InputStream in = getClass().getClassLoader().getResourceAsStream(
- "opennlp/tools/namefind/OnlyWithNamesWithTypes.train");
-
ObjectStream<NameSample> sampleStream = new NameSampleDataStream(
- new PlainTextByLineStream(new MockInputStreamFactory(in), "UTF-8"));
+ new PlainTextByLineStream(new MockInputStreamFactory(
+ new File("opennlp/tools/namefind/OnlyWithNamesWithTypes.train")), "UTF-8"));
TrainingParameters params = new TrainingParameters();
params.put(TrainingParameters.ITERATIONS_PARAM, Integer.toString(70));
@@ -277,12 +262,9 @@ public class NameFinderMETest {
public void testOnlyWithEntitiesWithTypes() throws Exception {
// train the name finder
-
- InputStream in = getClass().getClassLoader().getResourceAsStream(
- "opennlp/tools/namefind/OnlyWithEntitiesWithTypes.train");
-
ObjectStream<NameSample> sampleStream = new NameSampleDataStream(
- new PlainTextByLineStream(new MockInputStreamFactory(in), "UTF-8"));
+ new PlainTextByLineStream(new MockInputStreamFactory(
+ new File("opennlp/tools/namefind/OnlyWithEntitiesWithTypes.train")), "UTF-8"));
TrainingParameters params = new TrainingParameters();
params.put(TrainingParameters.ALGORITHM_PARAM, "MAXENT");
@@ -332,12 +314,9 @@ public class NameFinderMETest {
public void testNameFinderWithMultipleTypes() throws Exception {
// train the name finder
-
- InputStream in = getClass().getClassLoader().getResourceAsStream(
- "opennlp/tools/namefind/voa1.train");
-
ObjectStream<NameSample> sampleStream = new NameSampleDataStream(
- new PlainTextByLineStream(new MockInputStreamFactory(in), "UTF-8"));
+ new PlainTextByLineStream(new MockInputStreamFactory(
+ new File("opennlp/tools/namefind/voa1.train")), "UTF-8"));
TrainingParameters params = new TrainingParameters();
params.put(TrainingParameters.ITERATIONS_PARAM, Integer.toString(70));
http://git-wip-us.apache.org/repos/asf/opennlp/blob/2691b710/opennlp-tools/src/test/java/opennlp/tools/util/MockInputStreamFactory.java
----------------------------------------------------------------------
diff --git a/opennlp-tools/src/test/java/opennlp/tools/util/MockInputStreamFactory.java b/opennlp-tools/src/test/java/opennlp/tools/util/MockInputStreamFactory.java
index 9d77cad..b9dbe6b 100644
--- a/opennlp-tools/src/test/java/opennlp/tools/util/MockInputStreamFactory.java
+++ b/opennlp-tools/src/test/java/opennlp/tools/util/MockInputStreamFactory.java
@@ -18,30 +18,42 @@
package opennlp.tools.util;
import java.io.ByteArrayInputStream;
-import java.io.FileNotFoundException;
+import java.io.File;
import java.io.IOException;
import java.io.InputStream;
+
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
public class MockInputStreamFactory implements InputStreamFactory {
- private InputStream is;
+ private final File inputSourceFile;
+ private final String inputSourceStr;
+ private final Charset charset;
- public MockInputStreamFactory(InputStream is) throws FileNotFoundException {
- this.is = is;
+ public MockInputStreamFactory(File file) {
+ this.inputSourceFile = file;
+ this.inputSourceStr = null;
+ this.charset = null;
}
- public MockInputStreamFactory(String str) throws FileNotFoundException {
- this.is = new ByteArrayInputStream(str.getBytes(StandardCharsets.UTF_8));
+ public MockInputStreamFactory(String str) {
+ this(str, StandardCharsets.UTF_8);
}
- public MockInputStreamFactory(String str, Charset charset) throws FileNotFoundException {
- this.is = new ByteArrayInputStream(str.getBytes(charset));
+ public MockInputStreamFactory(String str, Charset charset) {
+ this.inputSourceFile = null;
+ this.inputSourceStr = str;
+ this.charset = charset;
}
@Override
public InputStream createInputStream() throws IOException {
- return is;
+ if (inputSourceFile != null) {
+ return getClass().getClassLoader().getResourceAsStream(inputSourceFile.getPath());
+ }
+ else {
+ return new ByteArrayInputStream(inputSourceStr.getBytes(charset));
+ }
}
}