FindBugs Bug Detector Report

The following document contains the results of FindBugs Report

FindBugs Version is 1.2.0

Threshold is Low

Effort is Default

Summary

ClassesBugsErrorsMissing Classes
6178100

Files

ClassBugs
com.atlassian.user.configuration.util.InitializationCheck1
com.atlassian.user.impl.DefaultEntity3
com.atlassian.user.impl.DefaultGroup1
com.atlassian.user.impl.DefaultUser1
com.atlassian.user.impl.cache.CachingUserManager5
com.atlassian.user.impl.cache.GroupCache$11
com.atlassian.user.impl.cache.properties.CachedPropertySet2
com.atlassian.user.impl.delegation.repository.DelegatingRepository1
com.atlassian.user.impl.hibernate.CachingExternalEntityDAO1
com.atlassian.user.impl.hibernate.DefaultHibernateExternalEntity1
com.atlassian.user.impl.hibernate.DefaultHibernateGroup3
com.atlassian.user.impl.hibernate.DefaultHibernateUser2
com.atlassian.user.impl.hibernate.HibernateGroupManager7
com.atlassian.user.impl.hibernate.HibernateUserManager1
com.atlassian.user.impl.hibernate.search.query.HibernateEntityQueryParser1
com.atlassian.user.impl.ldap.DefaultLDAPGroup1
com.atlassian.user.impl.ldap.DefaultLDAPUser1
com.atlassian.user.impl.ldap.adaptor.LDAPStaticGroupAdaptor1
com.atlassian.user.impl.ldap.properties.DefaultLdapConnectionProperties1
com.atlassian.user.impl.ldap.search.LDAPPagerInfo2
com.atlassian.user.impl.ldap.search.page.AbstractLDAPPager1
com.atlassian.user.impl.ldap.search.query.LDAPEntityQueryParser1
com.atlassian.user.impl.memory.MemoryUserManagerReadOnly1
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.OSUUser1
com.atlassian.user.impl.osuser.OSUUserManager1
com.atlassian.user.impl.osuser.config.xml.DefaultOSUConfigurationHandler2
com.atlassian.user.impl.osuser.config.xml.DefaultOSUConfigurationLoader2
com.atlassian.user.impl.osuser.properties.OSUPropertySetFactory1
com.atlassian.user.impl.osuser.security.password.OSUPasswordEncryptor6
com.atlassian.user.repository.DefaultRepositoryIdentifier1
com.atlassian.user.search.EntityNameAlphaComparator1
com.atlassian.user.search.page.AbstractPrefetchingPager1
com.atlassian.user.search.page.MergedPager$11
com.atlassian.user.search.page.Pager1
com.atlassian.user.search.query.AbstractSingleTermQuery1
com.atlassian.user.search.query.DefaultEntityQueryParser3
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.ClassLoaderUtils1
com.atlassian.user.util.FileUtils1
com.atlassian.user.util.LDAPConnectionPoolUtils1
com.atlassian.user.util.migration.OSUEntityMigrator1
com.atlassian.user.util.migration.OSUEntityMigrator$14
com.atlassian.user.util.migration.OSUserDao$11
com.atlassian.user.util.migration.OSUserDao$21
com.atlassian.user.util.migration.OSUserDao$31
com.atlassian.user.util.migration.OSUserDao$41

com.atlassian.user.configuration.util.InitializationCheck

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

com.atlassian.user.impl.DefaultEntity

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

com.atlassian.user.impl.DefaultGroup

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

com.atlassian.user.impl.DefaultUser

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

com.atlassian.user.impl.cache.CachingUserManager

BugCategoryDetailsLine
Inconsistent synchronization of com.atlassian.user.impl.cache.CachingUserManager.repositoryCacheName; locked 66% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC120
Inconsistent synchronization of com.atlassian.user.impl.cache.CachingUserManager.userCacheName; locked 66% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC100
Inconsistent synchronization of com.atlassian.user.impl.cache.CachingUserManager.userROCacheName; locked 66% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC110
com.atlassian.user.impl.cache.CachingUserManager.NULL_USER isn't final but should beMALICIOUS_CODEMS_SHOULD_BE_FINAL29
Exception is caught when Exception is not thrown in com.atlassian.user.impl.cache.CachingUserManager.removeUser(User)STYLEREC_CATCH_EXCEPTION178

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_ARGUMENT35

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 is Serializable; consider declaring a serialVersionUIDBAD_PRACTICESE_NO_SERIALVERSIONIDNot available

