- refactored top level of Exception hierarchy,
- added getPatern(), getArguments() and getMessage(Locale) (names chosen for consistency with java.text.MessageFormat) - deprecated some raw constructors as the top level exception are too coarse grained and intended only as base classes for easier to use classes - added several constructors for use by more fine grained derived classes git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/math/trunk@506576 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
f55f1566f0
commit
32ea2a389a
|
@ -27,27 +27,39 @@ import java.io.Serializable;
|
|||
public class ConvergenceException extends MathException implements Serializable{
|
||||
|
||||
/** Serializable version identifier */
|
||||
private static final long serialVersionUID = -3657394299929217890L;
|
||||
|
||||
private static final long serialVersionUID = 7426445244781020663L;
|
||||
|
||||
/**
|
||||
* Default constructor.
|
||||
*/
|
||||
public ConvergenceException() {
|
||||
this(null, null);
|
||||
super("Convergence failed", new Object[0]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct an exception with the given message.
|
||||
* @param message descriptive error message.
|
||||
* @param message descriptive error message
|
||||
* @deprecated as of 1.2, replaced by {@link #ConvergenceException(String, Object[])}
|
||||
*/
|
||||
public ConvergenceException(String message) {
|
||||
this(message, null);
|
||||
super(message);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs an exception with specified formatted detail message.
|
||||
* Message formatting is delegated to {@link java.text.MessageFormat}.
|
||||
* @param pattern format specifier
|
||||
* @param arguments format arguments
|
||||
*/
|
||||
public ConvergenceException(String pattern, Object[] arguments) {
|
||||
super(pattern, arguments);
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct an exception with the given message and root cause.
|
||||
* @param message descriptive error message.
|
||||
* @param cause root cause.
|
||||
* @param message descriptive error message
|
||||
* @param cause the exception or error that caused this exception to be thrown
|
||||
* @deprecated as of 1.2, replaced by {@link #ConvergenceException(String, Object[], Throwable)}
|
||||
*/
|
||||
public ConvergenceException(String message, Throwable cause) {
|
||||
super(message, cause);
|
||||
|
@ -55,9 +67,21 @@ public class ConvergenceException extends MathException implements Serializable{
|
|||
|
||||
/**
|
||||
* Create an exception with a given root cause.
|
||||
* @param throwable caught exception causing this problem
|
||||
* @param cause the exception or error that caused this exception to be thrown
|
||||
*/
|
||||
public ConvergenceException(Throwable throwable) {
|
||||
this(null, throwable);
|
||||
public ConvergenceException(Throwable cause) {
|
||||
super(cause);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs an exception with specified formatted detail message and root cause.
|
||||
* Message formatting is delegated to {@link java.text.MessageFormat}.
|
||||
* @param pattern format specifier
|
||||
* @param arguments format arguments
|
||||
* @param cause the exception or error that caused this exception to be thrown
|
||||
*/
|
||||
public ConvergenceException(String pattern, Object[] arguments, Throwable cause) {
|
||||
super(pattern, arguments, cause);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -26,51 +26,79 @@ package org.apache.commons.math;
|
|||
*/
|
||||
public class FunctionEvaluationException extends MathException {
|
||||
|
||||
/** Serializable version identifier */
|
||||
private static final long serialVersionUID = -317289374378977972L;
|
||||
|
||||
/** Serializable version identifier. */
|
||||
private static final long serialVersionUID = -7619974756160279127L;
|
||||
|
||||
/** Argument causing function evaluation failure */
|
||||
private double argument = Double.NaN;
|
||||
|
||||
/**
|
||||
* Construct an exception indicating the argument value
|
||||
* that caused the function evaluation to fail. Generates an exception
|
||||
* message of the form "Evaluation failed for argument = " + argument.
|
||||
* that caused the function evaluation to fail.
|
||||
*
|
||||
* @param argument the failing function argument
|
||||
*/
|
||||
public FunctionEvaluationException(double argument) {
|
||||
this(argument, "Evaluation failed for argument = " + argument);
|
||||
super("Evaluation failed for argument = {0}",
|
||||
new Object[] { new Double(argument) });
|
||||
this.argument = argument;
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct an exception using the given argument and message
|
||||
* text. The message text of the exception will start with
|
||||
* <code>message</code> and be followed by
|
||||
* " Evaluation failed for argument = " + argument.
|
||||
* text.
|
||||
*
|
||||
* @param argument the failing function argument
|
||||
* @param message the exception message text
|
||||
* @deprecated as of 1.2, replaced by {@link #FunctionEvaluationException(double, String, Object[])
|
||||
*/
|
||||
public FunctionEvaluationException(double argument, String message) {
|
||||
this(argument, message, null);
|
||||
super(message);
|
||||
this.argument = argument;
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs an exception with specified formatted detail message.
|
||||
* Message formatting is delegated to {@link java.text.MessageFormat}.
|
||||
* @param argument the failing function argument
|
||||
* @param pattern format specifier
|
||||
* @param arguments format arguments
|
||||
*/
|
||||
public FunctionEvaluationException(double argument,
|
||||
String pattern, Object[] arguments) {
|
||||
super(pattern, arguments);
|
||||
this.argument = argument;
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct an exception with the given argument, message and root cause.
|
||||
* The message text of the exception will start with <code>message</code>
|
||||
* and be followed by " Evaluation failed for argument = " + argument.
|
||||
*
|
||||
* @param argument the failing function argument
|
||||
* @param message descriptive error message
|
||||
* @param cause root cause.
|
||||
* @deprecated as of 1.2, replaced by {@link #FunctionEvaluationException(double, String, Object[], Throwable)}
|
||||
*/
|
||||
public FunctionEvaluationException(double argument, String message,
|
||||
Throwable cause) {
|
||||
super(message + " Evaluation failed for argument=" + argument, cause);
|
||||
public FunctionEvaluationException(double argument,
|
||||
String message, Throwable cause) {
|
||||
super(message, cause);
|
||||
this.argument = argument;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructs an exception with specified formatted detail message and root cause.
|
||||
* Message formatting is delegated to {@link java.text.MessageFormat}.
|
||||
* @param argument the failing function argument
|
||||
* @param pattern format specifier
|
||||
* @param arguments format arguments
|
||||
* @param cause the exception or error that caused this exception to be thrown
|
||||
*/
|
||||
public FunctionEvaluationException(double argument,
|
||||
String pattern, Object[] arguments,
|
||||
Throwable cause) {
|
||||
super(pattern, arguments, cause);
|
||||
this.argument = argument;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the function argument that caused this exception.
|
||||
*
|
||||
|
@ -79,4 +107,5 @@ public class FunctionEvaluationException extends MathException {
|
|||
public double getArgument() {
|
||||
return this.argument;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -22,42 +22,63 @@ import java.io.Serializable;
|
|||
* Signals a configuration problem with any of the factory methods.
|
||||
* @version $Revision$ $Date$
|
||||
*/
|
||||
public class MathConfigurationException extends MathException implements Serializable {
|
||||
|
||||
/** Serializable version identifier */
|
||||
private static final long serialVersionUID = -7958299004965931723L;
|
||||
public class MathConfigurationException extends MathException implements Serializable{
|
||||
|
||||
/** Serializable version identifier */
|
||||
private static final long serialVersionUID = -4056541384141349722L;
|
||||
/**
|
||||
* Default constructor.
|
||||
*/
|
||||
public MathConfigurationException() {
|
||||
this(null, null);
|
||||
super();
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct an exception with the given message.
|
||||
* @param message descriptive error message
|
||||
* @deprecated as of 1.2, replaced by {@link #MathConfigurationException(String, Object[])}
|
||||
*/
|
||||
public MathConfigurationException(String message) {
|
||||
super(message);
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct an exception with the given message.
|
||||
* @param message message describing the problem
|
||||
* Constructs an exception with specified formatted detail message.
|
||||
* Message formatting is delegated to {@link java.text.MessageFormat}.
|
||||
* @param pattern format specifier
|
||||
* @param arguments format arguments
|
||||
*/
|
||||
public MathConfigurationException(final String message) {
|
||||
this(message, null);
|
||||
public MathConfigurationException(String pattern, Object[] arguments) {
|
||||
super(pattern, arguments);
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct an exception with the given message and root cause.
|
||||
* @param message message describing the problem
|
||||
* @param throwable caught exception causing this problem
|
||||
* @param message descriptive error message
|
||||
* @param cause the exception or error that caused this exception to be thrown
|
||||
* @deprecated as of 1.2, replaced by {@link #MathConfigurationException(String, Object[], Throwable)}
|
||||
*/
|
||||
public MathConfigurationException(
|
||||
final String message,
|
||||
final Throwable throwable) {
|
||||
super(message, throwable);
|
||||
public MathConfigurationException(String message, Throwable cause) {
|
||||
super(message, cause);
|
||||
}
|
||||
|
||||
/**
|
||||
* Construct an exception with the given root cause.
|
||||
* @param throwable caught exception causing this problem
|
||||
* Create an exception with a given root cause.
|
||||
* @param cause the exception or error that caused this exception to be thrown
|
||||
*/
|
||||
public MathConfigurationException(final Throwable throwable) {
|
||||
this(null, throwable);
|
||||
public MathConfigurationException(Throwable cause) {
|
||||
super(cause);
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs an exception with specified formatted detail message and root cause.
|
||||
* Message formatting is delegated to {@link java.text.MessageFormat}.
|
||||
* @param pattern format specifier
|
||||
* @param arguments format arguments
|
||||
* @param cause the exception or error that caused this exception to be thrown
|
||||
*/
|
||||
public MathConfigurationException(String pattern, Object[] arguments, Throwable cause) {
|
||||
super(pattern, arguments, cause);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -18,6 +18,10 @@ package org.apache.commons.math;
|
|||
|
||||
import java.io.PrintStream;
|
||||
import java.io.PrintWriter;
|
||||
import java.text.MessageFormat;
|
||||
import java.util.Locale;
|
||||
import java.util.MissingResourceException;
|
||||
import java.util.ResourceBundle;
|
||||
|
||||
|
||||
/**
|
||||
|
@ -32,8 +36,8 @@ import java.io.PrintWriter;
|
|||
public class MathException extends Exception {
|
||||
|
||||
/** Serializable version identifier */
|
||||
private static final long serialVersionUID = -8594613561393443827L;
|
||||
|
||||
private static final long serialVersionUID = -8602234299177097102L;
|
||||
|
||||
/**
|
||||
* Does JDK support nested exceptions?
|
||||
*/
|
||||
|
@ -49,18 +53,62 @@ public class MathException extends Exception {
|
|||
}
|
||||
JDK_SUPPORTS_NESTED = flag;
|
||||
}
|
||||
|
||||
|
||||
private static ResourceBundle cachedResources = null;
|
||||
|
||||
/**
|
||||
* Pattern used to build the message.
|
||||
*/
|
||||
private final String pattern;
|
||||
|
||||
/**
|
||||
* Arguments used to build the message.
|
||||
*/
|
||||
private final Object[] arguments;
|
||||
|
||||
/**
|
||||
* Root cause of the exception
|
||||
*/
|
||||
private final Throwable rootCause;
|
||||
|
||||
/**
|
||||
* Translate a string to a given locale.
|
||||
* @param s string to translate
|
||||
* @param locale locale into which to translate the string
|
||||
* @return translated string or original string
|
||||
* for unsupported locales or unknown strings
|
||||
*/
|
||||
private static String translate(String s, Locale locale) {
|
||||
try {
|
||||
if ((cachedResources == null) || (! cachedResources.getLocale().equals(locale))) {
|
||||
// caching the resource bundle
|
||||
cachedResources =
|
||||
ResourceBundle.getBundle("org.apache.commons.math.MessagesResources", locale);
|
||||
}
|
||||
|
||||
if (cachedResources.getLocale().equals(locale)) {
|
||||
// the value of the resource is the translated string
|
||||
return cachedResources.getString(s);
|
||||
}
|
||||
|
||||
} catch (MissingResourceException mre) {
|
||||
// do nothing here
|
||||
}
|
||||
|
||||
// the locale is not supported or the resource is unknown
|
||||
// don't translate and fall back to using the string as is
|
||||
return s;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a new <code>MathException</code> with no
|
||||
* detail message.
|
||||
*/
|
||||
public MathException() {
|
||||
super();
|
||||
this.pattern = null;
|
||||
this.arguments = new Object[0];
|
||||
this.rootCause = null;
|
||||
}
|
||||
|
||||
|
@ -69,12 +117,29 @@ public class MathException extends Exception {
|
|||
* detail message.
|
||||
*
|
||||
* @param msg the error message.
|
||||
* @deprecated as of 1.2, replaced by {@link #MathException(String, Object[])}
|
||||
*/
|
||||
public MathException(String msg) {
|
||||
super(msg);
|
||||
this.pattern = msg;
|
||||
this.arguments = new Object[0];
|
||||
this.rootCause = null;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructs a new <code>MathException</code> with specified
|
||||
* formatted detail message.
|
||||
* Message formatting is delegated to {@link java.text.MessageFormat}.
|
||||
* @param pattern format specifier
|
||||
* @param arguments format arguments
|
||||
*/
|
||||
public MathException(String pattern, Object[] arguments) {
|
||||
super(new MessageFormat(pattern, Locale.US).format(arguments));
|
||||
this.pattern = pattern;
|
||||
this.arguments = arguments;
|
||||
this.rootCause = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* Constructs a new <code>MathException</code> with specified
|
||||
* nested <code>Throwable</code> root cause.
|
||||
|
@ -84,6 +149,8 @@ public class MathException extends Exception {
|
|||
*/
|
||||
public MathException(Throwable rootCause) {
|
||||
super((rootCause == null ? null : rootCause.getMessage()));
|
||||
this.pattern = getMessage();
|
||||
this.arguments = new Object[0];
|
||||
this.rootCause = rootCause;
|
||||
}
|
||||
|
||||
|
@ -94,12 +161,60 @@ public class MathException extends Exception {
|
|||
* @param msg the error message.
|
||||
* @param rootCause the exception or error that caused this exception
|
||||
* to be thrown.
|
||||
* @deprecated as of 1.2, replaced by {@link #MathException(String, Object[], Throwable)}
|
||||
*/
|
||||
public MathException(String msg, Throwable rootCause) {
|
||||
super(msg);
|
||||
this.pattern = msg;
|
||||
this.arguments = new Object[0];
|
||||
this.rootCause = rootCause;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Constructs a new <code>MathException</code> with specified
|
||||
* formatted detail message and nested <code>Throwable</code> root cause.
|
||||
* Message formatting is delegated to {@link java.text.MessageFormat}.
|
||||
* @param pattern format specifier
|
||||
* @param arguments format arguments
|
||||
* @param rootCause the exception or error that caused this exception
|
||||
* to be thrown.
|
||||
*/
|
||||
public MathException(String pattern, Object[] arguments, Throwable rootCause) {
|
||||
super(new MessageFormat(pattern, Locale.US).format(arguments));
|
||||
this.pattern = pattern;
|
||||
this.arguments = arguments;
|
||||
this.rootCause = rootCause;
|
||||
}
|
||||
|
||||
/** Gets the pattern used to build the message of this throwable.
|
||||
*
|
||||
* @return the pattern used to build the message of this throwable
|
||||
*/
|
||||
public String getPattern() {
|
||||
return pattern;
|
||||
}
|
||||
|
||||
/** Gets the arguments used to build the message of this throwable.
|
||||
*
|
||||
* @return the arguments used to build the message of this throwable
|
||||
*/
|
||||
public Object[] getArguments() {
|
||||
return arguments;
|
||||
}
|
||||
|
||||
/** Gets the message in a specified locale.
|
||||
*
|
||||
* @param locale Locale in which the message should be translated
|
||||
*
|
||||
* @return localized message
|
||||
*/
|
||||
public String getMessage(Locale locale) {
|
||||
if (pattern == null) {
|
||||
return null;
|
||||
}
|
||||
return new MessageFormat(translate(pattern, locale), locale).format(arguments);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the cause of this throwable.
|
||||
*
|
||||
|
|
|
@ -0,0 +1,130 @@
|
|||
// 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 org.apache.commons.math;
|
||||
|
||||
import java.util.ListResourceBundle;
|
||||
|
||||
/** French localization message resources for the commons-math library.
|
||||
* @version $Revision:$
|
||||
*/
|
||||
public class MessagesResources_fr
|
||||
extends ListResourceBundle {
|
||||
|
||||
/** Simple constructor.
|
||||
*/
|
||||
public MessagesResources_fr() {
|
||||
}
|
||||
|
||||
public Object[][] getContents() {
|
||||
return (Object[][]) contents.clone();
|
||||
}
|
||||
|
||||
static final Object[][] contents = {
|
||||
|
||||
// org.apache.commons.math.FunctionEvaluationException
|
||||
{ "Evaluation failed for argument = {0}",
|
||||
"Erreur d''\u00e9valuation pour l''argument {0}" },
|
||||
|
||||
// org.apache.commons.math.DuplicateSampleAbscissaException
|
||||
{ "Abscissa {0} is duplicated at both indices {1} and {2}",
|
||||
"Abscisse {0} dupliqu\u00e9e aux indices {1} et {2}" },
|
||||
|
||||
// org.apache.commons.math.ConvergenceException
|
||||
{ "Convergence failed",
|
||||
"\u00c9chec de convergence" },
|
||||
|
||||
// org.apache.commons.math.ArgumentOutsideDomainException
|
||||
{ "Argument {0} outside domain [{1} ; {2}]",
|
||||
"Argument {0} hors du domaine [{1} ; {2}]" },
|
||||
|
||||
// org.apache.commons.math.MaxIterationsExceededException
|
||||
{ "Maximal number of iterations ({0}) exceeded",
|
||||
"Nombre maximal d''it\u00e9rations ({0}) d\u00e9pass\u00e9" },
|
||||
|
||||
// org.apache.commons.math.fraction.FractionConversionException
|
||||
{ "Unable to convert {0} to fraction after {1} iterations",
|
||||
"Impossible de convertir {0} en fraction apr\u00e8s {1} it\u00e9rations" },
|
||||
|
||||
// org.apache.commons.math.analysis.UnivariateRealSolverUtils
|
||||
{ "Number of iterations={0}, maximum iterations={1}, initial={2}, lower bound={3}, upper bound={4}," +
|
||||
" final a value={5}, final b value={6}, f(a)={7}, f(b)={8}",
|
||||
"Nombre d''it\u00e9rations = {0}, it\u00e9rations maximum = {1}, valeur initiale = {2}," +
|
||||
" borne inf\u00e9rieure = {3}, borne sup\u00e9rieure = {4}," +
|
||||
" valeur a finale = {5}, valeur b finale = {6}, f(a) = {7}, f(b) = {8}" },
|
||||
|
||||
// org.apache.commons.math.util.ContinuedFraction
|
||||
{ "Continued fraction convergents diverged to +/- infinity for value {0}",
|
||||
"Divergence de fraction continue \u00e0 l''infini pour la valeur {0}" },
|
||||
{ "Continued fraction convergents failed to converge for value {0}",
|
||||
"\u00c9chec de convergence de fraction continue pour la valeur {0}" },
|
||||
|
||||
// org.apache.commons.math.util.DefaultTransformer
|
||||
{ "Conversion Exception in Transformation, Object is null",
|
||||
"Exception de conversion dans une transformation, l''objet est nul" },
|
||||
{ "Conversion Exception in Transformation: {0}",
|
||||
"Exception de conversion dans une transformation : {0}" },
|
||||
|
||||
// org.apache.commons.math.estimation.GaussNewtonEstimator
|
||||
{ "unable to converge in {0} iterations",
|
||||
"pas de convergence apr\u00e8s {0} it\u00e9rations" },
|
||||
|
||||
// org.apache.commons.math.estimation.LevenbergMarquardtEstimator
|
||||
{ "cost relative tolerance is too small ({0}), no further reduction in the sum of squares is possible",
|
||||
"trop petite tol\u00e9rance relative sur le co\u00fbt ({0}), aucune r\u00e9duction de la somme des carr\u00e9s n''est possible" },
|
||||
{ "parameters relative tolerance is too small ({0}), no further improvement in the approximate solution is possible",
|
||||
"trop petite tol\u00e9rance relative sur les param\u00e8tres ({0}), aucune am\u00e9lioration de la solution approximative n''est possible" },
|
||||
{ "orthogonality tolerance is too small ({0}), solution is orthogonal to the jacobian",
|
||||
"trop petite tol\u00e9rance sur l''orthogonalit\u00e9 ({0}), la solution est orthogonale \u00e0 la jacobienne" },
|
||||
{ "maximal number of evaluations exceeded ({0})",
|
||||
"nombre maximal d''\u00e9valuations d\u00e9pass\u00e9 ({0})" },
|
||||
|
||||
// org.apache.commons.math.geometry.CardanEulerSingularityException
|
||||
{ "Cardan angles singularity",
|
||||
"singularit\u00e9 d''angles de Cardan" },
|
||||
{ "Euler angles singularity",
|
||||
"singularit\u00e9 d''angles d''Euler" },
|
||||
|
||||
// org.apache.commons.math.geometry.Rotation
|
||||
{ "a {0}x{1} matrix cannot be a rotation matrix",
|
||||
"une matrice {0}x{1} ne peut pas \u00e9tre une matrice de rotation" },
|
||||
{ "the closest orthogonal matrix has a negative determinant {0}",
|
||||
"la matrice orthogonale la plus proche a un d\u00e9terminant n\u00e9gatif {0}" },
|
||||
{ "unable to orthogonalize matrix in {0} iterations",
|
||||
"impossible de rendre la matrice orthogonale en {0} it\u00e9rations" },
|
||||
|
||||
// org.apache.commons.math.ode.AdaptiveStepsizeIntegrator
|
||||
{ "minimal step size ({0}) reached, integration needs {1}",
|
||||
"pas minimal ({0}) atteint, l''int\u00e9gration n\u00e9cessite {1}" },
|
||||
|
||||
// org.apache.commons.math.ode.GraggBulirschStoerIntegrator,
|
||||
// org.apache.commons.math.ode.RungeKuttaFehlbergIntegrator,
|
||||
// org.apache.commons.math.ode.RungeKuttaIntegrator
|
||||
{ "dimensions mismatch: ODE problem has dimension {0},"
|
||||
+ " state vector has dimension {1}",
|
||||
"incompatibilit\u00e9 de dimensions entre le probl\u00e8me ODE ({0}),"
|
||||
+ " et le vecteur d''\u00e9tat ({1})" },
|
||||
{ "too small integration interval: length = {0}",
|
||||
"intervalle d''int\u00e9gration trop petit : {0}" },
|
||||
|
||||
// org.apache.commons.math.optimization.DirectSearchOptimizer
|
||||
{ "none of the {0} start points lead to convergence",
|
||||
"aucun des {0} points de d\u00e9part n''aboutit \u00e0 une convergence" }
|
||||
|
||||
};
|
||||
|
||||
}
|
|
@ -0,0 +1,74 @@
|
|||
/*
|
||||
* 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 org.apache.commons.math;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* @version $Revision: 480442 $ $Date: 2006-11-29 08:21:22 +0100 (mer., 29 nov. 2006) $
|
||||
*/
|
||||
public class ConvergenceExceptionTest extends TestCase {
|
||||
|
||||
public void testConstructor(){
|
||||
ConvergenceException ex = new ConvergenceException();
|
||||
assertNull(ex.getCause());
|
||||
assertNotNull(ex.getMessage());
|
||||
assertNotNull(ex.getMessage(Locale.FRENCH));
|
||||
assertFalse(ex.getMessage().equals(ex.getMessage(Locale.FRENCH)));
|
||||
}
|
||||
|
||||
public void testConstructorPatternArguments(){
|
||||
String pattern = "a {0}x{1} matrix cannot be a rotation matrix";
|
||||
Object[] arguments = { new Integer(6), new Integer(4) };
|
||||
ConvergenceException ex = new ConvergenceException(pattern, arguments);
|
||||
assertNull(ex.getCause());
|
||||
assertEquals(pattern, ex.getPattern());
|
||||
assertEquals(arguments.length, ex.getArguments().length);
|
||||
for (int i = 0; i < arguments.length; ++i) {
|
||||
assertEquals(arguments[i], ex.getArguments()[i]);
|
||||
}
|
||||
assertFalse(pattern.equals(ex.getMessage()));
|
||||
assertFalse(ex.getMessage().equals(ex.getMessage(Locale.FRENCH)));
|
||||
}
|
||||
|
||||
public void testConstructorCause(){
|
||||
String inMsg = "inner message";
|
||||
Exception cause = new Exception(inMsg);
|
||||
ConvergenceException ex = new ConvergenceException(cause);
|
||||
assertEquals(cause, ex.getCause());
|
||||
}
|
||||
|
||||
public void testConstructorPatternArgumentsCause(){
|
||||
String pattern = "a {0}x{1} matrix cannot be a rotation matrix";
|
||||
Object[] arguments = { new Integer(6), new Integer(4) };
|
||||
String inMsg = "inner message";
|
||||
Exception cause = new Exception(inMsg);
|
||||
ConvergenceException ex = new ConvergenceException(pattern, arguments, cause);
|
||||
assertEquals(cause, ex.getCause());
|
||||
assertEquals(pattern, ex.getPattern());
|
||||
assertEquals(arguments.length, ex.getArguments().length);
|
||||
for (int i = 0; i < arguments.length; ++i) {
|
||||
assertEquals(arguments[i], ex.getArguments()[i]);
|
||||
}
|
||||
assertFalse(pattern.equals(ex.getMessage()));
|
||||
assertFalse(ex.getMessage().equals(ex.getMessage(Locale.FRENCH)));
|
||||
}
|
||||
|
||||
}
|
|
@ -17,6 +17,8 @@
|
|||
|
||||
package org.apache.commons.math;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
|
@ -28,26 +30,38 @@ public class FunctionEvaluationExceptionTest extends TestCase {
|
|||
FunctionEvaluationException ex = new FunctionEvaluationException(0.0);
|
||||
assertNull(ex.getCause());
|
||||
assertNotNull(ex.getMessage());
|
||||
assertEquals(0.0, ex.getArgument(), 0);
|
||||
}
|
||||
|
||||
public void testConstructorMessage(){
|
||||
String msg = "message";
|
||||
FunctionEvaluationException ex = new FunctionEvaluationException(0.0, msg);
|
||||
assertNull(ex.getCause());
|
||||
assertTrue(ex.getMessage().startsWith(msg));
|
||||
assertTrue(ex.getMessage().indexOf("0") > 0);
|
||||
assertEquals(0.0, ex.getArgument(), 0);
|
||||
}
|
||||
|
||||
public void testConstructorMessageCause(){
|
||||
String outMsg = "outer message";
|
||||
public void testConstructorPatternArguments(){
|
||||
String pattern = "Evaluation failed for argument = {0}";
|
||||
Object[] arguments = { new Double(0.0) };
|
||||
FunctionEvaluationException ex = new FunctionEvaluationException(0.0, pattern, arguments);
|
||||
assertNull(ex.getCause());
|
||||
assertEquals(pattern, ex.getPattern());
|
||||
assertEquals(arguments.length, ex.getArguments().length);
|
||||
for (int i = 0; i < arguments.length; ++i) {
|
||||
assertEquals(arguments[i], ex.getArguments()[i]);
|
||||
}
|
||||
assertFalse(pattern.equals(ex.getMessage()));
|
||||
assertFalse(ex.getMessage().equals(ex.getMessage(Locale.FRENCH)));
|
||||
}
|
||||
|
||||
public void testConstructorPatternArgumentsCause(){
|
||||
String pattern = "Evaluation failed for argument = {0}";
|
||||
Object[] arguments = { new Double(0.0) };
|
||||
String inMsg = "inner message";
|
||||
Exception cause = new Exception(inMsg);
|
||||
FunctionEvaluationException ex = new FunctionEvaluationException(0, outMsg, cause);
|
||||
assertTrue(ex.getMessage().startsWith(outMsg));
|
||||
assertTrue(ex.getMessage().indexOf("0") > 0);
|
||||
FunctionEvaluationException ex = new FunctionEvaluationException(0.0, pattern, arguments, cause);
|
||||
assertEquals(cause, ex.getCause());
|
||||
assertEquals(0.0, ex.getArgument(), 0);
|
||||
assertEquals(pattern, ex.getPattern());
|
||||
assertEquals(arguments.length, ex.getArguments().length);
|
||||
for (int i = 0; i < arguments.length; ++i) {
|
||||
assertEquals(arguments[i], ex.getArguments()[i]);
|
||||
}
|
||||
assertFalse(pattern.equals(ex.getMessage()));
|
||||
assertFalse(ex.getMessage().equals(ex.getMessage(Locale.FRENCH)));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -19,48 +19,55 @@ package org.apache.commons.math;
|
|||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* @version $Revision$ $Date$
|
||||
*/
|
||||
public class MathConfigurationExceptionTest extends TestCase {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
|
||||
public void testConstructor(){
|
||||
MathConfigurationException ex = new MathConfigurationException();
|
||||
assertNull(ex.getCause());
|
||||
assertNull(ex.getMessage());
|
||||
assertNull(ex.getMessage(Locale.FRENCH));
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public void testConstructorMessage(){
|
||||
String msg = "message";
|
||||
MathConfigurationException ex = new MathConfigurationException(msg);
|
||||
public void testConstructorPatternArguments(){
|
||||
String pattern = "a {0}x{1} matrix cannot be a rotation matrix";
|
||||
Object[] arguments = { new Integer(6), new Integer(4) };
|
||||
MathConfigurationException ex = new MathConfigurationException(pattern, arguments);
|
||||
assertNull(ex.getCause());
|
||||
assertEquals(msg, ex.getMessage());
|
||||
assertEquals(pattern, ex.getPattern());
|
||||
assertEquals(arguments.length, ex.getArguments().length);
|
||||
for (int i = 0; i < arguments.length; ++i) {
|
||||
assertEquals(arguments[i], ex.getArguments()[i]);
|
||||
}
|
||||
assertFalse(pattern.equals(ex.getMessage()));
|
||||
assertFalse(ex.getMessage().equals(ex.getMessage(Locale.FRENCH)));
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public void testConstructorMessageCause(){
|
||||
String outMsg = "outer message";
|
||||
String inMsg = "inner message";
|
||||
Exception cause = new Exception(inMsg);
|
||||
MathConfigurationException ex = new MathConfigurationException(outMsg, cause);
|
||||
assertEquals(outMsg, ex.getMessage());
|
||||
assertEquals(cause, ex.getCause());
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public void testConstructorCause(){
|
||||
String inMsg = "inner message";
|
||||
Exception cause = new Exception(inMsg);
|
||||
MathConfigurationException ex = new MathConfigurationException(cause);
|
||||
assertEquals(cause, ex.getCause());
|
||||
}
|
||||
|
||||
public void testConstructorPatternArgumentsCause(){
|
||||
String pattern = "a {0}x{1} matrix cannot be a rotation matrix";
|
||||
Object[] arguments = { new Integer(6), new Integer(4) };
|
||||
String inMsg = "inner message";
|
||||
Exception cause = new Exception(inMsg);
|
||||
MathConfigurationException ex = new MathConfigurationException(pattern, arguments, cause);
|
||||
assertEquals(cause, ex.getCause());
|
||||
assertEquals(pattern, ex.getPattern());
|
||||
assertEquals(arguments.length, ex.getArguments().length);
|
||||
for (int i = 0; i < arguments.length; ++i) {
|
||||
assertEquals(arguments[i], ex.getArguments()[i]);
|
||||
}
|
||||
assertFalse(pattern.equals(ex.getMessage()));
|
||||
assertFalse(ex.getMessage().equals(ex.getMessage(Locale.FRENCH)));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -22,51 +22,56 @@ import junit.framework.TestCase;
|
|||
import java.io.ByteArrayOutputStream;
|
||||
import java.io.PrintStream;
|
||||
import java.io.PrintWriter;
|
||||
import java.util.Locale;
|
||||
|
||||
/**
|
||||
* @version $Revision$ $Date$
|
||||
*/
|
||||
public class MathExceptionTest extends TestCase {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
|
||||
public void testConstructor(){
|
||||
MathException ex = new MathException();
|
||||
assertNull(ex.getCause());
|
||||
assertNull(ex.getMessage());
|
||||
assertNull(ex.getMessage(Locale.FRENCH));
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public void testConstructorMessage(){
|
||||
String msg = "message";
|
||||
MathException ex = new MathException(msg);
|
||||
public void testConstructorPatternArguments(){
|
||||
String pattern = "a {0}x{1} matrix cannot be a rotation matrix";
|
||||
Object[] arguments = { new Integer(6), new Integer(4) };
|
||||
MathException ex = new MathException(pattern, arguments);
|
||||
assertNull(ex.getCause());
|
||||
assertEquals(msg, ex.getMessage());
|
||||
assertEquals(pattern, ex.getPattern());
|
||||
assertEquals(arguments.length, ex.getArguments().length);
|
||||
for (int i = 0; i < arguments.length; ++i) {
|
||||
assertEquals(arguments[i], ex.getArguments()[i]);
|
||||
}
|
||||
assertFalse(pattern.equals(ex.getMessage()));
|
||||
assertFalse(ex.getMessage().equals(ex.getMessage(Locale.FRENCH)));
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public void testConstructorMessageCause(){
|
||||
String outMsg = "outer message";
|
||||
String inMsg = "inner message";
|
||||
Exception cause = new Exception(inMsg);
|
||||
MathException ex = new MathException(outMsg, cause);
|
||||
assertEquals(outMsg, ex.getMessage());
|
||||
assertEquals(cause, ex.getCause());
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public void testConstructorCause(){
|
||||
String inMsg = "inner message";
|
||||
Exception cause = new Exception(inMsg);
|
||||
MathException ex = new MathException(cause);
|
||||
assertEquals(cause, ex.getCause());
|
||||
}
|
||||
|
||||
public void testConstructorPatternArgumentsCause(){
|
||||
String pattern = "a {0}x{1} matrix cannot be a rotation matrix";
|
||||
Object[] arguments = { new Integer(6), new Integer(4) };
|
||||
String inMsg = "inner message";
|
||||
Exception cause = new Exception(inMsg);
|
||||
MathException ex = new MathException(pattern, arguments, cause);
|
||||
assertEquals(cause, ex.getCause());
|
||||
assertEquals(pattern, ex.getPattern());
|
||||
assertEquals(arguments.length, ex.getArguments().length);
|
||||
for (int i = 0; i < arguments.length; ++i) {
|
||||
assertEquals(arguments[i], ex.getArguments()[i]);
|
||||
}
|
||||
assertFalse(pattern.equals(ex.getMessage()));
|
||||
assertFalse(ex.getMessage().equals(ex.getMessage(Locale.FRENCH)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests the printStackTrace() operation.
|
||||
|
@ -74,8 +79,8 @@ public class MathExceptionTest extends TestCase {
|
|||
public void testPrintStackTrace() {
|
||||
String outMsg = "outer message";
|
||||
String inMsg = "inner message";
|
||||
MathException cause = new MathConfigurationException(inMsg);
|
||||
MathException ex = new MathException(outMsg, cause);
|
||||
MathException cause = new MathConfigurationException(inMsg, new Object[0]);
|
||||
MathException ex = new MathException(outMsg, new Object[0], cause);
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
PrintStream ps = new PrintStream(baos);
|
||||
ex.printStackTrace(ps);
|
||||
|
@ -99,19 +104,17 @@ public class MathExceptionTest extends TestCase {
|
|||
public void testSerialization() {
|
||||
String outMsg = "outer message";
|
||||
String inMsg = "inner message";
|
||||
MathException cause = new MathConfigurationException(inMsg);
|
||||
MathException ex = new MathException(outMsg, cause);
|
||||
MathException cause = new MathConfigurationException(inMsg, new Object[0]);
|
||||
MathException ex = new MathException(outMsg, new Object[0], cause);
|
||||
MathException image = (MathException) TestUtils.serializeAndRecover(ex);
|
||||
|
||||
ByteArrayOutputStream baos = new ByteArrayOutputStream();
|
||||
PrintStream ps = new PrintStream(baos);
|
||||
PrintWriter pw = new PrintWriter(ps, true);
|
||||
ex.printStackTrace(ps);
|
||||
String stack = baos.toString();
|
||||
|
||||
ByteArrayOutputStream baos2 = new ByteArrayOutputStream();
|
||||
PrintStream ps2 = new PrintStream(baos2);
|
||||
PrintWriter pw2 = new PrintWriter(ps2, true);
|
||||
image.printStackTrace(ps2);
|
||||
String stack2 = baos2.toString();
|
||||
|
||||
|
|
|
@ -1,68 +0,0 @@
|
|||
/*
|
||||
* 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 org.apache.commons.math.analysis;
|
||||
|
||||
import org.apache.commons.math.ConvergenceException;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
/**
|
||||
* @version $Revision$ $Date$
|
||||
*/
|
||||
public class ConvergenceExceptionTest extends TestCase {
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public void testConstructor(){
|
||||
ConvergenceException ex = new ConvergenceException();
|
||||
assertNull(ex.getCause());
|
||||
assertNull(ex.getMessage());
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public void testConstructorMessage(){
|
||||
String msg = "message";
|
||||
ConvergenceException ex = new ConvergenceException(msg);
|
||||
assertNull(ex.getCause());
|
||||
assertEquals(msg, ex.getMessage());
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public void testConstructorMessageCause(){
|
||||
String outMsg = "outer message";
|
||||
String inMsg = "inner message";
|
||||
Exception cause = new Exception(inMsg);
|
||||
ConvergenceException ex = new ConvergenceException(outMsg, cause);
|
||||
assertEquals(outMsg, ex.getMessage());
|
||||
assertEquals(cause, ex.getCause());
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public void testConstructorCause(){
|
||||
String inMsg = "inner message";
|
||||
Exception cause = new Exception(inMsg);
|
||||
ConvergenceException ex = new ConvergenceException(cause);
|
||||
assertEquals(cause, ex.getCause());
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue