FindBugs Bug Detector Report

The following document contains the results of FindBugs Report

FindBugs Version is 2.0.1

Threshold is medium

Effort is min

Summary

ClassesBugsErrorsMissing Classes
2156200

org.deegree.feature.Features

BugCategoryDetailsLinePriority
instanceof will always return true for all nonnull values in org.deegree.feature.Features.findFeaturesAndGeometries(TypedObjectNode, Set, Set, Set, Set), since all org.deegree.commons.tom.Reference are instances of org.deegree.commons.tom.ReferenceSTYLEBC_VACUOUS_INSTANCEOF222Medium

org.deegree.feature.property.ExtraProps

BugCategoryDetailsLinePriority
org.deegree.feature.property.ExtraProps.getProperties() may expose internal representation by returning ExtraProps.propsMALICIOUS_CODEEI_EXPOSE_REP77Medium
new org.deegree.feature.property.ExtraProps(Property[]) may expose internal representation by storing an externally mutable object into ExtraProps.propsMALICIOUS_CODEEI_EXPOSE_REP268Medium

org.deegree.feature.stream.CombinedFeatureInputStream

BugCategoryDetailsLinePriority
Unread field: org.deegree.feature.stream.CombinedFeatureInputStream.lastClosedPERFORMANCEURF_UNREAD_FIELD59Medium

org.deegree.feature.stream.ThreadedFeatureInputStream$QueueFiller

BugCategoryDetailsLinePriority
Inconsistent synchronization of org.deegree.feature.stream.ThreadedFeatureInputStream$QueueFiller.sleeping; locked 50% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC224Medium
Naked notify in org.deegree.feature.stream.ThreadedFeatureInputStream$QueueFiller.exit()MT_CORRECTNESSNN_NAKED_NOTIFY226Medium
Naked notify in org.deegree.feature.stream.ThreadedFeatureInputStream$QueueFiller.hasNext()MT_CORRECTNESSNN_NAKED_NOTIFY191Medium
Naked notify in org.deegree.feature.stream.ThreadedFeatureInputStream$QueueFiller.run()MT_CORRECTNESSNN_NAKED_NOTIFY179Medium
Should org.deegree.feature.stream.ThreadedFeatureInputStream$QueueFiller be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATIC123Medium

org.deegree.feature.types.DynamicFeatureType

BugCategoryDetailsLinePriority
org.deegree.feature.types.DynamicFeatureType.toString() concatenates strings using + in a loopPERFORMANCESBSC_USE_STRINGBUFFER_CONCATENATION195Medium

org.deegree.feature.types.GenericFeatureCollectionType

BugCategoryDetailsLinePriority
org.deegree.feature.types.GenericFeatureCollectionType.toString() concatenates strings using + in a loopPERFORMANCESBSC_USE_STRINGBUFFER_CONCATENATION97Medium

org.deegree.feature.types.property.AbstractPropertyType

BugCategoryDetailsLinePriority
org.deegree.feature.types.property.AbstractPropertyType.getSubstitutions() may expose internal representation by returning AbstractPropertyType.substitutionsMALICIOUS_CODEEI_EXPOSE_REP131Medium

org.deegree.feature.utils.DBUtils

BugCategoryDetailsLinePriority
org.deegree.feature.utils.DBUtils.fetchGeometrySchemas(String, DeegreeWorkspace) may fail to clean up java.sql.ResultSetEXPERIMENTALOBL_UNSATISFIED_OBLIGATION184Medium
org.deegree.feature.utils.DBUtils.fetchGeometryTables(String, String, DeegreeWorkspace) may fail to clean up java.sql.ResultSetEXPERIMENTALOBL_UNSATISFIED_OBLIGATION227Medium
return value of java.sql.PreparedStatement.executeQuery() ignored in org.deegree.feature.utils.DBUtils.fetchGeometrySchemas(String, DeegreeWorkspace)CORRECTNESSRV_RETURN_VALUE_IGNORED184Medium
return value of java.sql.PreparedStatement.executeQuery() ignored in org.deegree.feature.utils.DBUtils.fetchGeometryTables(String, String, DeegreeWorkspace)CORRECTNESSRV_RETURN_VALUE_IGNORED227Medium

