You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opennlp.apache.org by co...@apache.org on 2011/07/12 18:29:08 UTC

svn commit: r1145662 - in /incubator/opennlp/trunk/opennlp-tools/src: main/java/opennlp/tools/cmdline/ test/java/opennlp/tools/cmdline/

Author: colen
Date: Tue Jul 12 16:29:07 2011
New Revision: 1145662

URL: http://svn.apache.org/viewvc?rev=1145662&view=rev
Log:
OPENNLP-221 Added EncodingParameter interface

Added:
    incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/EncodingParameter.java   (with props)
Modified:
    incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/BasicEvaluationParameters.java
    incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/BasicTrainingParametersI.java
    incubator/opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/cmdline/ArgumentParserTest.java

Modified: incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/BasicEvaluationParameters.java
URL: http://svn.apache.org/viewvc/incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/BasicEvaluationParameters.java?rev=1145662&r1=1145661&r2=1145662&view=diff
==============================================================================
--- incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/BasicEvaluationParameters.java (original)
+++ incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/BasicEvaluationParameters.java Tue Jul 12 16:29:07 2011
@@ -18,9 +18,7 @@
 package opennlp.tools.cmdline;
 
 import java.io.File;
-import java.nio.charset.Charset;
 
-import opennlp.tools.cmdline.ArgumentParser.OptionalParameter;
 import opennlp.tools.cmdline.ArgumentParser.ParameterDescription;
 
 // TODO: remove the old BasicTrainingParameters and rename this class to BasicTrainingParameters
@@ -30,11 +28,7 @@ import opennlp.tools.cmdline.ArgumentPar
  * 
  * Note: Do not use this class, internal use only!
  */
-public interface BasicEvaluationParameters {
-
-  @ParameterDescription(valueName = "charsetName", description = "specifies the encoding which should be used for reading and writing text")
-  @OptionalParameter(defaultValue="UTF-8")
-  Charset getEncoding();
+public interface BasicEvaluationParameters extends EncodingParameter{
   
   @ParameterDescription(valueName = "model", description = "the model file to be evaluated")
   File getModel();

Modified: incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/BasicTrainingParametersI.java
URL: http://svn.apache.org/viewvc/incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/BasicTrainingParametersI.java?rev=1145662&r1=1145661&r2=1145662&view=diff
==============================================================================
--- incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/BasicTrainingParametersI.java (original)
+++ incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/BasicTrainingParametersI.java Tue Jul 12 16:29:07 2011
@@ -17,8 +17,6 @@
 
 package opennlp.tools.cmdline;
 
-import java.nio.charset.Charset;
-
 import opennlp.tools.cmdline.ArgumentParser.OptionalParameter;
 import opennlp.tools.cmdline.ArgumentParser.ParameterDescription;
 
@@ -29,14 +27,11 @@ import opennlp.tools.cmdline.ArgumentPar
  * 
  * Note: Do not use this class, internal use only!
  */
-public interface BasicTrainingParametersI {
+public interface BasicTrainingParametersI extends EncodingParameter{
 
   @ParameterDescription(valueName = "language", description = "specifies the language which is being processed.")
   String getLang();
   
-  @ParameterDescription(valueName = "charset", description = "specifies the encoding which should be used for reading and writing text.")
-  Charset getEncoding();
-  
   @ParameterDescription(valueName = "num", description = "specifies the number of training iterations. It is ignored if a parameters file is passed.")
   @OptionalParameter(defaultValue="100")
   Integer getIterations();

Added: incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/EncodingParameter.java
URL: http://svn.apache.org/viewvc/incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/EncodingParameter.java?rev=1145662&view=auto
==============================================================================
--- incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/EncodingParameter.java (added)
+++ incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/EncodingParameter.java Tue Jul 12 16:29:07 2011
@@ -0,0 +1,38 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package opennlp.tools.cmdline;
+
+import java.nio.charset.Charset;
+
+import opennlp.tools.cmdline.ArgumentParser.OptionalParameter;
+import opennlp.tools.cmdline.ArgumentParser.ParameterDescription;
+
+/**
+ * Encoding parameter. The DEFAULT_CHARSET is handled by ArgumentParser.Parse().
+ * 
+ * Note: Do not use this class, internal use only!
+ */
+public interface EncodingParameter {
+
+  @ParameterDescription(valueName = "charsetName", description = "specifies the "
+      + "encoding which should be used for reading and writing text. If not specified "
+      + "the system default will be used.")
+  @OptionalParameter(defaultValue = "DEFAULT_CHARSET")
+  Charset getEncoding();
+
+}

Propchange: incubator/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/EncodingParameter.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: incubator/opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/cmdline/ArgumentParserTest.java
URL: http://svn.apache.org/viewvc/incubator/opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/cmdline/ArgumentParserTest.java?rev=1145662&r1=1145661&r2=1145662&view=diff
==============================================================================
--- incubator/opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/cmdline/ArgumentParserTest.java (original)
+++ incubator/opennlp/trunk/opennlp-tools/src/test/java/opennlp/tools/cmdline/ArgumentParserTest.java Tue Jul 12 16:29:07 2011
@@ -20,6 +20,10 @@ package opennlp.tools.cmdline;
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
+
+import java.nio.charset.Charset;
+import java.util.Collection;
+
 import opennlp.tools.cmdline.ArgumentParser.OptionalParameter;
 import opennlp.tools.cmdline.ArgumentParser.ParameterDescription;
 
@@ -108,4 +112,43 @@ public class ArgumentParserTest {
     
     assertEquals(expectedLength, usage.length());
   }
+  
+  interface ExtendsEncodingParameter extends EncodingParameter {
+    
+    @ParameterDescription(valueName = "value")
+    String getSomething();
+
+  }
+  
+  
+  @Test
+  public void testDefaultEncodingParameter() {
+    
+    String args[] = "-something aValue".split(" ");
+    assertTrue(ArgumentParser.validateArguments(args, ExtendsEncodingParameter.class));
+    
+    ExtendsEncodingParameter params = ArgumentParser.parse(args, ExtendsEncodingParameter.class);
+    assertEquals(Charset.defaultCharset(), params.getEncoding());
+    
+  }
+  
+  @Test
+  public void testSetEncodingParameter() {
+    
+    Collection<Charset> availableCharset = Charset.availableCharsets().values();
+    String notTheDefaultCharset = "UTF-8";
+    for (Charset charset : availableCharset) {
+      if(!charset.equals(Charset.defaultCharset())) {
+        notTheDefaultCharset = charset.name();
+        break;
+      }
+    }
+    
+    String args[] = ("-something aValue -encoding " + notTheDefaultCharset).split(" ");
+    assertTrue(ArgumentParser.validateArguments(args, ExtendsEncodingParameter.class));
+    
+    ExtendsEncodingParameter params = ArgumentParser.parse(args, ExtendsEncodingParameter.class);
+    assertEquals(Charset.forName(notTheDefaultCharset), params.getEncoding());
+    
+  }
 }