FindBugs Bug Detector Report

The following document contains the results of FindBugs Report

FindBugs Version is 1.3.9

Threshold is medium

Effort is min

Summary

ClassesBugsErrorsMissing Classes
1775804

Files

ClassBugs
org.kuali.student.common.assembly.data.Data1
org.kuali.student.common.assembly.data.Data$DataValue1
org.kuali.student.common.assembly.data.Data$DateValue3
org.kuali.student.common.assembly.data.Data$DoubleValue1
org.kuali.student.common.assembly.data.Data$FloatValue1
org.kuali.student.common.assembly.data.Data$IntegerValue1
org.kuali.student.common.assembly.data.Data$LongValue1
org.kuali.student.common.assembly.data.Data$ShortValue1
org.kuali.student.common.assembly.data.Data$TimeValue1
org.kuali.student.common.assembly.data.Data$TimestampValue1
org.kuali.student.common.assembly.dictionary.MetadataFormatter1
org.kuali.student.common.assembly.dictionary.MetadataServiceImpl3
org.kuali.student.common.assembly.dictionary.MetadataServiceImpl$RecursionCounter1
org.kuali.student.common.assembly.dictionary.old.MetadataServiceImpl1
org.kuali.student.common.assembly.dictionary.old.MetadataServiceImpl$RecursionCounter1
org.kuali.student.common.assembly.transform.TransformationManager3
org.kuali.student.common.dictionary.service.impl.DictionaryCreator2
org.kuali.student.common.dictionary.service.impl.DictionaryFormatter$FieldDefinitionNameComparator1
org.kuali.student.common.dictionary.service.impl.DictionaryServiceImpl3
org.kuali.student.common.dictionary.service.impl.DictionaryTesterHelper1
org.kuali.student.common.dictionary.service.impl.DictionaryValidator1
org.kuali.student.common.dictionary.service.impl.old.DictionaryServiceSpringImpl3
org.kuali.student.common.entity.BaseType4
org.kuali.student.common.entity.Meta4
org.kuali.student.common.entity.Version4
org.kuali.student.common.search.service.impl.CrossSearchManager3
org.kuali.student.common.search.service.impl.SearchConfigFormatter1
org.kuali.student.common.search.service.impl.SearchConfigValidator2
org.kuali.student.common.validator.DefaultValidatorImpl1
org.kuali.student.common.validator.ValidatorFactory1
org.kuali.student.common.validator.ValidatorUtils1
org.kuali.student.common.validator.old.BeanConstraintDataProvider1
org.kuali.student.common.validator.old.Validator2
org.kuali.student.common.validator.old.ValidatorUtils1

org.kuali.student.common.assembly.data.Data

BugCategoryDetailsLinePriority
org.kuali.student.common.assembly.data.Data is Serializable; consider declaring a serialVersionUIDBAD_PRACTICESE_NO_SERIALVERSIONID40Medium

org.kuali.student.common.assembly.data.Data$DataValue

BugCategoryDetailsLinePriority
org.kuali.student.common.assembly.data.Data$DataValue.toString() may return nullBAD_PRACTICENP_TOSTRING_COULD_RETURN_NULL103Medium

org.kuali.student.common.assembly.data.Data$DateValue

BugCategoryDetailsLinePriority
org.kuali.student.common.assembly.data.Data$DateValue.get() may expose internal representation by returning Data$DateValue.valueMALICIOUS_CODEEI_EXPOSE_REP124Medium
new org.kuali.student.common.assembly.data.Data$DateValue(Date) may expose internal representation by storing an externally mutable object into Data$DateValue.valueMALICIOUS_CODEEI_EXPOSE_REP2119Medium
org.kuali.student.common.assembly.data.Data$DateValue.toString() may return nullBAD_PRACTICENP_TOSTRING_COULD_RETURN_NULL135Medium

org.kuali.student.common.assembly.data.Data$DoubleValue

BugCategoryDetailsLinePriority
org.kuali.student.common.assembly.data.Data$DoubleValue.toString() may return nullBAD_PRACTICENP_TOSTRING_COULD_RETURN_NULL167Medium

org.kuali.student.common.assembly.data.Data$FloatValue

BugCategoryDetailsLinePriority
org.kuali.student.common.assembly.data.Data$FloatValue.toString() may return nullBAD_PRACTICENP_TOSTRING_COULD_RETURN_NULL199Medium

org.kuali.student.common.assembly.data.Data$IntegerValue

BugCategoryDetailsLinePriority
org.kuali.student.common.assembly.data.Data$IntegerValue.toString() may return nullBAD_PRACTICENP_TOSTRING_COULD_RETURN_NULL287Medium

