findbugs-exclude-filter.xml 7.67 KB
Newer Older
1 2 3 4 5 6 7 8
<?xml version="1.0"?>
<!--
  This file contains some false positive bugs detected by findbugs. Their
  false positive nature has been analyzed individually and they have been
  put here to instruct findbugs it must ignore them.
-->
<FindBugsFilter>

Luc Maisonobe's avatar
Luc Maisonobe committed
9
  <!-- the following serialization classes already takes care of non-serializable parts. -->
10
  <Match>
11
    <Or>
Luc Maisonobe's avatar
Luc Maisonobe committed
12 13
      <Class name="~.*\.DSSTPropagator\$MeanPlusShortPeriodicMapper\$DataTransferObject$" />
      <Class name="~.*\.IntegratedEphemeris\$DataTransferObject$" />
14 15
     <Class name="~.*\.KeplerianPropagator\$DataTransferObject$" />
     <Class name="~.*\.EcksteinHechlerPropagator\$DataTransferObject$" />
16
    </Or>
Luc Maisonobe's avatar
Luc Maisonobe committed
17 18 19 20
    <Bug pattern="SE_BAD_FIELD" />
  </Match>

  <!-- the following classes are serialized using writeReplace/readResolve with proxy classes,
21
       so the is no real problem about the base class not having a proper constructor.  -->
Luc Maisonobe's avatar
Luc Maisonobe committed
22 23
  <Match>
    <Or>
24 25 26 27
      <Class name="~.*\.AbstractAnalyticalPropagator\$BoundedPropagatorView$" />
      <Class name="~.*\.KeplerianPropagator$" />
      <Class name="~.*\.EcksteinHechlerPropagator$" />
      <Class name="~.*\.Ephemeris$" />
Luc Maisonobe's avatar
Luc Maisonobe committed
28 29 30 31 32 33 34
      <Class name="~.*\.IntegratedEphemeris$" />
      <Class name="~.*\.DSSTPropagator\$MeanPlusShortPeriodicMapper$" />
      <Class name="~.*\.NumericalPropagator\$OsculatingMapper$" />
    </Or>
    <Bug pattern="SE_NO_SUITABLE_CONSTRUCTOR" />
  </Match>
  <Match>
35 36
    <Or>
      <Class name="~.*\.DSSTPropagator\$MeanPlusShortPeriodicMapper$" />
Luc Maisonobe's avatar
Luc Maisonobe committed
37 38 39 40
      <Class name="~.*\.AbstractGaussianContribution\$GaussianShortPeriodicCoefficients$" />
      <Class name="~.*\.DSSTThirdBody\$ThirdBodyShortPeriodicCoefficients$" />
      <Class name="~.*\.TesseralContributionContribution\$TesseralShortPeriodicCoefficients$" />
      <Class name="~.*\.ZonalContribution\$ZonalShortPeriodicCoefficients$" />
41 42 43
      <Class name="~.*\.FieldOfView$" />
      <Class name="~.*\.FootprintOverlapDetector$" />
      <Class name="~.*\.GeographicZoneDetector$" />
Luc Maisonobe's avatar
Luc Maisonobe committed
44
      <Class name="~.*\.SaastamoinenModel$" />
Luc Maisonobe's avatar
Luc Maisonobe committed
45
      <Class name="~.*\.EventEnablingPredicateFilter$" />
Luc Maisonobe's avatar
Luc Maisonobe committed
46 47 48 49 50
      <Class name="~.*\.FixedTransformProvider$" />
      <Class name="~.*\.InterpolatingTransformProvider$" />
      <Class name="~.*\.ShiftingTransformProvider$" />
      <Class name="~.*\.MODProvider$" />
      <Class name="~.*\.TIRFProvider$" />
51
      <Class name="~.*\.CartesianOrbit$" />
52
      <Class name="~.*\.EstimatedEarthFrameProvider$" />
53
    </Or>
