You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@opennlp.apache.org by au...@apache.org on 2012/07/19 19:14:39 UTC

svn commit: r1363429 - in /opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools: chunker/ cmdline/ cmdline/chunker/ cmdline/coref/ cmdline/dictionary/ cmdline/doccat/ cmdline/namefind/ cmdline/parser/ cmdline/postag/ cmdline/sentdetect/ cmdline/toke...

Author: autayeu
Date: Thu Jul 19 17:14:37 2012
New Revision: 1363429

URL: http://svn.apache.org/viewvc?rev=1363429&view=rev
Log:
OPENNLP-525: Exception cleanup in opennlp-tools. Thanks to Daniel Naber for the patch.

Modified:
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkSample.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/AbstractConverterTool.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/ArgumentParser.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/CLI.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/CmdLineUtil.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/ModelLoader.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/PerformanceMonitor.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/TerminateToolException.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerCrossValidatorTool.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerEvaluatorTool.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerTrainerTool.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/coref/CoreferencerTool.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/coref/CoreferencerTrainerTool.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/dictionary/DictionaryBuilderTool.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/doccat/DoccatTrainerTool.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/CensusDictionaryCreatorTool.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderCrossValidatorTool.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderEvaluatorTool.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderTrainerTool.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ModelUpdaterTool.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ParserTrainerTool.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerCrossValidatorTool.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerEvaluatorTool.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerTrainerTool.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorCrossValidatorTool.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorEvaluatorTool.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorTrainerTool.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerCrossValidatorTool.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerMEEvaluatorTool.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerTrainerTool.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/dictionary/serializer/Attributes.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/dictionary/serializer/DictionarySerializer.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/doccat/DocumentSample.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/BioNLP2004NameSampleStream.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/Conll02NameSampleStream.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/Conll03NameSampleStream.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/ConllXPOSSampleStream.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/ConllXPOSSampleStreamFactory.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/DetokenizerSampleStreamFactory.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/LeipzigDocumentSampleStreamFactory.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/convert/AbstractToSentenceSampleStream.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/frenchtreebank/ConstitParseSampleStream.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/muc/MucNameContentHandler.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/namefind/RegexNameFinder.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/namefind/TokenNameFinderModel.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/ngram/NGramModel.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/parser/ParserModel.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/postag/POSSample.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/postag/POSTaggerFactory.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceDetectorFactory.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/tokenize/DetokenizationDictionary.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/tokenize/DictionaryDetokenizer.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenSample.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenSampleStream.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenizerFactory.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/HashSumEventStream.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/ObjectStreamUtils.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/Span.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/StringList.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/Version.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/ext/ExtensionLoader.java
    opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/GeneratorFactory.java

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkSample.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkSample.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkSample.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/chunker/ChunkSample.java Thu Jul 19 17:14:37 2012
@@ -142,7 +142,10 @@ public class ChunkSample {
   private static void validateArguments(int sentenceSize, int tagsSize, int predsSize) throws IllegalArgumentException {
     if (sentenceSize != tagsSize || tagsSize != predsSize)
       throw new IllegalArgumentException(
-          "All arrays must have the same length!");
+          "All arrays must have the same length: " +
+              "sentenceSize: " + sentenceSize +
+              ", tagsSize: " + tagsSize +
+              ", predsSize: " + predsSize + "!");
   }
   
   /**

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/AbstractConverterTool.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/AbstractConverterTool.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/AbstractConverterTool.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/AbstractConverterTool.java Thu Jul 19 17:14:37 2012
@@ -112,7 +112,7 @@ public abstract class AbstractConverterT
         }
       }
       catch (IOException e) {
-        throw new TerminateToolException(-1, "IO error while converting data : " + e.getMessage());
+        throw new TerminateToolException(-1, "IO error while converting data : " + e.getMessage(), e);
       }
       finally {
         if (sampleStream != null)

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/ArgumentParser.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/ArgumentParser.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/ArgumentParser.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/ArgumentParser.java Thu Jul 19 17:14:37 2012
@@ -77,7 +77,7 @@ public class ArgumentParser {
       }
       catch (NumberFormatException e) {
         throw new TerminateToolException(1, String.format(INVALID_ARG, argName, argValue) +
-            "Value must be an integer!");
+            "Value must be an integer!", e);
       }
       
       return value;
@@ -176,11 +176,12 @@ public class ArgumentParser {
 
           // check that method names start with get
           if (!method.getName().startsWith("get") && method.getName().length() > 3)
-            throw new IllegalArgumentException(method.getName() + " method name does not start with get!");
+            throw new IllegalArgumentException(method.getName() + " method name does not start with 'get'!");
 
           // check that method has zero arguments
           if (method.getParameterTypes().length != 0)
-            throw new IllegalArgumentException(method.getName() + " method must have zero parameters!");
+            throw new IllegalArgumentException(method.getName() + " method must have zero parameters but has " +
+                    method.getParameterTypes().length + "!");
 
           // check return types of interface
           Class<?> returnType = method.getReturnType();
@@ -188,7 +189,8 @@ public class ArgumentParser {
           Set<Class<?>> compatibleReturnTypes = argumentFactories.keySet();
 
           if(!compatibleReturnTypes.contains(returnType))
-             throw new IllegalArgumentException(method.getName() + " method must have compatible return type!");
+             throw new IllegalArgumentException(method.getName() + " method must have compatible return type! Got " +
+                     returnType + ", expected one of " + compatibleReturnTypes);
         }
       }
     }
@@ -408,7 +410,7 @@ public class ArgumentParser {
         ArgumentFactory factory = argumentFactories.get(returnType);
         
         if (factory == null)
-          throw new IllegalStateException();
+          throw new IllegalStateException("factory for '" + returnType + "' must not be null");
         
         value = factory.parseArgument(method, parameterName, valueString);
       }

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/CLI.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/CLI.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/CLI.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/CLI.java Thu Jul 19 17:14:37 2012
@@ -232,8 +232,14 @@ public final class CLI {
     }
     catch (TerminateToolException e) {
       
-      if (e.getMessage() != null)
+      if (e.getMessage() != null) {
         System.err.println(e.getMessage());
+      }
+
+      if (e.getCause() != null) {
+        System.err.println(e.getCause().getMessage());
+        e.getCause().printStackTrace(System.err);
+      }
       
       System.exit(e.getCode());
     }

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/CmdLineUtil.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/CmdLineUtil.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/CmdLineUtil.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/CmdLineUtil.java Thu Jul 19 17:14:37 2012
@@ -147,7 +147,7 @@ public final class CmdLineUtil {
     try {
       return new FileInputStream(file);
     } catch (FileNotFoundException e) {
-      throw new TerminateToolException(-1, "File cannot be found: " + e.getMessage());
+      throw new TerminateToolException(-1, "File '" + file + "' cannot be found", e);
     }
   }
   
@@ -173,13 +173,13 @@ public final class CmdLineUtil {
       model.serialize(modelOut);
     } catch (IOException e) {
       System.err.println("failed");
-      throw new TerminateToolException(-1, "Error during writing model file: " + e.getMessage());
+      throw new TerminateToolException(-1, "Error during writing model file '" + modelFile + "'", e);
     } finally {
       if (modelOut != null) {
         try {
           modelOut.close();
         } catch (IOException e) {
-          System.err.println("Failed to properly close model file: " + 
+          System.err.println("Failed to properly close model file '" + modelFile + "': " +
               e.getMessage());
         }
       }
@@ -295,7 +295,7 @@ public final class CmdLineUtil {
   }
 
   public static void handleStdinIoError(IOException e) {
-    throw new TerminateToolException(-1, "IO Error while reading from stdin: " + e.getMessage());
+    throw new TerminateToolException(-1, "IO Error while reading from stdin: " + e.getMessage(), e);
   }
   
   // its optional, passing null is allowed
@@ -314,18 +314,19 @@ public final class CmdLineUtil {
         
         params = new opennlp.tools.util.TrainingParameters(paramsIn);
       } catch (IOException e) {
-        throw new TerminateToolException(-1, "Error during parameters loading: " + e.getMessage());
+        throw new TerminateToolException(-1, "Error during parameters loading: " + e.getMessage(), e);
       }
       finally {
         try {
           if (paramsIn != null)
             paramsIn.close();
         } catch (IOException e) {
+          //sorry that this can fail
         }
       }
       
       if (!TrainUtil.isValid(params.getSettings())) {
-        throw new TerminateToolException(1, "Training parameters file is invalid!");
+        throw new TerminateToolException(1, "Training parameters file '" + paramFile + "' is invalid!");
       }
       
       if (!supportSequenceTraining && TrainUtil.isSequenceTraining(params.getSettings())) {

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/ModelLoader.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/ModelLoader.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/ModelLoader.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/ModelLoader.java Thu Jul 19 17:14:37 2012
@@ -63,11 +63,11 @@ public abstract class ModelLoader<T> {
     }
     catch (InvalidFormatException e) {
       System.err.println("failed");
-      throw new TerminateToolException(-1, "Model has invalid format: " + e.getMessage());
+      throw new TerminateToolException(-1, "Model has invalid format", e);
     }
     catch (IOException e) {
       System.err.println("failed");
-      throw new TerminateToolException(-1, "IO error while loading model: " + e.getMessage());
+      throw new TerminateToolException(-1, "IO error while loading model file '" + modelFile + "'", e);
     }
     finally {
       // will not be null because openInFile would 

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/PerformanceMonitor.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/PerformanceMonitor.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/PerformanceMonitor.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/PerformanceMonitor.java Thu Jul 19 17:14:37 2012
@@ -68,7 +68,7 @@ public class PerformanceMonitor {
       throw new IllegalStateException("Must be started first!");
     
     if (increment < 0) 
-      throw new IllegalArgumentException("increment must be zero or positive!");
+      throw new IllegalArgumentException("increment must be zero or positive but was " + increment + "!");
     
     counter += increment;
   }

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/TerminateToolException.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/TerminateToolException.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/TerminateToolException.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/TerminateToolException.java Thu Jul 19 17:14:37 2012
@@ -37,6 +37,12 @@ public class TerminateToolException exte
   private final int code;
   private final String message;
   
+  public TerminateToolException(int code, String message, Throwable t) {
+    super(t);
+    this.code = code;
+    this.message = message;
+  }
+
   public TerminateToolException(int code, String message) {
     this.code = code;
     this.message = message;

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerCrossValidatorTool.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerCrossValidatorTool.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerCrossValidatorTool.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerCrossValidatorTool.java Thu Jul 19 17:14:37 2012
@@ -75,7 +75,8 @@ public final class ChunkerCrossValidator
       validator.evaluate(sampleStream, params.getFolds());
     }
     catch (IOException e) {
-      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: " + e.getMessage());
+      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: " +
+          e.getMessage(), e);
     }
     finally {
       try {

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerEvaluatorTool.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerEvaluatorTool.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerEvaluatorTool.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerEvaluatorTool.java Thu Jul 19 17:14:37 2012
@@ -93,7 +93,7 @@ public final class ChunkerEvaluatorTool
       evaluator.evaluate(measuredSampleStream);
     } catch (IOException e) {
       System.err.println("failed");
-      throw new TerminateToolException(-1, "IO error while reading test data: " + e.getMessage());
+      throw new TerminateToolException(-1, "IO error while reading test data: " + e.getMessage(), e);
     } finally {
       try {
         measuredSampleStream.close();

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerTrainerTool.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerTrainerTool.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerTrainerTool.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/chunker/ChunkerTrainerTool.java Thu Jul 19 17:14:37 2012
@@ -66,7 +66,8 @@ public class ChunkerTrainerTool
       model = ChunkerME.train(factory.getLang(), sampleStream,
           new DefaultChunkerContextGenerator(), mlParams);
     } catch (IOException e) {
-      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: " + e.getMessage());
+      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: " +
+          e.getMessage(), e);
     }
     finally {
       try {

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/coref/CoreferencerTool.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/coref/CoreferencerTool.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/coref/CoreferencerTool.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/coref/CoreferencerTool.java Thu Jul 19 17:14:37 2012
@@ -115,8 +115,7 @@ public class CoreferencerTool extends Ab
       try {
         treebankLinker = new TreebankLinker(args[0], LinkerMode.TEST);
       } catch (IOException e) {
-        e.printStackTrace();
-        throw new TerminateToolException(-1, "Failed to load all coreferencer models!");
+        throw new TerminateToolException(-1, "Failed to load all coreferencer models!", e);
       }
       
       ObjectStream<String> lineStream =

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/coref/CoreferencerTrainerTool.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/coref/CoreferencerTrainerTool.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/coref/CoreferencerTrainerTool.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/coref/CoreferencerTrainerTool.java Thu Jul 19 17:14:37 2012
@@ -43,7 +43,8 @@ public class CoreferencerTrainerTool ext
     try {
       CorefTrainer.train(params.getModel().toString(), sampleStream, true, true);
     } catch (IOException e) {
-      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: " + e.getMessage());
+      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: " +
+          e.getMessage(), e);
     }
   }
   

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/dictionary/DictionaryBuilderTool.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/dictionary/DictionaryBuilderTool.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/dictionary/DictionaryBuilderTool.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/dictionary/DictionaryBuilderTool.java Thu Jul 19 17:14:37 2012
@@ -63,7 +63,7 @@ public class DictionaryBuilderTool exten
       dict.serialize(out);
 
     } catch (IOException e) {
-      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: " + e.getMessage());
+      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: " + e.getMessage(), e);
     } finally {
       try {
         in.close();

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/doccat/DoccatTrainerTool.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/doccat/DoccatTrainerTool.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/doccat/DoccatTrainerTool.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/doccat/DoccatTrainerTool.java Thu Jul 19 17:14:37 2012
@@ -60,7 +60,8 @@ public class DoccatTrainerTool
     try {
       model = DocumentCategorizerME.train(factory.getLang(), sampleStream, mlParams);
     } catch (IOException e) {
-      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: " + e.getMessage());
+      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: " +
+          e.getMessage(), e);
     }
     finally {
       try {

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/CensusDictionaryCreatorTool.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/CensusDictionaryCreatorTool.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/CensusDictionaryCreatorTool.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/CensusDictionaryCreatorTool.java Thu Jul 19 17:14:37 2012
@@ -115,7 +115,8 @@ public class CensusDictionaryCreatorTool
       System.out.println("Creating Dictionary...");
       mDictionary = createDictionary(sampleStream);
     } catch (IOException e) {
-      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: " + e.getMessage());
+      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: "
+          + e.getMessage(), e);
     } finally {
       try {
         sampleStream.close();
@@ -131,8 +132,9 @@ public class CensusDictionaryCreatorTool
     try {
       out = new FileOutputStream(dictOutFile);
       mDictionary.serialize(out);
-    } catch (IOException ex) {
-      throw new TerminateToolException(-1, "IO error while writing dictionary file: " + ex.getMessage());
+    } catch (IOException e) {
+      throw new TerminateToolException(-1, "IO error while writing dictionary file: "
+          + e.getMessage(), e);
     }
     finally {
       if (out != null)
@@ -140,7 +142,8 @@ public class CensusDictionaryCreatorTool
           out.close();
         } catch (IOException e) {
           // file might be damaged
-          throw new TerminateToolException(-1, "Attention: Failed to correctly write dictionary:" + e.getMessage());
+          throw new TerminateToolException(-1, "Attention: Failed to correctly write dictionary:" +
+              e.getMessage(), e);
         }
     }
   }

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderCrossValidatorTool.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderCrossValidatorTool.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderCrossValidatorTool.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderCrossValidatorTool.java Thu Jul 19 17:14:37 2012
@@ -79,7 +79,8 @@ public final class TokenNameFinderCrossV
           listeners.toArray(new TokenNameFinderEvaluationMonitor[listeners.size()]));
       validator.evaluate(sampleStream, params.getFolds());
     } catch (IOException e) {
-      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: " + e.getMessage());
+      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: "
+          + e.getMessage(), e);
     } finally {
       try {
         sampleStream.close();

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderEvaluatorTool.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderEvaluatorTool.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderEvaluatorTool.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderEvaluatorTool.java Thu Jul 19 17:14:37 2012
@@ -92,7 +92,7 @@ public final class TokenNameFinderEvalua
       evaluator.evaluate(measuredSampleStream);
     } catch (IOException e) {
       System.err.println("failed");
-      throw new TerminateToolException(-1, "IO error while reading test data: " + e.getMessage());
+      throw new TerminateToolException(-1, "IO error while reading test data: " + e.getMessage(), e);
     } finally {
       try {
         measuredSampleStream.close();

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderTrainerTool.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderTrainerTool.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderTrainerTool.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/namefind/TokenNameFinderTrainerTool.java Thu Jul 19 17:14:37 2012
@@ -70,7 +70,8 @@ public final class TokenNameFinderTraine
       try {
         featureGeneratorBytes = ModelUtil.read(bytesIn);
       } catch (IOException e) {
-        throw new TerminateToolException(-1, "IO error while reading training data or indexing data: " + e.getMessage());
+        throw new TerminateToolException(-1, "IO error while reading training data or indexing data: "
+            + e.getMessage(), e);
       } finally {
         try {
           bytesIn.close();
@@ -180,7 +181,8 @@ public final class TokenNameFinderTraine
           mlParams, featureGeneratorBytes, resources);
     }
     catch (IOException e) {
-      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: " + e.getMessage());
+      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: "
+          + e.getMessage(), e);
     }
     finally {
       try {

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ModelUpdaterTool.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ModelUpdaterTool.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ModelUpdaterTool.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ModelUpdaterTool.java Thu Jul 19 17:14:37 2012
@@ -65,7 +65,8 @@ abstract class ModelUpdaterTool
       updatedParserModel = trainAndUpdate(originalParserModel, sampleStream, params);
     }
     catch (IOException e) {
-      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: " + e.getMessage());
+      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: "
+          + e.getMessage(), e);
     }
     finally {
       try {

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ParserTrainerTool.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ParserTrainerTool.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ParserTrainerTool.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/parser/ParserTrainerTool.java Thu Jul 19 17:14:37 2012
@@ -72,7 +72,8 @@ public final class ParserTrainerTool ext
     if(typeAsString != null && typeAsString.length() > 0) {
       type = ParserType.parse(typeAsString);
       if(type == null) {
-        throw new TerminateToolException(1, "ParserType training parameter is invalid!");
+        throw new TerminateToolException(1, "ParserType training parameter '" + typeAsString +
+            "' is invalid!");
       }
     }
     
@@ -138,7 +139,8 @@ public final class ParserTrainerTool ext
       }
     }
     catch (IOException e) {
-      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: " + e.getMessage());
+      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: "
+          + e.getMessage(), e);
     }
     finally {
       try {

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerCrossValidatorTool.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerCrossValidatorTool.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerCrossValidatorTool.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerCrossValidatorTool.java Thu Jul 19 17:14:37 2012
@@ -39,7 +39,8 @@ public final class POSTaggerCrossValidat
     extends AbstractCrossValidatorTool<POSSample, CVToolParams> {
   
   interface CVToolParams extends CVParams, TrainingParams {
-    @ParameterDescription(valueName = "outputFile", description = "the path of the fine-grained report file.")
+    @ParameterDescription(valueName = "outputFile",
+        description = "the path of the fine-grained report file.")
     @OptionalParameter
     File getReportOutputFile();
   }
@@ -89,7 +90,8 @@ public final class POSTaggerCrossValidat
       
       validator.evaluate(sampleStream, params.getFolds());
     } catch (IOException e) {
-      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: " + e.getMessage());
+      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: "
+          + e.getMessage(), e);
     } finally {
       try {
         sampleStream.close();

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerEvaluatorTool.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerEvaluatorTool.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerEvaluatorTool.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerEvaluatorTool.java Thu Jul 19 17:14:37 2012
@@ -88,7 +88,7 @@ public final class POSTaggerEvaluatorToo
     }
     catch (IOException e) {
       System.err.println("failed");
-      throw new TerminateToolException(-1, "IO error while reading test data: " + e.getMessage());
+      throw new TerminateToolException(-1, "IO error while reading test data: " + e.getMessage(), e);
     } finally {
       try {
         sampleStream.close();

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerTrainerTool.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerTrainerTool.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerTrainerTool.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/postag/POSTaggerTrainerTool.java Thu Jul 19 17:14:37 2012
@@ -57,7 +57,8 @@ public final class POSTaggerTrainerTool
 
     mlParams = CmdLineUtil.loadTrainingParameters(params.getParams(), true);
     if (mlParams != null && !TrainUtil.isValid(mlParams.getSettings())) {
-      throw new TerminateToolException(1, "Training parameters file is invalid!");
+      throw new TerminateToolException(1, "Training parameters file '" + params.getParams() +
+          "' is invalid!");
     }
 
     if(mlParams == null) {
@@ -79,17 +80,16 @@ public final class POSTaggerTrainerTool
         sampleStream.reset();
       } catch (IOException e) {
         throw new TerminateToolException(-1,
-            "IO error while building NGram Dictionary: " + e.getMessage());
+            "IO error while building NGram Dictionary: " + e.getMessage(), e);
       }
       System.err.println("done");
     }
 
     POSTaggerFactory postaggerFactory = null;
     try {
-      postaggerFactory = POSTaggerFactory.create(params.getFactory(),
-          ngramDict, null);
+      postaggerFactory = POSTaggerFactory.create(params.getFactory(), ngramDict, null);
     } catch (InvalidFormatException e) {
-      throw new TerminateToolException(-1, e.getMessage());
+      throw new TerminateToolException(-1, e.getMessage(), e);
     }
 
     if (params.getDict() != null) {
@@ -98,7 +98,7 @@ public final class POSTaggerTrainerTool
             .createTagDictionary(params.getDict()));
       } catch (IOException e) {
         throw new TerminateToolException(-1,
-            "IO error while loading POS Dictionary: " + e.getMessage());
+            "IO error while loading POS Dictionary: " + e.getMessage(), e);
       }
     }
 
@@ -120,7 +120,7 @@ public final class POSTaggerTrainerTool
       } catch (IOException e) {
         throw new TerminateToolException(-1,
             "IO error while creating/extending POS Dictionary: "
-                + e.getMessage());
+                + e.getMessage(), e);
       }
     }
 
@@ -130,7 +130,8 @@ public final class POSTaggerTrainerTool
           sampleStream, mlParams, postaggerFactory);
     }
     catch (IOException e) {
-      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: " + e.getMessage());
+      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: "
+          + e.getMessage(), e);
     }
     finally {
       try {

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorCrossValidatorTool.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorCrossValidatorTool.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorCrossValidatorTool.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorCrossValidatorTool.java Thu Jul 19 17:14:37 2012
@@ -75,7 +75,8 @@ public final class SentenceDetectorCross
       validator.evaluate(sampleStream, params.getFolds());
     }
     catch (IOException e) {
-      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: " + e.getMessage());
+      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: " +
+          e.getMessage(), e);
     }
     finally {
       try {

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorEvaluatorTool.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorEvaluatorTool.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorEvaluatorTool.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorEvaluatorTool.java Thu Jul 19 17:14:37 2012
@@ -61,7 +61,8 @@ public final class SentenceDetectorEvalu
     evaluator.evaluate(sampleStream);
     }
     catch (IOException e) {
-      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: " + e.getMessage());
+      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: " +
+          e.getMessage(), e);
     }
     finally {
       try {

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorTrainerTool.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorTrainerTool.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorTrainerTool.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/sentdetect/SentenceDetectorTrainerTool.java Thu Jul 19 17:14:37 2012
@@ -88,7 +88,8 @@ public final class SentenceDetectorTrain
       model = SentenceDetectorME.train(factory.getLang(), sampleStream,
           sdFactory, mlParams);
     } catch (IOException e) {
-      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: " + e.getMessage());
+      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: "
+          + e.getMessage(), e);
     }
     finally {
       try {

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerCrossValidatorTool.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerCrossValidatorTool.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerCrossValidatorTool.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerCrossValidatorTool.java Thu Jul 19 17:14:37 2012
@@ -73,7 +73,8 @@ public final class TokenizerCrossValidat
       validator.evaluate(sampleStream, params.getFolds());
     }
     catch (IOException e) {
-      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: " + e.getMessage());
+      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: "
+          + e.getMessage(), e);
     }
     finally {
       try {

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerMEEvaluatorTool.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerMEEvaluatorTool.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerMEEvaluatorTool.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerMEEvaluatorTool.java Thu Jul 19 17:14:37 2012
@@ -47,13 +47,13 @@ public final class TokenizerMEEvaluatorT
 
     TokenizerModel model = new TokenizerModelLoader().load(params.getModel());
 
-    TokenizerEvaluationMonitor missclassifiedListener = null;
+    TokenizerEvaluationMonitor misclassifiedListener = null;
     if (params.getMisclassified()) {
-      missclassifiedListener = new TokenEvaluationErrorListener();
+      misclassifiedListener = new TokenEvaluationErrorListener();
     }
 
     TokenizerEvaluator evaluator = new TokenizerEvaluator(
-        new opennlp.tools.tokenize.TokenizerME(model), missclassifiedListener);
+        new opennlp.tools.tokenize.TokenizerME(model), misclassifiedListener);
 
     System.out.print("Evaluating ... ");
 
@@ -61,7 +61,7 @@ public final class TokenizerMEEvaluatorT
       evaluator.evaluate(sampleStream);
     } catch (IOException e) {
       System.err.println("failed");
-      throw new TerminateToolException(-1, "IO error while reading test data: " + e.getMessage());
+      throw new TerminateToolException(-1, "IO error while reading test data: " + e.getMessage(), e);
     } finally {
       try {
         sampleStream.close();

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerTrainerTool.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerTrainerTool.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerTrainerTool.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/cmdline/tokenizer/TokenizerTrainerTool.java Thu Jul 19 17:14:37 2012
@@ -63,7 +63,8 @@ public final class TokenizerTrainerTool
 
     if (mlParams != null) {
       if (!TrainUtil.isValid(mlParams.getSettings())) {
-        throw new TerminateToolException(1, "Training parameters file is invalid!");
+        throw new TerminateToolException(1, "Training parameters file '" + params.getParams() +
+            "' is invalid!");
       }
 
       if (TrainUtil.isSequenceTraining(mlParams.getSettings())) {
@@ -89,7 +90,8 @@ public final class TokenizerTrainerTool
           tokFactory, mlParams);
 
     } catch (IOException e) {
-      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: " + e.getMessage());
+      throw new TerminateToolException(-1, "IO error while reading training data or indexing data: "
+          + e.getMessage(), e);
     }
     finally {
       try {

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/dictionary/serializer/Attributes.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/dictionary/serializer/Attributes.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/dictionary/serializer/Attributes.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/dictionary/serializer/Attributes.java Thu Jul 19 17:14:37 2012
@@ -51,8 +51,11 @@ public class Attributes {
    */
   public void setValue(String key, String value) {
 
-    if (key == null || value == null) {
-      throw new IllegalArgumentException("null parameters are not allowwd!");
+    if (key == null) {
+      throw new IllegalArgumentException("key must not be null");
+    }
+    if (value == null) {
+      throw new IllegalArgumentException("value must not be null");
     }
 
     mNameValueMap.put(key, value);

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/dictionary/serializer/DictionarySerializer.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/dictionary/serializer/DictionarySerializer.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/dictionary/serializer/DictionarySerializer.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/dictionary/serializer/DictionarySerializer.java Thu Jul 19 17:14:37 2012
@@ -268,8 +268,8 @@ public class DictionarySerializer {
     TransformerHandler hd;
     try {
       hd = tf.newTransformerHandler();
-    } catch (TransformerConfigurationException e1) {
-      throw new AssertionError("The Tranformer configuration must be valid!");
+    } catch (TransformerConfigurationException e) {
+      throw new AssertionError("The Transformer configuration must be valid!");
     }
 
     Transformer serializer = hd.getTransformer();
@@ -299,7 +299,7 @@ public class DictionarySerializer {
       hd.endDocument();
     }
     catch (SAXException e) {
-      throw new IOException("There was an error during serialization!");
+      throw new IOException("There was an error during serialization!", e);
     }
   }
 

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/doccat/DocumentSample.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/doccat/DocumentSample.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/doccat/DocumentSample.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/doccat/DocumentSample.java Thu Jul 19 17:14:37 2012
@@ -38,8 +38,11 @@ public class DocumentSample {
   }
 
   public DocumentSample(String category, String text[]) {
-    if (category == null || text == null) {
-      throw new IllegalArgumentException();
+    if (category == null) {
+      throw new IllegalArgumentException("category must not be null");
+    }
+    if (text == null) {
+      throw new IllegalArgumentException("text must not be null");
     }
 
     this.category = category;

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/BioNLP2004NameSampleStream.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/BioNLP2004NameSampleStream.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/BioNLP2004NameSampleStream.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/BioNLP2004NameSampleStream.java Thu Jul 19 17:14:37 2012
@@ -92,7 +92,8 @@ public class BioNLP2004NameSampleStream 
         tags.add(fields[1]);
       }
       else {
-        throw new IOException("Expected two fields per line in training data!");
+        throw new IOException("Expected two fields per line in training data, got " +
+            fields.length + " for line '" + line + "'!");
       }
     }
     

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/Conll02NameSampleStream.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/Conll02NameSampleStream.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/Conll02NameSampleStream.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/Conll02NameSampleStream.java Thu Jul 19 17:14:37 2012
@@ -106,7 +106,7 @@ public class Conll02NameSampleStream imp
       type = "organization";
     }
     else {
-      throw new InvalidFormatException("Unkonw type: " + type);
+      throw new InvalidFormatException("Unknown type: " + type);
     }
     
     return new Span(begin, end, type);
@@ -137,7 +137,8 @@ public class Conll02NameSampleStream imp
         tags.add(fields[2]);
       }
       else {
-        throw new IOException("Expected three fields per line in training data!");
+        throw new IOException("Expected three fields per line in training data, got " +
+            fields.length + " for line '" + line + "'!");
       }
     }
     

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/Conll03NameSampleStream.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/Conll03NameSampleStream.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/Conll03NameSampleStream.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/Conll03NameSampleStream.java Thu Jul 19 17:14:37 2012
@@ -93,7 +93,7 @@ public class Conll03NameSampleStream imp
         String emptyLine = lineStream.read();
         
         if (!StringUtil.isEmpty(emptyLine))