org.kuali.student.common.assembly.data.Data$LongValue

BugCategoryDetailsLinePriority
org.kuali.student.common.assembly.data.Data$LongValue.toString() may return nullBAD_PRACTICENP_TOSTRING_COULD_RETURN_NULL326Medium

org.kuali.student.common.assembly.data.Data$ShortValue

BugCategoryDetailsLinePriority
org.kuali.student.common.assembly.data.Data$ShortValue.toString() may return nullBAD_PRACTICENP_TOSTRING_COULD_RETURN_NULL372Medium

org.kuali.student.common.assembly.data.Data$TimeValue

BugCategoryDetailsLinePriority
org.kuali.student.common.assembly.data.Data$TimeValue.toString() may return nullBAD_PRACTICENP_TOSTRING_COULD_RETURN_NULL525Medium

org.kuali.student.common.assembly.data.Data$TimestampValue

BugCategoryDetailsLinePriority
org.kuali.student.common.assembly.data.Data$TimestampValue.toString() may return nullBAD_PRACTICENP_TOSTRING_COULD_RETURN_NULL493Medium

org.kuali.student.common.assembly.dictionary.MetadataFormatter

BugCategoryDetailsLinePriority
Suspicious comparison of Integer references in org.kuali.student.common.assembly.dictionary.MetadataFormatter.calcLength(Metadata)CORRECTNESSRC_REF_COMPARISON598High

org.kuali.student.common.assembly.dictionary.MetadataServiceImpl

BugCategoryDetailsLinePriority
Load of known null value in org.kuali.student.common.assembly.dictionary.MetadataServiceImpl.processCaseConstraint(ConstraintMetadata, CaseConstraint, String, String, String, String)STYLENP_LOAD_OF_KNOWN_NULL_VALUE404Medium
Possible null pointer dereference of paramType on path that might be infeasible in org.kuali.student.common.assembly.dictionary.MetadataServiceImpl.matchesType(String, String)STYLENP_NULL_ON_SOME_PATH_MIGHT_BE_INFEASIBLE672Medium
Method org.kuali.student.common.assembly.dictionary.MetadataServiceImpl.addLookupstoMetadata(String, Metadata, String) concatenates strings using + in a loopPERFORMANCESBSC_USE_STRINGBUFFER_CONCATENATION703Medium

org.kuali.student.common.assembly.dictionary.MetadataServiceImpl$RecursionCounter

BugCategoryDetailsLinePriority
Method org.kuali.student.common.assembly.dictionary.MetadataServiceImpl$RecursionCounter.increment(String) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) insteadPERFORMANCEDM_NUMBER_CTOR68Medium

org.kuali.student.common.assembly.dictionary.old.MetadataServiceImpl

BugCategoryDetailsLinePriority
Dead store to value in org.kuali.student.common.assembly.dictionary.old.MetadataServiceImpl.convertDefaultValue(Data$DataType, Object)STYLEDLS_DEAD_LOCAL_STORE437High

org.kuali.student.common.assembly.dictionary.old.MetadataServiceImpl$RecursionCounter

BugCategoryDetailsLinePriority
Method org.kuali.student.common.assembly.dictionary.old.MetadataServiceImpl$RecursionCounter.increment(String) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) insteadPERFORMANCEDM_NUMBER_CTOR73Medium

org.kuali.student.common.assembly.transform.TransformationManager

BugCategoryDetailsLinePriority
Redundant nullcheck of metadata which is known to be null in org.kuali.student.common.assembly.transform.TransformationManager.transform(Object, String)STYLERCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE35Medium
Redundant nullcheck of metadata which is known to be null in org.kuali.student.common.assembly.transform.TransformationManager.transform(Object, String, Map)STYLERCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE46Medium
Redundant nullcheck of metadata which is known to be null in org.kuali.student.common.assembly.transform.TransformationManager.transform(Data, Class)STYLERCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE67Medium

org.kuali.student.common.dictionary.service.impl.DictionaryCreator

BugCategoryDetailsLinePriority
org.kuali.student.common.dictionary.service.impl.DictionaryCreator.execute(Class, String) may fail to close streamBAD_PRACTICEOS_OPEN_STREAM68Medium

org.kuali.student.common.dictionary.service.impl.DictionaryFormatter$FieldDefinitionNameComparator

BugCategoryDetailsLinePriority
org.kuali.student.common.dictionary.service.impl.DictionaryFormatter$FieldDefinitionNameComparator implements Comparator but not SerializableBAD_PRACTICESE_COMPARATOR_SHOULD_BE_SERIALIZABLE221Medium

org.kuali.student.common.dictionary.service.impl.DictionaryServiceImpl

