[Fb-contrib-commit] SF.net SVN: fb-contrib:[1812] trunk/fb-contrib
Brought to you by:
dbrosius
From: <dbr...@us...> - 2017-03-12 23:32:15
|
Revision: 1812 http://sourceforge.net/p/fb-contrib/code/1812 Author: dbrosius Date: 2017-03-12 23:32:07 +0000 (Sun, 12 Mar 2017) Log Message: ----------- sync from github Modified Paths: -------------- trunk/fb-contrib/.classpath trunk/fb-contrib/build.properties trunk/fb-contrib/build.xml trunk/fb-contrib/etc/bugrank.txt trunk/fb-contrib/etc/findbugs.xml trunk/fb-contrib/etc/messages.xml trunk/fb-contrib/etc/samples.fbp trunk/fb-contrib/htdocs/index.shtml trunk/fb-contrib/htdocs/repository.html trunk/fb-contrib/pom.xml trunk/fb-contrib/samples.xml trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/collect/CollectStatistics.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/BloatedAssignmentScope.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/BogusExceptionDeclaration.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/BuryingLogic.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/CharsetIssues.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/ClassEnvy.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/CommonsStringBuilderToString.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/ConcurrentCollectionIssues.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/ConflictingTimeUnits.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/CustomBuiltXML.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/DubiousMapCollection.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/ExceptionSoftening.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/FieldCouldBeLocal.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/ImmatureClass.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/InappropriateToStringUse.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/InefficientStringBuffering.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/JAXRSIssues.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/JPAIssues.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/LocalTypeDetector.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/LoggerOddities.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/MethodReturnsConstant.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/NeedlessAutoboxing.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/OptionalIssues.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/OrphanedDOMNode.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/OverlyConcreteParameter.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/RuntimeExceptionDeclared.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/Section508Compliance.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/SillynessPotPourri.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/StackedTryBlocks.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/StringifiedTypes.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/SuspiciousJDKVersionUse.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/SuspiciousLoopSearch.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/UnitTestAssertionOddities.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/UnnecessaryNewNullCheck.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/UnnecessaryStoreBeforeReturn.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/UnrelatedCollectionContents.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/UnsynchronizedSingletonFieldWrites.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/detect/UseCharacterParameterizedMethod.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/utils/BugType.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/utils/SignatureUtils.java trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/utils/Values.java trunk/fb-contrib/src/samples/java/BL_Sample.java trunk/fb-contrib/src/samples/java/DMC_Sample.java trunk/fb-contrib/src/samples/java/JXI_Sample.java trunk/fb-contrib/src/samples/java/OCP_Sample.java trunk/fb-contrib/src/samples/java/SJVU_Sample.java trunk/fb-contrib/src/samples/java/SLS_Sample.java trunk/fb-contrib/src/samples/java/SPP_Sample.java trunk/fb-contrib/src/samples/java/STB_Sample.java trunk/fb-contrib/src/samples/java/STT_Sample.java trunk/fb-contrib/yank.xls Removed Paths: ------------- trunk/fb-contrib/src/main/java/com/mebigfatguy/fbcontrib/collect/StatisticsKey.java Modified: trunk/fb-contrib/.classpath =================================================================== --- trunk/fb-contrib/.classpath 2017-02-12 16:42:47 UTC (rev 1811) +++ trunk/fb-contrib/.classpath 2017-03-12 23:32:07 UTC (rev 1812) @@ -5,8 +5,8 @@ <classpathentry kind="src" path="src/main/java"/> <classpathentry kind="src" output="target/classes/test" path="src/test/java"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> - <classpathentry kind="lib" path="lib/backport-util-concurrent-3.1.jar"/> - <classpathentry kind="lib" path="lib/javax.servlet-api-3.1.0.jar"/> + <classpathentry kind="lib" path="lib/backport-util-concurrent-3.1.jar" sourcepath="/home/dave/.m2/repository/backport-util-concurrent/backport-util-concurrent/3.1/backport-util-concurrent-3.1-sources.jar"/> + <classpathentry kind="lib" path="lib/javax.servlet-api-3.1.0.jar" sourcepath="lib/sources/javax.servlet-api-3.1.0-sources.jar"/> <classpathentry kind="lib" path="lib/log4j-1.2.17.jar"/> <classpathentry kind="lib" path="lib/javax.servlet.jsp-api-2.3.1.jar"/> <classpathentry kind="lib" path="lib/asm-debug-all-5.0.2.jar" sourcepath="lib/sources/asm-debug-all-5.0.2-sources.jar"/> @@ -17,7 +17,6 @@ </classpathentry> <classpathentry kind="lib" path="lib/findbugs-3.0.1.jar" sourcepath="lib/sources/findbugs-3.0.1-sources.jar"/> <classpathentry kind="lib" path="lib/junit-4.12.jar"/> - <classpathentry kind="lib" path="lib/jsr311-api-1.1.1.jar" sourcepath="lib/sources/jsr311-api-1.1.1-sources.jar"/> <classpathentry kind="lib" path="lib/javax.persistence-2.1.1.jar"/> <classpathentry kind="lib" path="lib/mockito-all-2.0.2-beta.jar"/> <classpathentry combineaccessrules="false" kind="src" path="/findbugs"/> @@ -39,5 +38,7 @@ <classpathentry kind="lib" path="lib/testng-6.9.10.jar"/> <classpathentry kind="lib" path="lib/jcommander-1.48.jar"/> <classpathentry kind="lib" path="lib/commons-io-2.4.jar"/> + <classpathentry kind="lib" path="lib/jersey-media-multipart-2.25.1.jar"/> + <classpathentry kind="lib" path="lib/javax.ws.rs-api-2.0.1.jar"/> <classpathentry kind="output" path="target/classes/main"/> </classpath> Modified: trunk/fb-contrib/build.properties =================================================================== --- trunk/fb-contrib/build.properties 2017-02-12 16:42:47 UTC (rev 1811) +++ trunk/fb-contrib/build.properties 2017-03-12 23:32:07 UTC (rev 1812) @@ -1,6 +1,5 @@ -bin.includes = plugin.xml,\ - META-INF/,\ +bin.includes = plugin.xml . jars.compile.order = . source.. = src/main/java,\ Modified: trunk/fb-contrib/build.xml =================================================================== --- trunk/fb-contrib/build.xml 2017-02-12 16:42:47 UTC (rev 1811) +++ trunk/fb-contrib/build.xml 2017-03-12 23:32:07 UTC (rev 1812) @@ -31,7 +31,7 @@ <property name="javac.debug" value="on" /> <property name="test_reports.dir" value="${target.dir}/reports/test"/> - <property name="fb-contrib.version" value="6.8.3" /> + <property name="fb-contrib.version" value="6.8.4" /> <property name="sonatype.dir" value="${user.home}/.fb-contrib-${fb-contrib.version}-sonatype" /> @@ -130,7 +130,6 @@ <pathelement location="${lib.dir}/httpcore-${httpcore.version}.jar" /> <pathelement location="${lib.dir}/httpclient-${httpclient.version}.jar" /> <pathelement location="${lib.dir}/commons-codec-${commons-codec.version}.jar" /> - <pathelement location="${lib.dir}/jsr311-api-${jsr311-api.version}.jar" /> <pathelement location="${lib.dir}/spring-beans-${spring-beans.version}.jar" /> <pathelement location="${lib.dir}/spring-context-${spring-context.version}.jar" /> <pathelement location="${lib.dir}/spring-tx-${spring-tx.version}.jar" /> @@ -137,6 +136,8 @@ <pathelement location="${lib.dir}/javax.persistence-${javax.persistence.version}.jar" /> <pathelement location="${lib.dir}/mockito-all-${mockito-all.version}.jar" /> <pathelement location="${lib.dir}/jena-shaded-guava-${jena-shaded-guava.version}.jar" /> + <pathelement location="${lib.dir}/javax.ws.rs-api-${javax.ws.rs-api.version}.jar" /> + <pathelement location="${lib.dir}/jersey-media-multipart-${jersey-media-multipart.version}.jar" /> </path> </target> Modified: trunk/fb-contrib/etc/bugrank.txt =================================================================== --- trunk/fb-contrib/etc/bugrank.txt 2017-02-12 16:42:47 UTC (rev 1811) +++ trunk/fb-contrib/etc/bugrank.txt 2017-03-12 23:32:07 UTC (rev 1812) @@ -200,6 +200,7 @@ +0 BugPattern SPP_NON_USEFUL_TOSTRING +0 BugPattern SPP_NO_CHAR_SB_CTOR +0 BugPattern SPP_NULL_BEFORE_INSTANCEOF ++0 BugPattern SPP_NULL_CHECK_ON_MAP_SUBSET_ACCESSOR +0 BugPattern SPP_NULL_CHECK_ON_OPTIONAL +0 BugPattern SPP_SERIALVER_SHOULD_BE_PRIVATE +0 BugPattern SPP_STATIC_FORMAT_STRING Modified: trunk/fb-contrib/etc/findbugs.xml =================================================================== --- trunk/fb-contrib/etc/findbugs.xml 2017-02-12 16:42:47 UTC (rev 1811) +++ trunk/fb-contrib/etc/findbugs.xml 2017-03-12 23:32:07 UTC (rev 1812) @@ -145,7 +145,7 @@ <Detector class="com.mebigfatguy.fbcontrib.detect.SuspiciousComparatorReturnValues" speed="fast" reports="SCRV_SUSPICIOUS_COMPARATOR_RETURN_VALUES" /> <Detector class="com.mebigfatguy.fbcontrib.detect.SillynessPotPourri" speed="fast" - reports="SPP_NEGATIVE_BITSET_ITEM,SPP_INTERN_ON_CONSTANT,SPP_NO_CHAR_SB_CTOR,SPP_USE_MATH_CONSTANT,SPP_STUTTERED_ASSIGNMENT,SPP_USE_ISNAN,SPP_USE_BIGDECIMAL_STRING_CTOR,SPP_STRINGBUFFER_WITH_EMPTY_STRING,SPP_EQUALS_ON_ENUM,SPP_INVALID_BOOLEAN_NULL_CHECK,SPP_USE_CHARAT,SPP_USELESS_TERNARY,SPP_SUSPECT_STRING_TEST,SPP_USE_STRINGBUILDER_LENGTH,SPP_INVALID_CALENDAR_COMPARE,SPP_USE_CONTAINSKEY,SPP_USE_ISEMPTY,SPP_USE_GETPROPERTY,SPP_USELESS_CASING,SPP_SERIALVER_SHOULD_BE_PRIVATE,SPP_NON_ARRAY_PARM,SPP_EMPTY_CASING,SPP_TEMPORARY_TRIM,SPP_STRINGBUILDER_IS_MUTABLE,SPP_USE_GET0,SPP_DOUBLE_APPENDED_LITERALS,SPP_NULL_BEFORE_INSTANCEOF,SPP_NON_USEFUL_TOSTRING,SPP_TOSTRING_ON_STRING,SPP_EQUALS_ON_STRING_BUILDER,SPP_CONVERSION_OF_STRING_LITERAL,SPP_STATIC_FORMAT_STRING,SPP_NULL_CHECK_ON_OPTIONAL,SPP_WRONG_COMMONS_TO_STRING_OBJECT" /> + reports="SPP_NEGATIVE_BITSET_ITEM,SPP_INTERN_ON_CONSTANT,SPP_NO_CHAR_SB_CTOR,SPP_USE_MATH_CONSTANT,SPP_STUTTERED_ASSIGNMENT,SPP_USE_ISNAN,SPP_USE_BIGDECIMAL_STRING_CTOR,SPP_STRINGBUFFER_WITH_EMPTY_STRING,SPP_EQUALS_ON_ENUM,SPP_INVALID_BOOLEAN_NULL_CHECK,SPP_USE_CHARAT,SPP_USELESS_TERNARY,SPP_SUSPECT_STRING_TEST,SPP_USE_STRINGBUILDER_LENGTH,SPP_INVALID_CALENDAR_COMPARE,SPP_USE_CONTAINSKEY,SPP_USE_ISEMPTY,SPP_USE_GETPROPERTY,SPP_USELESS_CASING,SPP_SERIALVER_SHOULD_BE_PRIVATE,SPP_NON_ARRAY_PARM,SPP_EMPTY_CASING,SPP_TEMPORARY_TRIM,SPP_STRINGBUILDER_IS_MUTABLE,SPP_USE_GET0,SPP_DOUBLE_APPENDED_LITERALS,SPP_NULL_BEFORE_INSTANCEOF,SPP_NON_USEFUL_TOSTRING,SPP_TOSTRING_ON_STRING,SPP_EQUALS_ON_STRING_BUILDER,SPP_CONVERSION_OF_STRING_LITERAL,SPP_STATIC_FORMAT_STRING,SPP_NULL_CHECK_ON_OPTIONAL,SPP_WRONG_COMMONS_TO_STRING_OBJECT,SPP_NULL_CHECK_ON_MAP_SUBSET_ACCESSOR" /> <Detector class="com.mebigfatguy.fbcontrib.detect.SpoiledChildInterfaceImplementor" speed="fast" reports="SCII_SPOILED_CHILD_INTERFACE_IMPLEMENTOR" /> @@ -428,6 +428,7 @@ <BugPattern abbrev="SPP" type="SPP_STATIC_FORMAT_STRING" category="CORRECTNESS" /> <BugPattern abbrev="SPP" type="SPP_NULL_CHECK_ON_OPTIONAL" category="CORRECTNESS" /> <BugPattern abbrev="SPP" type="SPP_WRONG_COMMONS_TO_STRING_OBJECT" category="CORRECTNESS" /> + <BugPattern abbrev="SPP" type="SPP_NULL_CHECK_ON_MAP_SUBSET_ACCESSOR" category="CORRECTNESS" /> <BugPattern abbrev="BAS" type="BAS_BLOATED_ASSIGNMENT_SCOPE" category="PERFORMANCE" /> <BugPattern abbrev="SCII" type="SCII_SPOILED_CHILD_INTERFACE_IMPLEMENTOR" category="STYLE" /> <BugPattern abbrev="DWI" type="DWI_DELETING_WHILE_ITERATING" category="CORRECTNESS" /> Modified: trunk/fb-contrib/etc/messages.xml =================================================================== --- trunk/fb-contrib/etc/messages.xml 2017-02-12 16:42:47 UTC (rev 1811) +++ trunk/fb-contrib/etc/messages.xml 2017-03-12 23:32:07 UTC (rev 1812) @@ -774,7 +774,8 @@ compiled. This can happen if you specify the <code>-source</code> and <code>-target</code> options of the javac compiler, and specify a target that is less than the JDK version of the javac compiler.</p> <p>It relies on the system property <code>-Dfb-contrib.sjvu.jdkhome=/path/to/older/jdk/to/check"</code> to specify - what JDK to compare against. If this property is not set, this detector does nothing.</p> + what JDK to compare against. On linux, you may need to give file permissions to findbugs to read these directories. + If this property is not set, this detector does nothing.</p> <p>It is a slow detector.</p> ]]> </Details> @@ -3432,7 +3433,7 @@ <ShortDescription>Method does not pass an object to commons-lang's ToStringBuilder</ShortDescription> <LongDescription>Method {1} does not pass an object to commons-lang's ToStringBuilder</LongDescription> <Details> - <![CDATA[[ + <![CDATA[ This method uses commons-lang, or commons-lang3's ToStringBuilder to attempt to output a representation of an object. However, no object was passed, just the style specifier, and so the output will be of the ToStringStyle object itself. Don't forget to include the object you wish to output as the first parameter, such as @@ -3442,6 +3443,18 @@ ]]> </Details> </BugPattern> + + <BugPattern type="SPP_NULL_CHECK_ON_MAP_SUBSET_ACCESSOR"> + <ShortDescription>Method checks whether the keySet(), entrySet() or values() collection of a Map is null</ShortDescription> + <LongDescription>Method {1} checks whether the keySet(), entrySet() or values() collection of a Map is null</LongDescription> + <Details> + <![CDATA[ + This method checks to see if the return value from a keySet(), entrySet() or values() method call on a Map is null. + For any valid functioning Map these collections will always be non-null, and so the call is superfluous. Maybe you intended + to check whether those sets where empty() instead. + ]]> + </Details> + </BugPattern> <BugPattern type="BAS_BLOATED_ASSIGNMENT_SCOPE"> <ShortDescription>Method assigns a variable in a larger scope than is needed</ShortDescription> @@ -5899,6 +5912,6 @@ <BugCode abbrev="CCI">Concurrent Collection Issues</BugCode> <BugCode abbrev="UTWR">Use Try With Resources</BugCode> <BugCode abbrev="SSCU">Suspicious Shaded Class Use</BugCode> - <BugCode abbrev="USFW">Unsynchronous Singleton Field Writes</BugCode> + <BugCode abbrev="USFW">Unsynchronized Singleton Field Writes</BugCode> <BugCode abbrev="OI">Optional Issues</BugCode> </MessageCollection> Modified: trunk/fb-contrib/etc/samples.fbp =================================================================== --- trunk/fb-contrib/etc/samples.fbp 2017-02-12 16:42:47 UTC (rev 1811) +++ trunk/fb-contrib/etc/samples.fbp 2017-03-12 23:32:07 UTC (rev 1812) @@ -1,28 +1,29 @@ <Project projectName="sample"> - <Jar>./../target/classes/samples</Jar> - <AuxClasspathEntry>./../lib/asm-debug-all-5.0.2.jar</AuxClasspathEntry> - <AuxClasspathEntry>./../lib/backport-util-concurrent-3.1.jar</AuxClasspathEntry> - <AuxClasspathEntry>./../lib/commons-codec-1.10.jar</AuxClasspathEntry> - <AuxClasspathEntry>./../lib/commons-collections-3.2.2.jar</AuxClasspathEntry> - <AuxClasspathEntry>./../lib/commons-lang3-3.4.jar</AuxClasspathEntry> - <AuxClasspathEntry>./../lib/guava-19.0.jar</AuxClasspathEntry> - <AuxClasspathEntry>./../lib/httpclient-4.5.2.jar</AuxClasspathEntry> - <AuxClasspathEntry>./../lib/httpclient-cache-4.5.2.jar</AuxClasspathEntry> - <AuxClasspathEntry>./../lib/httpcore-4.4.5.jar</AuxClasspathEntry> - <AuxClasspathEntry>./../lib/javax.persistence-2.1.1.jar</AuxClasspathEntry> - <AuxClasspathEntry>./../lib/javax.servlet-api-3.1.0.jar</AuxClasspathEntry> - <AuxClasspathEntry>./../lib/javax.servlet.jsp-api-2.3.1.jar</AuxClasspathEntry> - <AuxClasspathEntry>./../lib/jsr311-api-1.1.1.jar</AuxClasspathEntry> - <AuxClasspathEntry>./../lib/junit-4.12.jar</AuxClasspathEntry> - <AuxClasspathEntry>./../lib/log4j-1.2.17.jar</AuxClasspathEntry> - <AuxClasspathEntry>./../lib/mockito-all-2.0.2-beta.jar</AuxClasspathEntry> - <AuxClasspathEntry>./../lib/slf4j-api-1.7.21.jar</AuxClasspathEntry> - <AuxClasspathEntry>./../lib/spring-beans-4.3.3.RELEASE.jar</AuxClasspathEntry> - <AuxClasspathEntry>./../lib/spring-context-4.3.3.RELEASE.jar</AuxClasspathEntry> - <AuxClasspathEntry>./../lib/spring-tx-4.3.3.RELEASE.jar</AuxClasspathEntry> - <AuxClasspathEntry>./../lib/threetenbp-1.3.2.jar</AuxClasspathEntry> - <AuxClasspathEntry>./../lib/jena-shaded-guava-3.1.0.jar</AuxClasspathEntry> - <AuxClasspathEntry>./../lib/commons-io-2.4.jar</AuxClasspathEntry> - <AuxClasspathEntry>./../lib/testng-6.9.10.jar</AuxClasspathEntry> - <SrcDir>../src/samples/java</SrcDir> + <Jar>././../target/classes/samples</Jar> + <AuxClasspathEntry>././../lib/asm-debug-all-5.0.2.jar</AuxClasspathEntry> + <AuxClasspathEntry>././../lib/backport-util-concurrent-3.1.jar</AuxClasspathEntry> + <AuxClasspathEntry>././../lib/commons-codec-1.10.jar</AuxClasspathEntry> + <AuxClasspathEntry>././../lib/commons-collections-3.2.2.jar</AuxClasspathEntry> + <AuxClasspathEntry>././../lib/commons-lang3-3.4.jar</AuxClasspathEntry> + <AuxClasspathEntry>././../lib/guava-19.0.jar</AuxClasspathEntry> + <AuxClasspathEntry>././../lib/httpclient-4.5.2.jar</AuxClasspathEntry> + <AuxClasspathEntry>././../lib/httpclient-cache-4.5.2.jar</AuxClasspathEntry> + <AuxClasspathEntry>././../lib/httpcore-4.4.5.jar</AuxClasspathEntry> + <AuxClasspathEntry>././../lib/javax.persistence-2.1.1.jar</AuxClasspathEntry> + <AuxClasspathEntry>././../lib/javax.servlet-api-3.1.0.jar</AuxClasspathEntry> + <AuxClasspathEntry>././../lib/javax.servlet.jsp-api-2.3.1.jar</AuxClasspathEntry> + <AuxClasspathEntry>././../lib/junit-4.12.jar</AuxClasspathEntry> + <AuxClasspathEntry>././../lib/log4j-1.2.17.jar</AuxClasspathEntry> + <AuxClasspathEntry>././../lib/mockito-all-2.0.2-beta.jar</AuxClasspathEntry> + <AuxClasspathEntry>././../lib/slf4j-api-1.7.21.jar</AuxClasspathEntry> + <AuxClasspathEntry>././../lib/spring-beans-4.3.3.RELEASE.jar</AuxClasspathEntry> + <AuxClasspathEntry>././../lib/spring-context-4.3.3.RELEASE.jar</AuxClasspathEntry> + <AuxClasspathEntry>././../lib/spring-tx-4.3.3.RELEASE.jar</AuxClasspathEntry> + <AuxClasspathEntry>././../lib/threetenbp-1.3.2.jar</AuxClasspathEntry> + <AuxClasspathEntry>././../lib/jena-shaded-guava-3.1.0.jar</AuxClasspathEntry> + <AuxClasspathEntry>././../lib/commons-io-2.4.jar</AuxClasspathEntry> + <AuxClasspathEntry>././../lib/testng-6.9.10.jar</AuxClasspathEntry> + <AuxClasspathEntry>../lib/javax.ws.rs-api-2.0.1.jar</AuxClasspathEntry> + <AuxClasspathEntry>../lib/jersey-media-multipart-2.25.1.jar</AuxClasspathEntry> + <SrcDir>./../src/samples/java</SrcDir> </Project> Modified: trunk/fb-contrib/htdocs/index.shtml =================================================================== --- trunk/fb-contrib/htdocs/index.shtml 2017-02-12 16:42:47 UTC (rev 1811) +++ trunk/fb-contrib/htdocs/index.shtml 2017-03-12 23:32:07 UTC (rev 1812) @@ -68,7 +68,7 @@ </li> </ul> </p> - <p style="font-weight: bold;">The latest version of fb-contrib is 6.8.3 available for download + <p style="font-weight: bold;">The latest version of fb-contrib is 6.8.4 available for download <a href="http://search.maven.org/#search%7Cga%7C1%7Ca%3A%22fb-contrib%22">here</a>.</p> <p style="font-weight: bold;">This version requires FindBugs 3.0.1 or better</p> <p style="font-weight: bold;">Please note that active development for this project is now done on @@ -77,9 +77,9 @@ </div> <hr/> - <img id="git_image" src="flip1.gif" onClick="toggleBlock('git', 'git_image');" align="top"/> + <img id="git_image" src="flip2.gif" onClick="toggleBlock('git', 'git_image');" align="top"/> Detectors added in git<br/> - <div id="git" style="display:none;"> + <div id="git" style="display:block;"> <ul> <li><b>[UTWR] Use Try With Resources</b><br/> Looks for try/finally blocks that manage resources, without using try-with-resources. @@ -88,12 +88,18 @@ Looks for use of classes that have been shaded into 3rdparty jars, rather than using the real class, from the real jar. </li> + <li><b>[USFW] Unsynchronized Singleton Field Writes</b><br/> + Looks for field writes to objects that are non singletons, where the write is not synchronized + </li> + <li><b>[OI] Optional Issues</b><br/> + Looks for various issues around use of java.util.Optional + </li> </ul> </div> <hr/> - <img id="git_image" src="flip2.gif" onClick="toggleBlock('v6_8_0', 'v6_8_0_image');" align="top"/> + <img id="git_image" src="flip1.gif" onClick="toggleBlock('v6_8_0', 'v6_8_0_image');" align="top"/> Detectors added in v6.8.0<br/> - <div id="v6_8_0" style="display:block;"> + <div id="v6_8_0" style="display:none;"> <ul> <li><b>[DMC] Dubious Map Collection</b><br/> Looks for fields that are implementations of java.util.Map, but that are only ever iterated over. This probably means that this Modified: trunk/fb-contrib/htdocs/repository.html =================================================================== --- trunk/fb-contrib/htdocs/repository.html 2017-02-12 16:42:47 UTC (rev 1811) +++ trunk/fb-contrib/htdocs/repository.html 2017-03-12 23:32:07 UTC (rev 1812) @@ -22,7 +22,7 @@ <table style="margin-left: 40px; background-color: #A0A0FF; padding: 20px; border-width: 1px; border-style: outset; border-color: #000000;"> <tr><td><b>GroupId:</b></td><td>com.mebigfatguy.fb-contrib</td></tr> <tr><td><b>ArtifactId:</b></td><td>fb-contrib</td></tr> - <tr><td><b>Version:</b></td><td>6.8.3</td></tr> + <tr><td><b>Version:</b></td><td>6.8.4</td></tr> </table> </div> Modified: trunk/fb-contrib/pom.xml =================================================================== --- trunk/fb-contrib/pom.xml 2017-02-12 16:42:47 UTC (rev 1811) +++ trunk/fb-contrib/pom.xml 2017-03-12 23:32:07 UTC (rev 1812) @@ -8,7 +8,7 @@ <modelVersion>4.0.0</modelVersion> <groupId>com.mebigfatguy.fb-contrib</groupId> <artifactId>fb-contrib</artifactId> - <version>6.8.3</version> + <version>6.8.4</version> <prerequisites> <maven>2.2.1</maven> @@ -148,10 +148,9 @@ <dependency><scope>test</scope><groupId>commons-codec</groupId><artifactId>commons-codec</artifactId><version>1.10</version></dependency> <dependency><scope>test</scope><groupId>commons-io</groupId><artifactId>commons-io</artifactId><version>2.4</version></dependency> <dependency><scope>test</scope><groupId>commons-collections</groupId><artifactId>commons-collections</artifactId><version>3.2.2</version></dependency> - <dependency><scope>test</scope><groupId>javax.persistence</groupId><artifactId>persistence-api</artifactId><version>1.0.2</version></dependency> <dependency><scope>test</scope><groupId>javax.servlet</groupId><artifactId>javax.servlet-api</artifactId><version>3.1.0</version></dependency> <dependency><scope>test</scope><groupId>javax.servlet.jsp</groupId><artifactId>javax.servlet.jsp-api</artifactId><version>2.3.1</version></dependency> - <dependency><scope>test</scope><groupId>javax.ws.rs</groupId><artifactId>jsr311-api</artifactId><version>1.1.1</version></dependency> + <dependency><scope>test</scope><groupId>javax.ws.rs</groupId><artifactId>javax.ws.rs-api</artifactId><version>2.0.1</version></dependency> <dependency><scope>test</scope><groupId>junit</groupId><artifactId>junit</artifactId><version>4.12</version></dependency> <dependency><scope>test</scope><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency> <dependency><scope>test</scope><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.3</version></dependency> @@ -185,6 +184,18 @@ <version>3.1.0</version> <scope>test</scope> </dependency> + <dependency> + <groupId>org.glassfish.jersey.media</groupId> + <artifactId>jersey-media-multipart</artifactId> + <version>2.25.1</version> + <scope>test</scope> + </dependency> + <dependency> + <groupId>org.eclipse.persistence</groupId> + <artifactId>javax.persistence</artifactId> + <version>2.1.1</version> + <scope>test</scope> + </dependency> </dependencies> <build> Modified: trunk/fb-contrib/samples.xml =================================================================== --- trunk/fb-contrib/samples.xml 2017-02-12 16:42:47 UTC (rev 1811) +++ trunk/fb-contrib/samples.xml 2017-03-12 23:32:07 UTC (rev 1812) @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<BugCollection version="3.0.1" sequence="0" timestamp="1486772460637" analysisTimestamp="1486772460662" release=""> +<BugCollection version="3.0.1" sequence="0" timestamp="1489328062955" analysisTimestamp="1489328062981" release=""> <Project projectName="Samples"> <Jar>/home/dave/dev/fb-contrib/target/classes/samples</Jar> <AuxClasspathEntry>/home/dave/dev/fb-contrib/lib/asm-debug-all-5.0.2.jar</AuxClasspathEntry> @@ -19,7 +19,7 @@ <AuxClasspathEntry>/home/dave/dev/fb-contrib/lib/httpcore-4.4.5.jar</AuxClasspathEntry> <AuxClasspathEntry>/home/dave/dev/fb-contrib/lib/httpclient-4.5.2.jar</AuxClasspathEntry> <AuxClasspathEntry>/home/dave/dev/fb-contrib/lib/commons-codec-1.10.jar</AuxClasspathEntry> - <AuxClasspathEntry>/home/dave/dev/fb-contrib/lib/jsr311-api-1.1.1.jar</AuxClasspathEntry> + <AuxClasspathEntry>/home/dave/dev/fb-contrib/lib/jsr311-api-${jsr311-api.version}.jar</AuxClasspathEntry> <AuxClasspathEntry>/home/dave/dev/fb-contrib/lib/spring-beans-4.3.3.RELEASE.jar</AuxClasspathEntry> <AuxClasspathEntry>/home/dave/dev/fb-contrib/lib/spring-context-4.3.3.RELEASE.jar</AuxClasspathEntry> <AuxClasspathEntry>/home/dave/dev/fb-contrib/lib/spring-tx-4.3.3.RELEASE.jar</AuxClasspathEntry> @@ -26,6 +26,8 @@ <AuxClasspathEntry>/home/dave/dev/fb-contrib/lib/javax.persistence-2.1.1.jar</AuxClasspathEntry> <AuxClasspathEntry>/home/dave/dev/fb-contrib/lib/mockito-all-2.0.2-beta.jar</AuxClasspathEntry> <AuxClasspathEntry>/home/dave/dev/fb-contrib/lib/jena-shaded-guava-3.1.0.jar</AuxClasspathEntry> + <AuxClasspathEntry>/home/dave/dev/fb-contrib/lib/javax.ws.rs-api-2.0.1.jar</AuxClasspathEntry> + <AuxClasspathEntry>/home/dave/dev/fb-contrib/lib/jersey-media-multipart-2.25.1.jar</AuxClasspathEntry> </Project> <BugInstance type="IMC_IMMATURE_CLASS_NO_PACKAGE" priority="3" rank="20" abbrev="IMC" category="STYLE" instanceHash="52beb96b508e41498d672e105e62ceda" instanceOccurrenceNum="0" instanceOccurrenceMax="0"> <ShortMessage>Class is defined in the default package</ShortMessage> @@ -155,13 +157,13 @@ <ShortMessage>Class is defined in the default package</ShortMessage> <LongMessage>Class ABC_Sample$UseComparator$1 id defined in the default package</LongMessage> <Class classname="ABC_Sample$UseComparator$1" primary="true"> - <SourceLine classname="ABC_Sample$UseComparator$1" start="30" end="33" sourcefile="ABC_Sample.java" sourcepath="ABC_Sample.java"> - <Message>At ABC_Sample.java:[lines 30-33]</Message> + <SourceLine classname="ABC_Sample$UseComparator$1" start="1" end="33" sourcefile="ABC_Sample.java" sourcepath="ABC_Sample.java"> + <Message>At ABC_Sample.java:[lines 1-33]</Message> </SourceLine> <Message>In class ABC_Sample$UseComparator$1</Message> </Class> - <SourceLine classname="ABC_Sample$UseComparator$1" start="30" end="33" sourcefile="ABC_Sample.java" sourcepath="ABC_Sample.java" synthetic="true"> - <Message>At ABC_Sample.java:[lines 30-33]</Message> + <SourceLine classname="ABC_Sample$UseComparator$1" start="1" end="33" sourcefile="ABC_Sample.java" sourcepath="ABC_Sample.java" synthetic="true"> + <Message>At ABC_Sample.java:[lines 1-33]</Message> </SourceLine> </BugInstance> <BugInstance type="SIC_INNER_SHOULD_BE_STATIC_ANON" priority="3" rank="20" abbrev="SIC" category="PERFORMANCE" instanceHash="9296dd6a3b1f76793e436f0b899dac" instanceOccurrenceNum="0" instanceOccurrenceMax="0"> @@ -168,13 +170,13 @@ <ShortMessage>Could be refactored into a named static inner class</ShortMessage> <LongMessage>The class ABC_Sample$UseComparator$1 could be refactored into a named _static_ inner class</LongMessage> <Class classname="ABC_Sample$UseComparator$1" primary="true"> - <SourceLine classname="ABC_Sample$UseComparator$1" start="30" end="33" sourcefile="ABC_Sample.java" sourcepath="ABC_Sample.java"> - <Message>At ABC_Sample.java:[lines 30-33]</Message> + <SourceLine classname="ABC_Sample$UseComparator$1" start="1" end="33" sourcefile="ABC_Sample.java" sourcepath="ABC_Sample.java"> + <Message>At ABC_Sample.java:[lines 1-33]</Message> </SourceLine> <Message>In class ABC_Sample$UseComparator$1</Message> </Class> - <SourceLine classname="ABC_Sample$UseComparator$1" start="30" end="33" sourcefile="ABC_Sample.java" sourcepath="ABC_Sample.java" synthetic="true"> - <Message>At ABC_Sample.java:[lines 30-33]</Message> + <SourceLine classname="ABC_Sample$UseComparator$1" start="1" end="33" sourcefile="ABC_Sample.java" sourcepath="ABC_Sample.java" synthetic="true"> + <Message>At ABC_Sample.java:[lines 1-33]</Message> </SourceLine> </BugInstance> <BugInstance type="ACEM_ABSTRACT_CLASS_EMPTY_METHODS" priority="2" rank="19" abbrev="ACEM" category="STYLE" instanceHash="1d9ad842073400e44bf8df1666096e98" instanceOccurrenceNum="0" instanceOccurrenceMax="0"> @@ -247,10 +249,10 @@ <Message>In class AFBR_Sample</Message> </Class> <Method classname="AFBR_Sample" name="test5" signature="()I" isStatic="false" primary="true"> - <SourceLine classname="AFBR_Sample" start="45" end="55" startBytecode="0" endBytecode="231" sourcefile="AFBR_Sample.java" sourcepath="AFBR_Sample.java"/> + <SourceLine classname="AFBR_Sample" start="45" end="55" startBytecode="0" endBytecode="244" sourcefile="AFBR_Sample.java" sourcepath="AFBR_Sample.java"/> <Message>In method AFBR_Sample.test5()</Message> </Method> - <SourceLine classname="AFBR_Sample" primary="true" start="53" end="53" startBytecode="50" endBytecode="50" sourcefile="AFBR_Sample.java" sourcepath="AFBR_Sample.java"> + <SourceLine classname="AFBR_Sample" primary="true" start="53" end="53" startBytecode="48" endBytecode="48" sourcefile="AFBR_Sample.java" sourcepath="AFBR_Sample.java"> <Message>At AFBR_Sample.java:[line 53]</Message> </SourceLine> </BugInstance> @@ -301,16 +303,15 @@ <SourceLine classname="AIOB_Sample" start="38" end="47" startBytecode="0" endBytecode="22" sourcefile="AIOB_Sample.java" sourcepath="AIOB_Sample.java"/> <Message>In method AIOB_Sample.fpPlusPlusNotRecognized(List)</Message> </Method> - <LocalVariable name="s" register="4" pc="29" role="LOCAL_VARIABLE_NAMED"> + <LocalVariable name="s" register="3" pc="24" role="LOCAL_VARIABLE_NAMED"> <Message>Local variable named s</Message> </LocalVariable> - <SourceLine classname="AIOB_Sample" primary="true" start="40" end="40" startBytecode="27" endBytecode="27" sourcefile="AIOB_Sample.java" sourcepath="AIOB_Sample.java"> + <SourceLine classname="AIOB_Sample" primary="true" start="40" end="40" startBytecode="23" endBytecode="23" sourcefile="AIOB_Sample.java" sourcepath="AIOB_Sample.java"> <Message>At AIOB_Sample.java:[line 40]</Message> </SourceLine> <Property name="edu.umd.cs.findbugs.detect.DeadLocalStoreProperty.BASE_VALUE" value="true"/> <Property name="edu.umd.cs.findbugs.detect.DeadLocalStoreProperty.KILLED_BY_SUBSEQUENT_STORE" value="true"/> <Property name="edu.umd.cs.findbugs.detect.DeadLocalStoreProperty.LOCAL_NAME" value="s"/> - <Property name="edu.umd.cs.findbugs.detect.DeadLocalStoreProperty.NO_LOADS" value="true"/> </BugInstance> <BugInstance type="IMC_IMMATURE_CLASS_NO_PACKAGE" priority="3" rank="20" abbrev="IMC" category="STYLE" instanceHash="cbb4e363f4a491db50a6fd5e57d755af" instanceOccurrenceNum="0" instanceOccurrenceMax="0"> <ShortMessage>Class is defined in the default package</ShortMessage> @@ -488,7 +489,7 @@ <Message>In class AIOB_Sample</Message> </Class> <Method classname="AIOB_Sample" name="fpPlusEquals" signature="(Ljava/util/List;)V" isStatic="false" primary="true"> - <SourceLine classname="AIOB_Sample" start="65" end="74" startBytecode="0" endBytecode="190" sourcefile="AIOB_Sample.java" sourcepath="AIOB_Sample.java"/> + <SourceLine classname="AIOB_Sample" start="65" end="74" startBytecode="0" endBytecode="200" sourcefile="AIOB_Sample.java" sourcepath="AIOB_Sample.java"/> <Message>In method AIOB_Sample.fpPlusEquals(List)</Message> </Method> <String value="a"> @@ -497,7 +498,7 @@ <Type descriptor="[I"> <Message>Type int[]</Message> </Type> - <SourceLine classname="AIOB_Sample" primary="true" start="71" end="71" startBytecode="41" endBytecode="41" sourcefile="AIOB_Sample.java" sourcepath="AIOB_Sample.java"> + <SourceLine classname="AIOB_Sample" primary="true" start="71" end="71" startBytecode="42" endBytecode="42" sourcefile="AIOB_Sample.java" sourcepath="AIOB_Sample.java"> <Message>At AIOB_Sample.java:[line 71]</Message> </SourceLine> </BugInstance> @@ -534,10 +535,10 @@ <Message>In class AIOB_Sample</Message> </Class> <Method classname="AIOB_Sample" name="fpPlusEquals" signature="(Ljava/util/List;)V" isStatic="false" primary="true"> - <SourceLine classname="AIOB_Sample" start="65" end="74" startBytecode="0" endBytecode="190" sourcefile="AIOB_Sample.java" sourcepath="AIOB_Sample.java"/> + <SourceLine classname="AIOB_Sample" start="65" end="74" startBytecode="0" endBytecode="200" sourcefile="AIOB_Sample.java" sourcepath="AIOB_Sample.java"/> <Message>In method AIOB_Sample.fpPlusEquals(List)</Message> </Method> - <SourceLine classname="AIOB_Sample" primary="true" start="74" end="74" startBytecode="48" endBytecode="48" sourcefile="AIOB_Sample.java" sourcepath="AIOB_Sample.java"> + <SourceLine classname="AIOB_Sample" primary="true" start="74" end="74" startBytecode="49" endBytecode="49" sourcefile="AIOB_Sample.java" sourcepath="AIOB_Sample.java"> <Message>At AIOB_Sample.java:[line 74]</Message> </SourceLine> </BugInstance> @@ -946,7 +947,7 @@ <SourceLine classname="BAS_Sample" start="28" end="33" startBytecode="0" endBytecode="18" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java"/> <Message>In method BAS_Sample.testFPForScope(String)</Message> </Method> - <LocalVariable name="o" register="2" pc="22" role="LOCAL_VARIABLE_NAMED"> + <LocalVariable name="o" register="2" pc="18" role="LOCAL_VARIABLE_NAMED"> <Message>Local variable named o</Message> </LocalVariable> <SourceLine classname="BAS_Sample" start="28" end="33" startBytecode="0" endBytecode="18" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java" synthetic="true"> @@ -968,7 +969,7 @@ <Message>In class BAS_Sample</Message> </Class> <Method classname="BAS_Sample" name="testFPSynchronized" signature="(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;" isStatic="false" primary="true"> - <SourceLine classname="BAS_Sample" start="197" end="206" startBytecode="0" endBytecode="29" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java"/> + <SourceLine classname="BAS_Sample" start="197" end="206" startBytecode="0" endBytecode="27" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java"/> <Message>In method BAS_Sample.testFPSynchronized(String, String)</Message> </Method> <LocalVariable name="x" register="4" pc="11" role="LOCAL_VARIABLE_NAMED"> @@ -1122,7 +1123,7 @@ <Message>In class BAS_Sample</Message> </Class> <Method classname="BAS_Sample" name="testFPSynchronized" signature="(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;" isStatic="false" primary="true"> - <SourceLine classname="BAS_Sample" start="197" end="206" startBytecode="0" endBytecode="227" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java"/> + <SourceLine classname="BAS_Sample" start="197" end="206" startBytecode="0" endBytecode="223" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java"/> <Message>In method BAS_Sample.testFPSynchronized(String, String)</Message> </Method> <SourceLine classname="BAS_Sample" primary="true" start="199" end="199" startBytecode="15" endBytecode="15" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java"> @@ -1139,7 +1140,7 @@ <Message>In class BAS_Sample</Message> </Class> <Method classname="BAS_Sample" name="testFPSync" signature="(Ljava/util/Set;Ljava/util/Set;)V" isStatic="false" primary="true"> - <SourceLine classname="BAS_Sample" start="99" end="107" startBytecode="0" endBytecode="286" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java"/> + <SourceLine classname="BAS_Sample" start="99" end="107" startBytecode="0" endBytecode="282" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java"/> <Message>In method BAS_Sample.testFPSync(Set, Set)</Message> </Method> <SourceLine classname="BAS_Sample" primary="true" start="99" end="99" startBytecode="4" endBytecode="4" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java"> @@ -1146,9 +1147,9 @@ <Message>At BAS_Sample.java:[line 99]</Message> </SourceLine> </BugInstance> - <BugInstance type="SPP_NON_USEFUL_TOSTRING" priority="3" rank="20" abbrev="SPP" category="STYLE" instanceHash="ecbf4c98733075e0dde7b18211f17145" instanceOccurrenceNum="0" instanceOccurrenceMax="0"> - <ShortMessage>Method calls toString() on an instance of a class that hasn't overridden toString()</ShortMessage> - <LongMessage>Method BAS_Sample.tstFPRefChangeThruMethodChain(BAS_Sample$Holder, BAS_Sample$Holder, boolean) calls toString() on an instance of a class that hasn't overridden toString()</LongMessage> + <BugInstance type="PRMC_POSSIBLY_REDUNDANT_METHOD_CALLS" priority="2" rank="18" abbrev="PRMC" category="PERFORMANCE" instanceHash="5dc78d66b9e0f5737cd0259c9b6a132b" instanceOccurrenceNum="0" instanceOccurrenceMax="0"> + <ShortMessage>Method appears to call the same method on the same object redundantly</ShortMessage> + <LongMessage>Method BAS_Sample.testFPTwoCatches(List) appears to call the same method on the same object redundantly</LongMessage> <Class classname="BAS_Sample" primary="true"> <SourceLine classname="BAS_Sample" start="14" end="247" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java"> <Message>At BAS_Sample.java:[lines 14-247]</Message> @@ -1155,17 +1156,20 @@ </SourceLine> <Message>In class BAS_Sample</Message> </Class> - <Method classname="BAS_Sample" name="tstFPRefChangeThruMethodChain" signature="(LBAS_Sample$Holder;LBAS_Sample$Holder;Z)V" isStatic="false" primary="true"> - <SourceLine classname="BAS_Sample" start="143" end="149" startBytecode="0" endBytecode="135" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java"/> - <Message>In method BAS_Sample.tstFPRefChangeThruMethodChain(BAS_Sample$Holder, BAS_Sample$Holder, boolean)</Message> + <Method classname="BAS_Sample" name="testFPTwoCatches" signature="(Ljava/util/List;)I" isStatic="false" primary="true"> + <SourceLine classname="BAS_Sample" start="241" end="247" startBytecode="0" endBytecode="251" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java"/> + <Message>In method BAS_Sample.testFPTwoCatches(List)</Message> </Method> - <SourceLine classname="BAS_Sample" primary="true" start="143" end="143" startBytecode="1" endBytecode="1" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java"> - <Message>At BAS_Sample.java:[line 143]</Message> + <SourceLine classname="BAS_Sample" primary="true" start="247" end="247" startBytecode="65" endBytecode="65" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java"> + <Message>At BAS_Sample.java:[line 247]</Message> </SourceLine> + <String value="valueOf(Ljava/lang/Object;)Ljava/lang/String;"> + <Message>Value valueOf(Ljava/lang/Object;)Ljava/lang/String;</Message> + </String> </BugInstance> - <BugInstance type="UC_USELESS_VOID_METHOD" priority="1" rank="15" abbrev="UC" category="STYLE" instanceHash="1424a0c761589b4d991a1def4c01879b" instanceOccurrenceNum="0" instanceOccurrenceMax="0"> - <ShortMessage>Useless non-empty void method</ShortMessage> - <LongMessage>Method BAS_Sample.testFPSync(Set, Set) seems to be useless</LongMessage> + <BugInstance type="SPP_NON_USEFUL_TOSTRING" priority="3" rank="20" abbrev="SPP" category="STYLE" instanceHash="ecbf4c98733075e0dde7b18211f17145" instanceOccurrenceNum="0" instanceOccurrenceMax="0"> + <ShortMessage>Method calls toString() on an instance of a class that hasn't overridden toString()</ShortMessage> + <LongMessage>Method BAS_Sample.tstFPRefChangeThruMethodChain(BAS_Sample$Holder, BAS_Sample$Holder, boolean) calls toString() on an instance of a class that hasn't overridden toString()</LongMessage> <Class classname="BAS_Sample" primary="true"> <SourceLine classname="BAS_Sample" start="14" end="247" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java"> <Message>At BAS_Sample.java:[lines 14-247]</Message> @@ -1172,12 +1176,12 @@ </SourceLine> <Message>In class BAS_Sample</Message> </Class> - <Method classname="BAS_Sample" name="testFPSync" signature="(Ljava/util/Set;Ljava/util/Set;)V" isStatic="false" primary="true"> - <SourceLine classname="BAS_Sample" start="99" end="107" startBytecode="0" endBytecode="286" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java"/> - <Message>In method BAS_Sample.testFPSync(Set, Set)</Message> + <Method classname="BAS_Sample" name="tstFPRefChangeThruMethodChain" signature="(LBAS_Sample$Holder;LBAS_Sample$Holder;Z)V" isStatic="false" primary="true"> + <SourceLine classname="BAS_Sample" start="143" end="149" startBytecode="0" endBytecode="135" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java"/> + <Message>In method BAS_Sample.tstFPRefChangeThruMethodChain(BAS_Sample$Holder, BAS_Sample$Holder, boolean)</Message> </Method> - <SourceLine classname="BAS_Sample" primary="true" start="107" end="107" startBytecode="61" endBytecode="61" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java"> - <Message>At BAS_Sample.java:[line 107]</Message> + <SourceLine classname="BAS_Sample" primary="true" start="143" end="143" startBytecode="1" endBytecode="1" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java"> + <Message>At BAS_Sample.java:[line 143]</Message> </SourceLine> </BugInstance> <BugInstance type="UC_USELESS_VOID_METHOD" priority="2" rank="17" abbrev="UC" category="STYLE" instanceHash="29d93fb0574d2f180c00558ce250cbed" instanceOccurrenceNum="0" instanceOccurrenceMax="0"> @@ -1239,13 +1243,13 @@ <ShortMessage>Class is defined in the default package</ShortMessage> <LongMessage>Class BAS_Sample$1 id defined in the default package</LongMessage> <Class classname="BAS_Sample$1" primary="true"> - <SourceLine classname="BAS_Sample$1" start="226" end="229" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java"> - <Message>At BAS_Sample.java:[lines 226-229]</Message> + <SourceLine classname="BAS_Sample$1" start="1" end="229" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java"> + <Message>At BAS_Sample.java:[lines 1-229]</Message> </SourceLine> <Message>In class BAS_Sample$1</Message> </Class> - <SourceLine classname="BAS_Sample$1" start="226" end="229" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java" synthetic="true"> - <Message>At BAS_Sample.java:[lines 226-229]</Message> + <SourceLine classname="BAS_Sample$1" start="1" end="229" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java" synthetic="true"> + <Message>At BAS_Sample.java:[lines 1-229]</Message> </SourceLine> </BugInstance> <BugInstance type="SIC_INNER_SHOULD_BE_STATIC_ANON" priority="3" rank="20" abbrev="SIC" category="PERFORMANCE" instanceHash="83cf1d144d99316e42805aface651c5c" instanceOccurrenceNum="0" instanceOccurrenceMax="0"> @@ -1252,13 +1256,13 @@ <ShortMessage>Could be refactored into a named static inner class</ShortMessage> <LongMessage>The class BAS_Sample$1 could be refactored into a named _static_ inner class</LongMessage> <Class classname="BAS_Sample$1" primary="true"> - <SourceLine classname="BAS_Sample$1" start="226" end="229" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java"> - <Message>At BAS_Sample.java:[lines 226-229]</Message> + <SourceLine classname="BAS_Sample$1" start="1" end="229" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java"> + <Message>At BAS_Sample.java:[lines 1-229]</Message> </SourceLine> <Message>In class BAS_Sample$1</Message> </Class> - <SourceLine classname="BAS_Sample$1" start="226" end="229" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java" synthetic="true"> - <Message>At BAS_Sample.java:[lines 226-229]</Message> + <SourceLine classname="BAS_Sample$1" start="1" end="229" sourcefile="BAS_Sample.java" sourcepath="BAS_Sample.java" synthetic="true"> + <Message>At BAS_Sample.java:[lines 1-229]</Message> </SourceLine> </BugInstance> <BugInstance type="IMC_IMMATURE_CLASS_NO_PACKAGE" priority="3" rank="20" abbrev="IMC" category="STYLE" instanceHash="ceca5a312a923c8a5513e31633fbce48" instanceOccurrenceNum="0" instanceOccurrenceMax="0"> @@ -1297,8 +1301,8 @@ <ShortMessage>Method assigns a variable in a larger scope than is needed</ShortMessage> <LongMessage>Method BED_Sample.fpJustThrowIt(boolean, String) assigns a variable in a larger scope than is needed</LongMessage> <Class classname="BED_Sample" primary="true"> - <SourceLine classname="BED_Sample" start="15" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> - <Message>At BED_Sample.java:[lines 15-105]</Message> + <SourceLine classname="BED_Sample" start="18" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> + <Message>At BED_Sample.java:[lines 18-105]</Message> </SourceLine> <Message>In class BED_Sample</Message> </Class> @@ -1314,8 +1318,8 @@ <ShortMessage>Non derivable method declares throwing an exception that isn't thrown</ShortMessage> <LongMessage>Non derivable method new BED_Sample() declares throwing an exception that isn't thrown</LongMessage> <Class classname="BED_Sample" primary="true"> - <SourceLine classname="BED_Sample" start="15" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> - <Message>At BED_Sample.java:[lines 15-105]</Message> + <SourceLine classname="BED_Sample" start="18" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> + <Message>At BED_Sample.java:[lines 18-105]</Message> </SourceLine> <Message>In class BED_Sample</Message> </Class> @@ -1334,8 +1338,8 @@ <ShortMessage>Non derivable method declares throwing an exception that isn't thrown</ShortMessage> <LongMessage>Non derivable method BED_Sample.badFinal() declares throwing an exception that isn't thrown</LongMessage> <Class classname="BED_Sample" primary="true"> - <SourceLine classname="BED_Sample" start="15" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> - <Message>At BED_Sample.java:[lines 15-105]</Message> + <SourceLine classname="BED_Sample" start="18" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> + <Message>At BED_Sample.java:[lines 18-105]</Message> </SourceLine> <Message>In class BED_Sample</Message> </Class> @@ -1354,13 +1358,13 @@ <ShortMessage>Non derivable method declares throwing an exception that isn't thrown</ShortMessage> <LongMessage>Non derivable method BED_Sample.badStatic() declares throwing an exception that isn't thrown</LongMessage> <Class classname="BED_Sample" primary="true"> - <SourceLine classname="BED_Sample" start="15" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> - <Message>At BED_Sample.java:[lines 15-105]</Message> + <SourceLine classname="BED_Sample" start="18" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> + <Message>At BED_Sample.java:[lines 18-105]</Message> </SourceLine> <Message>In class BED_Sample</Message> </Class> <Method classname="BED_Sample" name="badStatic" signature="()V" isStatic="true" primary="true"> - <SourceLine classname="BED_Sample" start="46" end="46" startBytecode="0" endBytecode="24" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"/> + <SourceLine classname="BED_Sample" start="46" end="46" startBytecode="0" endBytecode="32" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"/> <Message>In method BED_Sample.badStatic()</Message> </Method> <SourceLine classname="BED_Sample" primary="true" start="46" end="46" startBytecode="0" endBytecode="0" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> @@ -1374,8 +1378,8 @@ <ShortMessage>Non derivable method declares throwing an exception that isn't thrown</ShortMessage> <LongMessage>Non derivable method BED_Sample.badThrow() declares throwing an exception that isn't thrown</LongMessage> <Class classname="BED_Sample" primary="true"> - <SourceLine classname="BED_Sample" start="15" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> - <Message>At BED_Sample.java:[lines 15-105]</Message> + <SourceLine classname="BED_Sample" start="18" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> + <Message>At BED_Sample.java:[lines 18-105]</Message> </SourceLine> <Message>In class BED_Sample</Message> </Class> @@ -1394,8 +1398,8 @@ <ShortMessage>Non derivable method declares throwing an exception that isn't thrown</ShortMessage> <LongMessage>Non derivable method BED_Sample.doIt() declares throwing an exception that isn't thrown</LongMessage> <Class classname="BED_Sample" primary="true"> - <SourceLine classname="BED_Sample" start="15" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> - <Message>At BED_Sample.java:[lines 15-105]</Message> + <SourceLine classname="BED_Sample" start="18" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> + <Message>At BED_Sample.java:[lines 18-105]</Message> </SourceLine> <Message>In class BED_Sample</Message> </Class> @@ -1414,8 +1418,8 @@ <ShortMessage>Non derivable method declares throwing an exception that isn't thrown</ShortMessage> <LongMessage>Non derivable method BED_Sample.issue92a() declares throwing an exception that isn't thrown</LongMessage> <Class classname="BED_Sample" primary="true"> - <SourceLine classname="BED_Sample" start="15" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> - <Message>At BED_Sample.java:[lines 15-105]</Message> + <SourceLine classname="BED_Sample" start="18" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> + <Message>At BED_Sample.java:[lines 18-105]</Message> </SourceLine> <Message>In class BED_Sample</Message> </Class> @@ -1434,13 +1438,13 @@ <ShortMessage>Non derivable method declares throwing an exception that isn't thrown</ShortMessage> <LongMessage>Non derivable method BED_Sample.issue92b() declares throwing an exception that isn't thrown</LongMessage> <Class classname="BED_Sample" primary="true"> - <SourceLine classname="BED_Sample" start="15" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> - <Message>At BED_Sample.java:[lines 15-105]</Message> + <SourceLine classname="BED_Sample" start="18" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> + <Message>At BED_Sample.java:[lines 18-105]</Message> </SourceLine> <Message>In class BED_Sample</Message> </Class> <Method classname="BED_Sample" name="issue92b" signature="()V" isStatic="true" primary="true"> - <SourceLine classname="BED_Sample" start="94" end="95" startBytecode="0" endBytecode="36" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"/> + <SourceLine classname="BED_Sample" start="94" end="95" startBytecode="0" endBytecode="44" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"/> <Message>In method BED_Sample.issue92b()</Message> </Method> <SourceLine classname="BED_Sample" primary="true" start="94" end="94" startBytecode="0" endBytecode="0" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> @@ -1454,8 +1458,8 @@ <ShortMessage>Method declares throwing two or more exceptions related by inheritance</ShortMessage> <LongMessage>Method BED_Sample.doesTheNasty() declares throwing two or more exceptions related by inheritance</LongMessage> <Class classname="BED_Sample" primary="true"> - <SourceLine classname="BED_Sample" start="15" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> - <Message>At BED_Sample.java:[lines 15-105]</Message> + <SourceLine classname="BED_Sample" start="18" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> + <Message>At BED_Sample.java:[lines 18-105]</Message> </SourceLine> <Message>In class BED_Sample</Message> </Class> @@ -1474,8 +1478,8 @@ <ShortMessage>Method declares throwing two or more exceptions related by inheritance</ShortMessage> <LongMessage>Method BED_Sample.doesTheNasty2() declares throwing two or more exceptions related by inheritance</LongMessage> <Class classname="BED_Sample" primary="true"> - <SourceLine classname="BED_Sample" start="15" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> - <Message>At BED_Sample.java:[lines 15-105]</Message> + <SourceLine classname="BED_Sample" start="18" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> + <Message>At BED_Sample.java:[lines 18-105]</Message> </SourceLine> <Message>In class BED_Sample</Message> </Class> @@ -1494,8 +1498,8 @@ <ShortMessage>This method needlessly uses a String literal as a Charset encoding</ShortMessage> <LongMessage>This method "String.getBytes(String)" needlessly uses a String literal to define an encoding. A built-in Charset could be used instead like: String.getBytes(Charset)</LongMessage> <Class classname="BED_Sample" primary="true"> - <SourceLine classname="BED_Sample" start="15" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> - <Message>At BED_Sample.java:[lines 15-105]</Message> + <SourceLine classname="BED_Sample" start="18" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> + <Message>At BED_Sample.java:[lines 18-105]</Message> </SourceLine> <Message>In class BED_Sample</Message> </Class> @@ -1519,8 +1523,8 @@ <ShortMessage>Dead store to local variable</ShortMessage> <LongMessage>Dead store to context in new BED_Sample(String)</LongMessage> <Class classname="BED_Sample" primary="true"> - <SourceLine classname="BED_Sample" start="15" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> - <Message>At BED_Sample.java:[lines 15-105]</Message> + <SourceLine classname="BED_Sample" start="18" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> + <Message>At BED_Sample.java:[lines 18-105]</Message> </SourceLine> <Message>In class BED_Sample</Message> </Class> @@ -1542,8 +1546,8 @@ <ShortMessage>Dead store to local variable</ShortMessage> <LongMessage>Dead store to is in BED_Sample.doIt()</LongMessage> <Class classname="BED_Sample" primary="true"> - <SourceLine classname="BED_Sample" start="15" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> - <Message>At BED_Sample.java:[lines 15-105]</Message> + <SourceLine classname="BED_Sample" start="18" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> + <Message>At BED_Sample.java:[lines 18-105]</Message> </SourceLine> <Message>In class BED_Sample</Message> </Class> @@ -1565,8 +1569,8 @@ <ShortMessage>Dead store to local variable</ShortMessage> <LongMessage>Dead store to is in BED_Sample.fp()</LongMessage> <Class classname="BED_Sample" primary="true"> - <SourceLine classname="BED_Sample" start="15" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> - <Message>At BED_Sample.java:[lines 15-105]</Message> + <SourceLine classname="BED_Sample" start="18" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> + <Message>At BED_Sample.java:[lines 18-105]</Message> </SourceLine> <Message>In class BED_Sample</Message> </Class> @@ -1588,8 +1592,8 @@ <ShortMessage>Dead store to local variable</ShortMessage> <LongMessage>Dead store to e in BED_Sample.fpThrowField(boolean)</LongMessage> <Class classname="BED_Sample" primary="true"> - <SourceLine classname="BED_Sample" start="15" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> - <Message>At BED_Sample.java:[lines 15-105]</Message> + <SourceLine classname="BED_Sample" start="18" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> + <Message>At BED_Sample.java:[lines 18-105]</Message> </SourceLine> <Message>In class BED_Sample</Message> </Class> @@ -1611,8 +1615,8 @@ <ShortMessage>Code contains a hard coded reference to an absolute pathname</ShortMessage> <LongMessage>Hard coded reference to an absolute pathname in BED_Sample.doIt()</LongMessage> <Class classname="BED_Sample" primary="true"> - <SourceLine classname="BED_Sample" start="15" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> - <Message>At BED_Sample.java:[lines 15-105]</Message> + <SourceLine classname="BED_Sample" start="18" end="105" sourcefile="BED_Sample.java" sourcepath="BED_Sample.java"> + <Message>At BED_Sample.java:[lines 18-105]</Message> </SourceLine> <Message>In class BED_Sample</Message> </Class> @@ -1631,8 +1635,8 @@ <ShortMessage>Code contains a hard coded reference to an absolute pathname</ShortMessage> <LongMessage>... [truncated message content] |