-          throw new IOException("Empty line after -DOCSTART- not empty!");
+          throw new IOException("Empty line after -DOCSTART- not empty: '" + emptyLine +"'!");
         
         continue;
       }
@@ -111,7 +111,7 @@ public class Conll03NameSampleStream imp
         tags.add(fields[4]); // 4 is NE-TAG
       }
       else {
-        throw new IOException("Incorrect number of fields per line for language!");
+        throw new IOException("Incorrect number of fields per line for language: '" + line + "'!");
       }
     }
 

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/ConllXPOSSampleStream.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/ConllXPOSSampleStream.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/ConllXPOSSampleStream.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/ConllXPOSSampleStream.java Thu Jul 19 17:14:37 2012
@@ -84,7 +84,7 @@ public class ConllXPOSSampleStream exten
        }
        else {
          throw new InvalidFormatException("Every non-empty line must have at least " +
-             minNumberOfFields + " fields!");
+             minNumberOfFields + " fields: '" + line + "'!");
        }
      }
      

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/ConllXPOSSampleStreamFactory.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/ConllXPOSSampleStreamFactory.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/ConllXPOSSampleStreamFactory.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/ConllXPOSSampleStreamFactory.java Thu Jul 19 17:14:37 2012
@@ -62,7 +62,7 @@ public class ConllXPOSSampleStreamFactor
       return new ConllXPOSSampleStream(lineStream);
     } catch (UnsupportedEncodingException e) {
       // this shouldn't happen
-      throw new TerminateToolException(-1, "UTF-8 encoding is not supported: " + e.getMessage());
+      throw new TerminateToolException(-1, "UTF-8 encoding is not supported: " + e.getMessage(), e);
     }
   }
 }

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/DetokenizerSampleStreamFactory.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/DetokenizerSampleStreamFactory.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/DetokenizerSampleStreamFactory.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/DetokenizerSampleStreamFactory.java Thu Jul 19 17:14:37 2012
@@ -41,7 +41,7 @@ public abstract class DetokenizerSampleS
       return new DictionaryDetokenizer(new DetokenizationDictionary(
           new FileInputStream(new File(p.getDetokenizer()))));
     } catch (IOException e) {
-      throw new TerminateToolException(-1, "IO error while loading detokenizer dict: " + e.getMessage());
+      throw new TerminateToolException(-1, "IO error while loading detokenizer dict: " + e.getMessage(), e);
     }
   }
 }