BugCategoryDetailsLinePriority
org.kuali.student.common.dictionary.service.impl.DictionaryServiceImpl.getDictionaryContext() may expose internal representation by returning DictionaryServiceImpl.dictionaryContextMALICIOUS_CODEEI_EXPOSE_REP63Medium
new org.kuali.student.common.dictionary.service.impl.DictionaryServiceImpl(String[]) may expose internal representation by storing an externally mutable object into DictionaryServiceImpl.dictionaryContextMALICIOUS_CODEEI_EXPOSE_REP234Medium
org.kuali.student.common.dictionary.service.impl.DictionaryServiceImpl.setDictionaryContext(String[]) may expose internal representation by storing an externally mutable object into DictionaryServiceImpl.dictionaryContextMALICIOUS_CODEEI_EXPOSE_REP267Medium

org.kuali.student.common.dictionary.service.impl.DictionaryTesterHelper

BugCategoryDetailsLinePriority
Double assignment of os in org.kuali.student.common.dictionary.service.impl.DictionaryTesterHelper.doTestOnClass(String, ApplicationContext)STYLESA_LOCAL_DOUBLE_ASSIGNMENT138Medium

org.kuali.student.common.dictionary.service.impl.DictionaryValidator

BugCategoryDetailsLinePriority
Dead store to pattern in org.kuali.student.common.dictionary.service.impl.DictionaryValidator.validateValidChars(FieldDefinition, ValidCharsConstraint)STYLEDLS_DEAD_LOCAL_STORE312Medium

org.kuali.student.common.dictionary.service.impl.old.DictionaryServiceSpringImpl

BugCategoryDetailsLinePriority
org.kuali.student.common.dictionary.service.impl.old.DictionaryServiceSpringImpl.getDictionaryContext() may expose internal representation by returning DictionaryServiceSpringImpl.dictionaryContextMALICIOUS_CODEEI_EXPOSE_REP89Medium
new org.kuali.student.common.dictionary.service.impl.old.DictionaryServiceSpringImpl(String[]) may expose internal representation by storing an externally mutable object into DictionaryServiceSpringImpl.dictionaryContextMALICIOUS_CODEEI_EXPOSE_REP252Medium
org.kuali.student.common.dictionary.service.impl.old.DictionaryServiceSpringImpl.setDictionaryContext(String[]) may expose internal representation by storing an externally mutable object into DictionaryServiceSpringImpl.dictionaryContextMALICIOUS_CODEEI_EXPOSE_REP293Medium

org.kuali.student.common.entity.BaseType

BugCategoryDetailsLinePriority
org.kuali.student.common.entity.BaseType.getEffectiveDate() may expose internal representation by returning BaseType.effectiveDateMALICIOUS_CODEEI_EXPOSE_REP39Medium
org.kuali.student.common.entity.BaseType.getExpirationDate() may expose internal representation by returning BaseType.expirationDateMALICIOUS_CODEEI_EXPOSE_REP47Medium
org.kuali.student.common.entity.BaseType.setEffectiveDate(Date) may expose internal representation by storing an externally mutable object into BaseType.effectiveDateMALICIOUS_CODEEI_EXPOSE_REP243Medium
org.kuali.student.common.entity.BaseType.setExpirationDate(Date) may expose internal representation by storing an externally mutable object into BaseType.expirationDateMALICIOUS_CODEEI_EXPOSE_REP251Medium

org.kuali.student.common.entity.Meta

BugCategoryDetailsLinePriority
org.kuali.student.common.entity.Meta.getCreateTime() may expose internal representation by returning Meta.createTimeMALICIOUS_CODEEI_EXPOSE_REP53Medium
org.kuali.student.common.entity.Meta.getUpdateTime() may expose internal representation by returning Meta.updateTimeMALICIOUS_CODEEI_EXPOSE_REP69Medium
org.kuali.student.common.entity.Meta.setCreateTime(Date) may expose internal representation by storing an externally mutable object into Meta.createTimeMALICIOUS_CODEEI_EXPOSE_REP257Medium
org.kuali.student.common.entity.Meta.setUpdateTime(Date) may expose internal representation by storing an externally mutable object into Meta.updateTimeMALICIOUS_CODEEI_EXPOSE_REP273Medium

org.kuali.student.common.entity.Version

