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
60 68 0 0

Files

Class Bugs
org.opendaylight.netvirt.natservice.internal.ExternalNetworkGroupInstaller 1
org.opendaylight.netvirt.natservice.internal.ExternalNetworkListener 1
org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener 13
org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener$2 2
org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener$4 2
org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener$6 2
org.opendaylight.netvirt.natservice.internal.FloatingIPListener 1
org.opendaylight.netvirt.natservice.internal.InterfaceStateEventListener 1
org.opendaylight.netvirt.natservice.internal.InterfaceStateEventListener$NatFlowUpdateWorker 2
org.opendaylight.netvirt.natservice.internal.NaptEventHandler 7
org.opendaylight.netvirt.natservice.internal.NaptManager 3
org.opendaylight.netvirt.natservice.internal.NaptPacketInHandler 1
org.opendaylight.netvirt.natservice.internal.NaptSwitchHA 5
org.opendaylight.netvirt.natservice.internal.NatConstants 2
org.opendaylight.netvirt.natservice.internal.NatInterfaceStateChangeListener 1
org.opendaylight.netvirt.natservice.internal.NatNodeEventListener 1
org.opendaylight.netvirt.natservice.internal.NatTunnelInterfaceStateListener 2
org.opendaylight.netvirt.natservice.internal.NatTunnelInterfaceStateListener$1 2
org.opendaylight.netvirt.natservice.internal.NatTunnelInterfaceStateListener$2 2
org.opendaylight.netvirt.natservice.internal.NatTunnelInterfaceStateListener$3 2
org.opendaylight.netvirt.natservice.internal.NatUtil 4
org.opendaylight.netvirt.natservice.internal.RouterDpnChangeListener 3
org.opendaylight.netvirt.natservice.internal.RouterPortsListener 1
org.opendaylight.netvirt.natservice.internal.RouterToVpnListener 1
org.opendaylight.netvirt.natservice.internal.SNATDefaultRouteProgrammer 2
org.opendaylight.netvirt.natservice.internal.VpnFloatingIpHandler$2 2
org.opendaylight.netvirt.natservice.internal.VpnFloatingIpHandler$4 2

org.opendaylight.netvirt.natservice.internal.ExternalNetworkGroupInstaller

Bug Category Details Line Priority
Redundant nullcheck of egressActionList, which is known to be non-null in org.opendaylight.netvirt.natservice.internal.ExternalNetworkGroupInstaller.buildExtNetGroupEntity(String, String, long, String) STYLE RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE 194 Low

org.opendaylight.netvirt.natservice.internal.ExternalNetworkListener

Bug Category Details Line Priority
Class org.opendaylight.netvirt.natservice.internal.ExternalNetworkListener implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 40 Low

org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener

Bug Category Details Line Priority
Dead store to groupId in org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.changeBgpVpnIdToLocalVpnId(String, String) STYLE DLS_DEAD_LOCAL_STORE 2142 Medium
Dead store to groupId in org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.changeLocalVpnIdToBgpVpnId(String, String) STYLE DLS_DEAD_LOCAL_STORE 2116 Medium
Dead store to result in org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.read(DataBroker, LogicalDatastoreType, InstanceIdentifier) STYLE DLS_DEAD_LOCAL_STORE 568 Low
Boxing/unboxing to parse a primitive org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.removeNaptFlowsFromActiveSwitch(long, String, BigInteger, Uuid, String, List) PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 1699 High
Boxing/unboxing to parse a primitive org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.removeNaptFlowsFromActiveSwitchInternetVpn(long, String, BigInteger, Uuid, String) PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 1795 High
Boxing/unboxing to parse a primitive org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.update(InstanceIdentifier, Routers, Routers) PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 1326 High
Boxing/unboxing to parse a primitive org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.updateNaptFlowsWithVpnId(BigInteger, long, long) PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 2262 High
org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.getGroupIdKey(String) invokes inefficient new String(String) constructor PERFORMANCE DM_STRING_CTOR 811 Medium
Redundant nullcheck of listActionInfoPrimary, which is known to be non-null in org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.getBucketInfoForNonNaptSwitches(BigInteger, BigInteger, String) STYLE RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE 881 Low
Redundant nullcheck of listActionInfoPrimary, which is known to be non-null in org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.handleSwitches(BigInteger, String, BigInteger) STYLE RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE 857 Low
Useless condition: it's known that tempLabel != -1 at this point STYLE UC_USELESS_CONDITION 1969 Medium
Useless condition: it's known that tempLabel != -1 at this point STYLE UC_USELESS_CONDITION 1900 Medium
Useless object stored in variable removedExternalIpsAsList of method org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener.update(InstanceIdentifier, Routers, Routers) STYLE UC_USELESS_OBJECT 1193 Medium