\ No newline at end of file

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/LeipzigDocumentSampleStreamFactory.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/LeipzigDocumentSampleStreamFactory.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/LeipzigDocumentSampleStreamFactory.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/LeipzigDocumentSampleStreamFactory.java Thu Jul 19 17:14:37 2012
@@ -53,7 +53,7 @@ public class LeipzigDocumentSampleStream
       return new LeipzigDoccatSampleStream(params.getLang(), 20,
           CmdLineUtil.openInFile(params.getData()));
     } catch (IOException e) {
-      throw new TerminateToolException(-1, "IO error while opening sample data: " + e.getMessage());
+      throw new TerminateToolException(-1, "IO error while opening sample data: " + e.getMessage(), e);
     }
   }
 }

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/convert/AbstractToSentenceSampleStream.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/convert/AbstractToSentenceSampleStream.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/convert/AbstractToSentenceSampleStream.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/convert/AbstractToSentenceSampleStream.java Thu Jul 19 17:14:37 2012
@@ -43,7 +43,7 @@ public abstract class AbstractToSentence
     this.detokenizer = detokenizer;
 
     if (chunkSize < 0)
-      throw new IllegalArgumentException("chunkSize must be zero or larger!");
+      throw new IllegalArgumentException("chunkSize must be zero or larger but was " + chunkSize + "!");
 
     if (chunkSize > 0)
       this.chunkSize = chunkSize;

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/frenchtreebank/ConstitParseSampleStream.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/frenchtreebank/ConstitParseSampleStream.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/frenchtreebank/ConstitParseSampleStream.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/frenchtreebank/ConstitParseSampleStream.java Thu Jul 19 17:14:37 2012
@@ -63,7 +63,7 @@ public class ConstitParseSampleStream ex
         try {
           saxParser.parse(new ByteArrayInputStream(xmlbytes), new ConstitDocumentHandler(producedParses));
         } catch (SAXException e) {
-          throw new IOException(e.getMessage());
+          throw new IOException(e);
         }
         
         parses.addAll(producedParses);

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/muc/MucNameContentHandler.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/muc/MucNameContentHandler.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/muc/MucNameContentHandler.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/formats/muc/MucNameContentHandler.java Thu Jul 19 17:14:37 2012
@@ -95,7 +95,8 @@ public class MucNameContentHandler exten
       String nameType = attributes.get("TYPE");
 
       if (!EXPECTED_TYPES.contains(nameType)) {
-        throw new InvalidFormatException("Unkown timex, numex or namex type: " + nameType);
+        throw new InvalidFormatException("Unknown timex, numex or namex type: "
+            + nameType + ", expected one of " + EXPECTED_TYPES);
       }
 
       incompleteNames.add(new Span(text.size(), text.size(), nameType.toLowerCase(Locale.ENGLISH)));

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/namefind/RegexNameFinder.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/namefind/RegexNameFinder.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/namefind/RegexNameFinder.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/namefind/RegexNameFinder.java Thu Jul 19 17:14:37 2012
@@ -36,7 +36,7 @@ public final class RegexNameFinder imple
 
   public RegexNameFinder(Pattern patterns[]) {
     if (patterns == null || patterns.length == 0) {
-      throw new IllegalArgumentException("patterns must not be null or emtpy!");
+      throw new IllegalArgumentException("patterns must not be null or empty!");
     }
 
     mPatterns = patterns;

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/namefind/TokenNameFinderModel.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/namefind/TokenNameFinderModel.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/namefind/TokenNameFinderModel.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/namefind/TokenNameFinderModel.java Thu Jul 19 17:14:37 2012
@@ -166,7 +166,7 @@ public class TokenNameFinderModel extend
         
         throw new FeatureGeneratorCreationError(e);
       } catch (IOException e) {
-        throw new IllegalStateException("Reading from mem cannot result in an I/O error");
+        throw new IllegalStateException("Reading from mem cannot result in an I/O error", e);
       }
   
       return generator;

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/ngram/NGramModel.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/ngram/NGramModel.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/ngram/NGramModel.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/ngram/NGramModel.java Thu Jul 19 17:14:37 2012
@@ -63,9 +63,10 @@ public class NGramModel implements Itera
       public void insert(Entry entry) throws InvalidFormatException {
 
         int count;
+        String countValueString = null;
 
         try {
-          String countValueString = entry.getAttributes().getValue(COUNT);
+          countValueString = entry.getAttributes().getValue(COUNT);
 
           if (countValueString == null) {
         	  throw new InvalidFormatException(
@@ -74,8 +75,8 @@ public class NGramModel implements Itera
 
           count = Integer.parseInt(countValueString);
         } catch (NumberFormatException e) {
-          throw new InvalidFormatException(
-              "The count attribute must be a nubmer!");
+          throw new InvalidFormatException("The count attribute '" + countValueString
+              + "' must be a number!", e);
         }
 
         add(entry.getTokens());
@@ -144,10 +145,12 @@ public class NGramModel implements Itera
   public void add(StringList ngram, int minLength, int maxLength) {
 
     if (minLength < 1 || maxLength < 1)
-        throw new IllegalArgumentException("minLength and maxLength param must be at least 1!");
+        throw new IllegalArgumentException("minLength and maxLength param must be at least 1. " +
+            "minLength=" + minLength + ", maxLength= " + maxLength);
 
     if (minLength > maxLength)
-        throw new IllegalArgumentException("minLength param must not be larger than maxLength param!");
+        throw new IllegalArgumentException("minLength param must not be larger than " +
+            "maxLength param. minLength=" + minLength + ", maxLength= " + maxLength);
 
     for (int lengthIndex = minLength; lengthIndex < maxLength + 1;
     lengthIndex++) {

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/parser/ParserModel.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/parser/ParserModel.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/parser/ParserModel.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/parser/ParserModel.java Thu Jul 19 17:14:37 2012
@@ -121,7 +121,7 @@ public class ParserModel extends BaseMod
       artifactMap.put(ATTACH_MODEL_ENTRY_NAME, attachModel);
     }
     else {
-      throw new IllegalStateException("Unkown ParserType!");
+      throw new IllegalStateException("Unknown ParserType '" + modelType + "'!");
     }
     
     artifactMap.put(PARSER_TAGGER_MODEL_ENTRY_NAME, parserTagger);
@@ -244,7 +244,7 @@ public class ParserModel extends BaseMod
           throw new InvalidFormatException("attachModel must not be null!");
       }
       else {
-        throw new InvalidFormatException("Unkown ParserType!");
+        throw new InvalidFormatException("Unknown ParserType '" + modelType + "'!");
       }
     }
     else {

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/postag/POSSample.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/postag/POSSample.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/postag/POSSample.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/postag/POSSample.java Thu Jul 19 17:14:37 2012
@@ -71,12 +71,18 @@ public class POSSample {
   }
   
   private void checkArguments() {
-    if (sentence.size() != tags.size())
+    if (sentence.size() != tags.size()) {
       throw new IllegalArgumentException(
-      "There must be exactly one tag for each token!");
-    
-      if (sentence.contains(null) || tags.contains(null))
-        throw new IllegalArgumentException("null elements are not allowed!");
+        "There must be exactly one tag for each token. tokens: " + sentence.size() +
+            ", tags: " + tags.size());
+    }
+
+      if (sentence.contains(null)) {
+        throw new IllegalArgumentException("null elements are not allowed in sentence tokens!");
+      }
+      if (tags.contains(null)) {
+        throw new IllegalArgumentException("null elements are not allowed in tags!");
+      }
   }
   
   public String[] getSentence() {
@@ -122,7 +128,7 @@ public class POSSample {
       int split = tokenTags[i].lastIndexOf("_");
 
       if (split == -1) {
-        throw new InvalidFormatException("Cannot find \"_\" inside token!");
+        throw new InvalidFormatException("Cannot find \"_\" inside token '" + tokenTags[i] + "'!");
       }
 
       sentence[i] = tokenTags[i].substring(0, split);

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/postag/POSTaggerFactory.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/postag/POSTaggerFactory.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/postag/POSTaggerFactory.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/postag/POSTaggerFactory.java Thu Jul 19 17:14:37 2012
@@ -183,7 +183,7 @@ public class POSTaggerFactory extends Ba
           unknownTag.append(d).append(" ");
         }
       }
-      throw new InvalidFormatException("Tag dictioinary contains tags "
+      throw new InvalidFormatException("Tag dictionary contains tags "
           + "which are unknown by the model! The unknown tags are: "
           + unknownTag.toString());
     }

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceDetectorFactory.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceDetectorFactory.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceDetectorFactory.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/sentdetect/SentenceDetectorFactory.java Thu Jul 19 17:14:37 2012
@@ -83,7 +83,8 @@ public class SentenceDetectorFactory ext
     if (abbreviationsEntry != null
         && !(abbreviationsEntry instanceof Dictionary)) {
       throw new InvalidFormatException(
-          "Abbreviations dictionary has wrong type!");
+          "Abbreviations dictionary '" + abbreviationsEntry +
+              "' has wrong type, needs to be of type Dictionary!");
     }
   }
 