org.deegree.feature.xpath.GMLObjectNavigator

BugCategoryDetailsLinePriority
Class org.deegree.feature.xpath.GMLObjectNavigator defines non-transient non-serializable instance field documentNodeBAD_PRACTICESE_BAD_FIELDMedium

org.deegree.feature.xpath.PropertyNodeIterator

BugCategoryDetailsLinePriority
Null passed for nonnull parameter of new org.deegree.feature.xpath.node.PropertyNode(GMLObjectNode, Property) in org.deegree.feature.xpath.PropertyNodeIterator.next()CORRECTNESSNP_NULL_PARAM_DEREF81Medium

org.deegree.filter.Filters

BugCategoryDetailsLinePriority
Possible null pointer dereference of geometries in org.deegree.filter.Filters.getGeometries(Filter) on exception pathCORRECTNESSNP_NULL_ON_SOME_PATH_EXCEPTION361Medium
Possible null pointer dereference of propNames in org.deegree.filter.Filters.getPropertyNames(Filter) on exception pathCORRECTNESSNP_NULL_ON_SOME_PATH_EXCEPTION302Medium

org.deegree.filter.function.FunctionManager

BugCategoryDetailsLinePriority
Write to static field org.deegree.filter.function.FunctionManager.nameToFunction from instance method org.deegree.filter.function.FunctionManager.shutdown()STYLEST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD148Medium
Write to static field org.deegree.filter.function.FunctionManager.functionLoader from instance method org.deegree.filter.function.FunctionManager.startup(DeegreeWorkspace)STYLEST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD124Medium

org.deegree.filter.logical.And

BugCategoryDetailsLinePriority
Double assignment of field And.params in new org.deegree.filter.logical.And(Operator[])STYLESA_FIELD_DOUBLE_ASSIGNMENT73Medium

org.deegree.filter.logical.Or

BugCategoryDetailsLinePriority
Double assignment of field Or.params in new org.deegree.filter.logical.Or(Operator[])STYLESA_FIELD_DOUBLE_ASSIGNMENT73Medium

org.deegree.filter.xml.Filter100XMLDecoder

BugCategoryDetailsLinePriority
Switch statement found in org.deegree.filter.xml.Filter100XMLDecoder.parseComparisonOperator(XMLStreamReader) where default case is missingSTYLESF_SWITCH_NO_DEFAULT509Medium
Switch statement found in org.deegree.filter.xml.Filter100XMLDecoder.parseOperator(XMLStreamReader) where default case is missingSTYLESF_SWITCH_NO_DEFAULT546Medium

org.deegree.filter.xml.Filter110XMLDecoder

BugCategoryDetailsLinePriority
Switch statement found in org.deegree.filter.xml.Filter110XMLDecoder.parseComparisonOperator(XMLStreamReader) where default case is missingSTYLESF_SWITCH_NO_DEFAULT509Medium
Switch statement found in org.deegree.filter.xml.Filter110XMLDecoder.parseOperator(XMLStreamReader) where default case is missingSTYLESF_SWITCH_NO_DEFAULT546Medium

org.deegree.filter.xml.Filter110XMLEncoder

BugCategoryDetailsLinePriority
Null passed for nonnull parameter of export(Expression, XMLStreamWriter) in org.deegree.filter.xml.Filter110XMLEncoder.export(SpatialOperator, XMLStreamWriter)CORRECTNESSNP_NULL_PARAM_DEREF442Medium
Switch statement found in org.deegree.filter.xml.Filter110XMLEncoder.export(Operator, XMLStreamWriter) where default case is missingSTYLESF_SWITCH_NO_DEFAULT241Medium
Switch statement found in org.deegree.filter.xml.Filter110XMLEncoder.export(ComparisonOperator, XMLStreamWriter) where default case is missingSTYLESF_SWITCH_NO_DEFAULT307Medium

org.deegree.filter.xml.Filter200XMLDecoder