org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener$2

Bug Category Details Line Priority
result must be non-null but is marked as nullable STYLE NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE 1057 Low
The class org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener$2 could be refactored into a named _static_ inner class PERFORMANCE SIC_INNER_SHOULD_BE_STATIC_ANON 1048 Low

org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener$4

Bug Category Details Line Priority
result must be non-null but is marked as nullable STYLE NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE 1940 Low
The class org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener$4 could be refactored into a named _static_ inner class PERFORMANCE SIC_INNER_SHOULD_BE_STATIC_ANON 1931 Low

org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener$6

Bug Category Details Line Priority
result must be non-null but is marked as nullable STYLE NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE 2009 Low
The class org.opendaylight.netvirt.natservice.internal.ExternalRoutersListener$6 could be refactored into a named _static_ inner class PERFORMANCE SIC_INNER_SHOULD_BE_STATIC_ANON 2000 Low

org.opendaylight.netvirt.natservice.internal.FloatingIPListener

Bug Category Details Line Priority
Class org.opendaylight.netvirt.natservice.internal.FloatingIPListener implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 54 Low

org.opendaylight.netvirt.natservice.internal.InterfaceStateEventListener

Bug Category Details Line Priority
Class org.opendaylight.netvirt.natservice.internal.InterfaceStateEventListener implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 49 Low

org.opendaylight.netvirt.natservice.internal.InterfaceStateEventListener$NatFlowUpdateWorker

Bug Category Details Line Priority
Load of known null value in org.opendaylight.netvirt.natservice.internal.InterfaceStateEventListener$NatFlowUpdateWorker.call() STYLE NP_LOAD_OF_KNOWN_NULL_VALUE 461 Medium
Unread field: org.opendaylight.netvirt.natservice.internal.InterfaceStateEventListener$NatFlowUpdateWorker.original PERFORMANCE URF_UNREAD_FIELD 443 Medium

org.opendaylight.netvirt.natservice.internal.NaptEventHandler

Bug Category Details Line Priority
org.opendaylight.netvirt.natservice.internal.NaptEventHandler.getInterfaceNameFromTag(long) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead PERFORMANCE DM_NUMBER_CTOR 437 Medium
Load of known null value in org.opendaylight.netvirt.natservice.internal.NaptEventHandler.handleEvent(NAPTEntryEvent) STYLE NP_LOAD_OF_KNOWN_NULL_VALUE 152 Medium
Load of known null value in org.opendaylight.netvirt.natservice.internal.NaptEventHandler.buildAndGetMatchInfo(String, int, short, NAPTEntryEvent$Protocol, long, long) STYLE NP_LOAD_OF_KNOWN_NULL_VALUE 295 Low
Should org.opendaylight.netvirt.natservice.internal.NaptEventHandler.buildNaptPacketOut(Ethernet) return a zero length array rather than null? STYLE PZLA_PREFER_ZERO_LENGTH_ARRAYS 410 Low
Redundant nullcheck of externalAddress which is known to be null in org.opendaylight.netvirt.natservice.internal.NaptEventHandler.handleEvent(NAPTEntryEvent) STYLE RCN_REDUNDANT_NULLCHECK_OF_NULL_VALUE 152 Low
Repeated conditional test in org.opendaylight.netvirt.natservice.internal.NaptEventHandler.handleEvent(NAPTEntryEvent) CORRECTNESS RpC_REPEATED_CONDITIONAL_TEST 151 Medium
Write to static field org.opendaylight.netvirt.natservice.internal.NaptEventHandler.mdsalManager from instance method new org.opendaylight.netvirt.natservice.internal.NaptEventHandler(DataBroker, IMdsalApiManager, NaptManager, PacketProcessingService, OdlInterfaceRpcService, IInterfaceManager) STYLE ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD 67 High

org.opendaylight.netvirt.natservice.internal.NaptManager

