SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 3.1.12

Threshold is medium

Effort is

Summary

Classes Bugs Errors Missing Classes
131 88 5 1

Files

Class Bugs
org.csveed.api.CsvClientImpl 2
org.csveed.api.CsvClientTest 1
org.csveed.bean.AbstractMapper 2
org.csveed.bean.BeanInstructionsImpl 1
org.csveed.bean.BeanParser 3
org.csveed.bean.BeanProperties 2
org.csveed.bean.BeanProperty 1
org.csveed.bean.BeanPropertyTest 1
org.csveed.bean.BeanReaderImpl 3
org.csveed.bean.BeanWriterImpl 2
org.csveed.bean.ColumnNameMapper 1
org.csveed.bean.conversion.Bean 4
org.csveed.bean.conversion.BeanWrapper 1
org.csveed.bean.conversion.BeanWrapperTest 2
org.csveed.bean.conversion.ByteArrayConverter 4
org.csveed.bean.conversion.Coordinate 2
org.csveed.bean.conversion.CustomBooleanConverter 2
org.csveed.bean.conversion.DateConverter 2
org.csveed.bean.conversion.DefaultConverters 1
org.csveed.bean.conversion.EasyAbstractConverterTest$1 1
org.csveed.bean.conversion.NumberUtils 3
org.csveed.common.Column 3
org.csveed.common.ColumnTest 1
org.csveed.report.CsvException 1
org.csveed.report.RowReport 5
org.csveed.report.RowReportTest 6
org.csveed.row.LineWithInfoTest 2
org.csveed.row.RowReaderImpl 3
org.csveed.row.RowReaderTest 2
org.csveed.row.RowWriterImpl 2
org.csveed.test.model.BeanVariousNotAnnotated 4
org.csveed.test.model.BeanWithVariousTypes 4
org.csveed.test.model.BeanWithoutGettersAndSetters 3
org.csveed.test.model.BeanWithoutHeader 4
org.csveed.token.ParseStateMachine 2
org.csveed.token.ParseStateMachineTest 1
org.csveed.token.SymbolMapping 3
org.csveed.token.SymbolMappingTest 1

org.csveed.api.CsvClientImpl

Bug Category Details Line Priority
Constructor new org.csveed.api.CsvClientImpl(Writer) makes call to non-final method CORRECTNESS PCOA_PARTIALLY_CONSTRUCTED_OBJECT_ACCESS 41 Medium
Constructor new org.csveed.api.CsvClientImpl(Writer, BeanInstructions) makes call to non-final method CORRECTNESS PCOA_PARTIALLY_CONSTRUCTED_OBJECT_ACCESS 51 Medium

org.csveed.api.CsvClientTest

Bug Category Details Line Priority
Method org.csveed.api.CsvClientTest.readLines(String) excessively uses methods of another class STYLE CE_CLASS_ENVY 221-253 Medium

org.csveed.bean.AbstractMapper

Bug Category Details Line Priority
Unconstrained method org.csveed.bean.AbstractMapper.setBeanProperty(Row, int, BeanWrapper, Column, String, BeanProperty) converts checked exception to unchecked STYLE EXS_EXCEPTION_SOFTENING_NO_CONSTRAINTS 90 High
Method org.csveed.bean.AbstractMapper.convert(Object, Row, int, DynamicColumn) makes literal string comparisons passing the literal as an argument STYLE LSC_LITERAL_STRING_COMPARISON 58 High

org.csveed.bean.BeanInstructionsImpl

Bug Category Details Line Priority
To make log readable, log format ({}) should contain non-sign character. BAD_PRACTICE SLF4J_SIGN_ONLY_FORMAT 44 Medium

org.csveed.bean.BeanParser

Bug Category Details Line Priority
Method org.csveed.bean.BeanParser.parseCsvFile(CsvFile) excessively uses methods of another class STYLE CE_CLASS_ENVY 84-97 Medium
Unconstrained method org.csveed.bean.BeanParser.parseCsvConverter(String, CsvConverter) converts checked exception to unchecked STYLE EXS_EXCEPTION_SOFTENING_NO_CONSTRAINTS 107 High
Method org.csveed.bean.BeanParser.checkForAnnotations(BeanProperty) uses instanceof on multiple types to arbitrate logic STYLE ITC_INHERITANCE_TYPE_CHECKING 48 Medium

org.csveed.bean.BeanProperties

