Skip to content

Draft: Fix Issue 949 - No initialization of initialState in Ephemeris, IntegratedEphemeris and AdapterPropagator constructors.

Vincent CUCCHIETTI requested to merge vcucchie/orekit:issue-949 into develop

Issue 949

This issue was opened because it was found that propagating an IntegratedEphemeris with a StateCovarianceMatrixProvider would result in NullPointerException being thrown.

After further investigation, it was found that this error would happen with the followings inheritors of AbstractAnalyticalPropagator :

  • Ephemeris
  • IntegratedEphemeris
  • AdapterPropagator
  • GLONASSAnalyticalPropagator
  • GNSSPropagator
  • SBASPropagator

In addition, one need to use an additional state provider which actually uses its own init() method (and not the default, empty one) for this exception to be thrown.

Solution 

The solution is straightforward for inheritors of AbstractAnalyticalPropagator that have their own getInitialState() method defined, we only need to add the following in their respective constructor : super.resetInitialState(getInitialState()); (slightly different solution depending on the case).

For now and with this merge request, the following classes would be fixed :

  • Ephemeris
  • IntegratedEphemeris
  • AdapterPropagator (depends on given propagator but will be ready when all propagators are fixed)
Edited by Vincent CUCCHIETTI

Merge request reports