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
1175300

org.deegree.feature.persistence.mapping.antlr.FMLLexer

BugCategoryDetailsLinePriority
Switch statement found in org.deegree.feature.persistence.mapping.antlr.FMLLexer.mIdentifier() where default case is missingSTYLESF_SWITCH_NO_DEFAULT134Medium
Switch statement found in org.deegree.feature.persistence.mapping.antlr.FMLLexer.mTokens() where default case is missingSTYLESF_SWITCH_NO_DEFAULT445Medium

org.deegree.feature.persistence.mapping.antlr.FMLParser

BugCategoryDetailsLinePriority
org.deegree.feature.persistence.mapping.antlr.FMLParser.getTokenNames() may expose internal representation by returning FMLParser.tokenNamesMALICIOUS_CODEEI_EXPOSE_REP57Medium
org.deegree.feature.persistence.mapping.antlr.FMLParser.tokenNames should be package protectedMALICIOUS_CODEMS_PKGPROTECT21Medium
Possible null pointer dereference of null in org.deegree.feature.persistence.mapping.antlr.FMLParser.stringConst()CORRECTNESSNP_NULL_ON_SOME_PATH294Medium
Redundant nullcheck of ma, which is known to be non-null in org.deegree.feature.persistence.mapping.antlr.FMLParser.function()STYLERCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE398Medium
Redundant nullcheck of ma2, which is known to be non-null in org.deegree.feature.persistence.mapping.antlr.FMLParser.function()STYLERCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE434Medium
Redundant nullcheck of dbField2, which is known to be non-null in org.deegree.feature.persistence.mapping.antlr.FMLParser.mappingExpr()STYLERCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE199Medium
Redundant nullcheck of stringConst4, which is known to be non-null in org.deegree.feature.persistence.mapping.antlr.FMLParser.mappingExpr()STYLERCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE233Medium
Nullcheck of function3 at line 214 of value previously dereferenced in org.deegree.feature.persistence.mapping.antlr.FMLParser.mappingExpr()CORRECTNESSRCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE214High
Switch statement found in org.deegree.feature.persistence.mapping.antlr.FMLParser.dbField() where default case is missingSTYLESF_SWITCH_NO_DEFAULT581Medium
Switch statement found in org.deegree.feature.persistence.mapping.antlr.FMLParser.function() where default case is missingSTYLESF_SWITCH_NO_DEFAULT375Medium
Switch statement found in org.deegree.feature.persistence.mapping.antlr.FMLParser.mappingExpr() where default case is missingSTYLESF_SWITCH_NO_DEFAULT185Medium

org.deegree.feature.persistence.sql.MappedAppSchema

BugCategoryDetailsLinePriority
new org.deegree.feature.persistence.sql.MappedAppSchema(FeatureType[], Map, Map, GMLSchemaInfoSet, FeatureTypeMapping[], BBoxTableMapping, BlobMapping, GeometryStorageParams, boolean, RelationalModel, List, Map) makes inefficient use of keySet iterator instead of entrySet iteratorPERFORMANCEWMI_WRONG_MAP_ITERATOR144Medium

org.deegree.feature.persistence.sql.SQLFeatureStore

BugCategoryDetailsLinePriority
Redundant nullcheck of org.deegree.feature.persistence.sql.jaxb.SQLFeatureStoreJAXB$JDBCConnId.getFetchSize(), which is known to be non-null in new org.deegree.feature.persistence.sql.SQLFeatureStore(SQLFeatureStoreJAXB, URL, SQLDialect)STYLERCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE211Medium
Exception is caught when Exception is not thrown in org.deegree.feature.persistence.sql.SQLFeatureStore.queryByOperatorFilter(Query, QName, OperatorFilter)STYLEREC_CATCH_EXCEPTION1422Medium
Exception is caught when Exception is not thrown in org.deegree.feature.persistence.sql.SQLFeatureStore.queryByOperatorFilterBlob(Query, QName, OperatorFilter)STYLEREC_CATCH_EXCEPTION1307Medium
Exception is caught when Exception is not thrown in org.deegree.feature.persistence.sql.SQLFeatureStore.queryHitsByOperatorFilter(Query, QName, OperatorFilter)STYLEREC_CATCH_EXCEPTION811Medium
Exception is caught when Exception is not thrown in org.deegree.feature.persistence.sql.SQLFeatureStore.queryHitsByOperatorFilterBlob(Query, QName, OperatorFilter)STYLEREC_CATCH_EXCEPTION876Medium
Exception is caught when Exception is not thrown in org.deegree.feature.persistence.sql.SQLFeatureStore.queryMultipleFts(Query[], Envelope)STYLEREC_CATCH_EXCEPTION1499Medium
org.deegree.feature.persistence.sql.SQLFeatureStore.calcEnvelope(FeatureTypeMapping, Connection) passes a nonconstant String to an execute method on an SQL statementSECURITYSQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE504High
A prepared statement is generated from a nonconstant String in org.deegree.feature.persistence.sql.SQLFeatureStore.queryByOperatorFilter(Query, QName, OperatorFilter) SECURITYSQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING1401High
A prepared statement is generated from a nonconstant String in org.deegree.feature.persistence.sql.SQLFeatureStore.queryHitsByOperatorFilter(Query, QName, OperatorFilter) SECURITYSQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING795High
A prepared statement is generated from a nonconstant String in org.deegree.feature.persistence.sql.SQLFeatureStore.queryMultipleFts(Query[], Envelope) SECURITYSQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING1478High