Bug Category Details Line Priority
Unconstrained method org.csveed.bean.BeanProperties.parseBean(Class) converts checked exception to unchecked STYLE EXS_EXCEPTION_SOFTENING_NO_CONSTRAINTS 51 High
Method org.csveed.bean.BeanProperties.addProperty(PropertyDescriptor, Field) appears to call the same method on the same object redundantly PERFORMANCE PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS 78 Medium

org.csveed.bean.BeanProperty

Bug Category Details Line Priority
Method org.csveed.bean.BeanProperty.getNumberClass() appears to call the same method on the same object redundantly PERFORMANCE PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS 27 Medium

org.csveed.bean.BeanPropertyTest

Bug Category Details Line Priority
Method org.csveed.bean.BeanPropertyTest.construct() excessively uses methods of another class STYLE CE_CLASS_ENVY 21-34 Medium

org.csveed.bean.BeanReaderImpl

Bug Category Details Line Priority
Unconstrained method org.csveed.bean.BeanReaderImpl.createMappingStrategy() converts checked exception to unchecked STYLE EXS_EXCEPTION_SOFTENING_NO_CONSTRAINTS 134 High
Unconstrained method org.csveed.bean.BeanReaderImpl.instantiateBean() converts checked exception to unchecked STYLE EXS_EXCEPTION_SOFTENING_NO_CONSTRAINTS 116 High
To make log readable, log format () should contain non-sign character. BAD_PRACTICE SLF4J_SIGN_ONLY_FORMAT 133 Medium

org.csveed.bean.BeanWriterImpl

Bug Category Details Line Priority
To make log readable, log format ({}) should contain non-sign character. BAD_PRACTICE SLF4J_SIGN_ONLY_FORMAT 58 Medium
To make log readable, log format () should contain non-sign character. BAD_PRACTICE SLF4J_SIGN_ONLY_FORMAT 59 Medium

org.csveed.bean.ColumnNameMapper

Bug Category Details Line Priority
To make log readable, log format () should contain non-sign character. BAD_PRACTICE SLF4J_SIGN_ONLY_FORMAT 32 Medium

org.csveed.bean.conversion.Bean

Bug Category Details Line Priority
org.csveed.bean.conversion.Bean.getBytes() may expose internal representation by returning Bean.bytes MALICIOUS_CODE EI_EXPOSE_REP 93 Medium
org.csveed.bean.conversion.Bean.getChars() may expose internal representation by returning Bean.chars MALICIOUS_CODE EI_EXPOSE_REP 101 Medium
org.csveed.bean.conversion.Bean.setBytes(byte[]) may expose internal representation by storing an externally mutable object into Bean.bytes MALICIOUS_CODE EI_EXPOSE_REP2 97 Medium
org.csveed.bean.conversion.Bean.setChars(char[]) may expose internal representation by storing an externally mutable object into Bean.chars MALICIOUS_CODE EI_EXPOSE_REP2 105 Medium

org.csveed.bean.conversion.BeanWrapper

Bug Category Details Line Priority
Method org.csveed.bean.conversion.BeanWrapper.setProperty(BeanProperty, String) makes literal string comparisons passing the literal as an argument STYLE LSC_LITERAL_STRING_COMPARISON 39 High

org.csveed.bean.conversion.BeanWrapperTest

Bug Category Details Line Priority
Method org.csveed.bean.conversion.BeanWrapperTest.setBooleanPrimitive() needlessly boxes a boolean constant PERFORMANCE NAB_NEEDLESS_BOOLEAN_CONSTANT_CONVERSION 159 Medium
Constructor new org.csveed.bean.conversion.BeanWrapperTest() makes call to non-final method CORRECTNESS PCOA_PARTIALLY_CONSTRUCTED_OBJECT_ACCESS 23 Medium

org.csveed.bean.conversion.ByteArrayConverter

Bug Category Details Line Priority
Found reliance on default encoding in org.csveed.bean.conversion.ByteArrayConverter.fromString(String): String.getBytes() I18N DM_DEFAULT_ENCODING 11 High
Found reliance on default encoding in org.csveed.bean.conversion.ByteArrayConverter.toString(byte[]): new String(byte[]) I18N DM_DEFAULT_ENCODING 16 High
Method org.csveed.bean.conversion.ByteArrayConverter.fromString(String) encodes String bytes without specifying the character encoding CORRECTNESS MDM_STRING_BYTES_ENCODING 11 Medium
Method org.csveed.bean.conversion.ByteArrayConverter.toString(byte[]) encodes String bytes without specifying the character encoding CORRECTNESS MDM_STRING_BYTES_ENCODING 16 Medium