com.atlassian.user.impl.hibernate.CachingExternalEntityDAO

BugCategoryDetailsLine
Method com.atlassian.user.impl.hibernate.CachingExternalEntityDAO.cacheEntity(String, ExternalEntity) invokes inefficient Long(long) constructor; use Long.valueOf(long) insteadPERFORMANCEDM_NUMBER_CTOR52

com.atlassian.user.impl.hibernate.DefaultHibernateExternalEntity

BugCategoryDetailsLine
com.atlassian.user.impl.hibernate.DefaultHibernateExternalEntity is Serializable; consider declaring a serialVersionUIDBAD_PRACTICESE_NO_SERIALVERSIONIDNot available

com.atlassian.user.impl.hibernate.DefaultHibernateGroup

BugCategoryDetailsLine
com.atlassian.user.impl.hibernate.DefaultHibernateGroup is Serializable; consider declaring a serialVersionUIDBAD_PRACTICESE_NO_SERIALVERSIONIDNot available
The field com.atlassian.user.impl.hibernate.DefaultHibernateGroup.externalMembers is transient but isn't set by deserializationBAD_PRACTICESE_TRANSIENT_FIELD_NOT_RESTOREDNot available
The field com.atlassian.user.impl.hibernate.DefaultHibernateGroup.localMembers is transient but isn't set by deserializationBAD_PRACTICESE_TRANSIENT_FIELD_NOT_RESTOREDNot available

com.atlassian.user.impl.hibernate.DefaultHibernateUser

BugCategoryDetailsLine
com.atlassian.user.impl.hibernate.DefaultHibernateUser is Serializable; consider declaring a serialVersionUIDBAD_PRACTICESE_NO_SERIALVERSIONIDNot available
The field com.atlassian.user.impl.hibernate.DefaultHibernateUser.groups is transient but isn't set by deserializationBAD_PRACTICESE_TRANSIENT_FIELD_NOT_RESTOREDNot available

com.atlassian.user.impl.hibernate.HibernateGroupManager

BugCategoryDetailsLine
Unchecked/unconfirmed cast from com.atlassian.user.User to com.atlassian.user.impl.hibernate.DefaultHibernateUser in com.atlassian.user.impl.hibernate.HibernateGroupManager.addMembership(Group, User)STYLEBC_UNCONFIRMED_CAST323
Unchecked/unconfirmed cast from com.atlassian.user.Group to com.atlassian.user.impl.hibernate.DefaultHibernateGroup in com.atlassian.user.impl.hibernate.HibernateGroupManager.getExternalMemberNames(Group)STYLEBC_UNCONFIRMED_CAST170
Unchecked/unconfirmed cast from com.atlassian.user.Group to com.atlassian.user.impl.hibernate.DefaultHibernateGroup in com.atlassian.user.impl.hibernate.HibernateGroupManager.getLocalMemberNames(Group)STYLEBC_UNCONFIRMED_CAST144
Unchecked/unconfirmed cast from com.atlassian.user.Group to com.atlassian.user.impl.hibernate.DefaultHibernateGroup in com.atlassian.user.impl.hibernate.HibernateGroupManager.getLocalMembers(Group)STYLEBC_UNCONFIRMED_CAST154
Unchecked/unconfirmed cast from com.atlassian.user.User to com.atlassian.user.impl.hibernate.DefaultHibernateUser in com.atlassian.user.impl.hibernate.HibernateGroupManager.hasMembership(Group, User)STYLEBC_UNCONFIRMED_CAST383
Unchecked/unconfirmed cast from com.atlassian.user.User to com.atlassian.user.impl.hibernate.DefaultHibernateUser in com.atlassian.user.impl.hibernate.HibernateGroupManager.removeMembership(Group, User)STYLEBC_UNCONFIRMED_CAST436
Load of known null value in com.atlassian.user.impl.hibernate.HibernateGroupManager.validateGroupAndUser(Group, User)STYLENP_LOAD_OF_KNOWN_NULL_VALUE396