BugCategoryDetailsLinePriority
Switch statement found in org.deegree.filter.xml.Filter200XMLDecoder.parseExpression(XMLStreamReader) where default case is missingSTYLESF_SWITCH_NO_DEFAULT363Medium
Switch statement found in org.deegree.filter.xml.Filter200XMLDecoder.parseOperator(XMLStreamReader) where default case is missingSTYLESF_SWITCH_NO_DEFAULT656Medium

org.deegree.gml.commons.AbstractGMLObjectReader

BugCategoryDetailsLinePriority
Redundant nullcheck of attrDecl, which is known to be non-null in org.deegree.gml.commons.AbstractGMLObjectReader.parseAttributes(XMLStreamReader, XSElementDeclaration)STYLERCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE694Medium

org.deegree.gml.commons.AbstractGMLObjectWriter

BugCategoryDetailsLinePriority
Load of known null value in org.deegree.gml.commons.AbstractGMLObjectWriter.writeStartElementWithNS(String, String)STYLENP_LOAD_OF_KNOWN_NULL_VALUE116Medium

org.deegree.gml.feature.GMLFeatureWriter

BugCategoryDetailsLinePriority
Comparison of String objects using == or != in org.deegree.gml.feature.GMLFeatureWriter.export(Feature, GmlXlinkOptions) BAD_PRACTICEES_COMPARING_STRINGS_WITH_EQ494Medium
Load of known null value in org.deegree.gml.feature.GMLFeatureWriter.exportFeatureProperty(FeaturePropertyType, Feature, GmlXlinkOptions)STYLENP_LOAD_OF_KNOWN_NULL_VALUE610Medium

org.deegree.gml.geometry.GML3CurveSegmentReader

BugCategoryDetailsLinePriority
Check for oddness that won't work for negative numbers in org.deegree.gml.geometry.GML3CurveSegmentReader.parseArcString(XMLStreamReaderWrapper, ICRS)STYLEIM_BAD_CHECK_FOR_ODD358Medium
Load of known null value in org.deegree.gml.geometry.GML3CurveSegmentReader.parseCircleByCenterPoint(XMLStreamReaderWrapper, ICRS)STYLENP_LOAD_OF_KNOWN_NULL_VALUE629Medium
Possible null pointer dereference of points in org.deegree.gml.geometry.GML3CurveSegmentReader.parseGeodesic(XMLStreamReaderWrapper, ICRS)CORRECTNESSNP_NULL_ON_SOME_PATH819Medium
Possible null pointer dereference of points in org.deegree.gml.geometry.GML3CurveSegmentReader.parseGeodesicString(XMLStreamReaderWrapper, ICRS)CORRECTNESSNP_NULL_ON_SOME_PATH872Medium

org.deegree.gml.geometry.GML3GeometryBaseReader

BugCategoryDetailsLinePriority
Dead store to value in org.deegree.gml.geometry.GML3GeometryBaseReader.parseAngleType(XMLStreamReaderWrapper)STYLEDLS_DEAD_LOCAL_STORE279Medium
Dead store to value in org.deegree.gml.geometry.GML3GeometryBaseReader.parseLengthType(XMLStreamReaderWrapper)STYLEDLS_DEAD_LOCAL_STORE260Medium
Dead store to value in org.deegree.gml.geometry.GML3GeometryBaseReader.parseMeasureType(XMLStreamReaderWrapper)STYLEDLS_DEAD_LOCAL_STORE298Medium

org.deegree.gml.geometry.GML3GeometryReader

BugCategoryDetailsLinePriority
Possible null pointer dereference of points in org.deegree.gml.geometry.GML3GeometryReader.parseLineString(XMLStreamReaderWrapper, ICRS)CORRECTNESSNP_NULL_ON_SOME_PATH1188Medium
Possible null pointer dereference of controlPoints in org.deegree.gml.geometry.GML3GeometryReader.parseTin(XMLStreamReaderWrapper, ICRS)CORRECTNESSNP_NULL_ON_SOME_PATH1708Medium

org.deegree.gml.geometry.validation.GmlStreamGeometryValidator$ValidationEventRedirector

BugCategoryDetailsLinePriority
Should org.deegree.gml.geometry.validation.GmlStreamGeometryValidator$ValidationEventRedirector be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATIC137Medium

