The following document contains the results of FindBugs Report
FindBugs Version is 2.0.3
Threshold is medium
Effort is min
Class | Bugs |
---|---|
gboat2.approveflow.Activator | 2 |
gboat2.approveflow.action.ApproveflowAction | 9 |
gboat2.approveflow.service.impl.ApproveFlowServiceImpl | 7 |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
gboat2.approveflow.Activator.LOCAL_BUNDLE isn't final and can't be protected from malicious code | MALICIOUS_CODE | MS_CANNOT_BE_FINAL | Medium | |
Write to static field gboat2.approveflow.Activator.LOCAL_BUNDLE from instance method gboat2.approveflow.Activator.start(BundleContext) | STYLE | ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD | 36 | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to stepCodeNameMap in gboat2.approveflow.action.ApproveflowAction.initSave() | STYLE | DLS_DEAD_LOCAL_STORE | 209 | Medium |
Comparison of String objects using == or != in gboat2.approveflow.action.ApproveflowAction.getStepNames() | BAD_PRACTICE | ES_COMPARING_STRINGS_WITH_EQ | 325 | Medium |
Comparison of String objects using == or != in gboat2.approveflow.action.ApproveflowAction.setDefaultInfo() | BAD_PRACTICE | ES_COMPARING_STRINGS_WITH_EQ | 293 | Medium |
Possible null pointer dereference of verifyLevel in gboat2.approveflow.action.ApproveflowAction.initSave() | CORRECTNESS | NP_NULL_ON_SOME_PATH | 212 | Medium |
Class gboat2.approveflow.action.ApproveflowAction defines non-transient non-serializable instance field approveflowBusiness | BAD_PRACTICE | SE_BAD_FIELD | Medium | |
Class gboat2.approveflow.action.ApproveflowAction defines non-transient non-serializable instance field approveflowRegister | BAD_PRACTICE | SE_BAD_FIELD | Medium | |
Class gboat2.approveflow.action.ApproveflowAction defines non-transient non-serializable instance field nodeInfoList | BAD_PRACTICE | SE_BAD_FIELD | Medium | |
Class gboat2.approveflow.action.ApproveflowAction defines non-transient non-serializable instance field processCache | BAD_PRACTICE | SE_BAD_FIELD | Medium | |
Class gboat2.approveflow.action.ApproveflowAction defines non-transient non-serializable instance field processInfoList | BAD_PRACTICE | SE_BAD_FIELD | Medium |
Bug | Category | Details | Line | Priority |
---|---|---|---|---|
Dead store to firstAssigner in gboat2.approveflow.service.impl.ApproveFlowServiceImpl.getNextAssignersForNode(String, Node, Map) | STYLE | DLS_DEAD_LOCAL_STORE | 234 | Medium |
gboat2.approveflow.service.impl.ApproveFlowServiceImpl.getNextAssignersForNode(String, Node, Map) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 240 | Medium |
gboat2.approveflow.service.impl.ApproveFlowServiceImpl.getNextTaskNode(Join) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 360 | Medium |
gboat2.approveflow.service.impl.ApproveFlowServiceImpl.getNextTaskNode(Split) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 338 | Medium |
gboat2.approveflow.service.impl.ApproveFlowServiceImpl.getPreviousTaskNode(Join) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 316 | Medium |
gboat2.approveflow.service.impl.ApproveFlowServiceImpl.getPreviousTaskNode(Split) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 294 | Medium |
gboat2.approveflow.service.impl.ApproveFlowServiceImpl.isLast(String, String, String) makes inefficient use of keySet iterator instead of entrySet iterator | PERFORMANCE | WMI_WRONG_MAP_ITERATOR | 176 | Medium |