FindBugs Bug Detector Report

The following document contains the results of FindBugs Report

FindBugs Version is 1.1.1

Threshold is Low

Effort is Default

Summary

ClassesBugsErrorsMissing Classes
827648789

Files

ClassBugs
com.atlassian.user.configuration.util.InitializationCheck1
com.atlassian.user.configuration.xml.XMLConfigurationParser2
com.atlassian.user.impl.DefaultEntity3
com.atlassian.user.impl.DefaultUser1
com.atlassian.user.impl.cache.CachingUserManager4
com.atlassian.user.impl.cache.GroupCache$11
com.atlassian.user.impl.cache.properties.CachedPropertySet2
com.atlassian.user.impl.delegation.repository.DelegatingRepository2
com.atlassian.user.impl.hibernate.CachingExternalEntityDAO1
com.atlassian.user.impl.hibernate.DefaultHibernateGroup3
com.atlassian.user.impl.hibernate.DefaultHibernateUser2
com.atlassian.user.impl.hibernate.HibernateGroupManager1
com.atlassian.user.impl.hibernate.repository.DefaultHibernateRepository2
com.atlassian.user.impl.ldap.DefaultLDAPGroup1
com.atlassian.user.impl.ldap.DefaultLDAPUser1
com.atlassian.user.impl.ldap.properties.DefaultLdapConnectionProperties1
com.atlassian.user.impl.ldap.search.LDAPPagerInfo2
com.atlassian.user.impl.ldap.search.query.LDAPEntityQueryParser1
com.atlassian.user.impl.memory.provider.MemoryProvider$Membership1
com.atlassian.user.impl.osuser.DefaultOSUAccessor1
com.atlassian.user.impl.osuser.OSUGroup1
com.atlassian.user.impl.osuser.OSUGroupManager1
com.atlassian.user.impl.osuser.OSUUserManager2
com.atlassian.user.impl.osuser.config.xml.DefaultOSUConfigurationHandler2
com.atlassian.user.impl.osuser.config.xml.DefaultOSUConfigurationLoader1
com.atlassian.user.impl.osuser.properties.OSUPropertySetFactory1
com.atlassian.user.impl.osuser.security.password.OSUPasswordEncryptor6
com.atlassian.user.search.EntityNameAlphaComparator1
com.atlassian.user.search.page.DefaultPager1
com.atlassian.user.search.page.MergedPager$11
com.atlassian.user.search.page.PagerUtils1
com.atlassian.user.search.query.AbstractSingleTermQuery1
com.atlassian.user.search.query.DefaultEntityQueryParser2
com.atlassian.user.search.query.MultiTermBooleanQuery1
com.atlassian.user.search.query.match.ContainsIgnoreCaseMatcher1
com.atlassian.user.search.query.match.EndsWithIgnoreCaseMatcher1
com.atlassian.user.search.query.match.StartsWithIgnoreCaseMatcher1
com.atlassian.user.util.Base64Encoder1
com.atlassian.user.util.FileUtils1
com.atlassian.user.util.LDAPConnectionPoolUtils1
com.atlassian.user.util.migration.OSUEntityMigrator2
com.atlassian.user.util.migration.OSUEntityMigrator$TransitionUser1

com.atlassian.user.configuration.util.InitializationCheck

BugCategoryDetailsLine
Method com.atlassian.user.configuration.util.InitializationCheck.validateArgs(java.util.HashMap,String[],Object) concatenates strings using + in a loopPERFORMANCESBSC_USE_STRINGBUFFER_CONCATENATION28

com.atlassian.user.configuration.xml.XMLConfigurationParser

BugCategoryDetailsLine
Method com.atlassian.user.configuration.xml.XMLConfigurationParser.parseRepositories(org.dom4j.Node) makes inefficient use of keySet iterator instead of entrySet iteratorPERFORMANCEWMI_WRONG_MAP_ITERATOR137
Method com.atlassian.user.configuration.xml.XMLConfigurationParser.parseRepositories(org.dom4j.Node) makes inefficient use of keySet iterator instead of entrySet iteratorPERFORMANCEWMI_WRONG_MAP_ITERATOR147