BugCategoryDetailsLinePriority
org.kuali.student.common.entity.Version.getCurrentVersionEnd() may expose internal representation by returning Version.currentVersionEndMALICIOUS_CODEEI_EXPOSE_REP41Medium
org.kuali.student.common.entity.Version.getCurrentVersionStart() may expose internal representation by returning Version.currentVersionStartMALICIOUS_CODEEI_EXPOSE_REP33Medium
org.kuali.student.common.entity.Version.setCurrentVersionEnd(Date) may expose internal representation by storing an externally mutable object into Version.currentVersionEndMALICIOUS_CODEEI_EXPOSE_REP245Medium
org.kuali.student.common.entity.Version.setCurrentVersionStart(Date) may expose internal representation by storing an externally mutable object into Version.currentVersionStartMALICIOUS_CODEEI_EXPOSE_REP237Medium

org.kuali.student.common.search.service.impl.CrossSearchManager

BugCategoryDetailsLinePriority
Method call in org.kuali.student.common.search.service.impl.CrossSearchManager.meetsCriteria(Map, CrossSearchTypeInfo, JoinCriteriaInfo) passes null for nonnull parameter of compare(CrossSearchManager$DataType, String, String, JoinComparisonInfo$ComparisonType)CORRECTNESSNP_NULL_PARAM_DEREF237Medium
Method call in org.kuali.student.common.search.service.impl.CrossSearchManager.meetsCriteria(Map, CrossSearchTypeInfo, JoinCriteriaInfo) passes null for nonnull parameter of compare(CrossSearchManager$DataType, String, String, JoinComparisonInfo$ComparisonType)CORRECTNESSNP_NULL_PARAM_DEREF237Medium
Method call in org.kuali.student.common.search.service.impl.CrossSearchManager.meetsCriteria(Map, CrossSearchTypeInfo, JoinCriteriaInfo) passes null for nonnull parameter of compare(CrossSearchManager$DataType, String, String, JoinComparisonInfo$ComparisonType)CORRECTNESSNP_NULL_PARAM_DEREF237Medium

org.kuali.student.common.search.service.impl.SearchConfigFormatter

BugCategoryDetailsLinePriority
Unused field: org.kuali.student.common.search.service.impl.SearchConfigFormatter.osPERFORMANCEUUF_UNUSED_FIELDMedium

org.kuali.student.common.search.service.impl.SearchConfigValidator

BugCategoryDetailsLinePriority
Unread field: org.kuali.student.common.search.service.impl.SearchConfigValidator.queryMapPERFORMANCEURF_UNREAD_FIELD18Medium
Unread field: org.kuali.student.common.search.service.impl.SearchConfigValidator.searchInfoTypeMapPERFORMANCEURF_UNREAD_FIELD17Medium

org.kuali.student.common.validator.DefaultValidatorImpl

BugCategoryDetailsLinePriority
Redundant comparison of non-null value to null in org.kuali.student.common.validator.DefaultValidatorImpl.validateField(List, FieldDefinition, ObjectStructureDefinition, ConstraintDataProvider, Stack, Object, ObjectStructureDefinition)STYLERCN_REDUNDANT_COMPARISON_OF_NULL_AND_NONNULL_VALUE225Medium

org.kuali.student.common.validator.ValidatorFactory

BugCategoryDetailsLinePriority
Inconsistent synchronization of org.kuali.student.common.validator.ValidatorFactory.validatorList; locked 50% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC81Medium

org.kuali.student.common.validator.ValidatorUtils

BugCategoryDetailsLinePriority
org.kuali.student.common.validator.ValidatorUtils.getBoolean(Object) has Boolean return type and returns explicit nullBAD_PRACTICENP_BOOLEAN_RETURN_NULL191Medium

org.kuali.student.common.validator.old.BeanConstraintDataProvider

BugCategoryDetailsLinePriority
Method org.kuali.student.common.validator.old.BeanConstraintDataProvider.initialize(Object) makes inefficient use of keySet iterator instead of entrySet iteratorPERFORMANCEWMI_WRONG_MAP_ITERATOR48Medium

org.kuali.student.common.validator.old.Validator

BugCategoryDetailsLinePriority
Redundant comparison of non-null value to null in org.kuali.student.common.validator.old.Validator.validateField(Field, Type, State, ObjectStructure, ConstraintDataProvider, Stack)STYLERCN_REDUNDANT_COMPARISON_OF_NULL_AND_NONNULL_VALUE265Medium
Nullcheck of value at line 452 of value previously dereferenced in org.kuali.student.common.validator.old.Validator.processConstraint(List, ConstraintSelector, Field, Type, State, ObjectStructure, Object, ConstraintDataProvider, Validator$BaseConstraintBean, Stack)CORRECTNESSRCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE435Medium

org.kuali.student.common.validator.old.ValidatorUtils

BugCategoryDetailsLinePriority
org.kuali.student.common.validator.old.ValidatorUtils.getBoolean(Object) has Boolean return type and returns explicit nullBAD_PRACTICENP_BOOLEAN_RETURN_NULL176Medium