54 55
    <Bug pattern="SE_TRANSIENT_FIELD_NOT_RESTORED" />
  </Match>
56

57 58 59 60 61 62 63 64 65 66 67 68
  <!-- the following are in fact false positives from findbugs -->
  <!-- their occurrence depends on the java compiler used      -->
  <Match>
    <Class name="~.*\.EcksteinHechlerPropagator$"/>
    <Method name="computeMeanParameters" />
    <Or>
      <Local name="epsilon" />
      <Local name="thresholdAngles" />
    </Or>
    <Bug pattern="DLS_DEAD_LOCAL_STORE" />
  </Match>
  <Match>
69
    <Class name="~.*\.DTM2000$"/>
70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95
    <Method name="computation" />
    <Or>
      <Local name="zlb" />
      <Local name="zlbre" />
    </Or>
    <Bug pattern="DLS_DEAD_LOCAL_STORE" />
  </Match>
  <Match>
    <Class name="~.*\.SDP4$"/>
    <Method name="thetaG" />
    <Or>
      <Local name="omega_E" />
      <Local name="seconds_per_day" />
      <Local name="jd_2000" />
    </Or>
    <Bug pattern="DLS_DEAD_LOCAL_STORE" />
  </Match>
  <Match>
    <Class name="~.*\.TLEPropagator$"/>
    <Method name="computePVCoordinates" />
    <Or>
      <Local name="newtonRaphsonEpsilon" />
      <Local name="cv" />
    </Or>
    <Bug pattern="DLS_DEAD_LOCAL_STORE" />
  </Match>
96
  <Match>
97
    <Class name="~.*\.JPLEphemeridesLoader$"/>
98
    <Method name="tooFarRange" />
99
    <Local name="fiftyDays" />
100 101
    <Bug pattern="DLS_DEAD_LOCAL_STORE" />
  </Match>
Luc Maisonobe's avatar
Luc Maisonobe committed
102 103 104 105 106 107 108 109 110 111 112
  <Match>
    <Class name="~.*\.JB2006$"/>
    <Method name="getDensity" />
    <Local name="FACT1" />
    <Bug pattern="DLS_DEAD_LOCAL_STORE" />
  </Match>
  <Match>
    <Class name="~.*\.JB2006$"/>
    <Method name="dTc" />
    <Local name="HP" />
    <Bug pattern="DLS_DEAD_LOCAL_STORE" />
113
  </Match>
Luc Maisonobe's avatar
Luc Maisonobe committed
114 115 116 117 118 119
  <Match>
    <Class name="~.*\.OneAxisEllipsoid$"/>
    <Method name="transform" />
    <Local name="epsPhi" />
    <Bug pattern="DLS_DEAD_LOCAL_STORE" />
  </Match>
120

121
  <!-- the approximate constants do belong to the models -->
122 123 124
  <Match>
    <Class name="~.*\.JB2006$"/>
    <Bug pattern="CNT_ROUGH_CONSTANT_VALUE" />
Luc Maisonobe's avatar
Luc Maisonobe committed
125
  </Match>
126 127 128 129
  <Match>
    <Class name="~.*\.SEMParser$"/>
    <Bug pattern="CNT_ROUGH_CONSTANT_VALUE" />
  </Match>
Luc Maisonobe's avatar
Luc Maisonobe committed
130
  
131 132 133 134 135 136 137
  <!-- The following is a false positive from findbugs -->
  <Match>
    <Class name="~.*\.IntegratedEphemeris\$LocalProvider$"/>
    <Method name="getAdditionalState" />
    <Bug pattern="BC_VACUOUS_INSTANCEOF" />
  </Match>

138
  <!-- The following equality tests are intentional and needed for semantic purposes -->
Luc Maisonobe's avatar
Luc Maisonobe committed
139 140 141 142 143
  <Match>
    <Class name="org.orekit.time.TimeComponents" />
    <Method name="equals" params="java.lang.Object" returns="boolean" />
    <Bug pattern="FE_FLOATING_POINT_EQUALITY" />
  </Match>
