SpotBugs Bug Detector Report

The following document contains the results of SpotBugs

SpotBugs Version is 4.8.6

Threshold is medium

Effort is default

Summary

Classes Bugs Errors Missing Classes
148 143 0 0

Files

Class Bugs
org.opentrafficsim.editor.ApplicationStore 8
org.opentrafficsim.editor.AttributesTableModel 3
org.opentrafficsim.editor.EvalWrapper 3
org.opentrafficsim.editor.NodeActions 2
org.opentrafficsim.editor.OtsEditor 18
org.opentrafficsim.editor.OtsRunner$OtsRunnerModel 1
org.opentrafficsim.editor.ScenarioWrapper 2
org.opentrafficsim.editor.Schema 6
org.opentrafficsim.editor.Schema$RecursionElement 1
org.opentrafficsim.editor.Undo 5
org.opentrafficsim.editor.Undo$Action 1
org.opentrafficsim.editor.XiIncludeNode 2
org.opentrafficsim.editor.XsdOption 4
org.opentrafficsim.editor.XsdTreeNode 13
org.opentrafficsim.editor.XsdTreeNodeRoot 1
org.opentrafficsim.editor.XsdTreeNodeUtil 1
org.opentrafficsim.editor.XsdTreeTableModel 1
org.opentrafficsim.editor.decoration.AutomaticConnectorId 1
org.opentrafficsim.editor.decoration.AutomaticLinkId 1
org.opentrafficsim.editor.decoration.LayoutCustomizer 2
org.opentrafficsim.editor.decoration.validation.KeyValidator 1
org.opentrafficsim.editor.decoration.validation.KeyrefValidator 2
org.opentrafficsim.editor.decoration.validation.ParentValidator 1
org.opentrafficsim.editor.decoration.validation.RoadLayoutElementValidator 1
org.opentrafficsim.editor.decoration.validation.ValueValidator 3
org.opentrafficsim.editor.decoration.validation.XPathValidator 2
org.opentrafficsim.editor.decoration.validation.XPathValidator$Field 1
org.opentrafficsim.editor.extensions.DefinitionsSaver 1
org.opentrafficsim.editor.extensions.OdEditor 2
org.opentrafficsim.editor.extensions.RoadLayoutEditor 2
org.opentrafficsim.editor.extensions.RouteEditor 1
org.opentrafficsim.editor.extensions.TrafCodEditor 1
org.opentrafficsim.editor.extensions.map.ChangeListener 2
org.opentrafficsim.editor.extensions.map.EditorMap 1
org.opentrafficsim.editor.extensions.map.EditorMap$2 1
org.opentrafficsim.editor.extensions.map.FlattenerListener 1
org.opentrafficsim.editor.extensions.map.MapCrossSectionData 1
org.opentrafficsim.editor.extensions.map.MapData 4
org.opentrafficsim.editor.extensions.map.MapLaneBasedObjectData 2
org.opentrafficsim.editor.extensions.map.MapLinkData 1
org.opentrafficsim.editor.extensions.map.MapLinkData$ShapeListener 2
org.opentrafficsim.editor.extensions.map.MapNodeData 1
org.opentrafficsim.editor.extensions.map.MapPriorityData 1
org.opentrafficsim.editor.extensions.map.MapShoulderData 1
org.opentrafficsim.editor.extensions.map.MapStripeData 3
org.opentrafficsim.editor.extensions.map.RoadLayoutListener$1 1
org.opentrafficsim.editor.listeners.AttributesListSelectionListener 2
org.opentrafficsim.editor.listeners.AttributesMouseListener 2
org.opentrafficsim.editor.listeners.ChangesListener 2
org.opentrafficsim.editor.listeners.ChoiceListener 5
org.opentrafficsim.editor.listeners.XsdTreeKeyListener 2
org.opentrafficsim.editor.listeners.XsdTreeMouseListener 3
org.opentrafficsim.editor.listeners.XsdTreeSelectionListener 3
org.opentrafficsim.editor.render.AttributeCellRenderer 1
org.opentrafficsim.editor.render.AttributesCellEditor 3
org.opentrafficsim.editor.render.StringCellRenderer 1
org.opentrafficsim.editor.render.XsdTreeCellRenderer 3

