SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.7.3

Threshold is medium

Effort is default

Summary

Classes Bugs Errors Missing Classes
67 56 0 0

Files

Class Bugs
org.woehlke.computer.kurzweil.kochsnowflake.config.ComputerKurzweilProperties 16
org.woehlke.computer.kurzweil.kochsnowflake.control.ControllerThread 2
org.woehlke.computer.kurzweil.kochsnowflake.model.KochSnowflakeModel 3
org.woehlke.computer.kurzweil.kochsnowflake.model.geometry.LatticeRectangle 4
org.woehlke.computer.kurzweil.kochsnowflake.model.geometry.LatticeVector 7
org.woehlke.computer.kurzweil.kochsnowflake.model.koch.LinkedListNode 5
org.woehlke.computer.kurzweil.kochsnowflake.model.koch.LinkedListNodeContainer 6
org.woehlke.computer.kurzweil.kochsnowflake.view.KochSnowflakeFrame 12
org.woehlke.computer.kurzweil.kochsnowflake.view.canvas.KochSnowflakeCanvas 1

org.woehlke.computer.kurzweil.kochsnowflake.config.ComputerKurzweilProperties

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.kochsnowflake.config.ComputerKurzweilProperties.propertiesFactory(String, String) may fail to close stream BAD_PRACTICE OS_OPEN_STREAM 948 Medium
Exception is caught when Exception is not thrown in org.woehlke.computer.kurzweil.kochsnowflake.config.ComputerKurzweilProperties.propertiesFactory(String, String) STYLE REC_CATCH_EXCEPTION 953 Low
Class org.woehlke.computer.kurzweil.kochsnowflake.config.ComputerKurzweilProperties defines non-transient non-serializable instance field allinone BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.kochsnowflake.config.ComputerKurzweilProperties defines non-transient non-serializable instance field cca BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.kochsnowflake.config.ComputerKurzweilProperties defines non-transient non-serializable instance field dla BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.kochsnowflake.config.ComputerKurzweilProperties defines non-transient non-serializable instance field gameoflive BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.kochsnowflake.config.ComputerKurzweilProperties defines non-transient non-serializable instance field kochsnowflake BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.kochsnowflake.config.ComputerKurzweilProperties defines non-transient non-serializable instance field mandelbrotJulia BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.kochsnowflake.config.ComputerKurzweilProperties defines non-transient non-serializable instance field mandelbrotZoom BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.kochsnowflake.config.ComputerKurzweilProperties defines non-transient non-serializable instance field randomwalk BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.kochsnowflake.config.ComputerKurzweilProperties defines non-transient non-serializable instance field samegame BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.kochsnowflake.config.ComputerKurzweilProperties defines non-transient non-serializable instance field sierpinskitriangle BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.kochsnowflake.config.ComputerKurzweilProperties defines non-transient non-serializable instance field simulatedevolution BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.kochsnowflake.config.ComputerKurzweilProperties defines non-transient non-serializable instance field tetris BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.kochsnowflake.config.ComputerKurzweilProperties defines non-transient non-serializable instance field turmite BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.woehlke.computer.kurzweil.kochsnowflake.config.ComputerKurzweilProperties defines non-transient non-serializable instance field wator BAD_PRACTICE SE_BAD_FIELD Not available High

org.woehlke.computer.kurzweil.kochsnowflake.control.ControllerThread

Bug Category Details Line Priority
new org.woehlke.computer.kurzweil.kochsnowflake.control.ControllerThread(KochSnowflakeFrame) may expose internal representation by storing an externally mutable object into ControllerThread.view MALICIOUS_CODE EI_EXPOSE_REP2 33 Medium
Class org.woehlke.computer.kurzweil.kochsnowflake.control.ControllerThread implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 32-61 Low

org.woehlke.computer.kurzweil.kochsnowflake.model.KochSnowflakeModel

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.kochsnowflake.model.KochSnowflakeModel.getTab() may expose internal representation by returning KochSnowflakeModel.tab MALICIOUS_CODE EI_EXPOSE_REP 32 Medium
org.woehlke.computer.kurzweil.kochsnowflake.model.KochSnowflakeModel.getWorldDimensions() may expose internal representation by returning KochSnowflakeModel.worldDimensions MALICIOUS_CODE EI_EXPOSE_REP 35 Medium
new org.woehlke.computer.kurzweil.kochsnowflake.model.KochSnowflakeModel(KochSnowflakeFrame) may expose internal representation by storing an externally mutable object into KochSnowflakeModel.tab MALICIOUS_CODE EI_EXPOSE_REP2 38 Medium