org.deegree.feature.persistence.sql.SQLFeatureStore$FeatureResultSetIterator

BugCategoryDetailsLinePriority
Should org.deegree.feature.persistence.sql.SQLFeatureStore$FeatureResultSetIterator be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATIC1545Medium

org.deegree.feature.persistence.sql.SQLFeatureStoreTransaction

BugCategoryDetailsLinePriority
org.deegree.feature.persistence.sql.SQLFeatureStoreTransaction.deleteJoinedRows(Mapping, Map) may fail to clean up java.sql.ResultSetEXPERIMENTALOBL_UNSATISFIED_OBLIGATION468Medium
org.deegree.feature.persistence.sql.SQLFeatureStoreTransaction.performInsert(FeatureCollection, IDGenMode) may fail to clean up java.sql.Statement on checked exceptionEXPERIMENTALOBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE627Medium
A prepared statement is generated from a nonconstant String in org.deegree.feature.persistence.sql.SQLFeatureStoreTransaction.performInsert(FeatureCollection, IDGenMode) SECURITYSQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING627Medium

org.deegree.feature.persistence.sql.blob.BlobCodec

BugCategoryDetailsLinePriority
org.deegree.feature.persistence.sql.blob.BlobCodec.encode(GMLObject, Map, OutputStream, ICRS) may fail to clean up java.io.OutputStream on checked exceptionEXPERIMENTALOBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE155Medium

org.deegree.feature.persistence.sql.config.ColumnMetadata

BugCategoryDetailsLinePriority
Unread field: org.deegree.feature.persistence.sql.config.ColumnMetadata.sqlTypeNamePERFORMANCEURF_UNREAD_FIELD602Medium

org.deegree.feature.persistence.sql.config.ColumnMetadataOld

BugCategoryDetailsLinePriority
Unread field: org.deegree.feature.persistence.sql.config.ColumnMetadataOld.sqlTypeNamePERFORMANCEURF_UNREAD_FIELD588Medium

org.deegree.feature.persistence.sql.config.MappedSchemaBuilderGML

BugCategoryDetailsLinePriority
org.deegree.feature.persistence.sql.config.MappedSchemaBuilderGML.addNamespaceBindings(String, AppSchema, List) makes inefficient use of keySet iterator instead of entrySet iteratorPERFORMANCEWMI_WRONG_MAP_ITERATOR233Medium

org.deegree.feature.persistence.sql.config.MappedSchemaBuilderTable

BugCategoryDetailsLinePriority
org.deegree.feature.persistence.sql.config.MappedSchemaBuilderTable.getColumns(TableName) passes a nonconstant String to an execute method on an SQL statementSECURITYSQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE501High

org.deegree.feature.persistence.sql.config.MappedSchemaBuilderTableOld

BugCategoryDetailsLinePriority
Redundant nullcheck of org.deegree.feature.persistence.sql.jaxb.GeometryPropertyJAXB.getDim(), which is known to be non-null in org.deegree.feature.persistence.sql.config.MappedSchemaBuilderTableOld.process(TableName, AbstractPropertyJAXB)STYLERCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE354Medium
org.deegree.feature.persistence.sql.config.MappedSchemaBuilderTableOld.getColumns(TableName) passes a nonconstant String to an execute method on an SQL statementSECURITYSQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE487High

org.deegree.feature.persistence.sql.ddl.OracleDDLCreator

BugCategoryDetailsLinePriority
Dead store to schema in org.deegree.feature.persistence.sql.ddl.OracleDDLCreator.getGeometryCreate(GeometryMapping, DBField, TableName)STYLEDLS_DEAD_LOCAL_STORE128Medium
Dead store to srid in org.deegree.feature.persistence.sql.ddl.OracleDDLCreator.getGeometryCreate(GeometryMapping, DBField, TableName)STYLEDLS_DEAD_LOCAL_STORE130Medium