org.deegree.gml.props.GMLStdPropsImpl

BugCategoryDetailsLinePriority
org.deegree.gml.props.GMLStdPropsImpl.getMetadata() may expose internal representation by returning GMLStdPropsImpl.metadataMALICIOUS_CODEEI_EXPOSE_REP232Medium
org.deegree.gml.props.GMLStdPropsImpl.getNames() may expose internal representation by returning GMLStdPropsImpl.namesMALICIOUS_CODEEI_EXPOSE_REP259Medium
new org.deegree.gml.props.GMLStdPropsImpl(TypedObjectNode[], StringOrRef, CodeType, CodeType[]) may expose internal representation by storing an externally mutable object into GMLStdPropsImpl.metadataMALICIOUS_CODEEI_EXPOSE_REP2215Medium
new org.deegree.gml.props.GMLStdPropsImpl(TypedObjectNode[], StringOrRef, CodeType, CodeType[]) may expose internal representation by storing an externally mutable object into GMLStdPropsImpl.namesMALICIOUS_CODEEI_EXPOSE_REP2222Medium
org.deegree.gml.props.GMLStdPropsImpl.toString() concatenates strings using + in a loopPERFORMANCESBSC_USE_STRINGBUFFER_CONCATENATION268Medium

org.deegree.gml.reference.GmlXlinkOptions

BugCategoryDetailsLinePriority
Unread field: org.deegree.gml.reference.GmlXlinkOptions.resolvePathPERFORMANCEURF_UNREAD_FIELD70Medium

org.deegree.gml.schema.GMLAppSchemaReader

BugCategoryDetailsLinePriority
Switch statement found in org.deegree.gml.schema.GMLAppSchemaReader.addPropertyTypes(List, XSModelGroup, int, int) where default case is missingSTYLESF_SWITCH_NO_DEFAULT486Medium
Switch statement found in org.deegree.gml.schema.GMLAppSchemaReader.buildPropertyType(XSElementDeclaration, int, int) where default case is missingSTYLESF_SWITCH_NO_DEFAULT552Medium

org.deegree.gml.schema.GMLAppSchemaWriter

BugCategoryDetailsLinePriority
Switch statement found in org.deegree.gml.schema.GMLAppSchemaWriter.exportComplexType(XMLStreamWriter, XSComplexTypeDefinition) where default case is missingSTYLESF_SWITCH_NO_DEFAULT890Medium
Switch statement found in org.deegree.gml.schema.GMLAppSchemaWriter.getFacetName(short) where default case is missingSTYLESF_SWITCH_NO_DEFAULT1070Medium
new org.deegree.gml.schema.GMLAppSchemaWriter(GMLVersion, String, Map, Map) makes inefficient use of keySet iterator instead of entrySet iteratorPERFORMANCEWMI_WRONG_MAP_ITERATOR236Medium

org.deegree.gml.schema.GMLSchemaInfoSet

BugCategoryDetailsLinePriority
Switch statement found in org.deegree.gml.schema.GMLSchemaInfoSet.buildFeaturePropertyType(QName, XSElementDeclaration, XSComplexTypeDefinition, int, int, List) where default case is missingSTYLESF_SWITCH_NO_DEFAULT726Medium
Switch statement found in org.deegree.gml.schema.GMLSchemaInfoSet.buildGeometryPropertyType(QName, XSElementDeclaration, XSComplexTypeDefinition, int, int, List) where default case is missingSTYLESF_SWITCH_NO_DEFAULT963Medium
Switch statement found in org.deegree.gml.schema.GMLSchemaInfoSet.determineModelGroupDefinedValueElement(XSComplexTypeDefinition) where default case is missingSTYLESF_SWITCH_NO_DEFAULT1199Medium

org.deegree.gml.schema.WellKnownGMLTypes

BugCategoryDetailsLinePriority
Possible null pointer dereference of schemaReader in org.deegree.gml.schema.WellKnownGMLTypes.extractFcCollectionType(String, GMLVersion, QName) on exception pathCORRECTNESSNP_NULL_ON_SOME_PATH_EXCEPTION117Medium