@@ -204,10 +205,9 @@ public class SentenceDetectorFactory ext
   }
 
   private String eosCharArrayToString(char[] eosCharacters) {
-    String eosString = "";
-    for (int i = 0; i < eosCharacters.length; i++)
-      eosString += eosCharacters[i];
-    return eosString;
+    StringBuilder eosString = new StringBuilder();
+    eosString.append(eosCharacters);
+    return eosString.toString();
   }
 
   private char[] eosStringToCharArray(String eosCharacters) {

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/tokenize/DetokenizationDictionary.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/tokenize/DetokenizationDictionary.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/tokenize/DetokenizationDictionary.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/tokenize/DetokenizationDictionary.java Thu Jul 19 17:14:37 2012
@@ -87,7 +87,8 @@ public class DetokenizationDictionary {
   public DetokenizationDictionary(String tokens[],
       DetokenizationDictionary.Operation operations[]) {
     if (tokens.length != operations.length)
-      throw new IllegalArgumentException("tokens and ops must have the same length!");
+      throw new IllegalArgumentException("tokens and ops must have the same length: tokens=" +
+          tokens.length + ", operations=" + operations.length + "!");
     
     for (int i = 0; i < tokens.length; i++) {
       String token = tokens[i];
@@ -119,7 +120,7 @@ public class DetokenizationDictionary {
         Operation operation = Operation.parse(operationString);
         
         if (operation == null)
-            throw new InvalidFormatException("Unkown operation type: " + operationString);
+            throw new InvalidFormatException("Unknown operation type: " + operationString);
         
         operationTable.put(word.getToken(0), operation);
       }});

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/tokenize/DictionaryDetokenizer.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/tokenize/DictionaryDetokenizer.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/tokenize/DictionaryDetokenizer.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/tokenize/DictionaryDetokenizer.java Thu Jul 19 17:14:37 2012
@@ -74,7 +74,7 @@ public class DictionaryDetokenizer imple
         }
       }
       else {
-        throw new IllegalStateException("Unkown operation: " + dictOperation);
+        throw new IllegalStateException("Unknown operation: " + dictOperation);
       }
     }
     
