FindBugs Bug Detector Report
The following document contains the results of FindBugs
FindBugs Version is 3.0.1
Threshold is low
Effort is max
Summary
| Classes |
Bugs |
Errors |
Missing Classes |
| 137 |
120 |
0 |
0 |
org.opendaylight.netvirt.elan.cli.ElanAdd
| Bug |
Category |
Details |
Line |
Priority |
| org.opendaylight.netvirt.elan.cli.ElanAdd.MAX_LENGTH isn't final but should be |
MALICIOUS_CODE |
MS_SHOULD_BE_FINAL |
28 |
High |
org.opendaylight.netvirt.elan.cli.ElanGet
| Bug |
Category |
Details |
Line |
Priority |
| Format-string method String.format(String, Object[]) called with format string "%-35s %-20s %-20s " wants 3 arguments but is given 4 in org.opendaylight.netvirt.elan.cli.ElanGet.doExecute() |
CORRECTNESS |
VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED |
43 |
Medium |
| Format-string method String.format(String, Object[]) called with format string "%-35s %-20s %-20s " wants 3 arguments but is given 4 in org.opendaylight.netvirt.elan.cli.ElanGet.doExecute() |
CORRECTNESS |
VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED |
54 |
Medium |
org.opendaylight.netvirt.elan.cli.ElanInterfaceGet
| Bug |
Category |
Details |
Line |
Priority |
| org.opendaylight.netvirt.elan.cli.ElanInterfaceGet.MAX_LENGTH isn't final but should be |
MALICIOUS_CODE |
MS_SHOULD_BE_FINAL |
30 |
Low |
| org.opendaylight.netvirt.elan.cli.ElanInterfaceGet.isDisplay isn't final but should be |
MALICIOUS_CODE |
MS_SHOULD_BE_FINAL |
32 |
Low |
org.opendaylight.netvirt.elan.cli.etree.EtreeAdd
| Bug |
Category |
Details |
Line |
Priority |
| org.opendaylight.netvirt.elan.cli.etree.EtreeAdd.MAX_LENGTH isn't final but should be |
MALICIOUS_CODE |
MS_SHOULD_BE_FINAL |
28 |
High |
org.opendaylight.netvirt.elan.cli.etree.EtreeGet
| Bug |
Category |
Details |
Line |
Priority |
| Format-string method String.format(String, Object[]) called with format string "%-35s %-20s %-20s %-20s" wants 4 arguments but is given 5 in org.opendaylight.netvirt.elan.cli.etree.EtreeGet.doExecute() |
CORRECTNESS |
VA_FORMAT_STRING_EXTRA_ARGUMENTS_PASSED |
55 |
Medium |
org.opendaylight.netvirt.elan.cli.etree.EtreeInterfaceGet
| Bug |
Category |
Details |
Line |
Priority |
| org.opendaylight.netvirt.elan.cli.etree.EtreeInterfaceGet.MAX_LENGTH isn't final but should be |
MALICIOUS_CODE |
MS_SHOULD_BE_FINAL |
32 |
Low |
| org.opendaylight.netvirt.elan.cli.etree.EtreeInterfaceGet.isDisplay isn't final but should be |
MALICIOUS_CODE |
MS_SHOULD_BE_FINAL |
35 |
Low |
org.opendaylight.netvirt.elan.cli.l2gw.L2GwUtilsCacheCli
| Bug |
Category |
Details |
Line |
Priority |
| Found reliance on default encoding in org.opendaylight.netvirt.elan.cli.l2gw.L2GwUtilsCacheCli.dumpHACacheEvents(): new java.io.PrintStream(OutputStream) |
I18N |
DM_DEFAULT_ENCODING |
76 |
High |
| Possible null pointer dereference of cache in org.opendaylight.netvirt.elan.cli.l2gw.L2GwUtilsCacheCli.dumpElanL2GwCache() |
CORRECTNESS |
NP_NULL_ON_SOME_PATH |
130 |
High |
| org.opendaylight.netvirt.elan.cli.l2gw.L2GwUtilsCacheCli.dumpElanL2GwCache() makes inefficient use of keySet iterator instead of entrySet iterator |
PERFORMANCE |
WMI_WRONG_MAP_ITERATOR |
131 |
Medium |
| org.opendaylight.netvirt.elan.cli.l2gw.L2GwUtilsCacheCli.dumpHACache(PrintStream) makes inefficient use of keySet iterator instead of entrySet iterator |
PERFORMANCE |
WMI_WRONG_MAP_ITERATOR |
106 |
Medium |
| org.opendaylight.netvirt.elan.cli.l2gw.L2GwUtilsCacheCli.dumpL2GwCache() makes inefficient use of keySet iterator instead of entrySet iterator |
PERFORMANCE |
WMI_WRONG_MAP_ITERATOR |
118 |
Medium |
| org.opendaylight.netvirt.elan.cli.l2gw.L2GwUtilsCacheCli.print(String, ConcurrentMap) makes inefficient use of keySet iterator instead of entrySet iterator |
PERFORMANCE |
WMI_WRONG_MAP_ITERATOR |
146 |
Medium |
org.opendaylight.netvirt.elan.cli.l2gw.L2GwValidateCli
| Bug |
Category |
Details |
Line |
Priority |
| Dead store to elanInstance in org.opendaylight.netvirt.elan.cli.l2gw.L2GwValidateCli.verifyMcastMac(String, L2GatewayDevice, InstanceIdentifier) |
STYLE |
DLS_DEAD_LOCAL_STORE |
467 |
Medium |
| Dead store to configNode in org.opendaylight.netvirt.elan.cli.l2gw.L2GwValidateCli.verifyL2GatewayConnections() |
STYLE |
DLS_DEAD_LOCAL_STORE |
399 |
Low |
| Dead store to opNode in org.opendaylight.netvirt.elan.cli.l2gw.L2GwValidateCli.verifyL2GatewayConnections() |
STYLE |
DLS_DEAD_LOCAL_STORE |
400 |
Low |
| Found reliance on default encoding in org.opendaylight.netvirt.elan.cli.l2gw.L2GwValidateCli.doExecute(): new java.io.PrintWriter(OutputStream) |
I18N |
DM_DEFAULT_ENCODING |
105 |
High |
| Useless control flow in org.opendaylight.netvirt.elan.cli.l2gw.L2GwValidateCli.verifyL2GatewayConnections() |
STYLE |
UCF_USELESS_CONTROL_FLOW |
380 |
Low |
| org.opendaylight.netvirt.elan.cli.l2gw.L2GwValidateCli.compareNodes(Node, Node, boolean, LogicalDatastoreType) makes inefficient use of keySet iterator instead of entrySet iterator |
PERFORMANCE |
WMI_WRONG_MAP_ITERATOR |
328 |
Medium |
org.opendaylight.netvirt.elan.cli.l2gw.L2GwValidateCli$1
| Bug |
Category |
Details |
Line |
Priority |
| The class org.opendaylight.netvirt.elan.cli.l2gw.L2GwValidateCli$1 could be refactored into a named _static_ inner class |
PERFORMANCE |
SIC_INNER_SHOULD_BE_STATIC_ANON |
309 |
Low |
org.opendaylight.netvirt.elan.cli.l2gw.NetworkL2gwDeviceInfoCli
| Bug |
Category |
Details |
Line |
Priority |
| Dead store to vlanIds in org.opendaylight.netvirt.elan.cli.l2gw.NetworkL2gwDeviceInfoCli.printVlanBindings(Node, String) |
STYLE |
DLS_DEAD_LOCAL_STORE |
297 |
High |
org.opendaylight.netvirt.elan.internal.ElanBridgeManager
| Bug |
Category |
Details |
Line |
Priority |
| Redundant nullcheck of split, which is known to be non-null in org.opendaylight.netvirt.elan.internal.ElanBridgeManager.extractMultiKeyValueToMap(String) |
STYLE |
RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE |
403 |
Low |
org.opendaylight.netvirt.elan.internal.ElanDpnInterfaceClusteredListener
| Bug |
Category |
Details |
Line |
Priority |
| Confusing to have methods org.opendaylight.netvirt.elan.internal.ElanDpnInterfaceClusteredListener.getWildCardPath() and org.opendaylight.netvirt.elan.utils.CacheElanInstanceListener.getWildcardPath() |
BAD_PRACTICE |
NM_CONFUSING |
55 |
Low |
| Class org.opendaylight.netvirt.elan.internal.ElanDpnInterfaceClusteredListener implements same interface as superclass |
STYLE |
RI_REDUNDANT_INTERFACES |
29 |
Low |
org.opendaylight.netvirt.elan.internal.ElanInstanceManager
| Bug |
Category |
Details |
Line |
Priority |
| Class org.opendaylight.netvirt.elan.internal.ElanInstanceManager implements same interface as superclass |
STYLE |
RI_REDUNDANT_INTERFACES |
40 |
Low |
org.opendaylight.netvirt.elan.internal.ElanInterfaceManager
| Bug |
Category |
Details |
Line |
Priority |
| Nullcheck of interfaceInfo at line 595 of value previously dereferenced in org.opendaylight.netvirt.elan.internal.ElanInterfaceManager.addElanInterface(List, ElanInterface, InterfaceInfo, ElanInstance) |
CORRECTNESS |
RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE |
574 |
High |
| Nullcheck of interfaceLists at line 386 of value previously dereferenced in org.opendaylight.netvirt.elan.internal.ElanInterfaceManager.removeElanDpnInterfaceFromOperationalDataStore(String, BigInteger, String, long, WriteTransaction) |
CORRECTNESS |
RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE |
386 |
Medium |
| Class org.opendaylight.netvirt.elan.internal.ElanInterfaceManager implements same interface as superclass |
STYLE |
RI_REDUNDANT_INTERFACES |
106 |
Low |
| Private method org.opendaylight.netvirt.elan.internal.ElanInterfaceManager.isStandardElanService(ElanInstance) is never called |
PERFORMANCE |
UPM_UNCALLED_PRIVATE_METHOD |
1430 |
Medium |
org.opendaylight.netvirt.elan.internal.ElanInterfaceStateChangeListener
| Bug |
Category |
Details |
Line |
Priority |
| Class org.opendaylight.netvirt.elan.internal.ElanInterfaceStateChangeListener implements same interface as superclass |
STYLE |
RI_REDUNDANT_INTERFACES |
30 |
Low |
org.opendaylight.netvirt.elan.internal.ElanInterfaceStateClusteredListener
| Bug |
Category |
Details |
Line |
Priority |
| Class org.opendaylight.netvirt.elan.internal.ElanInterfaceStateClusteredListener implements same interface as superclass |
STYLE |
RI_REDUNDANT_INTERFACES |
27 |
Low |
org.opendaylight.netvirt.elan.internal.ElanNodeListener
| Bug |
Category |
Details |
Line |
Priority |
| Boxing/unboxing to parse a primitive org.opendaylight.netvirt.elan.internal.ElanNodeListener.addSmacLearnedTableFlow(BigInteger) |
PERFORMANCE |
DM_BOXED_PRIMITIVE_FOR_PARSING |
163 |
High |
org.opendaylight.netvirt.elan.internal.ElanServiceProvider
| Bug |
Category |
Details |
Line |
Priority |
| Load of known null value in org.opendaylight.netvirt.elan.internal.ElanServiceProvider.deleteElanInstance(String) |
STYLE |
NP_LOAD_OF_KNOWN_NULL_VALUE |
221 |
Medium |
| Redundant nullcheck of elanInterfaces, which is known to be non-null in org.opendaylight.netvirt.elan.internal.ElanServiceProvider.getExternalElanInterfaces(String) |
STYLE |
RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE |
602 |
Low |
| Redundant nullcheck of elanInstances, which is known to be non-null in org.opendaylight.netvirt.elan.internal.ElanServiceProvider.handleExternalElanNetworks(Node, BiFunction) |
STYLE |
RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE |
710 |
Low |
| Redundant nullcheck of dpnsIdsForElanInstance, which is known to be non-null in org.opendaylight.netvirt.elan.internal.ElanServiceProvider.handleKnownL3DmacAddress(String, String, int) |
STYLE |
RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE |
645 |
Low |
| Redundant nullcheck of elanInstances, which is known to be non-null in org.opendaylight.netvirt.elan.internal.ElanServiceProvider.updateExternalElanNetworks(Node, Node) |
STYLE |
RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE |
548 |
Low |
| Write to static field org.opendaylight.netvirt.elan.internal.ElanServiceProvider.elanUtils from instance method new org.opendaylight.netvirt.elan.internal.ElanServiceProvider(IdManagerService, IInterfaceManager, ElanInstanceManager, ElanBridgeManager, DataBroker, ElanInterfaceManager, ElanStatusMonitor, ElanUtils, EntityOwnershipService) |
STYLE |
ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD |
98 |
High |
org.opendaylight.netvirt.elan.internal.ElanSmacFlowEventListener
| Bug |
Category |
Details |
Line |
Priority |
| Use of non-localized String.toUpperCase() or String.toLowerCase() in org.opendaylight.netvirt.elan.internal.ElanSmacFlowEventListener.onFlowRemoved(FlowRemoved) |
I18N |
DM_CONVERT_CASE |
70 |
Low |
org.opendaylight.netvirt.elan.internal.ElanSmacFlowEventListener$1
| Bug |
Category |
Details |
Line |
Priority |
| The class org.opendaylight.netvirt.elan.internal.ElanSmacFlowEventListener$1 could be refactored into a named _static_ inner class |
PERFORMANCE |
SIC_INNER_SHOULD_BE_STATIC_ANON |
120 |
Low |
org.opendaylight.netvirt.elan.internal.ElanTunnelInterfaceStateListener
| Bug |
Category |
Details |
Line |
Priority |
| Class org.opendaylight.netvirt.elan.internal.ElanTunnelInterfaceStateListener implements same interface as superclass |
STYLE |
RI_REDUNDANT_INTERFACES |
27 |
Low |
org.opendaylight.netvirt.elan.l2gw.ha.HwvtepHAUtil
| Bug |
Category |
Details |
Line |
Priority |
| org.opendaylight.netvirt.elan.l2gw.ha.HwvtepHAUtil.getOriginal(DataObjectModification) uses the same code for two switch clauses |
STYLE |
DB_DUPLICATE_SWITCH_CLAUSES |
246 |
Low |
| Found reliance on default encoding in org.opendaylight.netvirt.elan.l2gw.ha.HwvtepHAUtil.createInstanceIdentifierFromHAId(String): String.getBytes() |
I18N |
DM_DEFAULT_ENCODING |
128 |
High |
| Found reliance on default encoding in org.opendaylight.netvirt.elan.l2gw.ha.HwvtepHAUtil.getUUid(String): String.getBytes() |
I18N |
DM_DEFAULT_ENCODING |
96 |
High |
| org.opendaylight.netvirt.elan.l2gw.ha.HwvtepHAUtil.updateL2GwCacheNodeId(Node, InstanceIdentifier) makes inefficient use of keySet iterator instead of entrySet iterator |
PERFORMANCE |
WMI_WRONG_MAP_ITERATOR |
577 |
Medium |
org.opendaylight.netvirt.elan.l2gw.ha.commands.LocalMcastCmd
| Bug |
Category |
Details |
Line |
Priority |
| Write to static field org.opendaylight.netvirt.elan.l2gw.ha.commands.MergeCommand.LOG from instance method new org.opendaylight.netvirt.elan.l2gw.ha.commands.LocalMcastCmd() |
STYLE |
ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD |
31 |
Medium |
org.opendaylight.netvirt.elan.l2gw.ha.commands.LocalUcastCmd
| Bug |
Category |
Details |
Line |
Priority |
| Write to static field org.opendaylight.netvirt.elan.l2gw.ha.commands.MergeCommand.LOG from instance method new org.opendaylight.netvirt.elan.l2gw.ha.commands.LocalUcastCmd() |
STYLE |
ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD |
30 |
Medium |
org.opendaylight.netvirt.elan.l2gw.ha.commands.LogicalSwitchesCmd
| Bug |
Category |
Details |
Line |
Priority |
| Write to static field org.opendaylight.netvirt.elan.l2gw.ha.commands.MergeCommand.LOG from instance method new org.opendaylight.netvirt.elan.l2gw.ha.commands.LogicalSwitchesCmd() |
STYLE |
ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD |
25 |
Medium |
org.opendaylight.netvirt.elan.l2gw.ha.commands.MergeCommand$LocatorSetComparator
| Bug |
Category |
Details |
Line |
Priority |
| org.opendaylight.netvirt.elan.l2gw.ha.commands.MergeCommand$LocatorSetComparator implements Comparator but not Serializable |
BAD_PRACTICE |
SE_COMPARATOR_SHOULD_BE_SERIALIZABLE |
204 |
Medium |
org.opendaylight.netvirt.elan.l2gw.ha.commands.PhysicalLocatorCmd
| Bug |
Category |
Details |
Line |
Priority |
| Write to static field org.opendaylight.netvirt.elan.l2gw.ha.commands.MergeCommand.LOG from instance method new org.opendaylight.netvirt.elan.l2gw.ha.commands.PhysicalLocatorCmd() |
STYLE |
ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD |
21 |
Medium |
org.opendaylight.netvirt.elan.l2gw.ha.commands.RemoteMcastCmd
| Bug |
Category |
Details |
Line |
Priority |
| Write to static field org.opendaylight.netvirt.elan.l2gw.ha.commands.MergeCommand.LOG from instance method new org.opendaylight.netvirt.elan.l2gw.ha.commands.RemoteMcastCmd() |
STYLE |
ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD |
31 |
Medium |
org.opendaylight.netvirt.elan.l2gw.ha.commands.RemoteUcastCmd
| Bug |
Category |
Details |
Line |
Priority |
| Write to static field org.opendaylight.netvirt.elan.l2gw.ha.commands.MergeCommand.LOG from instance method new org.opendaylight.netvirt.elan.l2gw.ha.commands.RemoteUcastCmd() |
STYLE |
ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD |
28 |
Medium |
org.opendaylight.netvirt.elan.l2gw.ha.commands.SwitchesCmd
| Bug |
Category |
Details |
Line |
Priority |
| Write to static field org.opendaylight.netvirt.elan.l2gw.ha.commands.SwitchesCmd.LOG from instance method new org.opendaylight.netvirt.elan.l2gw.ha.commands.SwitchesCmd() |
STYLE |
ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD |
28 |
Medium |
org.opendaylight.netvirt.elan.l2gw.ha.commands.TerminationPointCmd
| Bug |
Category |
Details |
Line |
Priority |
| Write to static field org.opendaylight.netvirt.elan.l2gw.ha.commands.MergeCommand.LOG from instance method new org.opendaylight.netvirt.elan.l2gw.ha.commands.TerminationPointCmd() |
STYLE |
ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD |
29 |
Medium |
org.opendaylight.netvirt.elan.l2gw.ha.commands.TerminationPointCmd$1
org.opendaylight.netvirt.elan.l2gw.ha.commands.TerminationPointCmd$BindingsComparator
| Bug |
Category |
Details |
Line |
Priority |
| org.opendaylight.netvirt.elan.l2gw.ha.commands.TerminationPointCmd$BindingsComparator implements Comparator but not Serializable |
BAD_PRACTICE |
SE_COMPARATOR_SHOULD_BE_SERIALIZABLE |
127 |
Medium |
org.opendaylight.netvirt.elan.l2gw.ha.commands.TunnelCmd
| Bug |
Category |
Details |
Line |
Priority |
| Write to static field org.opendaylight.netvirt.elan.l2gw.ha.commands.MergeCommand.LOG from instance method new org.opendaylight.netvirt.elan.l2gw.ha.commands.TunnelCmd() |
STYLE |
ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD |
27 |
Medium |
org.opendaylight.netvirt.elan.l2gw.ha.handlers.HAEventHandler
| Bug |
Category |
Details |
Line |
Priority |
| Unread field: org.opendaylight.netvirt.elan.l2gw.ha.handlers.HAEventHandler.db |
PERFORMANCE |
URF_UNREAD_FIELD |
26 |
Medium |
org.opendaylight.netvirt.elan.l2gw.ha.handlers.NodeConnectedHandler
| Bug |
Category |
Details |
Line |
Priority |
| Private method org.opendaylight.netvirt.elan.l2gw.ha.handlers.NodeConnectedHandler.deleteChildConfigIfHAConfigIsMissing(Optional, InstanceIdentifier, ReadWriteTransaction) is never called |
PERFORMANCE |
UPM_UNCALLED_PRIVATE_METHOD |
121 |
Low |
org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAConfigNodeListener
| Bug |
Category |
Details |
Line |
Priority |
| Dead store to deletedNodeId in org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAConfigNodeListener.onGlobalNodeDelete(InstanceIdentifier, Node, ReadWriteTransaction) |
STYLE |
DLS_DEAD_LOCAL_STORE |
98 |
Medium |
org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAListeners$GlobalAugmentationListener
| Bug |
Category |
Details |
Line |
Priority |
| Should org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAListeners$GlobalAugmentationListener be a _static_ inner class? |
PERFORMANCE |
SIC_INNER_SHOULD_BE_STATIC |
88 |
Medium |
org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAOpNodeListener
| Bug |
Category |
Details |
Line |
Priority |
| Dead store to psId in org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAOpNodeListener.areBothGlobalAndPsNodeAvailable(InstanceIdentifier) |
STYLE |
DLS_DEAD_LOCAL_STORE |
96 |
Low |
| Dead store to psId in org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAOpNodeListener.clearNodeAvailability(InstanceIdentifier) |
STYLE |
DLS_DEAD_LOCAL_STORE |
66 |
Low |
| Dead store to psId in org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAOpNodeListener.updateNodeAvailability(InstanceIdentifier) |
STYLE |
DLS_DEAD_LOCAL_STORE |
81 |
Low |
| Class org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAOpNodeListener implements same interface as superclass |
STYLE |
RI_REDUNDANT_INTERFACES |
50 |
Low |
| org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAOpNodeListener.areBothGlobalAndPsNodeAvailable(InstanceIdentifier) checks to see if result of String.indexOf is positive |
STYLE |
RV_CHECK_FOR_POSITIVE_INDEXOF |
95 |
Low |
| org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAOpNodeListener.clearNodeAvailability(InstanceIdentifier) checks to see if result of String.indexOf is positive |
STYLE |
RV_CHECK_FOR_POSITIVE_INDEXOF |
65 |
Low |
| org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAOpNodeListener.updateNodeAvailability(InstanceIdentifier) checks to see if result of String.indexOf is positive |
STYLE |
RV_CHECK_FOR_POSITIVE_INDEXOF |
80 |
Low |
org.opendaylight.netvirt.elan.l2gw.ha.listeners.HAOpNodeListener$1
org.opendaylight.netvirt.elan.l2gw.ha.listeners.HwvtepNodeBaseListener
| Bug |
Category |
Details |
Line |
Priority |
| Dead store to processedNodes in org.opendaylight.netvirt.elan.l2gw.ha.listeners.HwvtepNodeBaseListener.processConnectedNodes(Collection, ReadWriteTransaction) |
STYLE |
DLS_DEAD_LOCAL_STORE |
123 |
High |
| Redundant nullcheck of original, which is known to be non-null in org.opendaylight.netvirt.elan.l2gw.ha.listeners.HwvtepNodeBaseListener.processUpdatedNodes(Collection, ReadWriteTransaction) |
STYLE |
RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE |
87 |
Medium |
| Redundant nullcheck of updated, which is known to be non-null in org.opendaylight.netvirt.elan.l2gw.ha.listeners.HwvtepNodeBaseListener.processUpdatedNodes(Collection, ReadWriteTransaction) |
STYLE |
RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE |
87 |
Medium |
| Repeated conditional test in org.opendaylight.netvirt.elan.l2gw.ha.listeners.HwvtepNodeBaseListener.processUpdatedNodes(Collection, ReadWriteTransaction) |
CORRECTNESS |
RpC_REPEATED_CONDITIONAL_TEST |
86 |
Medium |
org.opendaylight.netvirt.elan.l2gw.ha.listeners.HwvtepNodeDataListener
| Bug |
Category |
Details |
Line |
Priority |
| Class org.opendaylight.netvirt.elan.l2gw.ha.listeners.HwvtepNodeDataListener implements same interface as superclass |
STYLE |
RI_REDUNDANT_INTERFACES |
34 |
Low |
org.opendaylight.netvirt.elan.l2gw.jobs.AssociateHwvtepToElanJob
| Bug |
Category |
Details |
Line |
Priority |
| Dead store to path in org.opendaylight.netvirt.elan.l2gw.jobs.AssociateHwvtepToElanJob.createLogicalSwitch(L2GatewayDevice, ElanInstance) |
STYLE |
DLS_DEAD_LOCAL_STORE |
105 |
Medium |
org.opendaylight.netvirt.elan.l2gw.jobs.AssociateHwvtepToElanJob$1
| Bug |
Category |
Details |
Line |
Priority |
| The class org.opendaylight.netvirt.elan.l2gw.jobs.AssociateHwvtepToElanJob$1 could be refactored into a named _static_ inner class |
PERFORMANCE |
SIC_INNER_SHOULD_BE_STATIC_ANON |
110 |
Low |
org.opendaylight.netvirt.elan.l2gw.jobs.DeleteL2GwDeviceMacsFromElanJob$1
| Bug |
Category |
Details |
Line |
Priority |
| The class org.opendaylight.netvirt.elan.l2gw.jobs.DeleteL2GwDeviceMacsFromElanJob$1 could be refactored into a named _static_ inner class |
PERFORMANCE |
SIC_INNER_SHOULD_BE_STATIC_ANON |
106 |
Low |
org.opendaylight.netvirt.elan.l2gw.jobs.LogicalSwitchAddedJob
| Bug |
Category |
Details |
Line |
Priority |
| Dead store to list in org.opendaylight.netvirt.elan.l2gw.jobs.LogicalSwitchAddedJob.call() |
STYLE |
DLS_DEAD_LOCAL_STORE |
83 |
High |
| Dead store to elan in org.opendaylight.netvirt.elan.l2gw.jobs.LogicalSwitchAddedJob.call() |
STYLE |
DLS_DEAD_LOCAL_STORE |
74 |
Medium |
org.opendaylight.netvirt.elan.l2gw.listeners.ElanGroupListener
| Bug |
Category |
Details |
Line |
Priority |
| Redundant nullcheck of temp, which is known to be non-null in org.opendaylight.netvirt.elan.l2gw.listeners.ElanGroupListener.getDpnId(String) |
STYLE |
RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE |
85 |
Low |
| Redundant nullcheck of bucketList, which is known to be non-null in org.opendaylight.netvirt.elan.l2gw.listeners.ElanGroupListener.update(InstanceIdentifier, Group, Group) |
STYLE |
RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE |
138 |
Low |
| Class org.opendaylight.netvirt.elan.l2gw.listeners.ElanGroupListener implements same interface as superclass |
STYLE |
RI_REDUNDANT_INTERFACES |
36 |
Low |
org.opendaylight.netvirt.elan.l2gw.listeners.ElanInstanceListener
| Bug |
Category |
Details |
Line |
Priority |
| Class org.opendaylight.netvirt.elan.l2gw.listeners.ElanInstanceListener implements same interface as superclass |
STYLE |
RI_REDUNDANT_INTERFACES |
29 |
Low |
org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepLocalUcastMacListener
| Bug |
Category |
Details |
Line |
Priority |
| Use of non-localized String.toUpperCase() or String.toLowerCase() in org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepLocalUcastMacListener.added(InstanceIdentifier, LocalUcastMacs) |
I18N |
DM_CONVERT_CASE |
113 |
Low |
| Use of non-localized String.toUpperCase() or String.toLowerCase() in org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepLocalUcastMacListener.removed(InstanceIdentifier, LocalUcastMacs) |
I18N |
DM_CONVERT_CASE |
58 |
Low |
| Class org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepLocalUcastMacListener implements same interface as superclass |
STYLE |
RI_REDUNDANT_INTERFACES |
36 |
Low |
org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepPhysicalSwitchListener
| Bug |
Category |
Details |
Line |
Priority |
| Dead store to wildCard in org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepPhysicalSwitchListener.added(InstanceIdentifier, PhysicalSwitchAugmentation) |
STYLE |
DLS_DEAD_LOCAL_STORE |
210 |
Medium |
| Call to String.equals(org.opendaylight.yangtools.yang.binding.InstanceIdentifier<org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node>) in org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepPhysicalSwitchListener.updated(InstanceIdentifier, PhysicalSwitchAugmentation, PhysicalSwitchAugmentation) |
CORRECTNESS |
EC_UNRELATED_TYPES |
195 |
High |
| Class org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepPhysicalSwitchListener implements same interface as superclass |
STYLE |
RI_REDUNDANT_INTERFACES |
62 |
Low |
| Private method org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepPhysicalSwitchListener.updateL2GatewayCache(String, HwvtepGlobalRef, List) is never called |
PERFORMANCE |
UPM_UNCALLED_PRIVATE_METHOD |
289 |
Low |
org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepPhysicalSwitchListener$1
org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepTerminationPointListener
| Bug |
Category |
Details |
Line |
Priority |
| Class org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepTerminationPointListener implements same interface as superclass |
STYLE |
RI_REDUNDANT_INTERFACES |
59 |
Low |
org.opendaylight.netvirt.elan.l2gw.listeners.HwvtepTerminationPointListener$1
org.opendaylight.netvirt.elan.l2gw.listeners.L2GatewayConnectionListener
| Bug |
Category |
Details |
Line |
Priority |
| Class org.opendaylight.netvirt.elan.l2gw.listeners.L2GatewayConnectionListener implements same interface as superclass |
STYLE |
RI_REDUNDANT_INTERFACES |
26 |
Low |
org.opendaylight.netvirt.elan.l2gw.utils.ElanL2GatewayUtils
| Bug |
Category |
Details |
Line |
Priority |
| Use of non-localized String.toUpperCase() or String.toLowerCase() in org.opendaylight.netvirt.elan.l2gw.utils.ElanL2GatewayUtils.getElanMacTableEntriesMacs(String, L2GatewayDevice, NodeId, String) |
I18N |
DM_CONVERT_CASE |
782 |
Low |
| Use of non-localized String.toUpperCase() or String.toLowerCase() in org.opendaylight.netvirt.elan.l2gw.utils.ElanL2GatewayUtils.getOtherDevicesMacs(String, L2GatewayDevice, NodeId, String) |
I18N |
DM_CONVERT_CASE |
712 |
Low |
| The field name org.opendaylight.netvirt.elan.l2gw.utils.ElanL2GatewayUtils.LogicalSwitchDeleteJobTimer doesn't start with a lower case letter |
BAD_PRACTICE |
NM_FIELD_NAMING_CONVENTION |
|
Low |
| Load of known null value in org.opendaylight.netvirt.elan.l2gw.utils.ElanL2GatewayUtils.getElanMacTableEntriesMacs(String, L2GatewayDevice, NodeId, String) |
STYLE |
NP_LOAD_OF_KNOWN_NULL_VALUE |
782 |
Low |
org.opendaylight.netvirt.elan.l2gw.utils.ElanL2GatewayUtils$1
| Bug |
Category |
Details |
Line |
Priority |
| The class org.opendaylight.netvirt.elan.l2gw.utils.ElanL2GatewayUtils$1 could be refactored into a named _static_ inner class |
PERFORMANCE |
SIC_INNER_SHOULD_BE_STATIC_ANON |
432 |
Low |
org.opendaylight.netvirt.elan.l2gw.utils.L2GatewayConnectionUtils
| Bug |
Category |
Details |
Line |
Priority |
| Dead store to l2GatewayId in org.opendaylight.netvirt.elan.l2gw.utils.L2GatewayConnectionUtils.deleteL2GatewayConnection(L2gatewayConnection) |
STYLE |
DLS_DEAD_LOCAL_STORE |
193 |
Medium |
| Nullcheck of elanL2GwDevice at line 224 of value previously dereferenced in org.opendaylight.netvirt.elan.l2gw.utils.L2GatewayConnectionUtils.disAssociateHwvtepsFromElan(String, L2gatewayConnection) |
CORRECTNESS |
RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE |
224 |
High |
org.opendaylight.netvirt.elan.l2gw.utils.L2GatewayConnectionUtils$1
org.opendaylight.netvirt.elan.statisitcs.ElanStatisticsImpl
| Bug |
Category |
Details |
Line |
Priority |
| Unchecked/unconfirmed cast from org.opendaylight.genius.interfacemanager.globals.InterfaceInfo to org.opendaylight.genius.interfacemanager.globals.VlanInterfaceInfo in org.opendaylight.netvirt.elan.statisitcs.ElanStatisticsImpl.queryforElanInterfaceStatistics(short, String, InterfaceInfo) |
STYLE |
BC_UNCONFIRMED_CAST |
102 |
Low |
| Dead store to serviceInfo in org.opendaylight.netvirt.elan.statisitcs.ElanStatisticsImpl.getElanInterfaceStatistics(GetElanInterfaceStatisticsInput) |
STYLE |
DLS_DEAD_LOCAL_STORE |
70 |
Medium |
| Dead store to statRequestKeys in org.opendaylight.netvirt.elan.statisitcs.ElanStatisticsImpl.queryforElanInterfaceStatistics(short, String, InterfaceInfo) |
STYLE |
DLS_DEAD_LOCAL_STORE |
111 |
Medium |
org.opendaylight.netvirt.elan.utils.ElanClusterUtils$1
org.opendaylight.netvirt.elan.utils.ElanClusterUtils$2
org.opendaylight.netvirt.elan.utils.ElanUtils
| Bug |
Category |
Details |
Line |
Priority |
| Boxed value is unboxed and then immediately reboxed in org.opendaylight.netvirt.elan.utils.ElanUtils.retrieveNewElanTag(IdManagerService, String) |
PERFORMANCE |
BX_UNBOXING_IMMEDIATELY_REBOXED |
280 |
Medium |
| Boxed value is unboxed and then immediately reboxed in org.opendaylight.netvirt.elan.utils.ElanUtils.updateOperationalDataStore(DataBroker, IdManagerService, ElanInstance, List, WriteTransaction) |
PERFORMANCE |
BX_UNBOXING_IMMEDIATELY_REBOXED |
1313 |
Medium |
| Dead store to result in org.opendaylight.netvirt.elan.utils.ElanUtils.releaseId(IdManagerService, String, String) |
STYLE |
DLS_DEAD_LOCAL_STORE |
292 |
Medium |
| Dead store to result in org.opendaylight.netvirt.elan.utils.ElanUtils.read(DataBroker, LogicalDatastoreType, InstanceIdentifier) |
STYLE |
DLS_DEAD_LOCAL_STORE |
307 |
Low |
| Load of known null value in org.opendaylight.netvirt.elan.utils.ElanUtils.getDpidFromInterface(String) |
STYLE |
NP_LOAD_OF_KNOWN_NULL_VALUE |
1991 |
Low |
| Possible null pointer dereference of elanInstance in org.opendaylight.netvirt.elan.utils.ElanUtils.getVxlanSegmentationId(ElanInstance) |
CORRECTNESS |
NP_NULL_ON_SOME_PATH |
2102 |
Medium |
| Private method org.opendaylight.netvirt.elan.utils.ElanUtils.getDmacDropFlowId(Long, String) is never called |
PERFORMANCE |
UPM_UNCALLED_PRIVATE_METHOD |
1830 |
Low |
org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.config.rev150710.ElanConfigBuilder$ElanConfigImpl
| Bug |
Category |
Details |
Line |
Priority |
| Unchecked/unconfirmed cast from org.opendaylight.yangtools.yang.binding.DataObject to org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.config.rev150710.ElanConfigBuilder$ElanConfigImpl in org.opendaylight.yang.gen.v1.urn.opendaylight.netvirt.elan.config.rev150710.ElanConfigBuilder$ElanConfigImpl.equals(Object) |
STYLE |
BC_UNCONFIRMED_CAST |
283 |
Low |