org.deegree.feature.persistence.sql.expressions.Function

BugCategoryDetailsLinePriority
org.deegree.feature.persistence.sql.expressions.Function.toString() concatenates strings using + in a loopPERFORMANCESBSC_USE_STRINGBUFFER_CONCATENATION75Medium

org.deegree.feature.persistence.sql.id.IdAnalysis

BugCategoryDetailsLinePriority
Invocation of toString on IdAnalysis.idKernels in org.deegree.feature.persistence.sql.id.IdAnalysis.toString()CORRECTNESSDMI_INVOKING_TOSTRING_ON_ARRAY92High
org.deegree.feature.persistence.sql.id.IdAnalysis.getIdKernels() may expose internal representation by returning IdAnalysis.idKernelsMALICIOUS_CODEEI_EXPOSE_REP80Medium
Unread field: org.deegree.feature.persistence.sql.id.IdAnalysis.isFid; should this field be static?PERFORMANCESS_SHOULD_BE_STATIC54Medium

org.deegree.feature.persistence.sql.insert.FeatureRow

BugCategoryDetailsLinePriority
org.deegree.feature.persistence.sql.insert.FeatureRow.buildNewFid() concatenates strings using + in a loopPERFORMANCESBSC_USE_STRINGBUFFER_CONCATENATION220Medium

org.deegree.feature.persistence.sql.insert.InsertRow

BugCategoryDetailsLinePriority
org.deegree.feature.persistence.sql.insert.InsertRow.performInsert(Connection, boolean) may fail to clean up java.sql.Statement on checked exceptionEXPERIMENTALOBL_UNSATISFIED_OBLIGATION_EXCEPTION_EDGE202Medium
org.deegree.feature.persistence.sql.insert.InsertRow.generateImmediateKeys(Map) makes inefficient use of keySet iterator instead of entrySet iteratorPERFORMANCEWMI_WRONG_MAP_ITERATOR97Medium

org.deegree.feature.persistence.sql.mapper.AppSchemaMapper

BugCategoryDetailsLinePriority
Redundant nullcheck of ftJoin, which is known to be non-null in org.deegree.feature.persistence.sql.mapper.AppSchemaMapper.generatePropMapping(FeaturePropertyType, MappingContext)STYLERCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE407Medium

org.deegree.feature.persistence.sql.rules.CompoundMapping

BugCategoryDetailsLinePriority
org.deegree.feature.persistence.sql.rules.CompoundMapping.toString() concatenates strings using + in a loopPERFORMANCESBSC_USE_STRINGBUFFER_CONCATENATION78Medium

org.deegree.feature.persistence.sql.rules.FeatureBuilderRelational

BugCategoryDetailsLinePriority
instanceof will always return true for all nonnull values in org.deegree.feature.persistence.sql.rules.FeatureBuilderRelational.buildParticle(Mapping, ResultSet, LinkedHashMap, String), since all org.deegree.commons.tom.genericxml.GenericXMLElement are instances of org.deegree.commons.tom.genericxml.GenericXMLElementSTYLEBC_VACUOUS_INSTANCEOF533Medium
org.deegree.feature.persistence.sql.rules.FeatureBuilderRelational.getJoinedResultSet(TableJoin, Mapping, ResultSet, LinkedHashMap) may fail to clean up java.sql.ResultSetEXPERIMENTALOBL_UNSATISFIED_OBLIGATION700Medium
org.deegree.feature.persistence.sql.rules.FeatureBuilderRelational.getJoinedResultSet(TableJoin, Mapping, ResultSet, LinkedHashMap) may fail to clean up java.sql.StatementEXPERIMENTALOBL_UNSATISFIED_OBLIGATION690Medium
A prepared statement is generated from a nonconstant String in org.deegree.feature.persistence.sql.rules.FeatureBuilderRelational.getJoinedResultSet(TableJoin, Mapping, ResultSet, LinkedHashMap) SECURITYSQL_PREPARED_STATEMENT_GENERATED_FROM_NONCONSTANT_STRING690Medium

org.deegree.feature.persistence.sql.xpath.AttrStep

BugCategoryDetailsLinePriority
org.deegree.feature.persistence.sql.xpath.AttrStep defines equals and uses Object.hashCode()BAD_PRACTICEHE_EQUALS_USE_HASHCODE56Medium

org.deegree.feature.persistence.sql.xpath.ElementStep

BugCategoryDetailsLinePriority
org.deegree.feature.persistence.sql.xpath.ElementStep defines equals and uses Object.hashCode()BAD_PRACTICEHE_EQUALS_USE_HASHCODE67Medium