@@ -86,7 +86,8 @@ public class DictionaryDetokenizer imple
     DetokenizationOperation operations[] = detokenize(tokens);
     
     if (tokens.length != operations.length)
-      throw new IllegalArgumentException("tokens and operations array must have same length!");
+      throw new IllegalArgumentException("tokens and operations array must have same length: tokens=" +
+          tokens.length + ", operations=" + operations.length + "!");
     
     
     StringBuilder untokenizedString = new StringBuilder();

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenSample.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenSample.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenSample.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenSample.java Thu Jul 19 17:14:37 2012
@@ -60,7 +60,7 @@ public class TokenSample {
       if (tokenSpan.getStart() < 0 || tokenSpan.getStart() > text.length() ||
           tokenSpan.getEnd() > text.length() || tokenSpan.getEnd() < 0) {
         throw new IllegalArgumentException("Span " + tokenSpan.toString() +
-            " is out of bounds!");
+            " is out of bounds, text length: " + text.length() + "!");
       }
     }
   }
@@ -161,9 +161,13 @@ public class TokenSample {
   
   public static TokenSample parse(String sampleString, String separatorChars) {
     
-    if (sampleString == null || separatorChars == null)
-        throw new IllegalArgumentException("arguments must not be null!");
-    
+    if (sampleString == null) {
+        throw new IllegalArgumentException("sampleString must not be null!");
+    }
+    if (separatorChars == null) {
+        throw new IllegalArgumentException("separatorChars must not be null!");
+    }
+
     Span whitespaceTokenSpans[] = WhitespaceTokenizer.INSTANCE.tokenizePos(sampleString);
     
     // Pre-allocate 20% for newly created tokens

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenSampleStream.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenSampleStream.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenSampleStream.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenSampleStream.java Thu Jul 19 17:14:37 2012
@@ -44,10 +44,13 @@ public class TokenSampleStream extends F
     
     super(sampleStrings);
     
-    if (sampleStrings == null || separatorChars == null) {
-      throw new IllegalArgumentException("parameters must not be null!");
+    if (sampleStrings == null) {
+      throw new IllegalArgumentException("sampleStrings must not be null!");
     }
-    
+    if (separatorChars == null) {
+      throw new IllegalArgumentException("separatorChars must not be null!");
+    }
+
     this.separatorChars= separatorChars;
   }
   

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenizerFactory.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenizerFactory.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenizerFactory.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/tokenize/TokenizerFactory.java Thu Jul 19 17:14:37 2012
@@ -91,10 +91,9 @@ public class TokenizerFactory extends Ba
     Object abbreviationsEntry = this.artifactProvider
         .getArtifact(ABBREVIATIONS_ENTRY_NAME);
 
-    if (abbreviationsEntry != null
-        && !(abbreviationsEntry instanceof Dictionary)) {
-      throw new InvalidFormatException(
-          "Abbreviations dictionary has wrong type!");
+    if (abbreviationsEntry != null && !(abbreviationsEntry instanceof Dictionary)) {
+      throw new InvalidFormatException("Abbreviations dictionary '" + abbreviationsEntry +
+              "' has wrong type, needs to be of type Dictionary!");
     }
   }
 

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/HashSumEventStream.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/HashSumEventStream.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/HashSumEventStream.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/HashSumEventStream.java Thu Jul 19 17:14:37 2012
@@ -56,7 +56,7 @@ public class HashSumEventStream implemen
       digest.update(event.toString().getBytes("UTF-8"));
     }
     catch (UnsupportedEncodingException e) {
-      throw new IllegalStateException("UTF-8 encoding is not available!");
+      throw new IllegalStateException(e);
     }
     
     return event;

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/ObjectStreamUtils.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/ObjectStreamUtils.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/ObjectStreamUtils.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/ObjectStreamUtils.java Thu Jul 19 17:14:37 2012
@@ -87,7 +87,7 @@ public class ObjectStreamUtils {
     
     for (ObjectStream<T> stream : streams) {
       if (stream == null)
-        throw new NullPointerException();
+        throw new NullPointerException("stream cannot be null");
     }
     
     return new ObjectStream<T>() {

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/Span.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/Span.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/Span.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/Span.java Thu Jul 19 17:14:37 2012
@@ -37,11 +37,16 @@ public class Span implements Comparable<
    */
   public Span(int s, int e, String type) {
 
-    if (s < 0 || e <0)
-      throw new IllegalArgumentException("start and end index must be zero or greater!");
-
-    if (s > e)
-      throw new IllegalArgumentException("start index must not be larger than end index!");
+    if (s < 0) {
+      throw new IllegalArgumentException("start index must be zero or greater: " + s);
+    }
+    if (e < 0) {
+      throw new IllegalArgumentException("end index must be zero or greater: " + e);
+    }
+    if (s > e) {
+      throw new IllegalArgumentException("start index must not be larger than end index: " +
+          "start=" + s + ", end=" + e);
+    }
 
     start = s;
     end = e;
@@ -189,7 +194,7 @@ public class Span implements Comparable<
   public CharSequence getCoveredText(CharSequence text) {
     if (getEnd() > text.length()) {
       throw new IllegalArgumentException("The span " + toString() +
-          " is outside the given text!");
+          " is outside the given text which has length " + text.length() + "!");
     }
 
     return text.subSequence(getStart(), getEnd());

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/StringList.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/StringList.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/StringList.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/StringList.java Thu Jul 19 17:14:37 2012
@@ -54,8 +54,11 @@ public class StringList implements Itera
    */
   public StringList(String... tokens) {
 
-    if (tokens == null || tokens.length == 0) {
-      throw new IllegalArgumentException();
+    if (tokens == null) {
+      throw new IllegalArgumentException("tokens must not be null");
+    }
+    if (tokens.length == 0) {
+      throw new IllegalArgumentException("tokens must not be empty");
     }
 
     this.tokens = new String[tokens.length];

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/Version.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/Version.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/Version.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/Version.java Thu Jul 19 17:14:37 2012
@@ -158,8 +158,9 @@ public class Version {
 
     int indexSecondDot = version.indexOf('.', indexFirstDot + 1);
 
-    if (indexFirstDot == -1 || indexSecondDot == -1)
-        throw new NumberFormatException("Invalid version!");
+    if (indexFirstDot == -1 || indexSecondDot == -1) {
+        throw new NumberFormatException("Invalid version format '" + version + "', expected two dots!");
+    }
 
     int indexFirstDash = version.indexOf('-');
     

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/ext/ExtensionLoader.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/ext/ExtensionLoader.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/ext/ExtensionLoader.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/ext/ExtensionLoader.java Thu Jul 19 17:14:37 2012
@@ -68,7 +68,8 @@ public class ExtensionLoader {
         }
       }
       else {
-        throw new ExtensionNotLoadedException("Extension class needs to have type: " + clazz.getName());
+        throw new ExtensionNotLoadedException("Extension class '" + extClazz.getName() +
+                "' needs to have type: " + clazz.getName());
       }
     } catch (ClassNotFoundException e) {
       // Class is not on classpath

Modified: opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/GeneratorFactory.java
URL: http://svn.apache.org/viewvc/opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/GeneratorFactory.java?rev=1363429&r1=1363428&r2=1363429&view=diff
==============================================================================
--- opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/GeneratorFactory.java (original)
+++ opennlp/trunk/opennlp-tools/src/main/java/opennlp/tools/util/featuregen/GeneratorFactory.java Thu Jul 19 17:14:37 2012
@@ -158,9 +158,10 @@ public class GeneratorFactory {
         throw new InvalidFormatException("Could not find containing generator element!");
       }
 
-      AdaptiveFeatureGenerator chachedGenerator = GeneratorFactory.createGenerator(cachedGeneratorElement, resourceManager);
+      AdaptiveFeatureGenerator cachedGenerator =
+          GeneratorFactory.createGenerator(cachedGeneratorElement, resourceManager);
 
-      return new CachedFeatureGenerator(chachedGenerator);
+      return new CachedFeatureGenerator(cachedGenerator);
     }
 
     static void register(Map<String, XmlFeatureGeneratorFactory> factoryMap) {
@@ -183,7 +184,7 @@ public class GeneratorFactory {
       try {
         min = Integer.parseInt(minString);
       } catch (NumberFormatException e) {
-        throw new InvalidFormatException("min attribute is not a number!");
+        throw new InvalidFormatException("min attribute '" + minString + "' is not a number!", e);
       }
 
       String maxString = generatorElement.getAttribute("max");
@@ -193,7 +194,7 @@ public class GeneratorFactory {
       try {
         max = Integer.parseInt(maxString);
       } catch (NumberFormatException e) {
-        throw new InvalidFormatException("max attribute is not a number!");
+        throw new InvalidFormatException("max attribute '" + maxString + "' is not a number!", e);
       }
 
       return new CharacterNgramFeatureGenerator(min, max);
@@ -374,7 +375,7 @@ public class GeneratorFactory {
 
       if (nestedGeneratorElement == null) {
         throw new InvalidFormatException("window feature generator must contain" +
-        		"a agregator element");
+        		" an aggregator element");
       }
       
       AdaptiveFeatureGenerator nestedGenerator = GeneratorFactory.createGenerator(nestedGeneratorElement, resourceManager);
@@ -386,7 +387,7 @@ public class GeneratorFactory {
       try {
         prevLength = Integer.parseInt(prevLengthString);
       } catch (NumberFormatException e) {
-        throw new InvalidFormatException("prevLength attribute is not a number!");
+        throw new InvalidFormatException("prevLength attribute '" + prevLengthString + "' is not a number!", e);
       }
       
       String nextLengthString = generatorElement.getAttribute("nextLength");
@@ -396,7 +397,7 @@ public class GeneratorFactory {
       try {
         nextLength = Integer.parseInt(nextLengthString);
       } catch (NumberFormatException e) {
-        throw new InvalidFormatException("nextLength attribute is not a number!");
+        throw new InvalidFormatException("nextLength attribute '" + nextLengthString + "' is not a number!", e);
       }  
       
       return new WindowFeatureGenerator(nestedGenerator, prevLength, nextLength);