com.atlassian.user.impl.DefaultEntity

BugCategoryDetailsLine
com.atlassian.user.impl.DefaultEntity.getCreated() may expose internal representation by returning com.atlassian.user.impl.DefaultEntity.createdMALICIOUS_CODEEI_EXPOSE_REP35
com.atlassian.user.impl.DefaultEntity.setCreated(java.util.Date) may expose internal representation by storing an externally mutable object into com.atlassian.user.impl.DefaultEntity.createdMALICIOUS_CODEEI_EXPOSE_REP240
com.atlassian.user.impl.DefaultEntity.created is transient but com.atlassian.user.impl.DefaultEntity isn't SerializableSTYLESE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASSNot available

com.atlassian.user.impl.DefaultUser

BugCategoryDetailsLine
com.atlassian.user.impl.DefaultUser.log is transient but com.atlassian.user.impl.DefaultUser isn't SerializableSTYLESE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASSNot available

com.atlassian.user.impl.cache.CachingUserManager

BugCategoryDetailsLine
Inconsistent synchronization of com.atlassian.user.impl.cache.CachingUserManager.repositoryCacheName; locked % of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC115
Inconsistent synchronization of com.atlassian.user.impl.cache.CachingUserManager.userCacheName; locked % of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC95
Inconsistent synchronization of com.atlassian.user.impl.cache.CachingUserManager.userROCacheName; locked % of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC105
com.atlassian.user.impl.cache.CachingUserManager.NULL_USER isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL24

com.atlassian.user.impl.cache.GroupCache$1

BugCategoryDetailsLine
com.atlassian.user.impl.cache.GroupCache$1.equals(Object) does not check for null argumentBAD_PRACTICENP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT34

com.atlassian.user.impl.cache.properties.CachedPropertySet

BugCategoryDetailsLine
Class com.atlassian.user.impl.cache.properties.CachedPropertySet defines non-transient non-serializable instance field decoratedPSBAD_PRACTICESE_BAD_FIELDNot available
com.atlassian.user.impl.cache.properties.CachedPropertySet is Serializable; consider declaring a serialVersionUIDBAD_PRACTICESE_NO_SERIALVERSIONIDNot available

com.atlassian.user.impl.delegation.repository.DelegatingRepository

BugCategoryDetailsLine
com.atlassian.user.impl.delegation.repository.DelegatingRepository.DELEGATING is transient but com.atlassian.user.impl.delegation.repository.DelegatingRepository isn't SerializableSTYLESE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASSNot available
com.atlassian.user.impl.delegation.repository.DelegatingRepository.repositories is transient but com.atlassian.user.impl.delegation.repository.DelegatingRepository isn't SerializableSTYLESE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASSNot available

com.atlassian.user.impl.hibernate.CachingExternalEntityDAO

BugCategoryDetailsLine
Field not initialized in constructor: com.atlassian.user.impl.hibernate.CachingExternalEntityDAO.cacheManagerSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available

com.atlassian.user.impl.hibernate.DefaultHibernateGroup

BugCategoryDetailsLine
com.atlassian.user.impl.hibernate.DefaultHibernateGroup.externalMembers is transient but com.atlassian.user.impl.hibernate.DefaultHibernateGroup isn't SerializableSTYLESE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASSNot available
com.atlassian.user.impl.hibernate.DefaultHibernateGroup.id is transient but com.atlassian.user.impl.hibernate.DefaultHibernateGroup isn't SerializableSTYLESE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASSNot available
com.atlassian.user.impl.hibernate.DefaultHibernateGroup.localMembers is transient but com.atlassian.user.impl.hibernate.DefaultHibernateGroup isn't SerializableSTYLESE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASSNot available

com.atlassian.user.impl.hibernate.DefaultHibernateUser