org.csveed.bean.conversion.Coordinate

Bug Category Details Line Priority
Method org.csveed.bean.conversion.Coordinate.fromString(String) converts String to boxed primitive using excessive boxing PERFORMANCE NAB_NEEDLESS_BOXING_VALUEOF 30 Medium
Method org.csveed.bean.conversion.Coordinate.fromString(String) converts String to boxed primitive using excessive boxing PERFORMANCE NAB_NEEDLESS_BOXING_VALUEOF 31 Medium

org.csveed.bean.conversion.CustomBooleanConverter

Bug Category Details Line Priority
org.csveed.bean.conversion.CustomBooleanConverter.fromString(String) has Boolean return type and returns explicit null BAD_PRACTICE NP_BOOLEAN_RETURN_NULL 40 Medium
Method org.csveed.bean.conversion.CustomBooleanConverter.fromString(String) returns null for Boolean type STYLE TBP_TRISTATE_BOOLEAN_PATTERN 40 Medium

org.csveed.bean.conversion.DateConverter

Bug Category Details Line Priority
Unconstrained method org.csveed.bean.conversion.DateConverter.fromString(String) converts checked exception to unchecked STYLE EXS_EXCEPTION_SOFTENING_NO_CONSTRAINTS 40 High
Null passed for non-null parameter of java.text.DateFormat.parse(String) in org.csveed.bean.conversion.DateConverter.fromString(String) CORRECTNESS NP_NULL_PARAM_DEREF 38 Medium

org.csveed.bean.conversion.DefaultConverters

Bug Category Details Line Priority
Constructor new org.csveed.bean.conversion.DefaultConverters() makes call to non-final method CORRECTNESS PCOA_PARTIALLY_CONSTRUCTED_OBJECT_ACCESS 19 Medium

org.csveed.bean.conversion.EasyAbstractConverterTest$1

Bug Category Details Line Priority
Non derivable method org.csveed.bean.conversion.EasyAbstractConverterTest$1.fromString(String) declares throwing an exception that isn't thrown CORRECTNESS BED_BOGUS_EXCEPTION_DECLARATION 14 Medium

org.csveed.bean.conversion.NumberUtils

Bug Category Details Line Priority
Method org.csveed.bean.conversion.NumberUtils.convertNumberToTargetClass(Number, Class) declares RuntimeException in throws clause STYLE DRE_DECLARED_RUNTIME_EXCEPTION 17-55 Medium
Unconstrained method org.csveed.bean.conversion.NumberUtils.parseNumber(String, Class, NumberFormat) converts checked exception to unchecked STYLE EXS_EXCEPTION_SOFTENING_NO_CONSTRAINTS 106 High
Method org.csveed.bean.conversion.NumberUtils.parseNumber(String, Class, NumberFormat) throws alternative exception from catch block without history CORRECTNESS LEST_LOST_EXCEPTION_STACK_TRACE 106 Medium

org.csveed.common.Column

Bug Category Details Line Priority
Constructor new org.csveed.common.Column(int) makes call to non-final method CORRECTNESS PCOA_PARTIALLY_CONSTRUCTED_OBJECT_ACCESS 35 Medium
Constructor new org.csveed.common.Column(String) makes call to non-final method CORRECTNESS PCOA_PARTIALLY_CONSTRUCTED_OBJECT_ACCESS 20 Medium
Constructor new org.csveed.common.Column(Column) makes call to non-final method CORRECTNESS PCOA_PARTIALLY_CONSTRUCTED_OBJECT_ACCESS 28 Medium

org.csveed.common.ColumnTest

Bug Category Details Line Priority
Method org.csveed.common.ColumnTest.lambda$0() uses a Side Effect Constructor STYLE SEC_SIDE_EFFECT_CONSTRUCTOR 40 Medium

org.csveed.report.CsvException

Bug Category Details Line Priority
To make log readable, log format ({}) should contain non-sign character. BAD_PRACTICE SLF4J_SIGN_ONLY_FORMAT 17 Medium

org.csveed.report.RowReport