Bug Category Details Line Priority
org.opendaylight.netvirt.natservice.internal.NaptManager.checkIpMap(long, String) invokes toString() method on a String PERFORMANCE DM_STRING_TOSTRING 512 Low
Write to static field org.opendaylight.netvirt.natservice.internal.NaptManager.EXTSUBNET_FLAG from instance method org.opendaylight.netvirt.natservice.internal.NaptManager.getExternalAddressMapping(long, SessionAddress, NAPTEntryEvent$Protocol) STYLE ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD 245 Medium
Write to static field org.opendaylight.netvirt.natservice.internal.NaptManager.NEXT_EXTIP_FLAG from instance method org.opendaylight.netvirt.natservice.internal.NaptManager.getExternalAddressMapping(long, SessionAddress, NAPTEntryEvent$Protocol) STYLE ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD 281 Medium

org.opendaylight.netvirt.natservice.internal.NaptPacketInHandler

Bug Category Details Line Priority
Dead store to naptEntryEvent in org.opendaylight.netvirt.natservice.internal.NaptPacketInHandler.onPacketReceived(PacketReceived) STYLE DLS_DEAD_LOCAL_STORE 113 High

org.opendaylight.netvirt.natservice.internal.NaptSwitchHA

Bug Category Details Line Priority
Boxing/unboxing to parse a primitive org.opendaylight.netvirt.natservice.internal.NaptSwitchHA.handleNatFlowsInNewNaptSwitch(Long, BigInteger, BigInteger, Long) PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 513 High
Boxing/unboxing to parse a primitive org.opendaylight.netvirt.natservice.internal.NaptSwitchHA.removeSnatFlowsInOldNaptSwitch(String, BigInteger, HashMap) PERFORMANCE DM_BOXED_PRIMITIVE_FOR_PARSING 274 High
Redundant nullcheck of bucketInfoList, which is known to be non-null in org.opendaylight.netvirt.natservice.internal.NaptSwitchHA.updateNaptSwitchBucketStatus(String, BigInteger) STYLE RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE 450 Medium
Redundant nullcheck of routerNamesAssociated, which is known to be non-null in org.opendaylight.netvirt.natservice.internal.NaptSwitchHA.removeSnatFlowsInOldNaptSwitch(String, BigInteger, HashMap) STYLE RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE 187 Low
org.opendaylight.netvirt.natservice.internal.NaptSwitchHA.removeSnatFlowsInOldNaptSwitch(String, BigInteger, HashMap) makes inefficient use of keySet iterator instead of entrySet iterator PERFORMANCE WMI_WRONG_MAP_ITERATOR 222 Medium

org.opendaylight.netvirt.natservice.internal.NatConstants

Bug Category Details Line Priority
org.opendaylight.netvirt.natservice.internal.NatConstants.COOKIE_NAPT_BASE isn't final but should be MALICIOUS_CODE MS_SHOULD_BE_FINAL 18 High
org.opendaylight.netvirt.natservice.internal.NatConstants.EVENT_QUEUE_LENGTH isn't final but should be MALICIOUS_CODE MS_SHOULD_BE_FINAL 22 High

org.opendaylight.netvirt.natservice.internal.NatInterfaceStateChangeListener

Bug Category Details Line Priority
Class org.opendaylight.netvirt.natservice.internal.NatInterfaceStateChangeListener implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 31 Low

org.opendaylight.netvirt.natservice.internal.NatNodeEventListener

Bug Category Details Line Priority
Class org.opendaylight.netvirt.natservice.internal.NatNodeEventListener implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 26 Low

org.opendaylight.netvirt.natservice.internal.NatTunnelInterfaceStateListener

Bug Category Details Line Priority
Class org.opendaylight.netvirt.natservice.internal.NatTunnelInterfaceStateListener implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 50 Low
Switch statement found in org.opendaylight.netvirt.natservice.internal.NatTunnelInterfaceStateListener.hndlTepEvntsForDpn(StateTunnelList, NatTunnelInterfaceStateListener$TunnelAction) where default case is missing STYLE SF_SWITCH_NO_DEFAULT 268 Medium

org.opendaylight.netvirt.natservice.internal.NatTunnelInterfaceStateListener$1

Bug Category Details Line Priority
result must be non-null but is marked as nullable STYLE NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE 583 Low
The class org.opendaylight.netvirt.natservice.internal.NatTunnelInterfaceStateListener$1 could be refactored into a named _static_ inner class PERFORMANCE SIC_INNER_SHOULD_BE_STATIC_ANON 574 Low

org.opendaylight.netvirt.natservice.internal.NatTunnelInterfaceStateListener$2