org.opentrafficsim.editor.ApplicationStore

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.editor.ApplicationStore at new org.opentrafficsim.editor.ApplicationStore(String, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 44 Medium
Found reliance on default encoding in new org.opentrafficsim.editor.ApplicationStore(String, String): new java.io.FileReader(String) I18N DM_DEFAULT_ENCODING 52 High
Found reliance on default encoding in org.opentrafficsim.editor.ApplicationStore.setProperty(String, String): new java.io.FileWriter(File) I18N DM_DEFAULT_ENCODING 87 High
new org.opentrafficsim.editor.ApplicationStore(String, String) may fail to clean up java.io.Reader EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 52 Medium
org.opentrafficsim.editor.ApplicationStore.setProperty(String, String) may fail to clean up java.io.Writer EXPERIMENTAL OBL_UNSATISFIED_OBLIGATION 87 Medium
new org.opentrafficsim.editor.ApplicationStore(String, String) may fail to close stream BAD_PRACTICE OS_OPEN_STREAM 52 Medium
org.opentrafficsim.editor.ApplicationStore.setProperty(String, String) may fail to close stream BAD_PRACTICE OS_OPEN_STREAM 87 Medium
Exceptional return value of java.io.File.mkdirs() ignored in org.opentrafficsim.editor.ApplicationStore.setProperty(String, String) BAD_PRACTICE RV_RETURN_VALUE_IGNORED_BAD_PRACTICE 86 Medium

org.opentrafficsim.editor.AttributesTableModel

Bug Category Details Line Priority
org.opentrafficsim.editor.AttributesTableModel.getNode() may expose internal representation by returning AttributesTableModel.node MALICIOUS_CODE EI_EXPOSE_REP 139 Medium
new org.opentrafficsim.editor.AttributesTableModel(XsdTreeNode, JTreeTable) may expose internal representation by storing an externally mutable object into AttributesTableModel.node MALICIOUS_CODE EI_EXPOSE_REP2 47 Medium
new org.opentrafficsim.editor.AttributesTableModel(XsdTreeNode, JTreeTable) may expose internal representation by storing an externally mutable object into AttributesTableModel.treeTable MALICIOUS_CODE EI_EXPOSE_REP2 48 Medium

org.opentrafficsim.editor.EvalWrapper

Bug Category Details Line Priority
org.opentrafficsim.editor.EvalWrapper.getEval(ScenarioWrapper) may expose internal representation by returning EvalWrapper.eval MALICIOUS_CODE EI_EXPOSE_REP 110 Medium
org.opentrafficsim.editor.EvalWrapper.getLastValidEval() may expose internal representation by returning EvalWrapper.eval MALICIOUS_CODE EI_EXPOSE_REP 123 Medium
Exception is caught when Exception is not thrown in org.opentrafficsim.editor.EvalWrapper.wrap(XsdTreeNode) STYLE REC_CATCH_EXCEPTION 302 Medium

org.opentrafficsim.editor.NodeActions

Bug Category Details Line Priority
new org.opentrafficsim.editor.NodeActions(OtsEditor, JTreeTable) may expose internal representation by storing an externally mutable object into NodeActions.editor MALICIOUS_CODE EI_EXPOSE_REP2 38 Medium
new org.opentrafficsim.editor.NodeActions(OtsEditor, JTreeTable) may expose internal representation by storing an externally mutable object into NodeActions.treeTable MALICIOUS_CODE EI_EXPOSE_REP2 39 Medium

org.opentrafficsim.editor.OtsEditor

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.editor.OtsEditor at new org.opentrafficsim.editor.OtsEditor() will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 373 Medium
org.opentrafficsim.editor.OtsEditor.getChoiceNode() may expose internal representation by returning OtsEditor.choiceNode MALICIOUS_CODE EI_EXPOSE_REP 1260 Medium
org.opentrafficsim.editor.OtsEditor.getClipboard() may expose internal representation by returning OtsEditor.clipboard MALICIOUS_CODE EI_EXPOSE_REP 1986 Medium
org.opentrafficsim.editor.OtsEditor.getEventListenerMap() may expose internal representation by returning OtsEditor.listenerMap MALICIOUS_CODE EI_EXPOSE_REP 1285 Medium
org.opentrafficsim.editor.OtsEditor.getNodeActions() may expose internal representation by returning OtsEditor.nodeActions MALICIOUS_CODE EI_EXPOSE_REP 2010 Medium
org.opentrafficsim.editor.OtsEditor.getUndo() may expose internal representation by returning OtsEditor.undo MALICIOUS_CODE EI_EXPOSE_REP 542 Medium
org.opentrafficsim.editor.OtsEditor.setChoiceNode(XsdTreeNode) may expose internal representation by storing an externally mutable object into OtsEditor.choiceNode MALICIOUS_CODE EI_EXPOSE_REP2 1269 Medium
org.opentrafficsim.editor.OtsEditor.setClipboard(XsdTreeNode, boolean) may expose internal representation by storing an externally mutable object into OtsEditor.clipboard MALICIOUS_CODE EI_EXPOSE_REP2 1976 Medium
org.opentrafficsim.editor.OtsEditor.setCoupledNode(XsdTreeNode, XsdTreeNode, String) may expose internal representation by storing an externally mutable object into OtsEditor.candidateBackNode MALICIOUS_CODE EI_EXPOSE_REP2 805 Medium
org.opentrafficsim.editor.OtsEditor.setCoupledNode(XsdTreeNode, XsdTreeNode, String) may expose internal representation by storing an externally mutable object into OtsEditor.coupledNode MALICIOUS_CODE EI_EXPOSE_REP2 804 Medium
org.opentrafficsim.editor.OtsEditor.setSchema(Document) may expose internal representation by storing an externally mutable object into OtsEditor.xsdDocument MALICIOUS_CODE EI_EXPOSE_REP2 836 Medium
org.opentrafficsim.editor.OtsEditor.checkAutosave() may fail to close stream BAD_PRACTICE OS_OPEN_STREAM 864 Medium
Exceptional return value of java.io.File.delete() ignored in org.opentrafficsim.editor.OtsEditor.checkAutosave() BAD_PRACTICE RV_RETURN_VALUE_IGNORED_BAD_PRACTICE 890 Medium
Exceptional return value of java.io.File.mkdir() ignored in org.opentrafficsim.editor.OtsEditor.checkAutosave() BAD_PRACTICE RV_RETURN_VALUE_IGNORED_BAD_PRACTICE 859 Medium
Exceptional return value of java.io.File.delete() ignored in org.opentrafficsim.editor.OtsEditor.runSingle() BAD_PRACTICE RV_RETURN_VALUE_IGNORED_BAD_PRACTICE 503 Medium
org.opentrafficsim.editor.OtsEditor$2 stored into non-transient field OtsEditor.autosave BAD_PRACTICE SE_BAD_FIELD_STORE 966 Medium
Useless condition: it's known that bgHeight > 0 at this point STYLE UC_USELESS_CONDITION 1224 High
Useless condition: it's known that bgWidth > 0 at this point STYLE UC_USELESS_CONDITION 1223 High

org.opentrafficsim.editor.OtsRunner$OtsRunnerModel

Bug Category Details Line Priority
org.opentrafficsim.editor.OtsRunner$OtsRunnerModel.getNetwork() may expose internal representation by returning OtsRunner$OtsRunnerModel.network MALICIOUS_CODE EI_EXPOSE_REP 136 Medium

org.opentrafficsim.editor.ScenarioWrapper

Bug Category Details Line Priority
org.opentrafficsim.editor.ScenarioWrapper.getScenarioNode() may expose internal representation by returning ScenarioWrapper.scenarioNode MALICIOUS_CODE EI_EXPOSE_REP 42 Medium
new org.opentrafficsim.editor.ScenarioWrapper(XsdTreeNode) may expose internal representation by storing an externally mutable object into ScenarioWrapper.scenarioNode MALICIOUS_CODE EI_EXPOSE_REP2 23 Medium

org.opentrafficsim.editor.Schema

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.editor.Schema at new org.opentrafficsim.editor.Schema(Document) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 90 Medium
Dead store to elements rather than field with same name in org.opentrafficsim.editor.Schema.checkKeyrefs() STYLE DLS_DEAD_LOCAL_STORE_SHADOWS_FIELD 600 Medium
org.opentrafficsim.editor.Schema.getRoot() may expose internal representation by returning Schema.root MALICIOUS_CODE EI_EXPOSE_REP 858 Medium
Nullcheck of base at line 956 of value previously dereferenced in org.opentrafficsim.editor.Schema.isType(Node, String) CORRECTNESS RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE 951 Medium
org.opentrafficsim.editor.Schema.checkKeyOrUniques(String, Map) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 658 Medium
org.opentrafficsim.editor.Schema.checkKeyrefs() makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 580 Medium

org.opentrafficsim.editor.Schema$RecursionElement

Bug Category Details Line Priority
Should org.opentrafficsim.editor.Schema$RecursionElement be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 528-558 Medium

org.opentrafficsim.editor.Undo

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.editor.Undo at new org.opentrafficsim.editor.Undo(OtsEditor, AbstractButton, AbstractButton) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 69 Medium
new org.opentrafficsim.editor.Undo(OtsEditor, AbstractButton, AbstractButton) may expose internal representation by storing an externally mutable object into Undo.editor MALICIOUS_CODE EI_EXPOSE_REP2 64 Medium
new org.opentrafficsim.editor.Undo(OtsEditor, AbstractButton, AbstractButton) may expose internal representation by storing an externally mutable object into Undo.redoItem MALICIOUS_CODE EI_EXPOSE_REP2 66 Medium
new org.opentrafficsim.editor.Undo(OtsEditor, AbstractButton, AbstractButton) may expose internal representation by storing an externally mutable object into Undo.undoItem MALICIOUS_CODE EI_EXPOSE_REP2 65 Medium
Inconsistent synchronization of org.opentrafficsim.editor.Undo.ignoreChanges; locked 54% of time MT_CORRECTNESS IS2_INCONSISTENT_SYNC 77 Medium

org.opentrafficsim.editor.Undo$Action

Bug Category Details Line Priority
Should org.opentrafficsim.editor.Undo$Action be a _static_ inner class? PERFORMANCE SIC_INNER_SHOULD_BE_STATIC 526-533 Medium

org.opentrafficsim.editor.XiIncludeNode

Bug Category Details Line Priority
org.opentrafficsim.editor.XiIncludeNode.getFirstChild() may expose internal representation by returning XiIncludeNode.FILE_CHILD MALICIOUS_CODE EI_EXPOSE_REP 107 Medium
org.opentrafficsim.editor.XiIncludeNode.getLastChild() may expose internal representation by returning XiIncludeNode.FALLBACK_CHILD MALICIOUS_CODE EI_EXPOSE_REP 114 Medium

org.opentrafficsim.editor.XsdOption

Bug Category Details Line Priority
org.opentrafficsim.editor.XsdOption.choice() may expose internal representation by returning XsdOption.choice MALICIOUS_CODE EI_EXPOSE_REP 15 Medium
org.opentrafficsim.editor.XsdOption.optionNode() may expose internal representation by returning XsdOption.optionNode MALICIOUS_CODE EI_EXPOSE_REP 15 Medium
new org.opentrafficsim.editor.XsdOption(XsdTreeNode, XsdTreeNode, boolean, boolean) may expose internal representation by storing an externally mutable object into XsdOption.choice MALICIOUS_CODE EI_EXPOSE_REP2 15 Medium
new org.opentrafficsim.editor.XsdOption(XsdTreeNode, XsdTreeNode, boolean, boolean) may expose internal representation by storing an externally mutable object into XsdOption.optionNode MALICIOUS_CODE EI_EXPOSE_REP2 15 Medium

org.opentrafficsim.editor.XsdTreeNode

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.editor.XsdTreeNode at new org.opentrafficsim.editor.XsdTreeNode(Schema) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 250 Medium
Exception thrown in class org.opentrafficsim.editor.XsdTreeNode at new org.opentrafficsim.editor.XsdTreeNode(XsdTreeNode, Node, ImmutableList) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 270 Medium
Exception thrown in class org.opentrafficsim.editor.XsdTreeNode at new org.opentrafficsim.editor.XsdTreeNode(XsdTreeNode, Node, ImmutableList, Node) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 316 Medium
Boxing/unboxing to parse a primitive org.opentrafficsim.editor.XsdTreeNode.loadChildren(List, NodeList, boolean) PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 2520 High
org.opentrafficsim.editor.XsdTreeNode.getOption() may expose internal representation by returning XsdTreeNode.selected MALICIOUS_CODE EI_EXPOSE_REP 501 Medium
org.opentrafficsim.editor.XsdTreeNode.getParent() may expose internal representation by returning XsdTreeNode.parent MALICIOUS_CODE EI_EXPOSE_REP 735 Medium
Return value of add() ignored, is this OK in org.opentrafficsim.editor.XsdTreeNode.assureChildren() STYLE RV_RETURN_VALUE_IGNORED_INFERRED 723 Medium
Return value of add() ignored, is this OK in org.opentrafficsim.editor.XsdTreeNode.loadChildren(List, NodeList, boolean) STYLE RV_RETURN_VALUE_IGNORED_INFERRED 2551 Medium
org.opentrafficsim.editor.XsdTreeNode.loadXmlNodes(Node) concatenates strings using + in a loop PERFORMANCE SBSC_USE_STRINGBUFFER_CONCATENATION 2378 Medium
Class org.opentrafficsim.editor.XsdTreeNode defines non-transient non-serializable instance field schema BAD_PRACTICE SE_BAD_FIELD Not available High
Class org.opentrafficsim.editor.XsdTreeNode defines non-transient non-serializable instance field attributeNodes BAD_PRACTICE SE_BAD_FIELD Not available Medium
Class org.opentrafficsim.editor.XsdTreeNode defines non-transient non-serializable instance field referringXsdNode BAD_PRACTICE SE_BAD_FIELD Not available Medium
Class org.opentrafficsim.editor.XsdTreeNode defines non-transient non-serializable instance field xsdNode BAD_PRACTICE SE_BAD_FIELD Not available Medium

org.opentrafficsim.editor.XsdTreeNodeRoot

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.editor.XsdTreeNodeRoot at new org.opentrafficsim.editor.XsdTreeNodeRoot(Schema) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 75 Medium

org.opentrafficsim.editor.XsdTreeNodeUtil

Bug Category Details Line Priority
Boxing/unboxing to parse a primitive org.opentrafficsim.editor.XsdTreeNodeUtil.getOccurs(Node, String) PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 74 High

org.opentrafficsim.editor.XsdTreeTableModel

Bug Category Details Line Priority
org.opentrafficsim.editor.XsdTreeTableModel.setTreeTable(JTreeTable) may expose internal representation by storing an externally mutable object into XsdTreeTableModel.treeTable MALICIOUS_CODE EI_EXPOSE_REP2 56 Medium

org.opentrafficsim.editor.decoration.AutomaticConnectorId

Bug Category Details Line Priority
org.opentrafficsim.editor.decoration.AutomaticConnectorId.notifyAttributeChanged(XsdTreeNode, String) may expose internal representation by storing an externally mutable object into AutomaticConnectorId.lastNode MALICIOUS_CODE EI_EXPOSE_REP2 42 Medium

org.opentrafficsim.editor.decoration.AutomaticLinkId

Bug Category Details Line Priority
org.opentrafficsim.editor.decoration.AutomaticLinkId.notifyAttributeChanged(XsdTreeNode, String) may expose internal representation by storing an externally mutable object into AutomaticLinkId.lastNode MALICIOUS_CODE EI_EXPOSE_REP2 63 Medium

org.opentrafficsim.editor.decoration.LayoutCustomizer

Bug Category Details Line Priority
new org.opentrafficsim.editor.decoration.LayoutCustomizer(OtsEditor) may expose internal representation by storing an externally mutable object into LayoutCustomizer.editor MALICIOUS_CODE EI_EXPOSE_REP2 41 Medium
Possible null pointer dereference of custom in org.opentrafficsim.editor.decoration.LayoutCustomizer.accept(XsdTreeNode) CORRECTNESS NP_NULL_ON_SOME_PATH 90 Medium

org.opentrafficsim.editor.decoration.validation.KeyValidator

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.editor.decoration.validation.KeyValidator at new org.opentrafficsim.editor.decoration.validation.KeyValidator(Node, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 60 Medium

org.opentrafficsim.editor.decoration.validation.KeyrefValidator

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.editor.decoration.validation.KeyrefValidator at new org.opentrafficsim.editor.decoration.validation.KeyrefValidator(Node, String, KeyValidator) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 50 Medium
new org.opentrafficsim.editor.decoration.validation.KeyrefValidator(Node, String, KeyValidator) may expose internal representation by storing an externally mutable object into KeyrefValidator.refer MALICIOUS_CODE EI_EXPOSE_REP2 57 Medium

org.opentrafficsim.editor.decoration.validation.ParentValidator

Bug Category Details Line Priority
Nullcheck of parent at line 176 of value previously dereferenced in org.opentrafficsim.editor.decoration.validation.ParentValidator.getContext(XsdTreeNode) CORRECTNESS RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE 176 Medium

org.opentrafficsim.editor.decoration.validation.RoadLayoutElementValidator

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.editor.decoration.validation.RoadLayoutElementValidator at new org.opentrafficsim.editor.decoration.validation.RoadLayoutElementValidator(OtsEditor, String, RoadLayoutElementValidator$LayoutCoupling, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 83 Medium

org.opentrafficsim.editor.decoration.validation.ValueValidator

Bug Category Details Line Priority
Boxing/unboxing to parse a primitive org.opentrafficsim.editor.decoration.validation.ValueValidator.reportNativeTypeNonCompliance(String, String) PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 345 High
Boxing/unboxing to parse a primitive org.opentrafficsim.editor.decoration.validation.ValueValidator.reportRestrictionNonCompliance(Node, Node, String) PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 447 High
org.opentrafficsim.editor.decoration.validation.ValueValidator.SUPPRESS_ERRORS should be moved out of an interface and made package protected MALICIOUS_CODE MS_OOI_PKGPROTECT 30 Medium

org.opentrafficsim.editor.decoration.validation.XPathValidator

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.editor.decoration.validation.XPathValidator at new org.opentrafficsim.editor.decoration.validation.XPathValidator(Node, String) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 40 Medium
new org.opentrafficsim.editor.decoration.validation.XPathValidator(Node, String) may expose internal representation by storing an externally mutable object into XPathValidator.keyNode MALICIOUS_CODE EI_EXPOSE_REP2 42 Medium

org.opentrafficsim.editor.decoration.validation.XPathValidator$Field

Bug Category Details Line Priority
new org.opentrafficsim.editor.decoration.validation.XPathValidator$Field(XPathValidator, String) may expose internal representation by storing an externally mutable object into XPathValidator$Field.this$0 MALICIOUS_CODE EI_EXPOSE_REP2 248 Medium

org.opentrafficsim.editor.extensions.DefinitionsSaver

Bug Category Details Line Priority
new org.opentrafficsim.editor.extensions.DefinitionsSaver(OtsEditor) may expose internal representation by storing an externally mutable object into DefinitionsSaver.editor MALICIOUS_CODE EI_EXPOSE_REP2 38 Medium

org.opentrafficsim.editor.extensions.OdEditor

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.editor.extensions.OdEditor at new org.opentrafficsim.editor.extensions.OdEditor(OtsEditor) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 39 Medium
new org.opentrafficsim.editor.extensions.OdEditor(OtsEditor) may expose internal representation by storing an externally mutable object into OdEditor.editor MALICIOUS_CODE EI_EXPOSE_REP2 42 Medium

org.opentrafficsim.editor.extensions.RoadLayoutEditor

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.editor.extensions.RoadLayoutEditor at new org.opentrafficsim.editor.extensions.RoadLayoutEditor(OtsEditor) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 43 Medium
new org.opentrafficsim.editor.extensions.RoadLayoutEditor(OtsEditor) may expose internal representation by storing an externally mutable object into RoadLayoutEditor.editor MALICIOUS_CODE EI_EXPOSE_REP2 46 Medium

org.opentrafficsim.editor.extensions.RouteEditor

Bug Category Details Line Priority
new org.opentrafficsim.editor.extensions.RouteEditor(OtsEditor) may expose internal representation by storing an externally mutable object into RouteEditor.editor MALICIOUS_CODE EI_EXPOSE_REP2 41 Medium

org.opentrafficsim.editor.extensions.TrafCodEditor

Bug Category Details Line Priority
new org.opentrafficsim.editor.extensions.TrafCodEditor(OtsEditor) may expose internal representation by storing an externally mutable object into TrafCodEditor.editor MALICIOUS_CODE EI_EXPOSE_REP2 39 Medium

org.opentrafficsim.editor.extensions.map.ChangeListener

Bug Category Details Line Priority
org.opentrafficsim.editor.extensions.map.ChangeListener.getNode() may expose internal representation by returning ChangeListener.node MALICIOUS_CODE EI_EXPOSE_REP 185 Medium
new org.opentrafficsim.editor.extensions.map.ChangeListener(XsdTreeNode, Supplier) may expose internal representation by storing an externally mutable object into ChangeListener.node MALICIOUS_CODE EI_EXPOSE_REP2 66 Medium

org.opentrafficsim.editor.extensions.map.EditorMap

Bug Category Details Line Priority
Possible null pointer dereference of EditorMap.networkFlattenerListener in org.opentrafficsim.editor.extensions.map.EditorMap.removeNetworkFlattener() CORRECTNESS NP_NULL_ON_SOME_PATH 908 Medium

org.opentrafficsim.editor.extensions.map.EditorMap$2

Bug Category Details Line Priority
Test for floating point equality in org.opentrafficsim.editor.extensions.map.EditorMap$2.computeVisibleExtent(Bounds2d, Dimension) STYLE FE_FLOATING_POINT_EQUALITY 220 High

org.opentrafficsim.editor.extensions.map.FlattenerListener

Bug Category Details Line Priority
Boxing/unboxing to parse a primitive org.opentrafficsim.editor.extensions.map.FlattenerListener.calculateData() PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 53 High

org.opentrafficsim.editor.extensions.map.MapCrossSectionData

Bug Category Details Line Priority
new org.opentrafficsim.editor.extensions.map.MapCrossSectionData(XsdTreeNode, PolyLine2d, Polygon2d, SliceInfo) may expose internal representation by storing an externally mutable object into MapCrossSectionData.linkNode MALICIOUS_CODE EI_EXPOSE_REP2 50 Medium

org.opentrafficsim.editor.extensions.map.MapData

Bug Category Details Line Priority
org.opentrafficsim.editor.extensions.map.MapData.getNode() may expose internal representation by returning MapData.node MALICIOUS_CODE EI_EXPOSE_REP 51 Medium
new org.opentrafficsim.editor.extensions.map.MapData(EditorMap, XsdTreeNode, OtsEditor) may expose internal representation by storing an externally mutable object into MapData.editor MALICIOUS_CODE EI_EXPOSE_REP2 41 Medium
new org.opentrafficsim.editor.extensions.map.MapData(EditorMap, XsdTreeNode, OtsEditor) may expose internal representation by storing an externally mutable object into MapData.map MALICIOUS_CODE EI_EXPOSE_REP2 39 Medium
new org.opentrafficsim.editor.extensions.map.MapData(EditorMap, XsdTreeNode, OtsEditor) may expose internal representation by storing an externally mutable object into MapData.node MALICIOUS_CODE EI_EXPOSE_REP2 40 Medium

org.opentrafficsim.editor.extensions.map.MapLaneBasedObjectData

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.editor.extensions.map.MapLaneBasedObjectData at new org.opentrafficsim.editor.extensions.map.MapLaneBasedObjectData(EditorMap, XsdTreeNode, OtsEditor) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 80 Medium
org.opentrafficsim.editor.extensions.map.MapLaneBasedObjectData.getLaneWidth() may expose internal representation by returning MapLaneBasedObjectData.laneWidth MALICIOUS_CODE EI_EXPOSE_REP 142 Medium

org.opentrafficsim.editor.extensions.map.MapLinkData

Bug Category Details Line Priority
org.opentrafficsim.editor.extensions.map.MapLinkData.getEventListenerMap() may expose internal representation by returning MapLinkData.eventListenerMap MALICIOUS_CODE EI_EXPOSE_REP 674 Medium

org.opentrafficsim.editor.extensions.map.MapLinkData$ShapeListener

Bug Category Details Line Priority
Exception is caught when Exception is not thrown in org.opentrafficsim.editor.extensions.map.MapLinkData$ShapeListener.notify(Event) STYLE REC_CATCH_EXCEPTION 874 Medium
Switch statement found in org.opentrafficsim.editor.extensions.map.MapLinkData$ShapeListener.notify(Event) where default case is missing STYLE SF_SWITCH_NO_DEFAULT 855-870 Medium

org.opentrafficsim.editor.extensions.map.MapNodeData

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.editor.extensions.map.MapNodeData at new org.opentrafficsim.editor.extensions.map.MapNodeData(EditorMap, XsdTreeNode, OtsEditor) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 69 Medium

org.opentrafficsim.editor.extensions.map.MapPriorityData

Bug Category Details Line Priority
new org.opentrafficsim.editor.extensions.map.MapPriorityData(MapLinkData) may expose internal representation by storing an externally mutable object into MapPriorityData.linkData MALICIOUS_CODE EI_EXPOSE_REP2 30 Medium

org.opentrafficsim.editor.extensions.map.MapShoulderData

Bug Category Details Line Priority
new org.opentrafficsim.editor.extensions.map.MapShoulderData(Length, XsdTreeNode, PolyLine2d, Polygon2d, SliceInfo) may expose internal representation by storing an externally mutable object into MapShoulderData.startOffset MALICIOUS_CODE EI_EXPOSE_REP2 36 Medium

org.opentrafficsim.editor.extensions.map.MapStripeData

Bug Category Details Line Priority
org.opentrafficsim.editor.extensions.map.MapStripeData.getWidth() may expose internal representation by returning MapStripeData.width MALICIOUS_CODE EI_EXPOSE_REP 67 Medium
new org.opentrafficsim.editor.extensions.map.MapStripeData(StripeAnimation$StripeData$Type, Length, Length, XsdTreeNode, PolyLine2d, Polygon2d, SliceInfo) may expose internal representation by storing an externally mutable object into MapStripeData.startOffset MALICIOUS_CODE EI_EXPOSE_REP2 46 Medium
new org.opentrafficsim.editor.extensions.map.MapStripeData(StripeAnimation$StripeData$Type, Length, Length, XsdTreeNode, PolyLine2d, Polygon2d, SliceInfo) may expose internal representation by storing an externally mutable object into MapStripeData.width MALICIOUS_CODE EI_EXPOSE_REP2 45 Medium

org.opentrafficsim.editor.extensions.map.RoadLayoutListener$1

Bug Category Details Line Priority
Exception is caught when Exception is not thrown in org.opentrafficsim.editor.extensions.map.RoadLayoutListener$1.hasNext() STYLE REC_CATCH_EXCEPTION 228 Medium

org.opentrafficsim.editor.listeners.AttributesListSelectionListener

Bug Category Details Line Priority
new org.opentrafficsim.editor.listeners.AttributesListSelectionListener(OtsEditor, JTable) may expose internal representation by storing an externally mutable object into AttributesListSelectionListener.attributesTable MALICIOUS_CODE EI_EXPOSE_REP2 49 Medium
new org.opentrafficsim.editor.listeners.AttributesListSelectionListener(OtsEditor, JTable) may expose internal representation by storing an externally mutable object into AttributesListSelectionListener.editor MALICIOUS_CODE EI_EXPOSE_REP2 48 Medium

org.opentrafficsim.editor.listeners.AttributesMouseListener

Bug Category Details Line Priority
new org.opentrafficsim.editor.listeners.AttributesMouseListener(OtsEditor, JTable) may expose internal representation by storing an externally mutable object into AttributesMouseListener.attributesTable MALICIOUS_CODE EI_EXPOSE_REP2 39 Medium
new org.opentrafficsim.editor.listeners.AttributesMouseListener(OtsEditor, JTable) may expose internal representation by storing an externally mutable object into AttributesMouseListener.editor MALICIOUS_CODE EI_EXPOSE_REP2 38 Medium

org.opentrafficsim.editor.listeners.ChangesListener

Bug Category Details Line Priority
new org.opentrafficsim.editor.listeners.ChangesListener(OtsEditor, JComboBox) may expose internal representation by storing an externally mutable object into ChangesListener.editor MALICIOUS_CODE EI_EXPOSE_REP2 56 Medium
new org.opentrafficsim.editor.listeners.ChangesListener(OtsEditor, JComboBox) may expose internal representation by storing an externally mutable object into ChangesListener.scenario MALICIOUS_CODE EI_EXPOSE_REP2 57 Medium

org.opentrafficsim.editor.listeners.ChoiceListener

Bug Category Details Line Priority
new org.opentrafficsim.editor.listeners.ChoiceListener(XsdTreeNode, XsdTreeNode, int, OtsEditor, JTreeTable, JTable) may expose internal representation by storing an externally mutable object into ChoiceListener.attributesTable MALICIOUS_CODE EI_EXPOSE_REP2 60 Medium
new org.opentrafficsim.editor.listeners.ChoiceListener(XsdTreeNode, XsdTreeNode, int, OtsEditor, JTreeTable, JTable) may expose internal representation by storing an externally mutable object into ChoiceListener.choiceNode MALICIOUS_CODE EI_EXPOSE_REP2 55 Medium
new org.opentrafficsim.editor.listeners.ChoiceListener(XsdTreeNode, XsdTreeNode, int, OtsEditor, JTreeTable, JTable) may expose internal representation by storing an externally mutable object into ChoiceListener.editor MALICIOUS_CODE EI_EXPOSE_REP2 58 Medium
new org.opentrafficsim.editor.listeners.ChoiceListener(XsdTreeNode, XsdTreeNode, int, OtsEditor, JTreeTable, JTable) may expose internal representation by storing an externally mutable object into ChoiceListener.option MALICIOUS_CODE EI_EXPOSE_REP2 56 Medium
new org.opentrafficsim.editor.listeners.ChoiceListener(XsdTreeNode, XsdTreeNode, int, OtsEditor, JTreeTable, JTable) may expose internal representation by storing an externally mutable object into ChoiceListener.treeTable MALICIOUS_CODE EI_EXPOSE_REP2 59 Medium

org.opentrafficsim.editor.listeners.XsdTreeKeyListener

Bug Category Details Line Priority
new org.opentrafficsim.editor.listeners.XsdTreeKeyListener(OtsEditor, JTreeTable) may expose internal representation by storing an externally mutable object into XsdTreeKeyListener.editor MALICIOUS_CODE EI_EXPOSE_REP2 39 Medium
new org.opentrafficsim.editor.listeners.XsdTreeKeyListener(OtsEditor, JTreeTable) may expose internal representation by storing an externally mutable object into XsdTreeKeyListener.treeTable MALICIOUS_CODE EI_EXPOSE_REP2 40 Medium

org.opentrafficsim.editor.listeners.XsdTreeMouseListener

Bug Category Details Line Priority
new org.opentrafficsim.editor.listeners.XsdTreeMouseListener(OtsEditor, JTreeTable, JTable) may expose internal representation by storing an externally mutable object into XsdTreeMouseListener.attributesTable MALICIOUS_CODE EI_EXPOSE_REP2 57 Medium
new org.opentrafficsim.editor.listeners.XsdTreeMouseListener(OtsEditor, JTreeTable, JTable) may expose internal representation by storing an externally mutable object into XsdTreeMouseListener.editor MALICIOUS_CODE EI_EXPOSE_REP2 55 Medium
new org.opentrafficsim.editor.listeners.XsdTreeMouseListener(OtsEditor, JTreeTable, JTable) may expose internal representation by storing an externally mutable object into XsdTreeMouseListener.treeTable MALICIOUS_CODE EI_EXPOSE_REP2 56 Medium

org.opentrafficsim.editor.listeners.XsdTreeSelectionListener

Bug Category Details Line Priority
new org.opentrafficsim.editor.listeners.XsdTreeSelectionListener(OtsEditor, JTreeTable, JTable) may expose internal representation by storing an externally mutable object into XsdTreeSelectionListener.attributesTable MALICIOUS_CODE EI_EXPOSE_REP2 55 Medium
new org.opentrafficsim.editor.listeners.XsdTreeSelectionListener(OtsEditor, JTreeTable, JTable) may expose internal representation by storing an externally mutable object into XsdTreeSelectionListener.editor MALICIOUS_CODE EI_EXPOSE_REP2 53 Medium
new org.opentrafficsim.editor.listeners.XsdTreeSelectionListener(OtsEditor, JTreeTable, JTable) may expose internal representation by storing an externally mutable object into XsdTreeSelectionListener.treeTable MALICIOUS_CODE EI_EXPOSE_REP2 54 Medium

org.opentrafficsim.editor.render.AttributeCellRenderer

Bug Category Details Line Priority
org.opentrafficsim.editor.render.AttributeCellRenderer.getTableCellRendererComponent(JTable, Object, boolean, boolean, int, int) may expose internal representation by returning AttributeCellRenderer.checkBox MALICIOUS_CODE EI_EXPOSE_REP 129 Medium

org.opentrafficsim.editor.render.AttributesCellEditor

Bug Category Details Line Priority
org.opentrafficsim.editor.render.AttributesCellEditor.getTableCellEditorComponent(JTable, Object, boolean, int, int) may expose internal representation by returning AttributesCellEditor.checkBox MALICIOUS_CODE EI_EXPOSE_REP 142 Medium
new org.opentrafficsim.editor.render.AttributesCellEditor(JTable, OtsEditor) may expose internal representation by storing an externally mutable object into AttributesCellEditor.editor MALICIOUS_CODE EI_EXPOSE_REP2 78 Medium
org.opentrafficsim.editor.render.AttributesCellEditor$2 stored into non-transient field AttributesCellEditor.lastActionListener BAD_PRACTICE SE_BAD_FIELD_STORE 127 Medium

org.opentrafficsim.editor.render.StringCellRenderer

Bug Category Details Line Priority
new org.opentrafficsim.editor.render.StringCellRenderer(JTreeTable) may expose internal representation by storing an externally mutable object into StringCellRenderer.treeTable MALICIOUS_CODE EI_EXPOSE_REP2 41 Medium

org.opentrafficsim.editor.render.XsdTreeCellRenderer

Bug Category Details Line Priority
Exception thrown in class org.opentrafficsim.editor.render.XsdTreeCellRenderer at new org.opentrafficsim.editor.render.XsdTreeCellRenderer(OtsEditor) will leave the constructor. The object under construction remains partially initialized and may be vulnerable to Finalizer attacks. BAD_PRACTICE CT_CONSTRUCTOR_THROW 60 Medium
new org.opentrafficsim.editor.render.XsdTreeCellRenderer(OtsEditor) may expose internal representation by storing an externally mutable object into XsdTreeCellRenderer.editor MALICIOUS_CODE EI_EXPOSE_REP2 59 Medium
java.awt.image.BufferedImage stored into non-transient field XsdTreeCellRenderer.dropdown BAD_PRACTICE SE_BAD_FIELD_STORE 64 Medium