Bug Category Details Line Priority
1st parameter 'parts' could be declared as java.lang.Iterable instead STYLE OCP_OVERLY_CONCRETE_PARAMETER 58 Medium
1st parameter 'parts' could be declared as java.lang.Iterable instead STYLE OCP_OVERLY_CONCRETE_PARAMETER 66 Medium
This method org.csveed.report.RowReport.tokenize() parses a String that is a field STYLE STT_STRING_PARSING_A_FIELD 35 Medium
This method org.csveed.report.RowReport.tokenize() parses a String that is a field STYLE STT_STRING_PARSING_A_FIELD 38 Medium
This method org.csveed.report.RowReport.tokenize() parses a String that is a field STYLE STT_STRING_PARSING_A_FIELD 41 Medium

org.csveed.report.RowReportTest

Bug Category Details Line Priority
Method org.csveed.report.RowReportTest.relevantBlockAtEnd() appears to call the same method on the same object redundantly PERFORMANCE PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS 32 High
Method org.csveed.report.RowReportTest.relevantBlockAtStart() appears to call the same method on the same object redundantly PERFORMANCE PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS 15 High
Method org.csveed.report.RowReportTest.relevantBlockInMiddle() appears to call the same method on the same object redundantly PERFORMANCE PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS 23 High
Method org.csveed.report.RowReportTest.relevantBlockInMiddle() appears to call the same method on the same object redundantly PERFORMANCE PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS 25 High
Method org.csveed.report.RowReportTest.tooSmallToNotice() appears to call the same method on the same object redundantly PERFORMANCE PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS 40 High
Method org.csveed.report.RowReportTest.tooSmallToNotice() appears to call the same method on the same object redundantly PERFORMANCE PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS 42 High

org.csveed.row.LineWithInfoTest

Bug Category Details Line Priority
Method org.csveed.row.LineWithInfoTest.addString(LineWithInfo, String) returns modified parameter STYLE CFS_CONFUSING_FUNCTION_SEMANTICS 108 Medium
Return value of LineWithInfo.reportOnColumn(Column) ignored, but method has no side effect STYLE RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT 47 Medium

org.csveed.row.RowReaderImpl

Bug Category Details Line Priority
Unconstrained method org.csveed.row.RowReaderImpl.readBareLine() converts checked exception to unchecked STYLE EXS_EXCEPTION_SOFTENING_NO_CONSTRAINTS 125 High
Unconstrained method org.csveed.row.RowReaderImpl.readBareLine() converts checked exception to unchecked STYLE EXS_EXCEPTION_SOFTENING_NO_CONSTRAINTS 130 High
Method new org.csveed.row.RowReaderImpl(Reader, RowInstructions) defines parameters more abstractly than needed to function properly CORRECTNESS PDP_POORLY_DEFINED_PARAMETER 38 Medium

org.csveed.row.RowReaderTest

Bug Category Details Line Priority
Method org.csveed.row.RowReaderTest.reportEscapingAndQuotes() appears to call the same method on the same object redundantly PERFORMANCE PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS 259 Medium
Method org.csveed.row.RowReaderTest.reportSimple() appears to call the same method on the same object redundantly PERFORMANCE PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS 249 Medium

org.csveed.row.RowWriterImpl

Bug Category Details Line Priority
Unconstrained method org.csveed.row.RowWriterImpl.writeCells(Iterator) converts checked exception to unchecked STYLE EXS_EXCEPTION_SOFTENING_NO_CONSTRAINTS 103 High
To make log readable, log format () should contain non-sign character. BAD_PRACTICE SLF4J_SIGN_ONLY_FORMAT 102 Medium

org.csveed.test.model.BeanVariousNotAnnotated

Bug Category Details Line Priority
org.csveed.test.model.BeanVariousNotAnnotated.getDate() may expose internal representation by returning BeanVariousNotAnnotated.date MALICIOUS_CODE EI_EXPOSE_REP 46 Medium
org.csveed.test.model.BeanVariousNotAnnotated.getYearMonth() may expose internal representation by returning BeanVariousNotAnnotated.yearMonth MALICIOUS_CODE EI_EXPOSE_REP 54 Medium
org.csveed.test.model.BeanVariousNotAnnotated.setDate(Date) may expose internal representation by storing an externally mutable object into BeanVariousNotAnnotated.date MALICIOUS_CODE EI_EXPOSE_REP2 50 Medium
org.csveed.test.model.BeanVariousNotAnnotated.setYearMonth(Date) may expose internal representation by storing an externally mutable object into BeanVariousNotAnnotated.yearMonth MALICIOUS_CODE EI_EXPOSE_REP2 58 Medium

