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
1746304

Files

ClassBugs
org.kuali.student.common.validator.BeanConstraintDataProvider1
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.core.assembly.data.Data1
org.kuali.student.core.assembly.data.Data$DataValue1
org.kuali.student.core.assembly.data.Data$DateValue3
org.kuali.student.core.assembly.data.Data$DoubleValue1
org.kuali.student.core.assembly.data.Data$FloatValue1
org.kuali.student.core.assembly.data.Data$IntegerValue1
org.kuali.student.core.assembly.data.Data$LongValue1
org.kuali.student.core.assembly.data.Data$ShortValue1
org.kuali.student.core.assembly.data.Data$TimeValue1
org.kuali.student.core.assembly.data.Data$TimestampValue1
org.kuali.student.core.assembly.dictionary.MetadataFormatter1
org.kuali.student.core.assembly.dictionary.MetadataServiceImpl3
org.kuali.student.core.assembly.dictionary.MetadataServiceImpl$RecursionCounter1
org.kuali.student.core.assembly.dictionary.old.MetadataServiceImpl1
org.kuali.student.core.assembly.dictionary.old.MetadataServiceImpl$RecursionCounter1
org.kuali.student.core.assembly.transform.TransformationManager2
org.kuali.student.core.dictionary.service.impl.DictionaryCreator2
org.kuali.student.core.dictionary.service.impl.DictionaryFormatter$FieldDefinitionNameComparator1
org.kuali.student.core.dictionary.service.impl.DictionaryServiceImpl3
org.kuali.student.core.dictionary.service.impl.DictionaryTesterHelper1
org.kuali.student.core.dictionary.service.impl.DictionaryValidator1
org.kuali.student.core.dictionary.service.impl.old.DictionaryServiceSpringImpl3
org.kuali.student.core.entity.BaseType4
org.kuali.student.core.entity.Meta4
org.kuali.student.core.entity.Version4
org.kuali.student.core.search.service.impl.CrossSearchManager3
org.kuali.student.core.search.service.impl.CrossSearchManager$SearchResultRowComparator5
org.kuali.student.core.search.service.impl.SearchConfigFormatter1
org.kuali.student.core.search.service.impl.SearchConfigValidator2

org.kuali.student.common.validator.BeanConstraintDataProvider

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

org.kuali.student.common.validator.DefaultValidatorImpl

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

org.kuali.student.common.validator.ValidatorFactory

BugCategoryDetailsLinePriority
Inconsistent synchronization of org.kuali.student.common.validator.ValidatorFactory.customValidators; locked 60% of timeMT_CORRECTNESSIS2_INCONSISTENT_SYNC44Medium

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_NULL188Medium

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

org.kuali.student.core.assembly.data.Data

BugCategoryDetailsLinePriority
org.kuali.student.core.assembly.data.Data is Serializable; consider declaring a serialVersionUIDBAD_PRACTICESE_NO_SERIALVERSIONID33Medium

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

BugCategoryDetailsLinePriority
org.kuali.student.core.assembly.data.Data$DataValue.toString() may return nullBAD_PRACTICENP_TOSTRING_COULD_RETURN_NULL96Medium

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

BugCategoryDetailsLinePriority
org.kuali.student.core.assembly.data.Data$DateValue.get() may expose internal representation by returning Data$DateValue.valueMALICIOUS_CODEEI_EXPOSE_REP117Medium
new org.kuali.student.core.assembly.data.Data$DateValue(Date) may expose internal representation by storing an externally mutable object into Data$DateValue.valueMALICIOUS_CODEEI_EXPOSE_REP2112Medium
org.kuali.student.core.assembly.data.Data$DateValue.toString() may return nullBAD_PRACTICENP_TOSTRING_COULD_RETURN_NULL128Medium

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

BugCategoryDetailsLinePriority
org.kuali.student.core.assembly.data.Data$DoubleValue.toString() may return nullBAD_PRACTICENP_TOSTRING_COULD_RETURN_NULL160Medium

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

BugCategoryDetailsLinePriority
org.kuali.student.core.assembly.data.Data$FloatValue.toString() may return nullBAD_PRACTICENP_TOSTRING_COULD_RETURN_NULL192Medium

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

BugCategoryDetailsLinePriority
org.kuali.student.core.assembly.data.Data$IntegerValue.toString() may return nullBAD_PRACTICENP_TOSTRING_COULD_RETURN_NULL280Medium

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

BugCategoryDetailsLinePriority
org.kuali.student.core.assembly.data.Data$LongValue.toString() may return nullBAD_PRACTICENP_TOSTRING_COULD_RETURN_NULL319Medium

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