org.woehlke.computer.kurzweil.kochsnowflake.model.geometry.LatticeRectangle

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.kochsnowflake.model.geometry.LatticeRectangle.getDimension() may expose internal representation by returning LatticeRectangle.dimension MALICIOUS_CODE EI_EXPOSE_REP 37 Medium
org.woehlke.computer.kurzweil.kochsnowflake.model.geometry.LatticeRectangle.getStart() may expose internal representation by returning LatticeRectangle.start MALICIOUS_CODE EI_EXPOSE_REP 35 Medium
new org.woehlke.computer.kurzweil.kochsnowflake.model.geometry.LatticeRectangle(LatticePoint, LatticeDimension) may expose internal representation by storing an externally mutable object into LatticeRectangle.dimension MALICIOUS_CODE EI_EXPOSE_REP2 28 Medium
new org.woehlke.computer.kurzweil.kochsnowflake.model.geometry.LatticeRectangle(LatticePoint, LatticeDimension) may expose internal representation by storing an externally mutable object into LatticeRectangle.start MALICIOUS_CODE EI_EXPOSE_REP2 28 Medium

org.woehlke.computer.kurzweil.kochsnowflake.model.geometry.LatticeVector

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.kochsnowflake.model.geometry.LatticeVector.getRelative() may expose internal representation by returning LatticeVector.relative MALICIOUS_CODE EI_EXPOSE_REP 38 Medium
org.woehlke.computer.kurzweil.kochsnowflake.model.geometry.LatticeVector.getStart() may expose internal representation by returning LatticeVector.start MALICIOUS_CODE EI_EXPOSE_REP 36 Medium
new org.woehlke.computer.kurzweil.kochsnowflake.model.geometry.LatticeVector(LatticePoint, LatticePoint) may expose internal representation by storing an externally mutable object into LatticeVector.relative MALICIOUS_CODE EI_EXPOSE_REP2 29 Medium
new org.woehlke.computer.kurzweil.kochsnowflake.model.geometry.LatticeVector(LatticePoint, LatticePoint) may expose internal representation by storing an externally mutable object into LatticeVector.start MALICIOUS_CODE EI_EXPOSE_REP2 29 Medium
org.woehlke.computer.kurzweil.kochsnowflake.model.geometry.LatticeVector.setRelative(LatticePoint) may expose internal representation by storing an externally mutable object into LatticeVector.relative MALICIOUS_CODE EI_EXPOSE_REP2 27 Medium
org.woehlke.computer.kurzweil.kochsnowflake.model.geometry.LatticeVector.setStart(LatticePoint) may expose internal representation by storing an externally mutable object into LatticeVector.start MALICIOUS_CODE EI_EXPOSE_REP2 27 Medium
Return value of LatticePoint.minus(LatticePoint) ignored, but method has no side effect STYLE RV_RETURN_VALUE_IGNORED_NO_SIDE_EFFECT 54 Medium

org.woehlke.computer.kurzweil.kochsnowflake.model.koch.LinkedListNode

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.kochsnowflake.model.koch.LinkedListNode.getNext() may expose internal representation by returning LinkedListNode.next MALICIOUS_CODE EI_EXPOSE_REP 28 Medium
org.woehlke.computer.kurzweil.kochsnowflake.model.koch.LinkedListNode.getPoint() may expose internal representation by returning LinkedListNode.point MALICIOUS_CODE EI_EXPOSE_REP 26 Medium
new org.woehlke.computer.kurzweil.kochsnowflake.model.koch.LinkedListNode(LatticePoint) may expose internal representation by storing an externally mutable object into LinkedListNode.point MALICIOUS_CODE EI_EXPOSE_REP2 31 Medium
org.woehlke.computer.kurzweil.kochsnowflake.model.koch.LinkedListNode.setNext(LinkedListNode) may expose internal representation by storing an externally mutable object into LinkedListNode.next MALICIOUS_CODE EI_EXPOSE_REP2 20 Medium
org.woehlke.computer.kurzweil.kochsnowflake.model.koch.LinkedListNode.setPoint(LatticePoint) may expose internal representation by storing an externally mutable object into LinkedListNode.point MALICIOUS_CODE EI_EXPOSE_REP2 20 Medium