org.csveed.test.model.BeanWithVariousTypes

Bug Category Details Line Priority
org.csveed.test.model.BeanWithVariousTypes.getDate() may expose internal representation by returning BeanWithVariousTypes.date MALICIOUS_CODE EI_EXPOSE_REP 46 Medium
org.csveed.test.model.BeanWithVariousTypes.getYearMonth() may expose internal representation by returning BeanWithVariousTypes.yearMonth MALICIOUS_CODE EI_EXPOSE_REP 54 Medium
org.csveed.test.model.BeanWithVariousTypes.setDate(Date) may expose internal representation by storing an externally mutable object into BeanWithVariousTypes.date MALICIOUS_CODE EI_EXPOSE_REP2 50 Medium
org.csveed.test.model.BeanWithVariousTypes.setYearMonth(Date) may expose internal representation by storing an externally mutable object into BeanWithVariousTypes.yearMonth MALICIOUS_CODE EI_EXPOSE_REP2 58 Medium

org.csveed.test.model.BeanWithoutGettersAndSetters

Bug Category Details Line Priority
Class org.csveed.test.model.BeanWithoutGettersAndSetters defines fields that are used only as locals CORRECTNESS FCBL_FIELD_COULD_BE_LOCAL Not available Medium
Class org.csveed.test.model.BeanWithoutGettersAndSetters defines fields that are used only as locals CORRECTNESS FCBL_FIELD_COULD_BE_LOCAL Not available Medium
Class org.csveed.test.model.BeanWithoutGettersAndSetters defines fields that are used only as locals CORRECTNESS FCBL_FIELD_COULD_BE_LOCAL Not available Medium

org.csveed.test.model.BeanWithoutHeader

Bug Category Details Line Priority
org.csveed.test.model.BeanWithoutHeader.getDate() may expose internal representation by returning BeanWithoutHeader.date MALICIOUS_CODE EI_EXPOSE_REP 48 Medium
org.csveed.test.model.BeanWithoutHeader.getYearMonth() may expose internal representation by returning BeanWithoutHeader.yearMonth MALICIOUS_CODE EI_EXPOSE_REP 56 Medium
org.csveed.test.model.BeanWithoutHeader.setDate(Date) may expose internal representation by storing an externally mutable object into BeanWithoutHeader.date MALICIOUS_CODE EI_EXPOSE_REP2 52 Medium
org.csveed.test.model.BeanWithoutHeader.setYearMonth(Date) may expose internal representation by storing an externally mutable object into BeanWithoutHeader.yearMonth MALICIOUS_CODE EI_EXPOSE_REP2 60 Medium

org.csveed.token.ParseStateMachine

Bug Category Details Line Priority
Method org.csveed.token.ParseStateMachine.determineState(int, EncounteredSymbol) is excessively complex, with a cyclomatic complexity of 69 STYLE CC_CYCLOMATIC_COMPLEXITY 136 Medium
To make log readable, log format ({} ({}): {} => {}) should contain non-sign character. BAD_PRACTICE SLF4J_SIGN_ONLY_FORMAT 82 Medium

org.csveed.token.ParseStateMachineTest

Bug Category Details Line Priority
Method org.csveed.token.ParseStateMachineTest.windowsCrLf() excessively uses methods of another class STYLE CE_CLASS_ENVY 24-34 Medium

org.csveed.token.SymbolMapping

Bug Category Details Line Priority
Constructor new org.csveed.token.SymbolMapping() makes call to non-final method CORRECTNESS PCOA_PARTIALLY_CONSTRUCTED_OBJECT_ACCESS 40 Medium
Method org.csveed.token.SymbolMapping.charactersToString(char[]) passes constant String of length 1 to character overridden method PERFORMANCE UCPM_USE_CHARACTER_PARAMETERIZED_METHOD 93 Medium
org.csveed.token.SymbolMapping.logSettings() makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 83 Medium

org.csveed.token.SymbolMappingTest

Bug Category Details Line Priority
Method org.csveed.token.SymbolMappingTest.dissimilarEscapeAndQuote() excessively uses methods of another class STYLE CE_CLASS_ENVY 48-55 Medium