[
https://issues.apache.org/jira/browse/MATH-1116?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14532119#comment-14532119
]
Cyrille Artho commented on MATH-1116:
-------------------------------------
In general, the need to initialize newly constructed objects with more data is
now documented, but we have found two cases where a NullPointerException is
thrown because of missing data.
The documentation should be updated to reflect this. This is similar to issues
report in MATH-1116 but concerns classes that are not going to be deprecated
(as far as we can tell).
org.apache.commons.math3.ode.nonstiff.HighamHall54Integrator var1 = new
org.apache.commons.math3.ode.nonstiff.HighamHall54Integrator(0.0d, 0.0d, 0.0d,
0.0d);
double[] var2 = new double[] { 0.0d };
var1.computeDerivatives(0.0d, var2, var2); // NPE
new
org.apache.commons.math3.stat.correlation.SpearmansCorrelation().getCorrelationMatrix();
// NPE
> NullPointerException not advertized in Javadoc
> ----------------------------------------------
>
> Key: MATH-1116
> URL: https://issues.apache.org/jira/browse/MATH-1116
> Project: Commons Math
> Issue Type: Bug
> Affects Versions: 3.2
> Environment: Mac OS 10.9, Java 6, 7
> Reporter: Cyrille Artho
> Priority: Minor
> Labels: javadoc
> Attachments: IllegalStateB.java, Report2.java
>
>
> The following statement produces a NullPointerException:
> new
> org.apache.commons.math3.optim.nonlinear.vector.jacobian.LevenbergMarquardtOptimizer().getWeight();
> The documentation does not seem to indicate that other data must be set
> before getWeight is used (at least I could not find that information). In
> this case, weightMatrix is still null because it has not been initialized.
> This call should probably throw an IllegalStateException, which makes it
> clear that this API usage is incorrect.
> This test uses LevenbergMarquardtOptimizer but any instantiable subclass of
> MultivariateVectorOptimizer probably works the same way.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)