BugCategoryDetailsLine
com.atlassian.user.impl.hibernate.DefaultHibernateUser.groups is transient but com.atlassian.user.impl.hibernate.DefaultHibernateUser isn't SerializableSTYLESE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASSNot available
com.atlassian.user.impl.hibernate.DefaultHibernateUser.id is transient but com.atlassian.user.impl.hibernate.DefaultHibernateUser isn't SerializableSTYLESE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASSNot available

com.atlassian.user.impl.hibernate.HibernateGroupManager

BugCategoryDetailsLine
Load of known null value in com.atlassian.user.impl.hibernate.HibernateGroupManager.validateGroupAndUser(com.atlassian.user.Group,com.atlassian.user.User)STYLENP_LOAD_OF_KNOWN_NULL_VALUE451

com.atlassian.user.impl.hibernate.repository.DefaultHibernateRepository

BugCategoryDetailsLine
com.atlassian.user.impl.hibernate.repository.DefaultHibernateRepository.hibernateConfigProvider is transient but com.atlassian.user.impl.hibernate.repository.DefaultHibernateRepository isn't SerializableSTYLESE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASSNot available
com.atlassian.user.impl.hibernate.repository.DefaultHibernateRepository.sessionFactory is transient but com.atlassian.user.impl.hibernate.repository.DefaultHibernateRepository isn't SerializableSTYLESE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASSNot available

com.atlassian.user.impl.ldap.DefaultLDAPGroup

BugCategoryDetailsLine
com.atlassian.user.impl.ldap.DefaultLDAPGroup.distinguishedName is transient but com.atlassian.user.impl.ldap.DefaultLDAPGroup isn't SerializableSTYLESE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASSNot available

com.atlassian.user.impl.ldap.DefaultLDAPUser

BugCategoryDetailsLine
com.atlassian.user.impl.ldap.DefaultLDAPUser.distinguishedName is transient but com.atlassian.user.impl.ldap.DefaultLDAPUser isn't SerializableSTYLESE_TRANSIENT_FIELD_OF_NONSERIALIZABLE_CLASSNot available

com.atlassian.user.impl.ldap.properties.DefaultLdapConnectionProperties

BugCategoryDetailsLine
Method com.atlassian.user.impl.ldap.properties.DefaultLdapConnectionProperties.isSslEnabled() invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version insteadI18NDM_CONVERT_CASE58

com.atlassian.user.impl.ldap.search.LDAPPagerInfo

BugCategoryDetailsLine
com.atlassian.user.impl.ldap.search.LDAPPagerInfo.getReturningAttributes() may expose internal representation by returning com.atlassian.user.impl.ldap.search.LDAPPagerInfo.returningAttributesMALICIOUS_CODEEI_EXPOSE_REP71
com.atlassian.user.impl.ldap.search.LDAPPagerInfo.LDAPPagerInfo(javax.naming.NamingEnumeration,net.sf.ldaptemplate.support.filter.Filter,String,boolean,String[],int) may expose internal representation by storing an externally mutable object into com.atlassian.user.impl.ldap.search.LDAPPagerInfo.returningAttributesMALICIOUS_CODEEI_EXPOSE_REP235

com.atlassian.user.impl.ldap.search.query.LDAPEntityQueryParser

BugCategoryDetailsLine
Load of known null value in com.atlassian.user.impl.ldap.search.query.LDAPEntityQueryParser.findUsers(com.atlassian.user.search.query.Query)STYLENP_LOAD_OF_KNOWN_NULL_VALUE80

com.atlassian.user.impl.memory.provider.MemoryProvider$Membership

BugCategoryDetailsLine
Should com.atlassian.user.impl.memory.provider.MemoryProvider$Membership be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATICNot available

com.atlassian.user.impl.osuser.DefaultOSUAccessor

BugCategoryDetailsLine
com.atlassian.user.impl.osuser.DefaultOSUAccessor is Serializable; consider declaring a serialVersionUIDBAD_PRACTICESE_NO_SERIALVERSIONIDNot available

com.atlassian.user.impl.osuser.OSUGroup

BugCategoryDetailsLine
Unread field: com.atlassian.user.impl.osuser.OSUGroup.osgroupPERFORMANCEURF_UNREAD_FIELDNot available

