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 |
145 |
59 |
0 |
0 |
org.opendaylight.usc.UscChannelServiceImpl
Bug |
Category |
Details |
Line |
Priority |
Unchecked/unconfirmed cast from org.opendaylight.yangtools.yang.common.RpcResult<T> to java.util.concurrent.Future of return value in org.opendaylight.usc.UscChannelServiceImpl.viewChannel(ViewChannelInput) |
STYLE |
BC_UNCONFIRMED_CAST_OF_RETURN_VALUE |
241 |
Low |
Found reliance on default encoding in org.opendaylight.usc.UscChannelServiceImpl.sendMessage(SendMessageInput): String.getBytes() |
I18N |
DM_DEFAULT_ENCODING |
276 |
High |
org.opendaylight.usc.UscChannelServiceImpl$1
Bug |
Category |
Details |
Line |
Priority |
The class org.opendaylight.usc.UscChannelServiceImpl$1 could be refactored into a named _static_ inner class |
PERFORMANCE |
SIC_INNER_SHOULD_BE_STATIC_ANON |
134 |
Low |
org.opendaylight.usc.agent.UscAgentTcp
Bug |
Category |
Details |
Line |
Priority |
Exception is caught when Exception is not thrown in org.opendaylight.usc.agent.UscAgentTcp.closeClientInternalConnection(Channel) |
STYLE |
REC_CATCH_EXCEPTION |
151 |
Low |
org.opendaylight.usc.agent.UscAgentTcpHandler
Bug |
Category |
Details |
Line |
Priority |
org.opendaylight.usc.agent.UscAgentTcpHandler.channelRead0(ChannelHandlerContext, UscFrame) might ignore java.lang.Exception |
BAD_PRACTICE |
DE_MIGHT_IGNORE |
187 |
Medium |
Exception is caught when Exception is not thrown in org.opendaylight.usc.agent.UscAgentTcpHandler.channelRead0(ChannelHandlerContext, UscFrame) |
STYLE |
REC_CATCH_EXCEPTION |
187 |
Medium |
org.opendaylight.usc.agent.UscAgentUdp
Bug |
Category |
Details |
Line |
Priority |
Dead store to host in org.opendaylight.usc.agent.UscAgentUdp.main(String[]) |
STYLE |
DLS_DEAD_LOCAL_STORE |
227 |
Medium |
Dead store to host in org.opendaylight.usc.agent.UscAgentUdp.main(String[]) |
STYLE |
DLS_DEAD_LOCAL_STORE |
222 |
Low |
Exception is caught when Exception is not thrown in org.opendaylight.usc.agent.UscAgentUdp.closeClientInternalConnection(Channel) |
STYLE |
REC_CATCH_EXCEPTION |
193 |
Low |
org.opendaylight.usc.agent.UscAgentUdpHandler
Bug |
Category |
Details |
Line |
Priority |
org.opendaylight.usc.agent.UscAgentUdpHandler.channelRead0(ChannelHandlerContext, UscFrame) might ignore java.lang.Exception |
BAD_PRACTICE |
DE_MIGHT_IGNORE |
171 |
Medium |
Exception is caught when Exception is not thrown in org.opendaylight.usc.agent.UscAgentUdpHandler.channelRead0(ChannelHandlerContext, UscFrame) |
STYLE |
REC_CATCH_EXCEPTION |
171 |
Medium |
org.opendaylight.usc.crypto.dtls.DtlsClientHandler
Bug |
Category |
Details |
Line |
Priority |
Unchecked/unconfirmed cast from java.net.SocketAddress to java.net.InetSocketAddress in org.opendaylight.usc.crypto.dtls.DtlsClientHandler.connect(ChannelHandlerContext, SocketAddress, SocketAddress, ChannelPromise) |
STYLE |
BC_UNCONFIRMED_CAST |
50 |
Low |
org.opendaylight.usc.crypto.dtls.DtlsHandler
Bug |
Category |
Details |
Line |
Priority |
Exceptional return value of java.util.concurrent.ExecutorService.submit(Runnable) ignored in org.opendaylight.usc.crypto.dtls.DtlsHandler.channelActive(ChannelHandlerContext) |
BAD_PRACTICE |
RV_RETURN_VALUE_IGNORED_BAD_PRACTICE |
54 |
Low |
org.opendaylight.usc.crypto.dtls.DtlsUtils
Bug |
Category |
Details |
Line |
Priority |
Use of non-localized String.toUpperCase() or String.toLowerCase() in org.opendaylight.usc.crypto.dtls.DtlsUtils.fingerprint(Certificate) |
I18N |
DM_CONVERT_CASE |
39 |
Low |
Found reliance on default encoding in org.opendaylight.usc.crypto.dtls.DtlsUtils.loadPemResource(String): new java.io.InputStreamReader(InputStream) |
I18N |
DM_DEFAULT_ENCODING |
115 |
High |
org.opendaylight.usc.crypto.dtls.DtlsUtils.loadPemResource(String) may fail to close stream on exception |
BAD_PRACTICE |
OS_OPEN_STREAM_EXCEPTION_PATH |
115 |
Low |
org.opendaylight.usc.manager.UscConfigurationServiceImpl
Bug |
Category |
Details |
Line |
Priority |
org.opendaylight.usc.manager.UscConfigurationServiceImpl.setBooleanPropertyFromFile(Properties, String) invokes inefficient Boolean constructor; use Boolean.valueOf(...) instead |
PERFORMANCE |
DM_BOOLEAN_CTOR |
102 |
Medium |
Incorrect lazy initialization of static field org.opendaylight.usc.manager.UscConfigurationServiceImpl.manager in org.opendaylight.usc.manager.UscConfigurationServiceImpl.getInstance() |
MT_CORRECTNESS |
LI_LAZY_INIT_STATIC |
48 |
Low |
org.opendaylight.usc.manager.UscConfigurationServiceImpl.loadFromPropertyFile() may fail to clean up java.io.InputStream |
EXPERIMENTAL |
OBL_UNSATISFIED_OBLIGATION |
63 |
Medium |
org.opendaylight.usc.manager.UscConfigurationServiceImpl.loadFromPropertyFile() may fail to close stream |
BAD_PRACTICE |
OS_OPEN_STREAM |
63 |
Medium |
Repeated conditional test in org.opendaylight.usc.manager.UscConfigurationServiceImpl.setIntPropertyFromFile(Properties, String, boolean) |
CORRECTNESS |
RpC_REPEATED_CONDITIONAL_TEST |
111 |
Low |
Useless condition: it's known that bgZero == true at this point |
STYLE |
UC_USELESS_CONDITION |
111 |
Low |
org.opendaylight.usc.manager.UscMonitorService
Bug |
Category |
Details |
Line |
Priority |
org.opendaylight.usc.manager.UscMonitorService.getEventHandlerList() may expose internal representation by returning UscMonitorService.eventHandlerList |
MALICIOUS_CODE |
EI_EXPOSE_REP |
80 |
Medium |
org.opendaylight.usc.manager.UscRouteBrokerService
Bug |
Category |
Details |
Line |
Priority |
Sequence of calls to java.util.concurrent.ConcurrentHashMap may not be atomic in org.opendaylight.usc.manager.UscRouteBrokerService.createNewLocalSessionId(UscRouteIdentifier) |
MT_CORRECTNESS |
AT_OPERATION_SEQUENCE_ON_CONCURRENT_ABSTRACTION |
381 |
Medium |
Found reliance on default encoding in org.opendaylight.usc.manager.UscRouteBrokerService.processResponse(UscRemoteMessage): new String(byte[]) |
I18N |
DM_DEFAULT_ENCODING |
552 |
High |
org.opendaylight.usc.manager.UscRouteBrokerService.init() creates a akka.osgi.BundleDelegatingClassLoader classloader, which should be performed within a doPrivileged block |
MALICIOUS_CODE |
DP_CREATE_CLASSLOADER_INSIDE_DO_PRIVILEGED |
106 |
Medium |
org.opendaylight.usc.manager.UscShardServiceImpl$1
Bug |
Category |
Details |
Line |
Priority |
The class org.opendaylight.usc.manager.UscShardServiceImpl$1 could be refactored into a named _static_ inner class |
PERFORMANCE |
SIC_INNER_SHOULD_BE_STATIC_ANON |
107 |
Low |
org.opendaylight.usc.manager.UscShardServiceImpl$2
Bug |
Category |
Details |
Line |
Priority |
The class org.opendaylight.usc.manager.UscShardServiceImpl$2 could be refactored into a named _static_ inner class |
PERFORMANCE |
SIC_INNER_SHOULD_BE_STATIC_ANON |
145 |
Low |
org.opendaylight.usc.manager.UscShardServiceImpl$3
Bug |
Category |
Details |
Line |
Priority |
The class org.opendaylight.usc.manager.UscShardServiceImpl$3 could be refactored into a named _static_ inner class |
PERFORMANCE |
SIC_INNER_SHOULD_BE_STATIC_ANON |
183 |
Low |
org.opendaylight.usc.manager.UscTopologyService
Bug |
Category |
Details |
Line |
Priority |
Questionable cast from java.util.List to java.util.LinkedList in org.opendaylight.usc.manager.UscTopologyService.addAlarm(List, Object) |
STYLE |
BC_BAD_CAST_TO_CONCRETE_COLLECTION |
719 |
Low |
Inconsistent synchronization of org.opendaylight.usc.manager.UscTopologyService.localController; locked 50% of time |
MT_CORRECTNESS |
IS2_INCONSISTENT_SYNC |
225 |
Low |
Return value of java.util.concurrent.CountDownLatch.await(long, TimeUnit) ignored in org.opendaylight.usc.manager.UscTopologyService.updateShard() |
CORRECTNESS |
RV_RETURN_VALUE_IGNORED |
209 |
Low |
org.opendaylight.usc.manager.UscTopologyService$1
Bug |
Category |
Details |
Line |
Priority |
The class org.opendaylight.usc.manager.UscTopologyService$1 could be refactored into a named _static_ inner class |
PERFORMANCE |
SIC_INNER_SHOULD_BE_STATIC_ANON |
193 |
Low |
org.opendaylight.usc.manager.cluster.UscRemoteChannelIdentifier
Bug |
Category |
Details |
Line |
Priority |
Equals method for org.opendaylight.usc.manager.cluster.UscRemoteChannelIdentifier assumes the argument is of type UscRemoteChannelIdentifier |
BAD_PRACTICE |
BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS |
112 |
Medium |
org.opendaylight.usc.manager.cluster.UscRemoteChannelIdentifier.equals(Object) does not check for null argument |
BAD_PRACTICE |
NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT |
112 |
Medium |
org.opendaylight.usc.manager.cluster.UscRemoteChannelIdentifier is Serializable; consider declaring a serialVersionUID |
BAD_PRACTICE |
SE_NO_SERIALVERSIONID |
34 |
Low |
org.opendaylight.usc.manager.cluster.UscRouteIdentifier
Bug |
Category |
Details |
Line |
Priority |
Equals method for org.opendaylight.usc.manager.cluster.UscRouteIdentifier assumes the argument is of type UscRouteIdentifier |
BAD_PRACTICE |
BC_EQUALS_METHOD_SHOULD_WORK_FOR_ALL_OBJECTS |
76 |
Medium |
org.opendaylight.usc.manager.cluster.UscRouteIdentifier.equals(Object) does not check for null argument |
BAD_PRACTICE |
NP_EQUALS_SHOULD_HANDLE_NULL_ARGUMENT |
76 |
Medium |
Class org.opendaylight.usc.manager.cluster.UscRouteIdentifier implements same interface as superclass |
STYLE |
RI_REDUNDANT_INTERFACES |
36 |
Low |
org.opendaylight.usc.manager.cluster.UscRouteIdentifier is Serializable; consider declaring a serialVersionUID |
BAD_PRACTICE |
SE_NO_SERIALVERSIONID |
36 |
Low |
org.opendaylight.usc.manager.cluster.UscRoutedLocalSessionManager
Bug |
Category |
Details |
Line |
Priority |
Sequence of calls to java.util.concurrent.ConcurrentHashMap may not be atomic in org.opendaylight.usc.manager.cluster.UscRoutedLocalSessionManager.addEntry(UscRouteIdentifier, LocalChannel) |
MT_CORRECTNESS |
AT_OPERATION_SEQUENCE_ON_CONCURRENT_ABSTRACTION |
41 |
Medium |
org.opendaylight.usc.manager.cluster.UscRoutedRemoteSessionManager
Bug |
Category |
Details |
Line |
Priority |
Sequence of calls to java.util.concurrent.ConcurrentHashMap may not be atomic in org.opendaylight.usc.manager.cluster.UscRoutedRemoteSessionManager.addEntry(UscRouteIdentifierData) |
MT_CORRECTNESS |
AT_OPERATION_SEQUENCE_ON_CONCURRENT_ABSTRACTION |
48 |
Medium |
org.opendaylight.usc.manager.cluster.message.UscRemoteChannelEventMessage
Bug |
Category |
Details |
Line |
Priority |
org.opendaylight.usc.manager.cluster.message.UscRemoteChannelEventMessage is Serializable; consider declaring a serialVersionUID |
BAD_PRACTICE |
SE_NO_SERIALVERSIONID |
15 |
Low |
org.opendaylight.usc.manager.cluster.message.UscRemoteDataMessage
Bug |
Category |
Details |
Line |
Priority |
Found reliance on default encoding in org.opendaylight.usc.manager.cluster.message.UscRemoteDataMessage.toString(): new String(byte[]) |
I18N |
DM_DEFAULT_ENCODING |
52 |
High |
org.opendaylight.usc.manager.cluster.message.UscRemoteDataMessage.getPayload() may expose internal representation by returning UscRemoteDataMessage.payload |
MALICIOUS_CODE |
EI_EXPOSE_REP |
27 |
Medium |
new org.opendaylight.usc.manager.cluster.message.UscRemoteDataMessage(UscRouteIdentifier, byte[], boolean) may expose internal representation by storing an externally mutable object into UscRemoteDataMessage.payload |
MALICIOUS_CODE |
EI_EXPOSE_REP2 |
22 |
Medium |
org.opendaylight.usc.manager.cluster.message.UscRemoteDataMessage is Serializable; consider declaring a serialVersionUID |
BAD_PRACTICE |
SE_NO_SERIALVERSIONID |
21 |
Low |
org.opendaylight.usc.manager.cluster.message.UscRemoteExceptionMessage
Bug |
Category |
Details |
Line |
Priority |
org.opendaylight.usc.manager.cluster.message.UscRemoteExceptionMessage is Serializable; consider declaring a serialVersionUID |
BAD_PRACTICE |
SE_NO_SERIALVERSIONID |
19 |
Low |
org.opendaylight.usc.manager.cluster.message.UscRemoteMessage
Bug |
Category |
Details |
Line |
Priority |
org.opendaylight.usc.manager.cluster.message.UscRemoteMessage is Serializable; consider declaring a serialVersionUID |
BAD_PRACTICE |
SE_NO_SERIALVERSIONID |
19 |
Low |
org.opendaylight.usc.plugin.UscPlugin
Bug |
Category |
Details |
Line |
Priority |
Possible null pointer dereference of connection in org.opendaylight.usc.plugin.UscPlugin.connect(Bootstrap, InetSocketAddress, boolean) on exception path |
CORRECTNESS |
NP_NULL_ON_SOME_PATH_EXCEPTION |
270 |
Medium |
Redundant nullcheck of e, which is known to be non-null in org.opendaylight.usc.plugin.UscPlugin.connect(Bootstrap, InetSocketAddress, boolean) |
STYLE |
RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE |
287 |
Medium |
Exception is caught when Exception is not thrown in org.opendaylight.usc.plugin.UscPlugin.closeAgentInternalConnection(Channel) |
STYLE |
REC_CATCH_EXCEPTION |
446 |
Low |
org.opendaylight.usc.plugin.UscRemoteDeviceHandler
Bug |
Category |
Details |
Line |
Priority |
Found reliance on default encoding in org.opendaylight.usc.plugin.UscRemoteDeviceHandler.channelReadComplete(ChannelHandlerContext): new String(byte[]) |
I18N |
DM_DEFAULT_ENCODING |
110 |
High |
org.opendaylight.usc.plugin.UscRemoteServerHandler
Bug |
Category |
Details |
Line |
Priority |
Found reliance on default encoding in org.opendaylight.usc.plugin.UscRemoteServerHandler.channelRead0(ChannelHandlerContext, Object): new String(byte[]) |
I18N |
DM_DEFAULT_ENCODING |
88 |
High |
org.opendaylight.usc.plugin.model.UscChannel$ChannelType
Bug |
Category |
Details |
Line |
Priority |
Class org.opendaylight.usc.plugin.model.UscChannel$ChannelType implements same interface as superclass |
STYLE |
RI_REDUNDANT_INTERFACES |
20 |
Low |
org.opendaylight.usc.util.UscServiceUtils
Bug |
Category |
Details |
Line |
Priority |
Exception is caught when Exception is not thrown in org.opendaylight.usc.util.UscServiceUtils.getServices(Class, Object, String) |
STYLE |
REC_CATCH_EXCEPTION |
150 |
Low |
org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.usc.channel.impl.rev150101.modules.module.configuration.UscChannelImplBuilder$UscChannelImplImpl
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.usc.channel.impl.rev150101.modules.module.configuration.UscChannelImplBuilder$UscChannelImplImpl in org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.usc.channel.impl.rev150101.modules.module.configuration.UscChannelImplBuilder$UscChannelImplImpl.equals(Object) |
STYLE |
BC_UNCONFIRMED_CAST |
186 |
Low |
org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.usc.channel.impl.rev150101.modules.module.configuration.usc.channel.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.usc.channel.impl.rev150101.modules.module.configuration.usc.channel.impl.BrokerBuilder$BrokerImpl in org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.usc.channel.impl.rev150101.modules.module.configuration.usc.channel.impl.BrokerBuilder$BrokerImpl.equals(Object) |
STYLE |
BC_UNCONFIRMED_CAST |
211 |
Low |
org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.usc.channel.impl.rev150101.modules.module.configuration.usc.channel.impl.DataBrokerBuilder$DataBrokerImpl
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.usc.channel.impl.rev150101.modules.module.configuration.usc.channel.impl.DataBrokerBuilder$DataBrokerImpl in org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.usc.channel.impl.rev150101.modules.module.configuration.usc.channel.impl.DataBrokerBuilder$DataBrokerImpl.equals(Object) |
STYLE |
BC_UNCONFIRMED_CAST |
211 |
Low |