BugCategoryDetailsLinePriority
org.kuali.student.core.assembly.data.Data$ShortValue.toString() may return nullBAD_PRACTICENP_TOSTRING_COULD_RETURN_NULL365Medium

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

BugCategoryDetailsLinePriority
org.kuali.student.core.assembly.data.Data$TimeValue.toString() may return nullBAD_PRACTICENP_TOSTRING_COULD_RETURN_NULL518Medium

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

BugCategoryDetailsLinePriority
org.kuali.student.core.assembly.data.Data$TimestampValue.toString() may return nullBAD_PRACTICENP_TOSTRING_COULD_RETURN_NULL486Medium

org.kuali.student.core.assembly.dictionary.MetadataFormatter

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

org.kuali.student.core.assembly.dictionary.MetadataServiceImpl

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

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

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

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

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

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

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

org.kuali.student.core.assembly.transform.TransformationManager

BugCategoryDetailsLinePriority
Redundant nullcheck of metadata which is known to be null in org.kuali.student.core.assembly.transform.TransformationManager.transform(Data, Class)STYLERCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE60Medium
Redundant nullcheck of metadata which is known to be null in org.kuali.student.core.assembly.transform.TransformationManager.transform(Data, Class, Map)STYLERCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE80Medium

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

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

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

BugCategoryDetailsLinePriority
org.kuali.student.core.dictionary.service.impl.DictionaryFormatter$FieldDefinitionNameComparator implements Comparator but not SerializableBAD_PRACTICESE_COMPARATOR_SHOULD_BE_SERIALIZABLE220Medium

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

BugCategoryDetailsLinePriority
org.kuali.student.core.dictionary.service.impl.DictionaryServiceImpl.getDictionaryContext() may expose internal representation by returning DictionaryServiceImpl.dictionaryContextMALICIOUS_CODEEI_EXPOSE_REP58Medium
new org.kuali.student.core.dictionary.service.impl.DictionaryServiceImpl(String[]) may expose internal representation by storing an externally mutable object into DictionaryServiceImpl.dictionaryContextMALICIOUS_CODEEI_EXPOSE_REP232Medium
org.kuali.student.core.dictionary.service.impl.DictionaryServiceImpl.setDictionaryContext(String[]) may expose internal representation by storing an externally mutable object into DictionaryServiceImpl.dictionaryContextMALICIOUS_CODEEI_EXPOSE_REP262Medium

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

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

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

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

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

BugCategoryDetailsLinePriority
org.kuali.student.core.dictionary.service.impl.old.DictionaryServiceSpringImpl.getDictionaryContext() may expose internal representation by returning DictionaryServiceSpringImpl.dictionaryContextMALICIOUS_CODEEI_EXPOSE_REP89Medium
new org.kuali.student.core.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.core.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.core.entity.BaseType

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

org.kuali.student.core.entity.Meta

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

org.kuali.student.core.entity.Version

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

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

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

org.kuali.student.core.search.service.impl.CrossSearchManager$SearchResultRowComparator

BugCategoryDetailsLinePriority
Method call in org.kuali.student.core.search.service.impl.CrossSearchManager$SearchResultRowComparator.compare(SearchResultRow, SearchResultRow) passes null for nonnull parameter of Integer.parseInt(String)CORRECTNESSNP_NULL_PARAM_DEREF194Medium
Method call in org.kuali.student.core.search.service.impl.CrossSearchManager$SearchResultRowComparator.compare(SearchResultRow, SearchResultRow) passes null for nonnull parameter of Integer.parseInt(String)CORRECTNESSNP_NULL_PARAM_DEREF195Medium
Method call in org.kuali.student.core.search.service.impl.CrossSearchManager$SearchResultRowComparator.compare(SearchResultRow, SearchResultRow) passes null for nonnull parameter of java.text.DateFormat.parse(String)CORRECTNESSNP_NULL_PARAM_DEREF206Medium
Method call in org.kuali.student.core.search.service.impl.CrossSearchManager$SearchResultRowComparator.compare(SearchResultRow, SearchResultRow) passes null for nonnull parameter of java.text.DateFormat.parse(String)CORRECTNESSNP_NULL_PARAM_DEREF207Medium
org.kuali.student.core.search.service.impl.CrossSearchManager$SearchResultRowComparator implements Comparator but not SerializableBAD_PRACTICESE_COMPARATOR_SHOULD_BE_SERIALIZABLE161Medium

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

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

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

BugCategoryDetailsLinePriority
Unread field: org.kuali.student.core.search.service.impl.SearchConfigValidator.queryMapPERFORMANCEURF_UNREAD_FIELD20Medium
Unread field: org.kuali.student.core.search.service.impl.SearchConfigValidator.searchInfoTypeMapPERFORMANCEURF_UNREAD_FIELD19Medium