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 |
206 |
59 |
0 |
0 |
org.opendaylight.netvirt.openstack.netvirt.ConfigActivator$1
Bug |
Category |
Details |
Line |
Priority |
The class org.opendaylight.netvirt.openstack.netvirt.ConfigActivator$1 could be refactored into a named _static_ inner class |
PERFORMANCE |
SIC_INNER_SHOULD_BE_STATIC_ANON |
295 |
Low |
org.opendaylight.netvirt.openstack.netvirt.NetvirtProvider
Bug |
Category |
Details |
Line |
Priority |
Write to static field org.opendaylight.netvirt.openstack.netvirt.NetvirtProvider.dataBroker from instance method org.opendaylight.netvirt.openstack.netvirt.NetvirtProvider.onSessionInitiated(BindingAwareBroker$ProviderContext) |
STYLE |
ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD |
67 |
High |
Write to static field org.opendaylight.netvirt.openstack.netvirt.NetvirtProvider.entityOwnershipService from instance method new org.opendaylight.netvirt.openstack.netvirt.NetvirtProvider(BundleContext, EntityOwnershipService) |
STYLE |
ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD |
40 |
Medium |
org.opendaylight.netvirt.openstack.netvirt.SouthboundEvent
Bug |
Category |
Details |
Line |
Priority |
Unwritten field: org.opendaylight.netvirt.openstack.netvirt.SouthboundEvent.context |
CORRECTNESS |
UWF_UNWRITTEN_FIELD |
74 |
Medium |
Unwritten field: org.opendaylight.netvirt.openstack.netvirt.SouthboundEvent.tableName |
CORRECTNESS |
UWF_UNWRITTEN_FIELD |
68 |
Medium |
Unwritten field: org.opendaylight.netvirt.openstack.netvirt.SouthboundEvent.uuid |
CORRECTNESS |
UWF_UNWRITTEN_FIELD |
71 |
Medium |
org.opendaylight.netvirt.openstack.netvirt.api.Constants
Bug |
Category |
Details |
Line |
Priority |
org.opendaylight.netvirt.openstack.netvirt.api.Constants.OPENFLOW_CONNECTION_PROTOCOL isn't final but should be |
MALICIOUS_CODE |
MS_SHOULD_BE_FINAL |
107 |
High |
org.opendaylight.netvirt.openstack.netvirt.api.Constants.OPENFLOW_PORT isn't final but should be |
MALICIOUS_CODE |
MS_SHOULD_BE_FINAL |
106 |
High |
Unread field: org.opendaylight.netvirt.openstack.netvirt.api.Constants.groupId |
PERFORMANCE |
URF_UNREAD_FIELD |
103 |
Low |
org.opendaylight.netvirt.openstack.netvirt.api.LoadBalancerConfiguration
Bug |
Category |
Details |
Line |
Priority |
Confusing to have methods org.opendaylight.netvirt.openstack.netvirt.api.LoadBalancerConfiguration.getProviderSegmentationId() and org.opendaylight.netvirt.openstack.netvirt.translator.NeutronNetwork.getProviderSegmentationID() |
BAD_PRACTICE |
NM_CONFUSING |
228 |
Low |
Confusing to have methods org.opendaylight.netvirt.openstack.netvirt.api.LoadBalancerConfiguration.setProviderSegmentationId(String) and org.opendaylight.netvirt.openstack.netvirt.translator.NeutronNetwork.setProviderSegmentationID(String) |
BAD_PRACTICE |
NM_CONFUSING |
224 |
Low |
org.opendaylight.netvirt.openstack.netvirt.api.LoadBalancerConfiguration$LoadBalancerPoolMember
Bug |
Category |
Details |
Line |
Priority |
Should org.opendaylight.netvirt.openstack.netvirt.api.LoadBalancerConfiguration$LoadBalancerPoolMember be a _static_ inner class? |
PERFORMANCE |
SIC_INNER_SHOULD_BE_STATIC |
31 |
Medium |
org.opendaylight.netvirt.openstack.netvirt.impl.BridgeConfigurationManagerImpl
Bug |
Category |
Details |
Line |
Priority |
org.opendaylight.netvirt.openstack.netvirt.impl.BridgeConfigurationManagerImpl.getControllersFromOvsdbNode(Node) concatenates strings using + in a loop |
PERFORMANCE |
SBSC_USE_STRINGBUFFER_CONCATENATION |
627 |
Medium |
org.opendaylight.netvirt.openstack.netvirt.impl.EventDispatcherImpl
Bug |
Category |
Details |
Line |
Priority |
Exceptional return value of java.util.concurrent.ExecutorService.submit(Runnable) ignored in org.opendaylight.netvirt.openstack.netvirt.impl.EventDispatcherImpl.start() |
BAD_PRACTICE |
RV_RETURN_VALUE_IGNORED_BAD_PRACTICE |
45 |
Low |
org.opendaylight.netvirt.openstack.netvirt.impl.NeutronL3Adapter
Bug |
Category |
Details |
Line |
Priority |
Redundant nullcheck of neutronTenantPortUuid, which is known to be non-null in org.opendaylight.netvirt.openstack.netvirt.impl.NeutronL3Adapter.getFloatingIPWithMetadata(String) |
STYLE |
RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE |
355 |
Medium |
Suspicious comparison of Boolean references in org.opendaylight.netvirt.openstack.netvirt.impl.NeutronL3Adapter.isPortSecurityEnableUpdated(NeutronPort) |
BAD_PRACTICE |
RC_REF_COMPARISON_BAD_PRACTICE_BOOLEAN |
937 |
Medium |
Private method org.opendaylight.netvirt.openstack.netvirt.impl.NeutronL3Adapter.getDpidForExternalBridge(Node) is never called |
PERFORMANCE |
UPM_UNCALLED_PRIVATE_METHOD |
1445 |
Low |
Private method org.opendaylight.netvirt.openstack.netvirt.impl.NeutronL3Adapter.getExternalBridgeNode() is never called |
PERFORMANCE |
UPM_UNCALLED_PRIVATE_METHOD |
1456 |
Low |
org.opendaylight.netvirt.openstack.netvirt.impl.NeutronL3Adapter.getNetworkFromCleanupCache(String) makes inefficient use of keySet iterator instead of entrySet iterator |
PERFORMANCE |
WMI_WRONG_MAP_ITERATOR |
1635 |
Medium |
org.opendaylight.netvirt.openstack.netvirt.impl.NeutronL3Adapter.getPortFromCleanupCache(String) makes inefficient use of keySet iterator instead of entrySet iterator |
PERFORMANCE |
WMI_WRONG_MAP_ITERATOR |
1586 |
Medium |
org.opendaylight.netvirt.openstack.netvirt.impl.NeutronL3Adapter.removeNetworkFromCleanupCache(String) makes inefficient use of keySet iterator instead of entrySet iterator |
PERFORMANCE |
WMI_WRONG_MAP_ITERATOR |
1612 |
Medium |
org.opendaylight.netvirt.openstack.netvirt.impl.NeutronL3Adapter.removeNetworkFromCleanupCache(String) makes inefficient use of keySet iterator instead of entrySet iterator |
PERFORMANCE |
WMI_WRONG_MAP_ITERATOR |
1618 |
Medium |
org.opendaylight.netvirt.openstack.netvirt.impl.NeutronL3Adapter$FloatIpData
Bug |
Category |
Details |
Line |
Priority |
Should org.opendaylight.netvirt.openstack.netvirt.impl.NeutronL3Adapter$FloatIpData be a _static_ inner class? |
PERFORMANCE |
SIC_INNER_SHOULD_BE_STATIC |
104 |
Medium |
org.opendaylight.netvirt.openstack.netvirt.impl.OvsdbDataChangeListener
Bug |
Category |
Details |
Line |
Priority |
Load of known null value in org.opendaylight.netvirt.openstack.netvirt.impl.OvsdbDataChangeListener.processOvsdbDisconnect(AsyncDataChangeEvent) |
STYLE |
NP_LOAD_OF_KNOWN_NULL_VALUE |
115 |
Medium |
Exceptional return value of java.util.concurrent.ExecutorService.submit(Runnable) ignored in org.opendaylight.netvirt.openstack.netvirt.impl.OvsdbDataChangeListener.onDataChanged(AsyncDataChangeEvent) |
BAD_PRACTICE |
RV_RETURN_VALUE_IGNORED_BAD_PRACTICE |
77 |
Low |
org.opendaylight.netvirt.openstack.netvirt.impl.OvsdbInventoryServiceImpl
Bug |
Category |
Details |
Line |
Priority |
Write to static field org.opendaylight.netvirt.openstack.netvirt.impl.OvsdbInventoryServiceImpl.dataBroker from instance method new org.opendaylight.netvirt.openstack.netvirt.impl.OvsdbInventoryServiceImpl(BindingAwareBroker$ProviderContext) |
STYLE |
ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD |
55 |
High |
Write to static field org.opendaylight.netvirt.openstack.netvirt.impl.OvsdbInventoryServiceImpl.mdsalUtils from instance method new org.opendaylight.netvirt.openstack.netvirt.impl.OvsdbInventoryServiceImpl(BindingAwareBroker$ProviderContext) |
STYLE |
ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD |
58 |
Medium |
org.opendaylight.netvirt.openstack.netvirt.impl.ProviderNetworkManagerImpl$1
org.opendaylight.netvirt.openstack.netvirt.impl.ProviderNetworkManagerImpl$ProviderEntry
Bug |
Category |
Details |
Line |
Priority |
Should org.opendaylight.netvirt.openstack.netvirt.impl.ProviderNetworkManagerImpl$ProviderEntry be a _static_ inner class? |
PERFORMANCE |
SIC_INNER_SHOULD_BE_STATIC |
98 |
Medium |
org.opendaylight.netvirt.openstack.netvirt.impl.SouthboundImpl
Bug |
Category |
Details |
Line |
Priority |
Confusing to have methods org.opendaylight.netvirt.openstack.netvirt.impl.SouthboundImpl.getDatabroker() and org.opendaylight.netvirt.openstack.netvirt.translator.crud.impl.AbstractNeutronInterface.getDataBroker() |
BAD_PRACTICE |
NM_CONFUSING |
82 |
Low |
org.opendaylight.netvirt.openstack.netvirt.impl.VlanConfigurationCacheImpl
Bug |
Category |
Details |
Line |
Priority |
Boxed value is unboxed and then immediately reboxed in org.opendaylight.netvirt.openstack.netvirt.impl.VlanConfigurationCacheImpl.getInternalVlan(Node, String) |
PERFORMANCE |
BX_UNBOXING_IMMEDIATELY_REBOXED |
111 |
Medium |
org.opendaylight.netvirt.openstack.netvirt.translator.NeutronFirewall
Bug |
Category |
Details |
Line |
Priority |
Switch statement found in org.opendaylight.netvirt.openstack.netvirt.translator.NeutronFirewall.extractFields(List) where default case is missing |
STYLE |
SF_SWITCH_NO_DEFAULT |
143 |
Medium |
org.opendaylight.netvirt.openstack.netvirt.translator.NeutronFirewallPolicy
Bug |
Category |
Details |
Line |
Priority |
Switch statement found in org.opendaylight.netvirt.openstack.netvirt.translator.NeutronFirewallPolicy.extractFields(List) where default case is missing |
STYLE |
SF_SWITCH_NO_DEFAULT |
132 |
Medium |
org.opendaylight.netvirt.openstack.netvirt.translator.NeutronFirewallRule
Bug |
Category |
Details |
Line |
Priority |
Switch statement found in org.opendaylight.netvirt.openstack.netvirt.translator.NeutronFirewallRule.extractFields(List) where default case is missing |
STYLE |
SF_SWITCH_NO_DEFAULT |
240 |
Medium |
org.opendaylight.netvirt.openstack.netvirt.translator.NeutronFloatingIP
Bug |
Category |
Details |
Line |
Priority |
Switch statement found in org.opendaylight.netvirt.openstack.netvirt.translator.NeutronFloatingIP.extractFields(List) where default case is missing |
STYLE |
SF_SWITCH_NO_DEFAULT |
142 |
Medium |
org.opendaylight.netvirt.openstack.netvirt.translator.NeutronLoadBalancer
Bug |
Category |
Details |
Line |
Priority |
Switch statement found in org.opendaylight.netvirt.openstack.netvirt.translator.NeutronLoadBalancer.extractFields(List) where default case is missing |
STYLE |
SF_SWITCH_NO_DEFAULT |
141 |
Medium |
org.opendaylight.netvirt.openstack.netvirt.translator.NeutronLoadBalancerHealthMonitor
Bug |
Category |
Details |
Line |
Priority |
Switch statement found in org.opendaylight.netvirt.openstack.netvirt.translator.NeutronLoadBalancerHealthMonitor.extractFields(List) where default case is missing |
STYLE |
SF_SWITCH_NO_DEFAULT |
180 |
Medium |
org.opendaylight.netvirt.openstack.netvirt.translator.NeutronLoadBalancerListener
Bug |
Category |
Details |
Line |
Priority |
Switch statement found in org.opendaylight.netvirt.openstack.netvirt.translator.NeutronLoadBalancerListener.extractFields(List) where default case is missing |
STYLE |
SF_SWITCH_NO_DEFAULT |
169 |
Medium |
org.opendaylight.netvirt.openstack.netvirt.translator.NeutronLoadBalancerPool
Bug |
Category |
Details |
Line |
Priority |
Switch statement found in org.opendaylight.netvirt.openstack.netvirt.translator.NeutronLoadBalancerPool.extractFields(List) where default case is missing |
STYLE |
SF_SWITCH_NO_DEFAULT |
197 |
Medium |
NeutronLoadBalancerPool.loadBalancerPoolMembers not initialized in constructor and dereferenced in org.opendaylight.netvirt.openstack.netvirt.translator.NeutronLoadBalancerPool.addLoadBalancerPoolMember(NeutronLoadBalancerPoolMember) |
STYLE |
UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR |
187 |
Low |
NeutronLoadBalancerPool.loadBalancerPoolMembers not initialized in constructor and dereferenced in org.opendaylight.netvirt.openstack.netvirt.translator.NeutronLoadBalancerPool.removeLoadBalancerPoolMember(NeutronLoadBalancerPoolMember) |
STYLE |
UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR |
191 |
Low |
org.opendaylight.netvirt.openstack.netvirt.translator.NeutronLoadBalancerPoolMember
Bug |
Category |
Details |
Line |
Priority |
Switch statement found in org.opendaylight.netvirt.openstack.netvirt.translator.NeutronLoadBalancerPoolMember.extractFields(List) where default case is missing |
STYLE |
SF_SWITCH_NO_DEFAULT |
134 |
Medium |
org.opendaylight.netvirt.openstack.netvirt.translator.NeutronNetwork
Bug |
Category |
Details |
Line |
Priority |
Switch statement found in org.opendaylight.netvirt.openstack.netvirt.translator.NeutronNetwork.extractFields(List) where default case is missing |
STYLE |
SF_SWITCH_NO_DEFAULT |
219 |
Medium |
NeutronNetwork.adminStateUp not initialized in constructor and dereferenced in org.opendaylight.netvirt.openstack.netvirt.translator.NeutronNetwork.extractFields(List) |
STYLE |
UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR |
227 |
Low |
NeutronNetwork.adminStateUp not initialized in constructor and dereferenced in org.opendaylight.netvirt.openstack.netvirt.translator.NeutronNetwork.isAdminStateUp() |
STYLE |
UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR |
117 |
Low |
NeutronNetwork.routerExternal not initialized in constructor and dereferenced in org.opendaylight.netvirt.openstack.netvirt.translator.NeutronNetwork.isRouterExternal() |
STYLE |
UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR |
142 |
Low |
NeutronNetwork.shared not initialized in constructor and dereferenced in org.opendaylight.netvirt.openstack.netvirt.translator.NeutronNetwork.extractFields(List) |
STYLE |
UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR |
233 |
Low |
NeutronNetwork.shared not initialized in constructor and dereferenced in org.opendaylight.netvirt.openstack.netvirt.translator.NeutronNetwork.isShared() |
STYLE |
UWF_FIELD_NOT_INITIALIZED_IN_CONSTRUCTOR |
126 |
Low |
org.opendaylight.netvirt.openstack.netvirt.translator.NeutronRouter
Bug |
Category |
Details |
Line |
Priority |
Class org.opendaylight.netvirt.openstack.netvirt.translator.NeutronRouter defines non-transient non-serializable instance field routes |
BAD_PRACTICE |
SE_BAD_FIELD |
|
Medium |
Switch statement found in org.opendaylight.netvirt.openstack.netvirt.translator.NeutronRouter.extractFields(List) where default case is missing |
STYLE |
SF_SWITCH_NO_DEFAULT |
160 |
Medium |
org.opendaylight.netvirt.openstack.netvirt.translator.NeutronSecurityGroup
Bug |
Category |
Details |
Line |
Priority |
Switch statement found in org.opendaylight.netvirt.openstack.netvirt.translator.NeutronSecurityGroup.extractFields(List) where default case is missing |
STYLE |
SF_SWITCH_NO_DEFAULT |
112 |
Medium |
org.opendaylight.netvirt.openstack.netvirt.translator.NeutronSecurityRule
Bug |
Category |
Details |
Line |
Priority |
Switch statement found in org.opendaylight.netvirt.openstack.netvirt.translator.NeutronSecurityRule.extractFields(List) where default case is missing |
STYLE |
SF_SWITCH_NO_DEFAULT |
178 |
Medium |
org.opendaylight.netvirt.openstack.netvirt.translator.NeutronSubnet
Bug |
Category |
Details |
Line |
Priority |
Switch statement found in org.opendaylight.netvirt.openstack.netvirt.translator.NeutronSubnet.extractFields(List) where default case is missing |
STYLE |
SF_SWITCH_NO_DEFAULT |
221 |
Medium |
org.opendaylight.netvirt.openstack.netvirt.translator.crud.impl.AbstractNeutronInterface
Bug |
Category |
Details |
Line |
Priority |
Exception is caught when Exception is not thrown in org.opendaylight.netvirt.openstack.netvirt.translator.crud.impl.AbstractNeutronInterface.overwrite(Object, Object) |
STYLE |
REC_CATCH_EXCEPTION |
151 |
Low |
org.opendaylight.netvirt.openstack.netvirt.translator.crud.impl.NeutronRouterInterface
Bug |
Category |
Details |
Line |
Priority |
Unchecked/unconfirmed cast from org.opendaylight.netvirt.openstack.netvirt.translator.NeutronRouter_Interface to org.opendaylight.yang.gen.v1.urn.opendaylight.neutron.l3.rev150712.routers.attributes.routers.router.Interfaces of return value in org.opendaylight.netvirt.openstack.netvirt.translator.crud.impl.NeutronRouterInterface.toMd(NeutronRouter) |
STYLE |
BC_UNCONFIRMED_CAST_OF_RETURN_VALUE |
174 |
Low |
org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.impl.rev150513.modules.module.configuration.NetvirtImplBuilder$NetvirtImplImpl
Bug |
Category |
Details |
Line |
Priority |
Unchecked/unconfirmed cast from org.opendaylight.yangtools.yang.binding.DataObject to org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.impl.rev150513.modules.module.configuration.NetvirtImplBuilder$NetvirtImplImpl in org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.impl.rev150513.modules.module.configuration.NetvirtImplBuilder$NetvirtImplImpl.equals(Object) |
STYLE |
BC_UNCONFIRMED_CAST |
232 |
Low |
org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.impl.rev150513.modules.module.configuration.netvirt.impl.BrokerBuilder$BrokerImpl
Bug |
Category |
Details |
Line |
Priority |
Unchecked/unconfirmed cast from org.opendaylight.yangtools.yang.binding.DataObject to org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.impl.rev150513.modules.module.configuration.netvirt.impl.BrokerBuilder$BrokerImpl in org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.impl.rev150513.modules.module.configuration.netvirt.impl.BrokerBuilder$BrokerImpl.equals(Object) |
STYLE |
BC_UNCONFIRMED_CAST |
211 |
Low |
org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.impl.rev150513.modules.module.configuration.netvirt.impl.ClusteringEntityOwnershipServiceBuilder$ClusteringEntityOwnershipServiceImpl
Bug |
Category |
Details |
Line |
Priority |
Unchecked/unconfirmed cast from org.opendaylight.yangtools.yang.binding.DataObject to org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.impl.rev150513.modules.module.configuration.netvirt.impl.ClusteringEntityOwnershipServiceBuilder$ClusteringEntityOwnershipServiceImpl in org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.netvirt.impl.rev150513.modules.module.configuration.netvirt.impl.ClusteringEntityOwnershipServiceBuilder$ClusteringEntityOwnershipServiceImpl.equals(Object) |
STYLE |
BC_UNCONFIRMED_CAST |
211 |
Low |