The following document contains the results of FindBugs Report
FindBugs Version is 2.0.1
Threshold is medium
Effort is min
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.CRSIdentifiable.getAreaOfUseBBox() may expose internal representation by returning CRSIdentifiable.areaOfUseBBox | MALICIOUS_CODE | EI_EXPOSE_REP | 463 | Medium |
new org.deegree.cs.CRSIdentifiable(CRSCodeType[], String[], String[], String[], String[]) may expose internal representation by storing an externally mutable object into CRSIdentifiable.areasOfUse | MALICIOUS_CODE | EI_EXPOSE_REP2 | 105 | Medium |
new org.deegree.cs.CRSIdentifiable(CRSCodeType[], String[], String[], String[], String[]) may expose internal representation by storing an externally mutable object into CRSIdentifiable.codes | MALICIOUS_CODE | EI_EXPOSE_REP2 | 101 | Medium |
new org.deegree.cs.CRSIdentifiable(CRSCodeType[], String[], String[], String[], String[]) may expose internal representation by storing an externally mutable object into CRSIdentifiable.descriptions | MALICIOUS_CODE | EI_EXPOSE_REP2 | 104 | Medium |
new org.deegree.cs.CRSIdentifiable(CRSCodeType[], String[], String[], String[], String[]) may expose internal representation by storing an externally mutable object into CRSIdentifiable.names | MALICIOUS_CODE | EI_EXPOSE_REP2 | 102 | Medium |
new org.deegree.cs.CRSIdentifiable(CRSCodeType[], String[], String[], String[], String[]) may expose internal representation by storing an externally mutable object into CRSIdentifiable.versions | MALICIOUS_CODE | EI_EXPOSE_REP2 | 103 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.EPSGCode overrides equals in CRSCodeType and may not be symmetric | CORRECTNESS | EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC | 77 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.components.Axis overrides equals in org.deegree.cs.CRSIdentifiable and may not be symmetric | CORRECTNESS | EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC | 227 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.components.Ellipsoid.equals(Object) checks for operand being a org.deegree.cs.refs.components.EllipsoidRef | BAD_PRACTICE | EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS | 392 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.components.GeodeticDatum.equals(Object) checks for operand being a org.deegree.cs.refs.components.GeodeticDatumRef | BAD_PRACTICE | EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS | 233 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.components.PrimeMeridian.equals(Object) checks for operand being a org.deegree.cs.refs.components.PrimeMeridianRef | BAD_PRACTICE | EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS | 213 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.components.Unit overrides equals in org.deegree.cs.CRSIdentifiable and may not be symmetric | CORRECTNESS | EQ_OVERRIDING_EQUALS_NOT_SYMMETRIC | 302 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Found reliance on default encoding in new org.deegree.cs.configuration.wkt.WKTParser(File): new java.io.FileReader(File) | I18N | DM_DEFAULT_ENCODING | 1200 | High |
Possible null pointer dereference of latNatOrigin in org.deegree.cs.configuration.wkt.WKTParser.determineLatitude(Map) | CORRECTNESS | NP_NULL_ON_SOME_PATH | 1014 | Medium |
Possible null pointer dereference of longNatOrigin in org.deegree.cs.configuration.wkt.WKTParser.determineLongitude(Map) | CORRECTNESS | NP_NULL_ON_SOME_PATH | 1033 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
new org.deegree.cs.coordinatesystems.CRS(IDatum, IAxis[], CRSCodeType[], String[], String[], String[], String[]) may expose internal representation by storing an externally mutable object into CRS.axisOrder | MALICIOUS_CODE | EI_EXPOSE_REP2 | 170 | Medium |
org.deegree.cs.coordinatesystems.CRS.equals(Object) checks for operand being a org.deegree.cs.refs.coordinatesystem.CRSRef | BAD_PRACTICE | EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS | 373 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.coordinatesystems.ProjectedCRS.equals(Object) checks for operand being a org.deegree.cs.refs.coordinatesystem.CRSRef | BAD_PRACTICE | EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS | 201 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.io.deegree.CRSExporter.updateBoundingBox(ICRS) may fail to clean up java.sql.ResultSet | EXPERIMENTAL | OBL_UNSATISFIED_OBLIGATION | 518 | Medium |
org.deegree.cs.io.deegree.CRSExporter.updateBoundingBox(ICRS) may fail to clean up java.sql.Statement | EXPERIMENTAL | OBL_UNSATISFIED_OBLIGATION | 516 | Medium |
org.deegree.cs.io.deegree.CRSExporter.updateDatum(ICRS, IGeodeticDatum) may fail to clean up java.sql.ResultSet | EXPERIMENTAL | OBL_UNSATISFIED_OBLIGATION | 297 | Medium |
org.deegree.cs.io.deegree.CRSExporter.updateDatum(ICRS, IGeodeticDatum) may fail to clean up java.sql.Statement | EXPERIMENTAL | OBL_UNSATISFIED_OBLIGATION | 295 | Medium |
org.deegree.cs.io.deegree.CRSExporter.updatePM(IPrimeMeridian) may fail to clean up java.sql.ResultSet | EXPERIMENTAL | OBL_UNSATISFIED_OBLIGATION | 442 | Medium |
org.deegree.cs.io.deegree.CRSExporter.updatePM(IPrimeMeridian) may fail to clean up java.sql.Statement | EXPERIMENTAL | OBL_UNSATISFIED_OBLIGATION | 440 | Medium |
org.deegree.cs.io.deegree.CRSExporter.updateProjectionId(IProjectedCRS, IProjection) may fail to clean up java.sql.ResultSet | EXPERIMENTAL | OBL_UNSATISFIED_OBLIGATION | 569 | Medium |
org.deegree.cs.io.deegree.CRSExporter.updateProjectionId(IProjectedCRS, IProjection) may fail to clean up java.sql.Statement | EXPERIMENTAL | OBL_UNSATISFIED_OBLIGATION | 567 | Medium |
org.deegree.cs.io.deegree.CRSExporter.updateBoundingBox(ICRS) may fail to close PreparedStatement | BAD_PRACTICE | ODR_OPEN_DATABASE_RESOURCE | 516 | Medium |
org.deegree.cs.io.deegree.CRSExporter.updateDatum(ICRS, IGeodeticDatum) may fail to close PreparedStatement | BAD_PRACTICE | ODR_OPEN_DATABASE_RESOURCE | 295 | Medium |
org.deegree.cs.io.deegree.CRSExporter.updatePM(IPrimeMeridian) may fail to close PreparedStatement | BAD_PRACTICE | ODR_OPEN_DATABASE_RESOURCE | 440 | Medium |
org.deegree.cs.io.deegree.CRSExporter.updateProjectionId(IProjectedCRS, IProjection) may fail to close PreparedStatement | BAD_PRACTICE | ODR_OPEN_DATABASE_RESOURCE | 567 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.io.deegree.CRSExporter$IdComparer implements Comparator but not Serializable | BAD_PRACTICE | SE_COMPARATOR_SHOULD_BE_SERIALIZABLE | 1461 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Found reliance on default encoding in org.deegree.cs.io.deegree.CRSExporterBase.export(StringBuilder, List): new java.io.PrintWriter(OutputStream) | I18N | DM_DEFAULT_ENCODING | 102 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Load of known null value in org.deegree.cs.persistence.AbstractCRSStore.getCRSByCode(CRSCodeType, boolean) | STYLE | NP_LOAD_OF_KNOWN_NULL_VALUE | 120 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
instanceof will always return true for all nonnull values in org.deegree.cs.persistence.CRSManager.getTransformation(CRSStore, String), since all org.deegree.cs.transformations.Transformation are instances of org.deegree.cs.transformations.Transformation | STYLE | BC_VACUOUS_INSTANCEOF | 775 | Medium |
Inconsistent synchronization of org.deegree.cs.persistence.CRSManager.workspace; locked 75% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 130 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Invocation of toString on axis in org.deegree.cs.persistence.gml.GMLCRSStore.parseAxisFromCSType(OMElement) | CORRECTNESS | DMI_INVOKING_TOSTRING_ON_ARRAY | 876 | Medium |
Redundant nullcheck of second, which is known to be non-null in org.deegree.cs.persistence.gml.GMLCRSStore.createHelmert(CRSResource, List, ICRS, ICRS) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 344 | Medium |
Redundant nullcheck of second, which is known to be non-null in org.deegree.cs.persistence.gml.GMLCRSStore.createNTv2(CRSResource, List, ICRS, ICRS) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 412 | Medium |
Redundant nullcheck of second, which is known to be non-null in org.deegree.cs.persistence.gml.GMLCRSStore.parseProjection(OMElement) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 1163 | Medium |
Switch statement found in org.deegree.cs.persistence.gml.GMLCRSStore.parseProjection(OMElement) where default case is missing | STYLE | SF_SWITCH_NO_DEFAULT | 1174 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Switch statement found in org.deegree.cs.persistence.proj4.PROJ4CRSStore.parseAngleFormat(String, boolean) where one case falls through to the next case | STYLE | SF_SWITCH_FALLTHROUGH | 1359 | Medium |
Switch statement found in org.deegree.cs.persistence.proj4.PROJ4CRSStore.parseAngleFormat(String, boolean) where default case is missing | STYLE | SF_SWITCH_NO_DEFAULT | 1356 | Medium |
Useless control flow in org.deegree.cs.persistence.proj4.PROJ4CRSStore.createProjection(String, Map) | STYLE | UCF_USELESS_CONTROL_FLOW | 1051 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Found reliance on default encoding in new org.deegree.cs.persistence.proj4.ProjFileResource(File): new java.io.FileReader(File) | I18N | DM_DEFAULT_ENCODING | 86 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Switch statement found in org.deegree.cs.projections.azimuthal.LambertAzimuthalEqualArea.doInverseProjection(IGeographicCRS, double, double) where one case falls through to the next case | STYLE | SF_SWITCH_FALLTHROUGH | 276 | Medium |
Switch statement found in org.deegree.cs.projections.azimuthal.LambertAzimuthalEqualArea.doProjection(IGeographicCRS, double, double) where one case falls through to the next case | STYLE | SF_SWITCH_FALLTHROUGH | 345 | Medium |
Switch statement found in org.deegree.cs.projections.azimuthal.LambertAzimuthalEqualArea.calculateParameters(IGeographicCRS) where default case is missing | STYLE | SF_SWITCH_NO_DEFAULT | 480 | Medium |
Switch statement found in org.deegree.cs.projections.azimuthal.LambertAzimuthalEqualArea.doInverseProjection(IGeographicCRS, double, double) where default case is missing | STYLE | SF_SWITCH_NO_DEFAULT | 188 | Medium |
Switch statement found in org.deegree.cs.projections.azimuthal.LambertAzimuthalEqualArea.doProjection(IGeographicCRS, double, double) where default case is missing | STYLE | SF_SWITCH_NO_DEFAULT | 317 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Switch statement found in org.deegree.cs.projections.azimuthal.StereographicAzimuthal.doInverseProjection(IGeographicCRS, double, double) where one case falls through to the next case | STYLE | SF_SWITCH_FALLTHROUGH | 278 | Medium |
Switch statement found in org.deegree.cs.projections.azimuthal.StereographicAzimuthal.doProjection(IGeographicCRS, double, double) where one case falls through to the next case | STYLE | SF_SWITCH_FALLTHROUGH | 383 | Medium |
Switch statement found in org.deegree.cs.projections.azimuthal.StereographicAzimuthal.calculateParameters(IGeographicCRS) where default case is missing | STYLE | SF_SWITCH_NO_DEFAULT | 485 | Medium |
Switch statement found in org.deegree.cs.projections.azimuthal.StereographicAzimuthal.doInverseProjection(IGeographicCRS, double, double) where default case is missing | STYLE | SF_SWITCH_NO_DEFAULT | 255 | Medium |
Switch statement found in org.deegree.cs.projections.azimuthal.StereographicAzimuthal.doProjection(IGeographicCRS, double, double) where default case is missing | STYLE | SF_SWITCH_NO_DEFAULT | 354 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.refs.CRSResourceRef defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 157 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.refs.components.AxisRef defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 90 | High |
org.deegree.cs.refs.components.AxisRef is Serializable but its superclass doesn't define an accessible void constructor | BAD_PRACTICE | SE_NO_SUITABLE_CONSTRUCTOR | 68 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.refs.components.DatumRef defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 68 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.refs.components.EllipsoidRef defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 109 | High |
org.deegree.cs.refs.components.EllipsoidRef is Serializable but its superclass doesn't define an accessible void constructor | BAD_PRACTICE | SE_NO_SUITABLE_CONSTRUCTOR | 68 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.refs.components.GeodeticDatumRef.equals(Object) checks for operand being a org.deegree.cs.components.GeodeticDatum | BAD_PRACTICE | EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS | 96 | High |
org.deegree.cs.refs.components.GeodeticDatumRef defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 96 | High |
org.deegree.cs.refs.components.GeodeticDatumRef is Serializable but its superclass doesn't define an accessible void constructor | BAD_PRACTICE | SE_NO_SUITABLE_CONSTRUCTOR | 56 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.refs.components.PrimeMeridianRef defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 97 | High |
org.deegree.cs.refs.components.PrimeMeridianRef is Serializable but its superclass doesn't define an accessible void constructor | BAD_PRACTICE | SE_NO_SUITABLE_CONSTRUCTOR | 68 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.refs.components.UnitRef defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 102 | High |
org.deegree.cs.refs.components.UnitRef is Serializable but its superclass doesn't define an accessible void constructor | BAD_PRACTICE | SE_NO_SUITABLE_CONSTRUCTOR | 67 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.refs.components.VerticalDatumRef defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 72 | High |
org.deegree.cs.refs.components.VerticalDatumRef is Serializable but its superclass doesn't define an accessible void constructor | BAD_PRACTICE | SE_NO_SUITABLE_CONSTRUCTOR | 67 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.refs.coordinatesystem.CRSRef.equals(Object) checks for operand being a String | BAD_PRACTICE | EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS | 149 | High |
org.deegree.cs.refs.coordinatesystem.CRSRef.equals(Object) is unusual | STYLE | EQ_UNUSUAL | 143 | Medium |
org.deegree.cs.refs.coordinatesystem.CRSRef is Serializable but its superclass doesn't define an accessible void constructor | BAD_PRACTICE | SE_NO_SUITABLE_CONSTRUCTOR | 78 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.refs.coordinatesystem.CompoundCRSRef.equals(Object) checks for operand being a org.deegree.cs.coordinatesystems.CompoundCRS | BAD_PRACTICE | EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS | 109 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.refs.coordinatesystem.GeocentricCRSRef.equals(Object) checks for operand being a org.deegree.cs.coordinatesystems.GeocentricCRS | BAD_PRACTICE | EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS | 75 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.refs.coordinatesystem.GeographicCRSRef.equals(Object) checks for operand being a org.deegree.cs.coordinatesystems.GeographicCRS | BAD_PRACTICE | EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS | 75 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.refs.coordinatesystem.ProjectedCRSRef.equals(Object) checks for operand being a org.deegree.cs.coordinatesystems.ProjectedCRS | BAD_PRACTICE | EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS | 98 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.refs.coordinatesystem.VerticalCRSRef.equals(Object) checks for operand being a org.deegree.cs.coordinatesystems.VerticalCRS | BAD_PRACTICE | EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS | 85 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.refs.projections.LambertAzimuthalEqualAreaRef defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 73 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.refs.projections.LambertConformalConicRef.equals(Object) checks for operand being a org.deegree.cs.projections.conic.LambertConformalConic | BAD_PRACTICE | EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS | 81 | High |
org.deegree.cs.refs.projections.LambertConformalConicRef defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 81 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.refs.projections.MercatorRef defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 72 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.refs.projections.ProjectionRef defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 174 | High |
org.deegree.cs.refs.projections.ProjectionRef is Serializable but its superclass doesn't define an accessible void constructor | BAD_PRACTICE | SE_NO_SUITABLE_CONSTRUCTOR | 71 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.refs.projections.StereographicAlternativeRef defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 73 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.refs.projections.StereographicAzimuthalRef.equals(Object) checks for operand being a org.deegree.cs.projections.azimuthal.StereographicAzimuthal | BAD_PRACTICE | EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS | 77 | High |
org.deegree.cs.refs.projections.StereographicAzimuthalRef defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 77 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
org.deegree.cs.refs.projections.TransverseMercatorRef.equals(Object) checks for operand being a org.deegree.cs.projections.cylindric.TransverseMercator | BAD_PRACTICE | EQ_CHECK_FOR_OPERAND_NOT_COMPATIBLE_WITH_THIS | 85 | High |
org.deegree.cs.refs.projections.TransverseMercatorRef defines equals and uses Object.hashCode() | BAD_PRACTICE | HE_EQUALS_USE_HASHCODE | 85 | High |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Switch statement found in org.deegree.cs.transformations.TransformationFactory.createTransformation(ICompoundCRS, ICompoundCRS) where one case falls through to the next case | STYLE | SF_SWITCH_FALLTHROUGH | 697 | Medium |