org.woehlke.computer.kurzweil.kochsnowflake.model.koch.LinkedListNodeContainer

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.kochsnowflake.model.koch.LinkedListNodeContainer.getCurrentNode() may expose internal representation by returning LinkedListNodeContainer.currentNode MALICIOUS_CODE EI_EXPOSE_REP 38 Medium
org.woehlke.computer.kurzweil.kochsnowflake.model.koch.LinkedListNodeContainer.getStartNode() may expose internal representation by returning LinkedListNodeContainer.startNode MALICIOUS_CODE EI_EXPOSE_REP 36 Medium
org.woehlke.computer.kurzweil.kochsnowflake.model.koch.LinkedListNodeContainer.getTab() may expose internal representation by returning LinkedListNodeContainer.tab MALICIOUS_CODE EI_EXPOSE_REP 32 Medium
org.woehlke.computer.kurzweil.kochsnowflake.model.koch.LinkedListNodeContainer.getWorldDimensions() may expose internal representation by returning LinkedListNodeContainer.worldDimensions MALICIOUS_CODE EI_EXPOSE_REP 34 Medium
new org.woehlke.computer.kurzweil.kochsnowflake.model.koch.LinkedListNodeContainer(KochSnowflakeFrame, LatticeDimension) may expose internal representation by storing an externally mutable object into LinkedListNodeContainer.tab MALICIOUS_CODE EI_EXPOSE_REP2 41 Medium
new org.woehlke.computer.kurzweil.kochsnowflake.model.koch.LinkedListNodeContainer(KochSnowflakeFrame, LatticeDimension) may expose internal representation by storing an externally mutable object into LinkedListNodeContainer.worldDimensions MALICIOUS_CODE EI_EXPOSE_REP2 42 Medium

org.woehlke.computer.kurzweil.kochsnowflake.view.KochSnowflakeFrame

Bug Category Details Line Priority
org.woehlke.computer.kurzweil.kochsnowflake.view.KochSnowflakeFrame.getCanvas() may expose internal representation by returning KochSnowflakeFrame.canvas MALICIOUS_CODE EI_EXPOSE_REP 194 Medium
org.woehlke.computer.kurzweil.kochsnowflake.view.KochSnowflakeFrame.getConfig() may expose internal representation by returning KochSnowflakeFrame.config MALICIOUS_CODE EI_EXPOSE_REP 61 Medium
org.woehlke.computer.kurzweil.kochsnowflake.view.KochSnowflakeFrame.getController() may expose internal representation by returning KochSnowflakeFrame.controller MALICIOUS_CODE EI_EXPOSE_REP 57 Medium
org.woehlke.computer.kurzweil.kochsnowflake.view.KochSnowflakeFrame.getPanelCopyright() may expose internal representation by returning KochSnowflakeFrame.panelCopyright MALICIOUS_CODE EI_EXPOSE_REP 55 Medium
org.woehlke.computer.kurzweil.kochsnowflake.view.KochSnowflakeFrame.getPanelSubtitle() may expose internal representation by returning KochSnowflakeFrame.panelSubtitle MALICIOUS_CODE EI_EXPOSE_REP 54 Medium
new org.woehlke.computer.kurzweil.kochsnowflake.view.KochSnowflakeFrame(ComputerKurzweilProperties) may expose internal representation by storing an externally mutable object into KochSnowflakeFrame.config MALICIOUS_CODE EI_EXPOSE_REP2 65 Medium
Overridable method addMouseListener is called from constructor new org.woehlke.computer.kurzweil.kochsnowflake.view.KochSnowflakeFrame(ComputerKurzweilProperties). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 77 Low
Overridable method addWindowListener is called from constructor new org.woehlke.computer.kurzweil.kochsnowflake.view.KochSnowflakeFrame(ComputerKurzweilProperties). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 76 Low
Overridable method setModeSwitch is called from constructor new org.woehlke.computer.kurzweil.kochsnowflake.view.KochSnowflakeFrame(ComputerKurzweilProperties). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 79 Low
Overridable method showMeInit is called from constructor new org.woehlke.computer.kurzweil.kochsnowflake.view.KochSnowflakeFrame(ComputerKurzweilProperties). MALICIOUS_CODE MC_OVERRIDABLE_METHOD_CALL_IN_CONSTRUCTOR 78 Low
Class org.woehlke.computer.kurzweil.kochsnowflake.view.KochSnowflakeFrame implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 54-201 Low
Class org.woehlke.computer.kurzweil.kochsnowflake.view.KochSnowflakeFrame defines non-transient non-serializable instance field controller BAD_PRACTICE SE_BAD_FIELD Not available Medium

org.woehlke.computer.kurzweil.kochsnowflake.view.canvas.KochSnowflakeCanvas

Bug Category Details Line Priority
Switch statement found in org.woehlke.computer.kurzweil.kochsnowflake.view.canvas.KochSnowflakeCanvas.paint(Graphics) where default case is missing STYLE SF_SWITCH_NO_DEFAULT 73-77 Medium