com.atlassian.user.impl.osuser.OSUGroupManager

BugCategoryDetailsLine
Method com.atlassian.user.impl.osuser.OSUGroupManager.isCreative() uses Collection.toArray() with zero-length array argumentPERFORMANCEITA_INEFFICIENT_TO_ARRAY263

com.atlassian.user.impl.osuser.OSUUserManager

BugCategoryDetailsLine
Method com.atlassian.user.impl.osuser.OSUUserManager.getOpensymphonyUser(String) invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version insteadI18NDM_CONVERT_CASE67
Load of known null value in com.atlassian.user.impl.osuser.OSUUserManager.removeUser(com.atlassian.user.User)STYLENP_LOAD_OF_KNOWN_NULL_VALUE105

com.atlassian.user.impl.osuser.config.xml.DefaultOSUConfigurationHandler

BugCategoryDetailsLine
Field not initialized in constructor: com.atlassian.user.impl.osuser.config.xml.DefaultOSUConfigurationHandler._currentPropertyValueSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available
Field not initialized in constructor: com.atlassian.user.impl.osuser.config.xml.DefaultOSUConfigurationHandler.currentPropertiesSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available

com.atlassian.user.impl.osuser.config.xml.DefaultOSUConfigurationLoader

BugCategoryDetailsLine
Method com.atlassian.user.impl.osuser.config.xml.DefaultOSUConfigurationLoader.addProvider(String,java.util.Properties) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caughtSTYLEREC_CATCH_EXCEPTION145

com.atlassian.user.impl.osuser.properties.OSUPropertySetFactory

BugCategoryDetailsLine
Method com.atlassian.user.impl.osuser.properties.OSUPropertySetFactory.getPropertySet(com.atlassian.user.Entity) invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version insteadI18NDM_CONVERT_CASE37

com.atlassian.user.impl.osuser.security.password.OSUPasswordEncryptor

BugCategoryDetailsLine
The method name com.atlassian.user.impl.osuser.security.password.OSUPasswordEncryptor.Ch(long,long,long) doesn't start with an lower case letterBAD_PRACTICENM_METHOD_NAMING_CONVENTION333
The method name com.atlassian.user.impl.osuser.security.password.OSUPasswordEncryptor.Maj(long,long,long) doesn't start with an lower case letterBAD_PRACTICENM_METHOD_NAMING_CONVENTION338
The method name com.atlassian.user.impl.osuser.security.password.OSUPasswordEncryptor.Sigma0(long) doesn't start with an lower case letterBAD_PRACTICENM_METHOD_NAMING_CONVENTION343
The method name com.atlassian.user.impl.osuser.security.password.OSUPasswordEncryptor.Sigma1(long) doesn't start with an lower case letterBAD_PRACTICENM_METHOD_NAMING_CONVENTION348
The method name com.atlassian.user.impl.osuser.security.password.OSUPasswordEncryptor.Sum0(long) doesn't start with an lower case letterBAD_PRACTICENM_METHOD_NAMING_CONVENTION353
The method name com.atlassian.user.impl.osuser.security.password.OSUPasswordEncryptor.Sum1(long) doesn't start with an lower case letterBAD_PRACTICENM_METHOD_NAMING_CONVENTION358

com.atlassian.user.search.EntityNameAlphaComparator

BugCategoryDetailsLine
com.atlassian.user.search.EntityNameAlphaComparator implements Comparator but not SerializableBAD_PRACTICESE_COMPARATOR_SHOULD_BE_SERIALIZABLENot available

com.atlassian.user.search.page.DefaultPager

BugCategoryDetailsLine
Questionable cast from Collection to abstract class java.util.List in com.atlassian.user.search.page.DefaultPager.DefaultPager(java.util.Collection)STYLEBC_BAD_CAST_TO_ABSTRACT_COLLECTION32

com.atlassian.user.search.page.MergedPager$1

BugCategoryDetailsLine
The class com.atlassian.user.search.page.MergedPager$1 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANONNot available

com.atlassian.user.search.page.PagerUtils

