Return-Path: Delivered-To: apmail-commons-commits-archive@minotaur.apache.org Received: (qmail 1808 invoked from network); 16 Jun 2010 23:04:43 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 16 Jun 2010 23:04:43 -0000 Received: (qmail 70236 invoked by uid 500); 16 Jun 2010 23:04:43 -0000 Delivered-To: apmail-commons-commits-archive@commons.apache.org Received: (qmail 70177 invoked by uid 500); 16 Jun 2010 23:04:43 -0000 Mailing-List: contact commits-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@commons.apache.org Delivered-To: mailing list commits@commons.apache.org Received: (qmail 70168 invoked by uid 99); 16 Jun 2010 23:04:42 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 16 Jun 2010 23:04:42 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 16 Jun 2010 23:04:33 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id C8A842388A41; Wed, 16 Jun 2010 23:03:45 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r955423 [5/6] - in /commons/proper/math/trunk/src: main/java/org/apache/commons/math/ main/java/org/apache/commons/math/analysis/integration/ main/java/org/apache/commons/math/analysis/interpolation/ main/java/org/apache/commons/math/analys... Date: Wed, 16 Jun 2010 23:03:42 -0000 To: commits@commons.apache.org From: luc@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20100616230345.C8A842388A41@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/random/RandomDataImpl.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/random/RandomDataImpl.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/random/RandomDataImpl.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/random/RandomDataImpl.java Wed Jun 16 23:03:38 2010 @@ -39,6 +39,7 @@ import org.apache.commons.math.distribut import org.apache.commons.math.distribution.TDistributionImpl; import org.apache.commons.math.distribution.WeibullDistributionImpl; import org.apache.commons.math.distribution.ZipfDistributionImpl; +import org.apache.commons.math.util.LocalizedFormats; import org.apache.commons.math.util.MathUtils; /** @@ -148,7 +149,7 @@ public class RandomDataImpl implements R public String nextHexString(int len) { if (len <= 0) { throw MathRuntimeException.createIllegalArgumentException( - "length must be positive ({0})", len); + LocalizedFormats.NOT_POSITIVE_LENGTH, len); } // Get a random number generator @@ -194,7 +195,7 @@ public class RandomDataImpl implements R public int nextInt(int lower, int upper) { if (lower >= upper) { throw MathRuntimeException.createIllegalArgumentException( - "upper bound ({0}) must be greater than lower bound ({1})", + LocalizedFormats.LOWER_BOUND_NOT_BELOW_UPPER_BOUND, upper, lower); } double r = getRan().nextDouble(); @@ -214,7 +215,7 @@ public class RandomDataImpl implements R public long nextLong(long lower, long upper) { if (lower >= upper) { throw MathRuntimeException.createIllegalArgumentException( - "upper bound ({0}) must be greater than lower bound ({1})", + LocalizedFormats.LOWER_BOUND_NOT_BELOW_UPPER_BOUND, upper, lower); } double r = getRan().nextDouble(); @@ -244,7 +245,7 @@ public class RandomDataImpl implements R public String nextSecureHexString(int len) { if (len <= 0) { throw MathRuntimeException.createIllegalArgumentException( - "length must be positive ({0})", len); + LocalizedFormats.NOT_POSITIVE_LENGTH, len); } // Get SecureRandom and setup Digest provider @@ -305,7 +306,7 @@ public class RandomDataImpl implements R public int nextSecureInt(int lower, int upper) { if (lower >= upper) { throw MathRuntimeException.createIllegalArgumentException( - "upper bound ({0}) must be greater than lower bound ({1})", + LocalizedFormats.LOWER_BOUND_NOT_BELOW_UPPER_BOUND, upper, lower); } SecureRandom sec = getSecRan(); @@ -326,7 +327,7 @@ public class RandomDataImpl implements R public long nextSecureLong(long lower, long upper) { if (lower >= upper) { throw MathRuntimeException.createIllegalArgumentException( - "upper bound ({0}) must be greater than lower bound ({1})", + LocalizedFormats.LOWER_BOUND_NOT_BELOW_UPPER_BOUND, upper, lower); } SecureRandom sec = getSecRan(); @@ -352,7 +353,7 @@ public class RandomDataImpl implements R public long nextPoisson(double mean) { if (mean <= 0) { throw MathRuntimeException.createIllegalArgumentException( - "the Poisson mean must be positive ({0})", mean); + LocalizedFormats.NOT_POSITIVE_POISSON_MEAN, mean); } final RandomGenerator generator = getRan(); @@ -456,7 +457,7 @@ public class RandomDataImpl implements R public double nextGaussian(double mu, double sigma) { if (sigma <= 0) { throw MathRuntimeException.createIllegalArgumentException( - "standard deviation must be positive ({0})", sigma); + LocalizedFormats.NOT_POSITIVE_STANDARD_DEVIATION, sigma); } return sigma * getRan().nextGaussian() + mu; } @@ -477,7 +478,7 @@ public class RandomDataImpl implements R public double nextExponential(double mean) { if (mean <= 0.0) { throw MathRuntimeException.createIllegalArgumentException( - "mean must be positive ({0})", mean); + LocalizedFormats.NOT_POSITIVE_MEAN, mean); } final RandomGenerator generator = getRan(); double unif = generator.nextDouble(); @@ -506,7 +507,7 @@ public class RandomDataImpl implements R public double nextUniform(double lower, double upper) { if (lower >= upper) { throw MathRuntimeException.createIllegalArgumentException( - "upper bound ({0}) must be greater than lower bound ({1})", + LocalizedFormats.LOWER_BOUND_NOT_BELOW_UPPER_BOUND, upper, lower); } final RandomGenerator generator = getRan(); @@ -830,11 +831,11 @@ public class RandomDataImpl implements R public int[] nextPermutation(int n, int k) { if (k > n) { throw MathRuntimeException.createIllegalArgumentException( - "permutation k ({0}) exceeds n ({1})", k, n); + LocalizedFormats.PERMUTATION_EXCEEDS_N, k, n); } if (k == 0) { throw MathRuntimeException.createIllegalArgumentException( - "permutation k ({0}) must be positive", k); + LocalizedFormats.NOT_POSITIVE_PERMUTATION, k); } int[] index = getNatural(n); @@ -867,11 +868,11 @@ public class RandomDataImpl implements R int len = c.size(); if (k > len) { throw MathRuntimeException.createIllegalArgumentException( - "sample size ({0}) exceeds collection size ({1})"); + LocalizedFormats.SAMPLE_SIZE_EXCEEDS_COLLECTION_SIZE); } if (k <= 0) { throw MathRuntimeException.createIllegalArgumentException( - "sample size must be positive ({0})", k); + LocalizedFormats.NOT_POSITIVE_SAMPLE_SIZE, k); } Object[] objects = c.toArray(); Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/random/UncorrelatedRandomVectorGenerator.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/random/UncorrelatedRandomVectorGenerator.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/random/UncorrelatedRandomVectorGenerator.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/random/UncorrelatedRandomVectorGenerator.java Wed Jun 16 23:03:38 2010 @@ -20,6 +20,7 @@ package org.apache.commons.math.random; import java.util.Arrays; import org.apache.commons.math.MathRuntimeException; +import org.apache.commons.math.util.LocalizedFormats; /** * A {@link RandomVectorGenerator} that generates vectors with uncorrelated @@ -55,7 +56,7 @@ public class UncorrelatedRandomVectorGen NormalizedRandomGenerator generator) { if (mean.length != standardDeviation.length) { throw MathRuntimeException.createIllegalArgumentException( - "dimension mismatch {0} != {1}", + LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, mean.length, standardDeviation.length); } this.mean = mean.clone(); Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/random/ValueServer.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/random/ValueServer.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/random/ValueServer.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/random/ValueServer.java Wed Jun 16 23:03:38 2010 @@ -23,6 +23,7 @@ import java.net.MalformedURLException; import java.net.URL; import org.apache.commons.math.MathRuntimeException; +import org.apache.commons.math.util.LocalizedFormats; /** * Generates values for use in simulation applications. @@ -313,7 +314,7 @@ public class ValueServer { private double getNextDigest() { if ((empiricalDistribution == null) || (empiricalDistribution.getBinStats().size() == 0)) { - throw MathRuntimeException.createIllegalStateException("digest not initialized"); + throw MathRuntimeException.createIllegalStateException(LocalizedFormats.DIGEST_NOT_INITIALIZED); } return empiricalDistribution.getNextValue(); } @@ -346,7 +347,7 @@ public class ValueServer { closeReplayFile(); resetReplayFile(); if ((str = filePointer.readLine()) == null) { - throw MathRuntimeException.createEOFException("URL {0} contains no data", + throw MathRuntimeException.createEOFException(LocalizedFormats.URL_CONTAINS_NO_DATA, valuesFileURL); } } Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/Frequency.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/Frequency.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/Frequency.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/Frequency.java Wed Jun 16 23:03:38 2010 @@ -23,6 +23,7 @@ import java.util.Comparator; import java.util.TreeMap; import org.apache.commons.math.MathRuntimeException; +import org.apache.commons.math.util.LocalizedFormats; /** * Maintains a frequency distribution. @@ -114,7 +115,7 @@ public class Frequency implements Serial addValue((Comparable) v); } else { throw MathRuntimeException.createIllegalArgumentException( - "class ({0}) does not implement Comparable", + LocalizedFormats.CLASS_DOESNT_IMPLEMENT_COMPARABLE, v.getClass().getName()); } } @@ -144,7 +145,7 @@ public class Frequency implements Serial } catch (ClassCastException ex) { //TreeMap will throw ClassCastException if v is not comparable throw MathRuntimeException.createIllegalArgumentException( - "instance of class {0} not comparable to existing values", + LocalizedFormats.INSTANCES_NOT_COMPARABLE_TO_EXISTING_VALUES, v.getClass().getName()); } } Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/StatUtils.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/StatUtils.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/StatUtils.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/StatUtils.java Wed Jun 16 23:03:38 2010 @@ -28,6 +28,7 @@ import org.apache.commons.math.stat.desc import org.apache.commons.math.stat.descriptive.summary.Sum; import org.apache.commons.math.stat.descriptive.summary.SumOfLogs; import org.apache.commons.math.stat.descriptive.summary.SumOfSquares; +import org.apache.commons.math.util.LocalizedFormats; /** * StatUtils provides static methods for computing statistics based on data @@ -564,10 +565,13 @@ public final class StatUtils { public static double sumDifference(final double[] sample1, final double[] sample2) throws IllegalArgumentException { int n = sample1.length; - if ((n != sample2.length) || (n < 1)) { + if (n != sample2.length) { throw MathRuntimeException.createIllegalArgumentException( - "input arrays must have the same positive length ({0} and {1})", - n, sample2.length); + LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, n, sample2.length); + } + if (n < 1) { + throw MathRuntimeException.createIllegalArgumentException( + LocalizedFormats.INSUFFICIENT_DIMENSION, sample2.length, 1); } double result = 0; for (int i = 0; i < n; i++) { @@ -609,10 +613,13 @@ public final class StatUtils { double sum2 = 0d; double diff = 0d; int n = sample1.length; - if (n < 2 || n != sample2.length) { + if (n != sample2.length) { + throw MathRuntimeException.createIllegalArgumentException( + LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, n, sample2.length); + } + if (n < 2) { throw MathRuntimeException.createIllegalArgumentException( - "input arrays must have the same length and at least two elements ({0} and {1})", - n, sample2.length); + LocalizedFormats.INSUFFICIENT_DIMENSION, n, 2); } for (int i = 0; i < n; i++) { diff = sample1[i] - sample2[i]; Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/correlation/Covariance.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/correlation/Covariance.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/correlation/Covariance.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/correlation/Covariance.java Wed Jun 16 23:03:38 2010 @@ -21,6 +21,7 @@ import org.apache.commons.math.linear.Re import org.apache.commons.math.linear.BlockRealMatrix; import org.apache.commons.math.stat.descriptive.moment.Mean; import org.apache.commons.math.stat.descriptive.moment.Variance; +import org.apache.commons.math.util.LocalizedFormats; /** * Computes covariances for pairs of arrays or columns of a matrix. @@ -221,7 +222,13 @@ public class Covariance { Mean mean = new Mean(); double result = 0d; int length = xArray.length; - if(length == yArray.length && length > 1) { + if (length != yArray.length) { + throw MathRuntimeException.createIllegalArgumentException( + LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, length, yArray.length); + } else if (length < 2) { + throw MathRuntimeException.createIllegalArgumentException( + LocalizedFormats.INSUFFICIENT_DIMENSION, length, 2); + } else { double xMean = mean.evaluate(xArray); double yMean = mean.evaluate(yArray); for (int i = 0; i < length; i++) { @@ -230,12 +237,6 @@ public class Covariance { result += (xDev * yDev - result) / (i + 1); } } - else { - throw MathRuntimeException.createIllegalArgumentException( - "arrays must have the same length and both must have at " + - "least two elements. xArray has size {0}, yArray has {1} elements", - length, yArray.length); - } return biasCorrected ? result * ((double) length / (double)(length - 1)) : result; } @@ -266,7 +267,7 @@ public class Covariance { int nCols = matrix.getColumnDimension(); if (nRows < 2 || nCols < 2) { throw MathRuntimeException.createIllegalArgumentException( - "insufficient data: only {0} rows and {1} columns.", + LocalizedFormats.INSUFFICIENT_ROWS_AND_COLUMNS, nRows, nCols); } } Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/correlation/PearsonsCorrelation.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/correlation/PearsonsCorrelation.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/correlation/PearsonsCorrelation.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/correlation/PearsonsCorrelation.java Wed Jun 16 23:03:38 2010 @@ -23,6 +23,7 @@ import org.apache.commons.math.distribut import org.apache.commons.math.linear.RealMatrix; import org.apache.commons.math.linear.BlockRealMatrix; import org.apache.commons.math.stat.regression.SimpleRegression; +import org.apache.commons.math.util.LocalizedFormats; /** * Computes Pearson's product-moment correlation coefficients for pairs of arrays @@ -91,7 +92,7 @@ public class PearsonsCorrelation { public PearsonsCorrelation(Covariance covariance) { RealMatrix covarianceMatrix = covariance.getCovarianceMatrix(); if (covarianceMatrix == null) { - throw MathRuntimeException.createIllegalArgumentException("covariance matrix is null"); + throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.NULL_COVARIANCE_MATRIX); } nObs = covariance.getN(); correlationMatrix = covarianceToCorrelation(covarianceMatrix); @@ -223,17 +224,18 @@ public class PearsonsCorrelation { */ public double correlation(final double[] xArray, final double[] yArray) throws IllegalArgumentException { SimpleRegression regression = new SimpleRegression(); - if(xArray.length == yArray.length && xArray.length > 1) { + if (xArray.length != yArray.length) { + throw MathRuntimeException.createIllegalArgumentException( + LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, xArray.length, yArray.length); + } else if (xArray.length < 2) { + throw MathRuntimeException.createIllegalArgumentException( + LocalizedFormats.INSUFFICIENT_DIMENSION, xArray.length, 2); + } else { for(int i=0; iSpearman's rank correlation. This implementation performs a rank @@ -145,15 +146,16 @@ public class SpearmansCorrelation { */ public double correlation(final double[] xArray, final double[] yArray) throws IllegalArgumentException { - if (xArray.length == yArray.length && xArray.length > 1) { + if (xArray.length != yArray.length) { + throw MathRuntimeException.createIllegalArgumentException( + LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, xArray.length, yArray.length); + } else if (xArray.length < 2) { + throw MathRuntimeException.createIllegalArgumentException( + LocalizedFormats.INSUFFICIENT_DIMENSION, xArray.length, 2); + } else { return new PearsonsCorrelation().correlation(rankingAlgorithm.rank(xArray), rankingAlgorithm.rank(yArray)); } - else { - throw MathRuntimeException.createIllegalArgumentException( - "invalid array dimensions. xArray has size {0}; yArray has {1} elements", - xArray.length, yArray.length); - } } /** Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/AbstractStorelessUnivariateStatistic.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/AbstractStorelessUnivariateStatistic.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/AbstractStorelessUnivariateStatistic.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/AbstractStorelessUnivariateStatistic.java Wed Jun 16 23:03:38 2010 @@ -17,6 +17,7 @@ package org.apache.commons.math.stat.descriptive; import org.apache.commons.math.MathRuntimeException; +import org.apache.commons.math.util.LocalizedFormats; import org.apache.commons.math.util.MathUtils; /** @@ -55,7 +56,7 @@ public abstract class AbstractStorelessU @Override public double evaluate(final double[] values) { if (values == null) { - throw MathRuntimeException.createIllegalArgumentException("input values array is null"); + throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.NULL_INPUT_ARRAY); } return evaluate(values, 0, values.length); } @@ -123,7 +124,7 @@ public abstract class AbstractStorelessU */ public void incrementAll(double[] values) { if (values == null) { - throw MathRuntimeException.createIllegalArgumentException("input values array is null"); + throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.NULL_INPUT_ARRAY); } incrementAll(values, 0, values.length); } Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/AbstractUnivariateStatistic.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/AbstractUnivariateStatistic.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/AbstractUnivariateStatistic.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/AbstractUnivariateStatistic.java Wed Jun 16 23:03:38 2010 @@ -17,6 +17,7 @@ package org.apache.commons.math.stat.descriptive; import org.apache.commons.math.MathRuntimeException; +import org.apache.commons.math.util.LocalizedFormats; /** * Abstract base class for all implementations of the @@ -77,22 +78,22 @@ public abstract class AbstractUnivariate final int length) { if (values == null) { - throw MathRuntimeException.createIllegalArgumentException("input values array is null"); + throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.NULL_INPUT_ARRAY); } if (begin < 0) { throw MathRuntimeException.createIllegalArgumentException( - "start position cannot be negative ({0})", begin); + LocalizedFormats.NEGATIVE_START_POSITION, begin); } if (length < 0) { throw MathRuntimeException.createIllegalArgumentException( - "length cannot be negative ({0})", length); + LocalizedFormats.NEGATIVE_LENGTH, length); } if (begin + length > values.length) { throw MathRuntimeException.createIllegalArgumentException( - "subarray ends after array end"); + LocalizedFormats.SUBARRAY_ENDS_AFTER_ARRAY_END); } if (length == 0) { Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/DescriptiveStatistics.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/DescriptiveStatistics.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/DescriptiveStatistics.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/DescriptiveStatistics.java Wed Jun 16 23:03:38 2010 @@ -31,6 +31,7 @@ import org.apache.commons.math.stat.desc import org.apache.commons.math.stat.descriptive.rank.Percentile; import org.apache.commons.math.stat.descriptive.summary.Sum; import org.apache.commons.math.stat.descriptive.summary.SumOfSquares; +import org.apache.commons.math.util.LocalizedFormats; import org.apache.commons.math.util.ResizableDoubleArray; @@ -68,14 +69,6 @@ public class DescriptiveStatistics imple /** Name of the setQuantile method. */ private static final String SET_QUANTILE_METHOD_NAME = "setQuantile"; - /** Message for unsupported setQuantile. */ - private static final String UNSUPPORTED_METHOD_MESSAGE = - "percentile implementation {0} does not support {1}"; - - /** Message for illegal accesson setquantile. */ - private static final String ILLEGAL_ACCESS_MESSAGE = - "cannot access {0} method in percentile implementation {1}"; - /** hold the window size **/ protected int windowSize = INFINITE_WINDOW; @@ -314,7 +307,7 @@ public class DescriptiveStatistics imple if (windowSize < 1) { if (windowSize != INFINITE_WINDOW) { throw MathRuntimeException.createIllegalArgumentException( - "window size must be positive ({0})", windowSize); + LocalizedFormats.NOT_POSITIVE_WINDOW_SIZE, windowSize); } } @@ -393,11 +386,11 @@ public class DescriptiveStatistics imple new Object[] {Double.valueOf(p)}); } catch (NoSuchMethodException e1) { // Setter guard should prevent throw MathRuntimeException.createIllegalArgumentException( - UNSUPPORTED_METHOD_MESSAGE, + LocalizedFormats.PERCENTILE_IMPLEMENTATION_UNSUPPORTED_METHOD, percentileImpl.getClass().getName(), SET_QUANTILE_METHOD_NAME); } catch (IllegalAccessException e2) { throw MathRuntimeException.createIllegalArgumentException( - ILLEGAL_ACCESS_MESSAGE, + LocalizedFormats.PERCENTILE_IMPLEMENTATION_CANNOT_ACCESS_METHOD, SET_QUANTILE_METHOD_NAME, percentileImpl.getClass().getName()); } catch (InvocationTargetException e3) { throw MathRuntimeException.createIllegalArgumentException(e3.getCause()); @@ -580,7 +573,7 @@ public class DescriptiveStatistics imple percentileImpl.getClass().getName()); } catch (IllegalAccessException e2) { throw MathRuntimeException.createIllegalArgumentException( - ILLEGAL_ACCESS_MESSAGE, + LocalizedFormats.PERCENTILE_IMPLEMENTATION_CANNOT_ACCESS_METHOD, SET_QUANTILE_METHOD_NAME, percentileImpl.getClass().getName()); } catch (InvocationTargetException e3) { throw MathRuntimeException.createIllegalArgumentException(e3.getCause()); Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/MultivariateSummaryStatistics.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/MultivariateSummaryStatistics.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/MultivariateSummaryStatistics.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/MultivariateSummaryStatistics.java Wed Jun 16 23:03:38 2010 @@ -30,6 +30,7 @@ import org.apache.commons.math.stat.desc import org.apache.commons.math.stat.descriptive.summary.Sum; import org.apache.commons.math.stat.descriptive.summary.SumOfLogs; import org.apache.commons.math.stat.descriptive.summary.SumOfSquares; +import org.apache.commons.math.util.LocalizedFormats; import org.apache.commons.math.util.MathUtils; /** @@ -613,7 +614,7 @@ public class MultivariateSummaryStatisti private void checkEmpty() { if (n > 0) { throw MathRuntimeException.createIllegalStateException( - "{0} values have been added before statistic is configured", + LocalizedFormats.VALUES_ADDED_BEFORE_CONFIGURING_STATISTIC, n); } } Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/SummaryStatistics.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/SummaryStatistics.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/SummaryStatistics.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/SummaryStatistics.java Wed Jun 16 23:03:38 2010 @@ -28,6 +28,7 @@ import org.apache.commons.math.stat.desc import org.apache.commons.math.stat.descriptive.summary.Sum; import org.apache.commons.math.stat.descriptive.summary.SumOfLogs; import org.apache.commons.math.stat.descriptive.summary.SumOfSquares; +import org.apache.commons.math.util.LocalizedFormats; import org.apache.commons.math.util.MathUtils; /** @@ -628,7 +629,7 @@ public class SummaryStatistics implement private void checkEmpty() { if (n > 0) { throw MathRuntimeException.createIllegalStateException( - "{0} values have been added before statistic is configured", + LocalizedFormats.VALUES_ADDED_BEFORE_CONFIGURING_STATISTIC, n); } } Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/moment/GeometricMean.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/moment/GeometricMean.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/moment/GeometricMean.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/moment/GeometricMean.java Wed Jun 16 23:03:38 2010 @@ -22,6 +22,7 @@ import org.apache.commons.math.MathRunti import org.apache.commons.math.stat.descriptive.AbstractStorelessUnivariateStatistic; import org.apache.commons.math.stat.descriptive.StorelessUnivariateStatistic; import org.apache.commons.math.stat.descriptive.summary.SumOfLogs; +import org.apache.commons.math.util.LocalizedFormats; /** * Returns the @@ -194,7 +195,7 @@ public class GeometricMean extends Abstr private void checkEmpty() { if (getN() > 0) { throw MathRuntimeException.createIllegalStateException( - "{0} values have been added before statistic is configured", + LocalizedFormats.VALUES_ADDED_BEFORE_CONFIGURING_STATISTIC, getN()); } } Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/moment/Kurtosis.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/moment/Kurtosis.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/moment/Kurtosis.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/moment/Kurtosis.java Wed Jun 16 23:03:38 2010 @@ -20,6 +20,7 @@ import java.io.Serializable; import org.apache.commons.math.MathRuntimeException; import org.apache.commons.math.stat.descriptive.AbstractStorelessUnivariateStatistic; +import org.apache.commons.math.util.LocalizedFormats; /** @@ -95,7 +96,7 @@ public class Kurtosis extends AbstractSt moment.increment(d); } else { throw MathRuntimeException.createIllegalStateException( - "statistics constructed from external moments cannot be incremented"); + LocalizedFormats.CANNOT_INCREMENT_STATISTIC_CONSTRUCTED_FROM_EXTERNAL_MOMENTS); } } @@ -129,7 +130,7 @@ public class Kurtosis extends AbstractSt moment.clear(); } else { throw MathRuntimeException.createIllegalStateException( - "statistics constructed from external moments cannot be cleared"); + LocalizedFormats.CANNOT_CLEAR_STATISTIC_CONSTRUCTED_FROM_EXTERNAL_MOMENTS); } } Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/moment/SemiVariance.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/moment/SemiVariance.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/moment/SemiVariance.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/moment/SemiVariance.java Wed Jun 16 23:03:38 2010 @@ -20,6 +20,7 @@ package org.apache.commons.math.stat.des import java.io.Serializable; import org.apache.commons.math.MathRuntimeException; import org.apache.commons.math.stat.descriptive.AbstractUnivariateStatistic; +import org.apache.commons.math.util.LocalizedFormats; /** *

Computes the semivariance of a set of values with respect to a given cutoff value. @@ -175,7 +176,7 @@ public class SemiVariance extends Abstra @Override public double evaluate(final double[] values) { if (values == null) { - throw MathRuntimeException.createIllegalArgumentException("input values array is null"); + throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.NULL_INPUT_ARRAY); } return evaluate(values, 0, values.length); } Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/moment/Variance.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/moment/Variance.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/moment/Variance.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/moment/Variance.java Wed Jun 16 23:03:38 2010 @@ -21,6 +21,7 @@ import java.io.Serializable; import org.apache.commons.math.MathRuntimeException; import org.apache.commons.math.stat.descriptive.WeightedEvaluation; import org.apache.commons.math.stat.descriptive.AbstractStorelessUnivariateStatistic; +import org.apache.commons.math.util.LocalizedFormats; /** * Computes the variance of the available values. By default, the unbiased @@ -213,7 +214,7 @@ public class Variance extends AbstractSt @Override public double evaluate(final double[] values) { if (values == null) { - throw MathRuntimeException.createIllegalArgumentException("input values array is null"); + throw MathRuntimeException.createIllegalArgumentException(LocalizedFormats.NULL_INPUT_ARRAY); } return evaluate(values, 0, values.length); } Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/rank/Percentile.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/rank/Percentile.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/rank/Percentile.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/descriptive/rank/Percentile.java Wed Jun 16 23:03:38 2010 @@ -21,6 +21,7 @@ import java.util.Arrays; import org.apache.commons.math.MathRuntimeException; import org.apache.commons.math.stat.descriptive.AbstractUnivariateStatistic; +import org.apache.commons.math.util.LocalizedFormats; /** * Provides percentile computation. @@ -199,7 +200,7 @@ public class Percentile extends Abstract if ((p > 100) || (p <= 0)) { throw MathRuntimeException.createIllegalArgumentException( - "out of bounds quantile value: {0}, must be in (0, 100]", p); + LocalizedFormats.OUT_OF_BOUNDS_QUANTILE_VALUE, p); } if (length == 0) { return Double.NaN; @@ -248,7 +249,7 @@ public class Percentile extends Abstract public void setQuantile(final double p) { if (p <= 0 || p > 100) { throw MathRuntimeException.createIllegalArgumentException( - "out of bounds quantile value: {0}, must be in (0, 100]", p); + LocalizedFormats.OUT_OF_BOUNDS_QUANTILE_VALUE, p); } quantile = p; } Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/inference/ChiSquareTestImpl.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/inference/ChiSquareTestImpl.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/inference/ChiSquareTestImpl.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/inference/ChiSquareTestImpl.java Wed Jun 16 23:03:38 2010 @@ -20,6 +20,7 @@ import org.apache.commons.math.MathExcep import org.apache.commons.math.MathRuntimeException; import org.apache.commons.math.distribution.ChiSquaredDistribution; import org.apache.commons.math.distribution.ChiSquaredDistributionImpl; +import org.apache.commons.math.util.LocalizedFormats; /** * Implements Chi-Square test statistics defined in the @@ -65,12 +66,11 @@ public class ChiSquareTestImpl implement throws IllegalArgumentException { if (expected.length < 2) { throw MathRuntimeException.createIllegalArgumentException( - "expected array length = {0}, must be at least 2", - expected.length); + LocalizedFormats.INSUFFICIENT_DIMENSION, expected.length, 2); } if (expected.length != observed.length) { throw MathRuntimeException.createIllegalArgumentException( - "dimension mismatch {0} != {1}", expected.length, observed.length); + LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, expected.length, observed.length); } checkPositive(expected); checkNonNegative(observed); @@ -136,7 +136,7 @@ public class ChiSquareTestImpl implement double alpha) throws IllegalArgumentException, MathException { if ((alpha <= 0) || (alpha > 0.5)) { throw MathRuntimeException.createIllegalArgumentException( - "out of bounds significance level {0}, must be between {1} and {2}", + LocalizedFormats.OUT_OF_BOUND_SIGNIFICANCE_LEVEL, alpha, 0, 0.5); } return chiSquareTest(expected, observed) < alpha; @@ -204,7 +204,7 @@ public class ChiSquareTestImpl implement throws IllegalArgumentException, MathException { if ((alpha <= 0) || (alpha > 0.5)) { throw MathRuntimeException.createIllegalArgumentException( - "out of bounds significance level {0}, must be between {1} and {2}", + LocalizedFormats.OUT_OF_BOUND_SIGNIFICANCE_LEVEL, alpha, 0.0, 0.5); } return chiSquareTest(counts) < alpha; @@ -223,12 +223,11 @@ public class ChiSquareTestImpl implement // Make sure lengths are same if (observed1.length < 2) { throw MathRuntimeException.createIllegalArgumentException( - "observed array length = {0}, must be at least 2", - observed1.length); + LocalizedFormats.INSUFFICIENT_DIMENSION, observed1.length, 2); } if (observed1.length != observed2.length) { throw MathRuntimeException.createIllegalArgumentException( - "dimension mismatch {0} != {1}", + LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, observed1.length, observed2.length); } @@ -248,11 +247,11 @@ public class ChiSquareTestImpl implement // Ensure neither sample is uniformly 0 if (countSum1 == 0) { throw MathRuntimeException.createIllegalArgumentException( - "observed counts are all 0 in first observed array"); + LocalizedFormats.OBSERVED_COUNTS_ALL_ZERO, 1); } if (countSum2 == 0) { throw MathRuntimeException.createIllegalArgumentException( - "observed counts are all 0 in second observed array"); + LocalizedFormats.OBSERVED_COUNTS_ALL_ZERO, 2); } // Compare and compute weight only if different unequalCounts = countSum1 != countSum2; @@ -267,7 +266,7 @@ public class ChiSquareTestImpl implement for (int i = 0; i < observed1.length; i++) { if (observed1[i] == 0 && observed2[i] == 0) { throw MathRuntimeException.createIllegalArgumentException( - "observed counts are both zero for entry {0}", i); + LocalizedFormats.OBSERVED_COUNTS_BOTTH_ZERO_FOR_ENTRY, i); } else { obs1 = observed1[i]; obs2 = observed2[i]; @@ -311,7 +310,7 @@ public class ChiSquareTestImpl implement double alpha) throws IllegalArgumentException, MathException { if ((alpha <= 0) || (alpha > 0.5)) { throw MathRuntimeException.createIllegalArgumentException( - "out of bounds significance level {0}, must be between {1} and {2}", + LocalizedFormats.OUT_OF_BOUND_SIGNIFICANCE_LEVEL, alpha, 0.0, 0.5); } return chiSquareTestDataSetsComparison(observed1, observed2) < alpha; @@ -329,14 +328,12 @@ public class ChiSquareTestImpl implement if (in.length < 2) { throw MathRuntimeException.createIllegalArgumentException( - "invalid row dimension: {0} (must be at least 2)", - in.length); + LocalizedFormats.INSUFFICIENT_DIMENSION, in.length, 2); } if (in[0].length < 2) { throw MathRuntimeException.createIllegalArgumentException( - "invalid column dimension: {0} (must be at least 2)", - in[0].length); + LocalizedFormats.INSUFFICIENT_DIMENSION, in[0].length, 2); } checkRectangular(in); @@ -357,7 +354,7 @@ public class ChiSquareTestImpl implement for (int i = 1; i < in.length; i++) { if (in[i].length != in[0].length) { throw MathRuntimeException.createIllegalArgumentException( - "some rows have length {0} while others have length {1}", + LocalizedFormats.DIFFERENT_ROWS_LENGTHS, in[i].length, in[0].length); } } @@ -373,7 +370,7 @@ public class ChiSquareTestImpl implement for (int i = 0; i < in.length; i++) { if (in[i] <= 0) { throw MathRuntimeException.createIllegalArgumentException( - "element {0} is not positive: {1}", + LocalizedFormats.NOT_POSITIVE_ELEMENT_AT_INDEX, i, in[i]); } } @@ -389,7 +386,7 @@ public class ChiSquareTestImpl implement for (int i = 0; i < in.length; i++) { if (in[i] < 0) { throw MathRuntimeException.createIllegalArgumentException( - "element {0} is negative: {1}", + LocalizedFormats.NEGATIVE_ELEMENT_AT_INDEX, i, in[i]); } } @@ -406,7 +403,7 @@ public class ChiSquareTestImpl implement for (int j = 0; j < in[i].length; j++) { if (in[i][j] < 0) { throw MathRuntimeException.createIllegalArgumentException( - "element ({0}, {1}) is negative: {2}", + LocalizedFormats.NEGATIVE_ELEMENT_AT_2D_INDEX, i, j, in[i][j]); } } Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/inference/OneWayAnovaImpl.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/inference/OneWayAnovaImpl.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/inference/OneWayAnovaImpl.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/inference/OneWayAnovaImpl.java Wed Jun 16 23:03:38 2010 @@ -24,6 +24,7 @@ import org.apache.commons.math.distribut import org.apache.commons.math.distribution.FDistributionImpl; import org.apache.commons.math.stat.descriptive.summary.Sum; import org.apache.commons.math.stat.descriptive.summary.SumOfSquares; +import org.apache.commons.math.util.LocalizedFormats; /** @@ -102,7 +103,7 @@ public class OneWayAnovaImpl implements throws IllegalArgumentException, MathException { if ((alpha <= 0) || (alpha > 0.5)) { throw MathRuntimeException.createIllegalArgumentException( - "out of bounds significance level {0}, must be between {1} and {2}", + LocalizedFormats.OUT_OF_BOUND_SIGNIFICANCE_LEVEL, alpha, 0, 0.5); } return anovaPValue(categoryData) < alpha; @@ -125,7 +126,7 @@ public class OneWayAnovaImpl implements // check if we have enough categories if (categoryData.size() < 2) { throw MathRuntimeException.createIllegalArgumentException( - "two or more categories required, got {0}", + LocalizedFormats.TWO_OR_MORE_CATEGORIES_REQUIRED, categoryData.size()); } @@ -133,7 +134,7 @@ public class OneWayAnovaImpl implements for (double[] array : categoryData) { if (array.length <= 1) { throw MathRuntimeException.createIllegalArgumentException( - "two or more values required in each category, one has {0}", + LocalizedFormats.TWO_OR_MORE_VALUES_IN_CATEGORY_REQUIRED, array.length); } } Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/inference/TTestImpl.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/inference/TTestImpl.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/inference/TTestImpl.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/inference/TTestImpl.java Wed Jun 16 23:03:38 2010 @@ -22,6 +22,7 @@ import org.apache.commons.math.distribut import org.apache.commons.math.distribution.TDistributionImpl; import org.apache.commons.math.stat.StatUtils; import org.apache.commons.math.stat.descriptive.StatisticalSummary; +import org.apache.commons.math.util.LocalizedFormats; /** * Implements t-test statistics defined in the {@link TTest} interface. @@ -33,10 +34,6 @@ import org.apache.commons.math.stat.desc */ public class TTestImpl implements TTest { - /** Message for insufficient data. */ - private static final String INSUFFICIENT_DATA_MESSAGE = - "insufficient data for t statistic, needs at least 2, got {0}"; - /** Distribution used to compute inference statistics. */ private TDistribution distribution; @@ -1030,7 +1027,7 @@ public class TTestImpl implements TTest throws IllegalArgumentException { if ((alpha <= 0) || (alpha > 0.5)) { throw MathRuntimeException.createIllegalArgumentException( - "out of bounds significance level {0}, must be between {1} and {2}", + LocalizedFormats.OUT_OF_BOUND_SIGNIFICANCE_LEVEL, alpha, 0.0, 0.5); } } @@ -1043,7 +1040,7 @@ public class TTestImpl implements TTest throws IllegalArgumentException { if ((data == null) || (data.length < 2)) { throw MathRuntimeException.createIllegalArgumentException( - INSUFFICIENT_DATA_MESSAGE, + LocalizedFormats.INSUFFICIENT_DATA_FOR_T_STATISTIC, (data == null) ? 0 : data.length); } } @@ -1056,7 +1053,7 @@ public class TTestImpl implements TTest throws IllegalArgumentException { if ((stat == null) || (stat.getN() < 2)) { throw MathRuntimeException.createIllegalArgumentException( - INSUFFICIENT_DATA_MESSAGE, + LocalizedFormats.INSUFFICIENT_DATA_FOR_T_STATISTIC, (stat == null) ? 0 : stat.getN()); } } Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/regression/AbstractMultipleLinearRegression.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/regression/AbstractMultipleLinearRegression.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/regression/AbstractMultipleLinearRegression.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/regression/AbstractMultipleLinearRegression.java Wed Jun 16 23:03:38 2010 @@ -21,6 +21,7 @@ import org.apache.commons.math.linear.Re import org.apache.commons.math.linear.Array2DRowRealMatrix; import org.apache.commons.math.linear.RealVector; import org.apache.commons.math.linear.ArrayRealVector; +import org.apache.commons.math.util.LocalizedFormats; /** * Abstract base class for implementations of MultipleLinearRegression. @@ -88,12 +89,12 @@ public abstract class AbstractMultipleLi protected void validateSampleData(double[][] x, double[] y) { if ((x == null) || (y == null) || (x.length != y.length)) { throw MathRuntimeException.createIllegalArgumentException( - "dimension mismatch {0} != {1}", + LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, (x == null) ? 0 : x.length, (y == null) ? 0 : y.length); } else if ((x.length > 0) && (x[0].length > x.length)) { throw MathRuntimeException.createIllegalArgumentException( - "not enough data ({0} rows) for this many predictors ({1} predictors)", + LocalizedFormats.NOT_ENOUGH_DATA_FOR_NUMBER_OF_PREDICTORS, x.length, x[0].length); } } @@ -109,11 +110,11 @@ public abstract class AbstractMultipleLi protected void validateCovarianceData(double[][] x, double[][] covariance) { if (x.length != covariance.length) { throw MathRuntimeException.createIllegalArgumentException( - "dimension mismatch {0} != {1}", x.length, covariance.length); + LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, x.length, covariance.length); } if (covariance.length > 0 && covariance.length != covariance[0].length) { throw MathRuntimeException.createIllegalArgumentException( - "a {0}x{1} matrix was provided instead of a square matrix", + LocalizedFormats.NON_SQUARE_MATRIX, covariance.length, covariance[0].length); } } Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/regression/SimpleRegression.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/regression/SimpleRegression.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/regression/SimpleRegression.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/stat/regression/SimpleRegression.java Wed Jun 16 23:03:38 2010 @@ -22,6 +22,7 @@ import org.apache.commons.math.MathExcep import org.apache.commons.math.MathRuntimeException; import org.apache.commons.math.distribution.TDistribution; import org.apache.commons.math.distribution.TDistributionImpl; +import org.apache.commons.math.util.LocalizedFormats; /** * Estimates an ordinary least squares regression model @@ -548,7 +549,7 @@ public class SimpleRegression implements throws MathException { if (alpha >= 1 || alpha <= 0) { throw MathRuntimeException.createIllegalArgumentException( - "out of bounds significance level {0}, must be between {1} and {2}", + LocalizedFormats.OUT_OF_BOUND_SIGNIFICANCE_LEVEL, alpha, 0.0, 1.0); } return getSlopeStdErr() * Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/transform/FastCosineTransformer.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/transform/FastCosineTransformer.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/transform/FastCosineTransformer.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/transform/FastCosineTransformer.java Wed Jun 16 23:03:38 2010 @@ -20,6 +20,7 @@ import org.apache.commons.math.FunctionE import org.apache.commons.math.MathRuntimeException; import org.apache.commons.math.analysis.UnivariateRealFunction; import org.apache.commons.math.complex.Complex; +import org.apache.commons.math.util.LocalizedFormats; /** * Implements the @@ -48,18 +49,6 @@ public class FastFourierTransformer impl /** Serializable version identifier. */ static final long serialVersionUID = 5138259215438106000L; - /** Message for not power of 2. */ - private static final String NOT_POWER_OF_TWO_MESSAGE = - "{0} is not a power of 2, consider padding for fix"; - - /** Message for dimension mismatch. */ - private static final String DIMENSION_MISMATCH_MESSAGE = - "some dimensions don't match: {0} != {1}"; - - /** Message for not computed roots of unity. */ - private static final String MISSING_ROOTS_OF_UNITY_MESSAGE = - "roots of unity have not been computed yet"; - /** Message for out of range root index. */ private static final String OUT_OF_RANGE_ROOT_INDEX_MESSAGE = "out of range root of unity index {0} (must be in [{1};{2}])"; @@ -448,7 +437,7 @@ public class FastFourierTransformer impl if (n <= 0) { throw MathRuntimeException.createIllegalArgumentException( - "number of sample is not positive: {0}", + LocalizedFormats.NOT_POSITIVE_NUMBER_OF_SAMPLES, n); } verifyInterval(min, max); @@ -510,7 +499,7 @@ public class FastFourierTransformer impl public static void verifyDataSet(double d[]) throws IllegalArgumentException { if (!isPowerOf2(d.length)) { throw MathRuntimeException.createIllegalArgumentException( - NOT_POWER_OF_TWO_MESSAGE, d.length); + LocalizedFormats.NOT_POWER_OF_TWO_CONSIDER_PADDING, d.length); } } @@ -523,7 +512,7 @@ public class FastFourierTransformer impl public static void verifyDataSet(Object o[]) throws IllegalArgumentException { if (!isPowerOf2(o.length)) { throw MathRuntimeException.createIllegalArgumentException( - NOT_POWER_OF_TWO_MESSAGE, o.length); + LocalizedFormats.NOT_POWER_OF_TWO_CONSIDER_PADDING, o.length); } } @@ -677,13 +666,13 @@ public class FastFourierTransformer impl if (vector == null) { if (dimensionSize.length > 0) { throw MathRuntimeException.createIllegalArgumentException( - DIMENSION_MISMATCH_MESSAGE, 0, dimensionSize.length); + LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, 0, dimensionSize.length); } return null; } if (vector.length != dimensionSize.length) { throw MathRuntimeException.createIllegalArgumentException( - DIMENSION_MISMATCH_MESSAGE, vector.length, dimensionSize.length); + LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, vector.length, dimensionSize.length); } Object lastDimension = multiDimensionalComplexArray; @@ -706,13 +695,13 @@ public class FastFourierTransformer impl if (vector == null) { if (dimensionSize.length > 0) { throw MathRuntimeException.createIllegalArgumentException( - DIMENSION_MISMATCH_MESSAGE, 0, dimensionSize.length); + LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, 0, dimensionSize.length); } return null; } if (vector.length != dimensionSize.length) { throw MathRuntimeException.createIllegalArgumentException( - DIMENSION_MISMATCH_MESSAGE, vector.length,dimensionSize.length); + LocalizedFormats.DIMENSIONS_MISMATCH_SIMPLE, vector.length,dimensionSize.length); } Object[] lastDimension = (Object[]) multiDimensionalComplexArray; @@ -827,8 +816,7 @@ public class FastFourierTransformer impl public synchronized boolean isForward() throws IllegalStateException { if (omegaCount == 0) { - throw MathRuntimeException.createIllegalStateException( - MISSING_ROOTS_OF_UNITY_MESSAGE); + throw MathRuntimeException.createIllegalStateException(LocalizedFormats.ROOTS_OF_UNITY_NOT_COMPUTED_YET); } return isForward; @@ -847,7 +835,7 @@ public class FastFourierTransformer impl if (n == 0) { throw MathRuntimeException.createIllegalArgumentException( - "cannot compute 0-th root of unity, indefinite result"); + LocalizedFormats.CANNOT_COMPUTE_0TH_ROOT_OF_UNITY); } isForward = n > 0; @@ -891,8 +879,7 @@ public class FastFourierTransformer impl throws IllegalStateException, IllegalArgumentException { if (omegaCount == 0) { - throw MathRuntimeException.createIllegalStateException( - MISSING_ROOTS_OF_UNITY_MESSAGE); + throw MathRuntimeException.createIllegalStateException(LocalizedFormats.ROOTS_OF_UNITY_NOT_COMPUTED_YET); } if ((k < 0) || (k >= omegaCount)) { throw MathRuntimeException.createIllegalArgumentException( @@ -914,8 +901,7 @@ public class FastFourierTransformer impl throws IllegalStateException, IllegalArgumentException { if (omegaCount == 0) { - throw MathRuntimeException.createIllegalStateException( - MISSING_ROOTS_OF_UNITY_MESSAGE); + throw MathRuntimeException.createIllegalStateException(LocalizedFormats.ROOTS_OF_UNITY_NOT_COMPUTED_YET); } if ((k < 0) || (k >= omegaCount)) { throw MathRuntimeException.createIllegalArgumentException( Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/transform/FastHadamardTransformer.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/transform/FastHadamardTransformer.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/transform/FastHadamardTransformer.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/transform/FastHadamardTransformer.java Wed Jun 16 23:03:38 2010 @@ -19,6 +19,7 @@ package org.apache.commons.math.transfor import org.apache.commons.math.FunctionEvaluationException; import org.apache.commons.math.MathRuntimeException; import org.apache.commons.math.analysis.UnivariateRealFunction; +import org.apache.commons.math.util.LocalizedFormats; /** * Implements the Fast Hadamard Transform (FHT). @@ -160,7 +161,7 @@ public class FastHadamardTransformer imp // n has to be of the form n = 2^p !! if (!FastFourierTransformer.isPowerOf2(n)) { throw MathRuntimeException.createIllegalArgumentException( - "{0} is not a power of 2", + LocalizedFormats.NOT_POWER_OF_TWO, n); } @@ -211,7 +212,7 @@ public class FastHadamardTransformer imp // n has to be of the form n = 2^p !! if (!FastFourierTransformer.isPowerOf2(n)) { throw MathRuntimeException.createIllegalArgumentException( - "{0} is not a power of 2", + LocalizedFormats.NOT_POWER_OF_TWO, n); } Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/transform/FastSineTransformer.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/transform/FastSineTransformer.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/transform/FastSineTransformer.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/transform/FastSineTransformer.java Wed Jun 16 23:03:38 2010 @@ -20,6 +20,7 @@ import org.apache.commons.math.FunctionE import org.apache.commons.math.MathRuntimeException; import org.apache.commons.math.analysis.UnivariateRealFunction; import org.apache.commons.math.complex.Complex; +import org.apache.commons.math.util.LocalizedFormats; /** * Implements the = maxIterations) { throw new MaxIterationsExceededException(maxIterations, - "Continued fraction convergents failed to converge for value {0}", + LocalizedFormats.NON_CONVERGENT_CONTINUED_FRACTION, x); } Modified: commons/proper/math/trunk/src/main/java/org/apache/commons/math/util/DefaultTransformer.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/util/DefaultTransformer.java?rev=955423&r1=955422&r2=955423&view=diff ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/util/DefaultTransformer.java (original) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/util/DefaultTransformer.java Wed Jun 16 23:03:38 2010 @@ -44,7 +44,7 @@ public class DefaultTransformer implemen public double transform(Object o) throws MathException{ if (o == null) { - throw new MathException("Conversion Exception in Transformation, Object is null"); + throw new MathException(LocalizedFormats.NULL_OBJECT_TRANSFORMATION); } if (o instanceof Number) { @@ -55,7 +55,7 @@ public class DefaultTransformer implemen return Double.valueOf(o.toString()).doubleValue(); } catch (NumberFormatException e) { throw new MathException(e, - "Conversion Exception in Transformation: {0}", e.getMessage()); + LocalizedFormats.CANNOT_TRANSFORM_TO_DOUBLE, e.getMessage()); } } Added: commons/proper/math/trunk/src/main/java/org/apache/commons/math/util/DummyLocalizable.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/util/DummyLocalizable.java?rev=955423&view=auto ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/util/DummyLocalizable.java (added) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/util/DummyLocalizable.java Wed Jun 16 23:03:38 2010 @@ -0,0 +1,55 @@ +/* + * 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.util; + +import java.util.Locale; + +/** + * Dummy implementation of the {@link Localizable} interface, without localization. + * + * @version $Revision$ $Date$ + * @since 2.2 + */ +public class DummyLocalizable implements Localizable { + + /** Serializable version identifier. */ + private static final long serialVersionUID = 8843275624471387299L; + + /** Source string. */ + private final String source; + + /** Simple constructor. */ + public DummyLocalizable(final String source) { + this.source = source; + } + + /** {@inheritDoc} */ + public String getSourceString() { + return source; + } + + /** {@inheritDoc} */ + public String getLocalizedString(Locale locale) { + return source; + } + + /** {@inheritDoc} */ + public String toString() { + return source; + } + +} Propchange: commons/proper/math/trunk/src/main/java/org/apache/commons/math/util/DummyLocalizable.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: commons/proper/math/trunk/src/main/java/org/apache/commons/math/util/DummyLocalizable.java ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision Added: commons/proper/math/trunk/src/main/java/org/apache/commons/math/util/Localizable.java URL: http://svn.apache.org/viewvc/commons/proper/math/trunk/src/main/java/org/apache/commons/math/util/Localizable.java?rev=955423&view=auto ============================================================================== --- commons/proper/math/trunk/src/main/java/org/apache/commons/math/util/Localizable.java (added) +++ commons/proper/math/trunk/src/main/java/org/apache/commons/math/util/Localizable.java Wed Jun 16 23:03:38 2010 @@ -0,0 +1,43 @@ +/* + * 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.util; + +import java.io.Serializable; +import java.util.Locale; + +/** + * Interface for localizable strings. + * + * @version $Revision$ $Date$ + * @since 2.2 + */ +public interface Localizable extends Serializable { + + /** + * Get the source (non-localized) string. + * @return source string + */ + String getSourceString(); + + /** + * Get the localized string. + * @param locale locale into which to get the string + * @return localized string or the source string if no localized version is available + */ + String getLocalizedString(Locale locale); + +} Propchange: commons/proper/math/trunk/src/main/java/org/apache/commons/math/util/Localizable.java ------------------------------------------------------------------------------ svn:eol-style = native Propchange: commons/proper/math/trunk/src/main/java/org/apache/commons/math/util/Localizable.java ------------------------------------------------------------------------------ svn:keywords = Author Date Id Revision