144 145
  <Match>
    <Class name="org.orekit.orbits.KeplerianOrbit"/>
146 147 148 149
    <Or>
      <Method name ="eMeSinE" params="double,double" returns="double" />
      <Method name ="eMeSinE" params="org.hipparchus.analysis.differentiation.DerivativeStructure,org.hipparchus.analysis.differentiation.DerivativeStructure" returns="org.hipparchus.analysis.differentiation.DerivativeStructure" />
    </Or>
150 151 152 153 154 155 156
    <Bug pattern="FE_FLOATING_POINT_EQUALITY" />
  </Match>

  <!-- The following internal representation exposure are intentional,
       They are used to pass data back and forth between classes
    -->
  <Match>
Luc Maisonobe's avatar
Luc Maisonobe committed
157
    <Class name="org.orekit.propagation.integration.AdditionalStateData"/>
158 159 160 161
    <Method name ="getAdditionalState" params="" returns="double[]" />
    <Bug pattern="EI_EXPOSE_REP" />
  </Match>
  <Match>
Luc Maisonobe's avatar
Luc Maisonobe committed
162
    <Class name="org.orekit.propagation.integration.AdditionalStateData"/>
163 164 165
    <Method name ="getAdditionalStateDot" params="" returns="double[]" />
    <Bug pattern="EI_EXPOSE_REP" />
  </Match>
166 167 168 169 170 171 172 173 174 175 176 177 178 179
  <Match>
    <Class name="org.orekit.forces.gravity.HolmesFeatherstoneAttractionModel$GradientHessian"/>
    <Or>  
      <Method name="getGradient" params="" returns="double[]" />
      <Method name="getHessian" params="" returns="double[][]" />
      </Or>
    <Bug pattern="EI_EXPOSE_REP" />
  </Match>
  <Match>
    <Class name="org.orekit.forces.gravity.HolmesFeatherstoneAttractionModel$GradientHessian"/>
    <Method name="&lt;init>"  params="double[],double[][]" returns="void" />
    <Bug pattern="EI_EXPOSE_REP2" />
  </Match>
  
180 181 182 183 184 185 186
  <!-- the following is an intended switch fall-through in the SP3Parser -->
  <Match>
    <Class name="~.*\.SP3Parser$"/>
    <Method name="parseHeaderLine" />
    <Bug pattern="SF_SWITCH_FALLTHROUGH" />
  </Match>

Luc Maisonobe's avatar
Luc Maisonobe committed
187 188 189 190 191 192 193 194
  <!-- the following is a false positive as the listFiles method is called
       on a parameter already known to be a directory (so it does not return null) -->
  <Match>
    <Class name="~.*\.DirectoryCrawler$"/>
    <Method name="feed"   params="java.util.regex.Pattern,org.orekit.data.DataLoader,java.io.File" returns="boolean" />
    <Bug pattern="NP_NULL_ON_SOME_PATH_FROM_RETURN_VALUE" />
  </Match>

Luc Maisonobe's avatar
Luc Maisonobe committed
195 196 197 198 199 200 201 202
  <!-- the following is a false positive as the inverseCrossProducts method either
        returns eatly, throws an exception or sets the omega variable to non-null  -->
  <Match>
    <Class name="~.*\.FieldAngularCoordinates$"/>
    <Method name="inverseCrossProducts" />
    <Bug pattern="NP_NULL_ON_SOME_PATH_EXCEPTION" />
  </Match>

Luc Maisonobe's avatar
Luc Maisonobe committed
203 204 205 206 207 208 209 210
  <!-- the following is a false positive as the Direction.next() always return non-null
       and Direction is an enumerate that can't be changed -->
  <Match>
    <Class name="~.*\.Mesh$"/>
    <Method name="getTaxicabBoundary"   params="boolean" />
    <Bug pattern="NP_NULL_PARAM_DEREF" />
  </Match>

211
</FindBugsFilter>