com.atlassian.user.impl.hibernate.HibernateUserManager

BugCategoryDetailsLine
Unchecked/unconfirmed cast from com.atlassian.user.User to com.atlassian.user.impl.hibernate.DefaultHibernateUser in com.atlassian.user.impl.hibernate.HibernateUserManager.saveUser(User)STYLEBC_UNCONFIRMED_CAST129

com.atlassian.user.impl.hibernate.search.query.HibernateEntityQueryParser

BugCategoryDetailsLine
Class com.atlassian.user.impl.hibernate.search.query.HibernateEntityQueryParser implements same interface as superclassSTYLERI_REDUNDANT_INTERFACESNot available

com.atlassian.user.impl.ldap.DefaultLDAPGroup

BugCategoryDetailsLine
com.atlassian.user.impl.ldap.DefaultLDAPGroup is Serializable; consider declaring a serialVersionUIDBAD_PRACTICESE_NO_SERIALVERSIONIDNot available

com.atlassian.user.impl.ldap.DefaultLDAPUser

BugCategoryDetailsLine
com.atlassian.user.impl.ldap.DefaultLDAPUser is Serializable; consider declaring a serialVersionUIDBAD_PRACTICESE_NO_SERIALVERSIONIDNot available

com.atlassian.user.impl.ldap.adaptor.LDAPStaticGroupAdaptor

BugCategoryDetailsLine
Redundant nullcheck of info, which is known to be non-null in com.atlassian.user.impl.ldap.adaptor.LDAPStaticGroupAdaptor.getGroups(User)STYLERCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE42

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

BugCategoryDetailsLine
Use of non-localized String.toUpperCase() or String.toLowerCaseI18NDM_CONVERT_CASE62

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

BugCategoryDetailsLine
com.atlassian.user.impl.ldap.search.LDAPPagerInfo.getReturningAttributes() may expose internal representation by returning LDAPPagerInfo.returningAttributesMALICIOUS_CODEEI_EXPOSE_REP72
com.atlassian.user.impl.ldap.search.LDAPPagerInfo.LDAPPagerInfo(NamingEnumeration, Filter, String, boolean, String[], int) may expose internal representation by storing an externally mutable object into LDAPPagerInfo.returningAttributesMALICIOUS_CODEEI_EXPOSE_REP236

com.atlassian.user.impl.ldap.search.page.AbstractLDAPPager

BugCategoryDetailsLine
Class com.atlassian.user.impl.ldap.search.page.AbstractLDAPPager implements same interface as superclassSTYLERI_REDUNDANT_INTERFACESNot available

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

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

com.atlassian.user.impl.memory.MemoryUserManagerReadOnly

BugCategoryDetailsLine
Class com.atlassian.user.impl.memory.MemoryUserManagerReadOnly implements same interface as superclassSTYLERI_REDUNDANT_INTERFACESNot available

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
com.atlassian.user.impl.osuser.OSUGroup is Serializable; consider declaring a serialVersionUIDBAD_PRACTICESE_NO_SERIALVERSIONIDNot available

com.atlassian.user.impl.osuser.OSUUser

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

com.atlassian.user.impl.osuser.OSUUserManager

BugCategoryDetailsLine
Use of non-localized String.toUpperCase() or String.toLowerCaseI18NDM_CONVERT_CASE68

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

BugCategoryDetailsLine
DefaultOSUConfigurationHandler._currentPropertyValue not initialized in constructorSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available
DefaultOSUConfigurationHandler.currentProperties not initialized in constructorSTYLEUWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTORNot available

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

BugCategoryDetailsLine
Redundant nullcheck of provider, which is known to be non-null in com.atlassian.user.impl.osuser.config.xml.DefaultOSUConfigurationLoader.addProvider(String, Properties)STYLERCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE101
Exception is caught when Exception is not thrown in com.atlassian.user.impl.osuser.config.xml.DefaultOSUConfigurationLoader.addProvider(String, Properties)STYLEREC_CATCH_EXCEPTION146

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