BugCategoryDetailsLine
Dead store to o in method com.atlassian.user.search.page.PagerUtils.count(Pager)STYLEDLS_DEAD_LOCAL_STORE45

com.atlassian.user.search.query.AbstractSingleTermQuery

BugCategoryDetailsLine
Comparison of String parameter using == or != in com.atlassian.user.search.query.AbstractSingleTermQuery.AbstractSingleTermQuery(String,String) BAD_PRACTICEES_COMPARING_PARAMETER_STRING_WITH_EQ18

com.atlassian.user.search.query.DefaultEntityQueryParser

BugCategoryDetailsLine
Method com.atlassian.user.search.query.DefaultEntityQueryParser.parseQuery(java.lang.reflect.Method,TermQuery,com.atlassian.user.search.page.Pager) invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version insteadI18NDM_CONVERT_CASE81
Method com.atlassian.user.search.query.DefaultEntityQueryParser.evaluateBoolean(BooleanQuery) catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caughtSTYLEREC_CATCH_EXCEPTION307

com.atlassian.user.search.query.MultiTermBooleanQuery

BugCategoryDetailsLine
com.atlassian.user.search.query.MultiTermBooleanQuery.MultiTermBooleanQuery(Query[],boolean) may expose internal representation by storing an externally mutable object into com.atlassian.user.search.query.MultiTermBooleanQuery.collatedQueriesMALICIOUS_CODEEI_EXPOSE_REP213

com.atlassian.user.search.query.match.ContainsIgnoreCaseMatcher

BugCategoryDetailsLine
Method com.atlassian.user.search.query.match.ContainsIgnoreCaseMatcher.matches(String,String) invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version insteadI18NDM_CONVERT_CASE15

com.atlassian.user.search.query.match.EndsWithIgnoreCaseMatcher

BugCategoryDetailsLine
Method com.atlassian.user.search.query.match.EndsWithIgnoreCaseMatcher.matches(String,String) invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version insteadI18NDM_CONVERT_CASE15

com.atlassian.user.search.query.match.StartsWithIgnoreCaseMatcher

BugCategoryDetailsLine
Method com.atlassian.user.search.query.match.StartsWithIgnoreCaseMatcher.matches(String,String) invokes dubious String.toUpperCase() or String.toLowerCase; use the Locale parameterized version insteadI18NDM_CONVERT_CASE15

com.atlassian.user.util.Base64Encoder

BugCategoryDetailsLine
Dead store to ret_off in method com.atlassian.user.util.Base64Encoder.decode(byte[],int,byte,byte,byte,byte)STYLEDLS_DEAD_LOCAL_STORE114

com.atlassian.user.util.FileUtils

BugCategoryDetailsLine
com.atlassian.user.util.FileUtils.copyIntoTemporaryFile(String,String) may fail to close stream on exceptionBAD_PRACTICEOS_OPEN_STREAM_EXCEPTION_PATH254

com.atlassian.user.util.LDAPConnectionPoolUtils

BugCategoryDetailsLine
Unused field: com.atlassian.user.util.LDAPConnectionPoolUtils.initializedPERFORMANCEUUF_UNUSED_FIELDNot available

com.atlassian.user.util.migration.OSUEntityMigrator

BugCategoryDetailsLine
Method com.atlassian.user.util.migration.OSUEntityMigrator.copyEmailAddresses(java.sql.Connection) passes a nonconstant String to an execute method on an SQL statementBAD_PRACTICESQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE222
Method com.atlassian.user.util.migration.OSUEntityMigrator.copyFullNames(java.sql.Connection) passes a nonconstant String to an execute method on an SQL statementBAD_PRACTICESQL_NONCONSTANT_STRING_PASSED_TO_EXECUTE190

com.atlassian.user.util.migration.OSUEntityMigrator$TransitionUser

BugCategoryDetailsLine
Should com.atlassian.user.util.migration.OSUEntityMigrator$TransitionUser be a _static_ inner class?PERFORMANCESIC_INNER_SHOULD_BE_STATICNot available