Bug Category Details Line Priority
result must be non-null but is marked as nullable STYLE NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE 664 Low
The class org.opendaylight.netvirt.natservice.internal.NatTunnelInterfaceStateListener$2 could be refactored into a named _static_ inner class PERFORMANCE SIC_INNER_SHOULD_BE_STATIC_ANON 655 Low

org.opendaylight.netvirt.natservice.internal.NatTunnelInterfaceStateListener$3

Bug Category Details Line Priority
result must be non-null but is marked as nullable STYLE NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE 831 Low
The class org.opendaylight.netvirt.natservice.internal.NatTunnelInterfaceStateListener$3 could be refactored into a named _static_ inner class PERFORMANCE SIC_INNER_SHOULD_BE_STATIC_ANON 822 Low

org.opendaylight.netvirt.natservice.internal.NatUtil

Bug Category Details Line Priority
Dead store to result in org.opendaylight.netvirt.natservice.internal.NatUtil.read(DataBroker, LogicalDatastoreType, InstanceIdentifier) STYLE DLS_DEAD_LOCAL_STORE 426 Low
org.opendaylight.netvirt.natservice.internal.NatUtil.getGroupIdKey(String) invokes inefficient new String(String) constructor PERFORMANCE DM_STRING_CTOR 729 Medium
Should org.opendaylight.netvirt.natservice.internal.NatUtil.getSubnetIpAndPrefix(DataBroker, Uuid) return a zero length array rather than null? STYLE PZLA_PREFER_ZERO_LENGTH_ARRAYS 855 Low
Redundant nullcheck of split, which is known to be non-null in org.opendaylight.netvirt.natservice.internal.NatUtil.getDpnFromNodeConnectorId(NodeConnectorId) STYLE RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE 563 Low

org.opendaylight.netvirt.natservice.internal.RouterDpnChangeListener

Bug Category Details Line Priority
Load of known null value in org.opendaylight.netvirt.natservice.internal.RouterDpnChangeListener.remove(InstanceIdentifier, DpnVpninterfacesList) STYLE NP_LOAD_OF_KNOWN_NULL_VALUE 155 Medium
Redundant nullcheck of bucketInfo, which is known to be non-null in org.opendaylight.netvirt.natservice.internal.RouterDpnChangeListener.handleSNATForDPN(BigInteger, String, Long) STYLE RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE 241 Medium
Class org.opendaylight.netvirt.natservice.internal.RouterDpnChangeListener implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 35 Low

org.opendaylight.netvirt.natservice.internal.RouterPortsListener

Bug Category Details Line Priority
Class org.opendaylight.netvirt.natservice.internal.RouterPortsListener implements same interface as superclass STYLE RI_REDUNDANT_INTERFACES 30 Low

org.opendaylight.netvirt.natservice.internal.RouterToVpnListener

Bug Category Details Line Priority
Useless object stored in variable portToDpnMap of method org.opendaylight.netvirt.natservice.internal.RouterToVpnListener.handleDNATConfigurationForRouterAssociation(String, String, String) STYLE UC_USELESS_OBJECT 101 Medium

org.opendaylight.netvirt.natservice.internal.SNATDefaultRouteProgrammer

Bug Category Details Line Priority
Dead store to defaultIP in org.opendaylight.netvirt.natservice.internal.SNATDefaultRouteProgrammer.buildDefNATFlowEntity(BigInteger, long) STYLE DLS_DEAD_LOCAL_STORE 42 Medium
Dead store to defaultIP in org.opendaylight.netvirt.natservice.internal.SNATDefaultRouteProgrammer.buildDefNATFlowEntity(BigInteger, long, long) STYLE DLS_DEAD_LOCAL_STORE 80 Medium

org.opendaylight.netvirt.natservice.internal.VpnFloatingIpHandler$2

Bug Category Details Line Priority
result must be non-null but is marked as nullable STYLE NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE 190 Low
The class org.opendaylight.netvirt.natservice.internal.VpnFloatingIpHandler$2 could be refactored into a named _static_ inner class PERFORMANCE SIC_INNER_SHOULD_BE_STATIC_ANON 181 Low

org.opendaylight.netvirt.natservice.internal.VpnFloatingIpHandler$4

Bug Category Details Line Priority
result must be non-null but is marked as nullable STYLE NP_PARAMETER_MUST_BE_NONNULL_BUT_MARKED_AS_NULLABLE 273 Low
The class org.opendaylight.netvirt.natservice.internal.VpnFloatingIpHandler$4 could be refactored into a named _static_ inner class PERFORMANCE SIC_INNER_SHOULD_BE_STATIC_ANON 264 Low