BugCategoryDetailsLine
Use of non-localized String.toUpperCase() or String.toLowerCaseI18NDM_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.repository.DefaultRepositoryIdentifier

BugCategoryDetailsLine
com.atlassian.user.repository.DefaultRepositoryIdentifier is Serializable; consider declaring a serialVersionUIDBAD_PRACTICESE_NO_SERIALVERSIONIDNot available

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.AbstractPrefetchingPager

BugCategoryDetailsLine
Unread field: com.atlassian.user.search.page.AbstractPrefetchingPager.preloadLimit; should this field be static?PERFORMANCESS_SHOULD_BE_STATIC12

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.Pager

BugCategoryDetailsLine
Initialization of com.atlassian.user.search.page.Pager accesses class com.atlassian.user.search.page.DefaultPager, which isn't initialized yetBAD_PRACTICEIC_SUPERCLASS_USES_SUBCLASS_DURING_INITIALIZATION19

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
Use of non-localized String.toUpperCase() or String.toLowerCaseI18NDM_CONVERT_CASE80
Exception is caught when Exception is not thrown in com.atlassian.user.search.query.DefaultEntityQueryParser.evaluateBoolean(BooleanQuery)STYLEREC_CATCH_EXCEPTION306
Class com.atlassian.user.search.query.DefaultEntityQueryParser implements same interface as superclassSTYLERI_REDUNDANT_INTERFACESNot available

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 MultiTermBooleanQuery.collatedQueriesMALICIOUS_CODEEI_EXPOSE_REP213

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

BugCategoryDetailsLine
Use of non-localized String.toUpperCase() or String.toLowerCaseI18NDM_CONVERT_CASE15

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

BugCategoryDetailsLine
Use of non-localized String.toUpperCase() or String.toLowerCaseI18NDM_CONVERT_CASE15

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

BugCategoryDetailsLine
Use of non-localized String.toUpperCase() or String.toLowerCaseI18NDM_CONVERT_CASE15

com.atlassian.user.util.ClassLoaderUtils

BugCategoryDetailsLine
Redundant nullcheck of urls, which is known to be non-null in com.atlassian.user.util.ClassLoaderUtils.getResources(String, Class)STYLERCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE121

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.migratePropertySet(Long, User) invokes inefficient Long(long) constructor; use Long.valueOf(long) insteadPERFORMANCEDM_NUMBER_CTOR266

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

BugCategoryDetailsLine
Method com.atlassian.user.util.migration.OSUEntityMigrator$1.processRow(ResultSet) invokes inefficient Double(double) constructor; use Double.valueOf(double) insteadPERFORMANCEDM_FP_NUMBER_CTOR272
Method com.atlassian.user.util.migration.OSUEntityMigrator$1.processRow(ResultSet) invokes inefficient Integer(int) constructor; use Integer.valueOf(int) insteadPERFORMANCEDM_NUMBER_CTOR272
Method com.atlassian.user.util.migration.OSUEntityMigrator$1.processRow(ResultSet) invokes inefficient Long(long) constructor; use Long.valueOf(long) insteadPERFORMANCEDM_NUMBER_CTOR272
The class com.atlassian.user.util.migration.OSUEntityMigrator$1 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANONNot available

com.atlassian.user.util.migration.OSUserDao$1

BugCategoryDetailsLine
The class com.atlassian.user.util.migration.OSUserDao$1 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANONNot available

com.atlassian.user.util.migration.OSUserDao$2

BugCategoryDetailsLine
The class com.atlassian.user.util.migration.OSUserDao$2 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANONNot available

com.atlassian.user.util.migration.OSUserDao$3

BugCategoryDetailsLine
The class com.atlassian.user.util.migration.OSUserDao$3 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANONNot available

com.atlassian.user.util.migration.OSUserDao$4

BugCategoryDetailsLine
The class com.atlassian.user.util.migration.OSUserDao$4 could be refactored into a named _static_ inner classPERFORMANCESIC_INNER_SHOULD_BE_STATIC_ANONNot available