The following document contains the results of FindBugs Report
FindBugs Version is 1.2.0
Threshold is Low
Effort is Default
| Classes | Bugs | Errors | Missing Classes |
|---|---|---|---|
| 617 | 81 | 0 | 0 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Method com.atlassian.user.configuration.util.InitializationCheck.validateArgs(HashMap, String[], Object) concatenates strings using + in a loop | PERFORMANCE | SBSC_USE_STRINGBUFFER_CONCATENATION | 28 |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.impl.DefaultEntity.getCreated() may expose internal representation by returning DefaultEntity.created | MALICIOUS_CODE | EI_EXPOSE_REP | 35 |
| com.atlassian.user.impl.DefaultEntity.setCreated(Date) may expose internal representation by storing an externally mutable object into DefaultEntity.created | MALICIOUS_CODE | EI_EXPOSE_REP2 | 40 |
| The field com.atlassian.user.impl.DefaultEntity.created is transient but isn't set by deserialization | BAD_PRACTICE | SE_TRANSIENT_FIELD_NOT_RESTORED | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.impl.DefaultGroup is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.impl.DefaultUser is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| Inconsistent synchronization of com.atlassian.user.impl.cache.CachingUserManager.repositoryCacheName; locked 66% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 120 |
| Inconsistent synchronization of com.atlassian.user.impl.cache.CachingUserManager.userCacheName; locked 66% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 100 |
| Inconsistent synchronization of com.atlassian.user.impl.cache.CachingUserManager.userROCacheName; locked 66% of time | MT_CORRECTNESS | IS2_INCONSISTENT_SYNC | 110 |
| com.atlassian.user.impl.cache.CachingUserManager.NULL_USER isn't final but should be | MALICIOUS_CODE | MS_SHOULD_BE_FINAL | 29 |
| Exception is caught when Exception is not thrown in com.atlassian.user.impl.cache.CachingUserManager.removeUser(User) | STYLE | REC_CATCH_EXCEPTION | 178 |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.impl.cache.GroupCache$1.equals(Object) does not check for null argument | BAD_PRACTICE | NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT | 35 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Class com.atlassian.user.impl.cache.properties.CachedPropertySet defines non-transient non-serializable instance field decoratedPS | BAD_PRACTICE | SE_BAD_FIELD | Not available |
| com.atlassian.user.impl.cache.properties.CachedPropertySet is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.impl.delegation.repository.DelegatingRepository is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| Method com.atlassian.user.impl.hibernate.CachingExternalEntityDAO.cacheEntity(String, ExternalEntity) invokes inefficient Long(long) constructor; use Long.valueOf(long) instead | PERFORMANCE | DM_NUMBER_CTOR | 52 |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.impl.hibernate.DefaultHibernateExternalEntity is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.impl.hibernate.DefaultHibernateGroup is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | Not available |
| The field com.atlassian.user.impl.hibernate.DefaultHibernateGroup.externalMembers is transient but isn't set by deserialization | BAD_PRACTICE | SE_TRANSIENT_FIELD_NOT_RESTORED | Not available |
| The field com.atlassian.user.impl.hibernate.DefaultHibernateGroup.localMembers is transient but isn't set by deserialization | BAD_PRACTICE | SE_TRANSIENT_FIELD_NOT_RESTORED | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.impl.hibernate.DefaultHibernateUser is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | Not available |
| The field com.atlassian.user.impl.hibernate.DefaultHibernateUser.groups is transient but isn't set by deserialization | BAD_PRACTICE | SE_TRANSIENT_FIELD_NOT_RESTORED | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| 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) | STYLE | BC_UNCONFIRMED_CAST | 323 |
| Unchecked/unconfirmed cast from com.atlassian.user.Group to com.atlassian.user.impl.hibernate.DefaultHibernateGroup in com.atlassian.user.impl.hibernate.HibernateGroupManager.getExternalMemberNames(Group) | STYLE | BC_UNCONFIRMED_CAST | 170 |
| Unchecked/unconfirmed cast from com.atlassian.user.Group to com.atlassian.user.impl.hibernate.DefaultHibernateGroup in com.atlassian.user.impl.hibernate.HibernateGroupManager.getLocalMemberNames(Group) | STYLE | BC_UNCONFIRMED_CAST | 144 |
| Unchecked/unconfirmed cast from com.atlassian.user.Group to com.atlassian.user.impl.hibernate.DefaultHibernateGroup in com.atlassian.user.impl.hibernate.HibernateGroupManager.getLocalMembers(Group) | STYLE | BC_UNCONFIRMED_CAST | 154 |
| 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) | STYLE | BC_UNCONFIRMED_CAST | 383 |
| 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) | STYLE | BC_UNCONFIRMED_CAST | 436 |
| Load of known null value in com.atlassian.user.impl.hibernate.HibernateGroupManager.validateGroupAndUser(Group, User) | STYLE | NP_LOAD_OF_KNOWN_NULL_VALUE | 396 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Unchecked/unconfirmed cast from com.atlassian.user.User to com.atlassian.user.impl.hibernate.DefaultHibernateUser in com.atlassian.user.impl.hibernate.HibernateUserManager.saveUser(User) | STYLE | BC_UNCONFIRMED_CAST | 129 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Class com.atlassian.user.impl.hibernate.search.query.HibernateEntityQueryParser implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.impl.ldap.DefaultLDAPGroup is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.impl.ldap.DefaultLDAPUser is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| Redundant nullcheck of info, which is known to be non-null in com.atlassian.user.impl.ldap.adaptor.LDAPStaticGroupAdaptor.getGroups(User) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 42 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Use of non-localized String.toUpperCase() or String.toLowerCase | I18N | DM_CONVERT_CASE | 62 |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.impl.ldap.search.LDAPPagerInfo.getReturningAttributes() may expose internal representation by returning LDAPPagerInfo.returningAttributes | MALICIOUS_CODE | EI_EXPOSE_REP | 72 |
| 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.returningAttributes | MALICIOUS_CODE | EI_EXPOSE_REP2 | 36 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Class com.atlassian.user.impl.ldap.search.page.AbstractLDAPPager implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| Load of known null value in com.atlassian.user.impl.ldap.search.query.LDAPEntityQueryParser.findUsers(Query) | STYLE | NP_LOAD_OF_KNOWN_NULL_VALUE | 82 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Class com.atlassian.user.impl.memory.MemoryUserManagerReadOnly implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| Should com.atlassian.user.impl.memory.provider.MemoryProvider$Membership be a _static_ inner class? | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.impl.osuser.DefaultOSUAccessor is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.impl.osuser.OSUGroup is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.impl.osuser.OSUUser is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| Use of non-localized String.toUpperCase() or String.toLowerCase | I18N | DM_CONVERT_CASE | 68 |
| Bug | Category | Details | Line |
|---|---|---|---|
| DefaultOSUConfigurationHandler._currentPropertyValue not initialized in constructor | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Not available |
| DefaultOSUConfigurationHandler.currentProperties not initialized in constructor | STYLE | UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| Redundant nullcheck of provider, which is known to be non-null in com.atlassian.user.impl.osuser.config.xml.DefaultOSUConfigurationLoader.addProvider(String, Properties) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 101 |
| Exception is caught when Exception is not thrown in com.atlassian.user.impl.osuser.config.xml.DefaultOSUConfigurationLoader.addProvider(String, Properties) | STYLE | REC_CATCH_EXCEPTION | 146 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Use of non-localized String.toUpperCase() or String.toLowerCase | I18N | DM_CONVERT_CASE | 37 |
| Bug | Category | Details | Line |
|---|---|---|---|
| The method name com.atlassian.user.impl.osuser.security.password.OSUPasswordEncryptor.Ch(long, long, long) doesn't start with an lower case letter | BAD_PRACTICE | NM_METHOD_NAMING_CONVENTION | 333 |
| The method name com.atlassian.user.impl.osuser.security.password.OSUPasswordEncryptor.Maj(long, long, long) doesn't start with an lower case letter | BAD_PRACTICE | NM_METHOD_NAMING_CONVENTION | 338 |
| The method name com.atlassian.user.impl.osuser.security.password.OSUPasswordEncryptor.Sigma0(long) doesn't start with an lower case letter | BAD_PRACTICE | NM_METHOD_NAMING_CONVENTION | 343 |
| The method name com.atlassian.user.impl.osuser.security.password.OSUPasswordEncryptor.Sigma1(long) doesn't start with an lower case letter | BAD_PRACTICE | NM_METHOD_NAMING_CONVENTION | 348 |
| The method name com.atlassian.user.impl.osuser.security.password.OSUPasswordEncryptor.Sum0(long) doesn't start with an lower case letter | BAD_PRACTICE | NM_METHOD_NAMING_CONVENTION | 353 |
| The method name com.atlassian.user.impl.osuser.security.password.OSUPasswordEncryptor.Sum1(long) doesn't start with an lower case letter | BAD_PRACTICE | NM_METHOD_NAMING_CONVENTION | 358 |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.repository.DefaultRepositoryIdentifier is Serializable; consider declaring a serialVersionUID | BAD_PRACTICE | SE_NO_SERIALVERSIONID | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.search.EntityNameAlphaComparator implements Comparator but not Serializable | BAD_PRACTICE | SE_COMPARATOR_SHOULD_BE_SERIALIZABLE | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| Unread field: com.atlassian.user.search.page.AbstractPrefetchingPager.preloadLimit; should this field be static? | PERFORMANCE | SS_SHOULD_BE_STATIC | 12 |
| Bug | Category | Details | Line |
|---|---|---|---|
| The class com.atlassian.user.search.page.MergedPager$1 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| Initialization of com.atlassian.user.search.page.Pager accesses class com.atlassian.user.search.page.DefaultPager, which isn't initialized yet | BAD_PRACTICE | IC_SUPERCLASS_USES_SUBCLASS_DURING_INITIALIZATION | 19 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Comparison of String parameter using == or != in com.atlassian.user.search.query.AbstractSingleTermQuery.AbstractSingleTermQuery(String, String) | BAD_PRACTICE | ES_COMPARING_PARAMETER_STRING_WITH_EQ | 18 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Use of non-localized String.toUpperCase() or String.toLowerCase | I18N | DM_CONVERT_CASE | 80 |
| Exception is caught when Exception is not thrown in com.atlassian.user.search.query.DefaultEntityQueryParser.evaluateBoolean(BooleanQuery) | STYLE | REC_CATCH_EXCEPTION | 306 |
| Class com.atlassian.user.search.query.DefaultEntityQueryParser implements same interface as superclass | STYLE | RI_REDUNDANT_INTERFACES | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.search.query.MultiTermBooleanQuery.MultiTermBooleanQuery(Query[], boolean) may expose internal representation by storing an externally mutable object into MultiTermBooleanQuery.collatedQueries | MALICIOUS_CODE | EI_EXPOSE_REP2 | 13 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Use of non-localized String.toUpperCase() or String.toLowerCase | I18N | DM_CONVERT_CASE | 15 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Use of non-localized String.toUpperCase() or String.toLowerCase | I18N | DM_CONVERT_CASE | 15 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Use of non-localized String.toUpperCase() or String.toLowerCase | I18N | DM_CONVERT_CASE | 15 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Redundant nullcheck of urls, which is known to be non-null in com.atlassian.user.util.ClassLoaderUtils.getResources(String, Class) | STYLE | RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE | 121 |
| Bug | Category | Details | Line |
|---|---|---|---|
| com.atlassian.user.util.FileUtils.copyIntoTemporaryFile(String, String) may fail to close stream on exception | BAD_PRACTICE | OS_OPEN_STREAM_EXCEPTION_PATH | 254 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Unused field: com.atlassian.user.util.LDAPConnectionPoolUtils.initialized | PERFORMANCE | UUF_UNUSED_FIELD | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| Method com.atlassian.user.util.migration.OSUEntityMigrator.migratePropertySet(Long, User) invokes inefficient Long(long) constructor; use Long.valueOf(long) instead | PERFORMANCE | DM_NUMBER_CTOR | 266 |
| Bug | Category | Details | Line |
|---|---|---|---|
| Method com.atlassian.user.util.migration.OSUEntityMigrator$1.processRow(ResultSet) invokes inefficient Double(double) constructor; use Double.valueOf(double) instead | PERFORMANCE | DM_FP_NUMBER_CTOR | 272 |
| Method com.atlassian.user.util.migration.OSUEntityMigrator$1.processRow(ResultSet) invokes inefficient Integer(int) constructor; use Integer.valueOf(int) instead | PERFORMANCE | DM_NUMBER_CTOR | 272 |
| Method com.atlassian.user.util.migration.OSUEntityMigrator$1.processRow(ResultSet) invokes inefficient Long(long) constructor; use Long.valueOf(long) instead | PERFORMANCE | DM_NUMBER_CTOR | 272 |
| The class com.atlassian.user.util.migration.OSUEntityMigrator$1 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| The class com.atlassian.user.util.migration.OSUserDao$1 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| The class com.atlassian.user.util.migration.OSUserDao$2 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| The class com.atlassian.user.util.migration.OSUserDao$3 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | Not available |
| Bug | Category | Details | Line |
|---|---|---|---|
| The class com.atlassian.user.util.migration.OSUserDao$4 could be refactored into a named _static_ inner class | PERFORMANCE | SIC_INNER_SHOULD_BE_STATIC_ANON | Not available |