# FindBugs Report

## Project Information

Project:

FindBugs version: 3.0.1

Code analyzed:

- E:\bfproject\main\AvayaAdaptor\components\adaptors\AvayaAdaptor\build\avayaAdaptor.jar

## Metrics

2428 lines of code analyzed, in 20 classes, in 1 packages.

Metric | Total | Density*
--- | --- | ---
High Priority Warnings | 15 | 6.18
Medium Priority Warnings | 45 | 18.53
Total Warnings | 60 | 24.71

(* Defects per Thousand lines of non-commenting source statements)

## Contents

- Bad practice Warnings
- Correctness Warnings
- Internationalization Warnings
- Malicious code vulnerability Warnings
- Multithreaded correctness Warnings
- Performance Warnings
- Dodgy code Warnings
- Details

# Summary

Warning Type | Number
--- | ---
Bad practice Warnings | 1
Correctness Warnings | 1
Internationalization Warnings | 2
Malicious code vulnerability Warnings | 5
Multithreaded correctness Warnings | 2
Performance Warnings | 4
Dodgy code Warnings | 45
Total | 60

# Warnings

Click on a warning row to see full context information.

## Bad practice Warnings

Code | Warning
--- | ---
OS | com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.secureDownloadFTPFile(String, String, String) may fail to close stream
| Bug type OS_OPEN_STREAM (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.secureDownloadFTPFile(String, String, String) Need to close java.io.Reader At AvayaAdaptor.java:[line 2612] Another occurrence at AvayaAdaptor.java:[line 2613]

## Correctness Warnings

Code | Warning
--- | ---
BC | Impossible cast from java.util.Map$Entry<java.lang.String,com.macromedia.breeze_ext.telephony.Avaya.ConferenceSession> to String in com.macromedia.breeze_ext.telephony.Avaya.ConnectionTester.run()
| Bug type BC_IMPOSSIBLE_CAST (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.ConnectionTester In method com.macromedia.breeze_ext.telephony.Avaya.ConnectionTester.run() Actual type java.util.Map$Entry<java.lang.String,com.macromedia.breeze_ext.telephony.Avaya.ConferenceSession> Expected String Return value of java.util.Iterator.next() of type Object At ConnectionTester.java:[line 51]

## Internationalization Warnings

Code | Warning
--- | ---
Dm | Found reliance on default encoding in com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.secureDownloadFTPFile(String, String, String): new java.io.InputStreamReader(InputStream)
| Bug type DM_DEFAULT_ENCODING (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.secureDownloadFTPFile(String, String, String) Called method new java.io.InputStreamReader(InputStream) At AvayaAdaptor.java:[line 2612] Another occurrence at AvayaAdaptor.java:[line 2613]
Dm | Found reliance on default encoding in com.macromedia.breeze_ext.telephony.Avaya.StreamGobbler.run(): new java.io.InputStreamReader(InputStream)
| Bug type DM_DEFAULT_ENCODING (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.StreamGobbler In method com.macromedia.breeze_ext.telephony.Avaya.StreamGobbler.run() Called method new java.io.InputStreamReader(InputStream) At StreamGobbler.java:[line 43]

## Malicious code vulnerability Warnings

Code | Warning
--- | ---
EI2 | new com.macromedia.breeze_ext.telephony.Avaya.QueuedEvent(Hashtable, Object) may expose internal representation by storing an externally mutable object into QueuedEvent.eventInfo
| Bug type EI_EXPOSE_REP2 (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.QueuedEvent In method new com.macromedia.breeze_ext.telephony.Avaya.QueuedEvent(Hashtable, Object) Field com.macromedia.breeze_ext.telephony.Avaya.QueuedEvent.eventInfo Local variable named event At QueuedEvent.java:[line 38]
MS | com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.activeConferenceSessions should be package protected
| Bug type MS_PKGPROTECT (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.activeConferenceSessions At AvayaAdaptor.java:[line 84]
MS | com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaDTMFPostfixToken should be package protected
| Bug type MS_PKGPROTECT (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaDTMFPostfixToken In AvayaAdaptor.java
MS | com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaDTMFPrefixToken should be package protected
| Bug type MS_PKGPROTECT (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaDTMFPrefixToken In AvayaAdaptor.java
MS | com.macromedia.breeze_ext.telephony.Avaya.ConferenceSession.UPDATE_ALL_EVENT isn't final but should be
| Bug type MS_SHOULD_BE_FINAL (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.ConferenceSession Field com.macromedia.breeze_ext.telephony.Avaya.ConferenceSession.UPDATE_ALL_EVENT At ConferenceSession.java:[line 34]

## Multithreaded correctness Warnings

Code | Warning
--- | ---
JLM | Synchronization performed on java.util.concurrent.ConcurrentHashMap in com.macromedia.breeze_ext.telephony.Avaya.ConferenceSession.cleanupRecentlyRemovedUsersMap()
| Bug type JLM_JSR166_UTILCONCURRENT_MONITORENTER (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.ConferenceSession In method com.macromedia.breeze_ext.telephony.Avaya.ConferenceSession.cleanupRecentlyRemovedUsersMap() Type java.util.concurrent.ConcurrentHashMap Value loaded from field com.macromedia.breeze_ext.telephony.Avaya.ConferenceSession.recentlyRemovedUsers At ConferenceSession.java:[line 615]
SWL | com.macromedia.breeze_ext.telephony.Avaya.EventProcessor.getAssignment() calls Thread.sleep() with a lock held
| Bug type SWL_SLEEP_WITH_LOCK_HELD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.EventProcessor In method com.macromedia.breeze_ext.telephony.Avaya.EventProcessor.getAssignment() At EventProcessor.java:[line 156]

## Performance Warnings

Code | Warning
--- | ---
Bx | com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) invokes inefficient new Integer(int) constructor; use Integer.valueOf(int) instead
| Bug type DM_NUMBER_CTOR (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Called method new Integer(int) Should call Integer.valueOf(int) instead At AvayaAdaptor.java:[line 190] Another occurrence at AvayaAdaptor.java:[line 196]
Bx | com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) invokes inefficient new Integer(String) constructor; use Integer.valueOf(String) instead
| Bug type DM_NUMBER_CTOR (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Called method new Integer(String) Should call Integer.valueOf(String) instead At AvayaAdaptor.java:[line 186]
WMI | com.macromedia.breeze_ext.telephony.Avaya.EventProcessor.getAssignment() makes inefficient use of keySet iterator instead of entrySet iterator
| Bug type WMI_WRONG_MAP_ITERATOR (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.EventProcessor In method com.macromedia.breeze_ext.telephony.Avaya.EventProcessor.getAssignment() Field com.macromedia.breeze_ext.telephony.Avaya.EventProcessor.queuedOnlineEvents At EventProcessor.java:[line 161]
WMI | com.macromedia.breeze_ext.telephony.Avaya.EventProcessor.processQueuedEvent() makes inefficient use of keySet iterator instead of entrySet iterator
| Bug type WMI_WRONG_MAP_ITERATOR (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.EventProcessor In method com.macromedia.breeze_ext.telephony.Avaya.EventProcessor.processQueuedEvent() Field com.macromedia.breeze_ext.telephony.Avaya.EventProcessor.queuedOnlineEvents At EventProcessor.java:[line 281]

## Dodgy code Warnings

Code | Warning
--- | ---
RCN | Redundant nullcheck of conferenceId, which is known to be non-null in com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.participantLeftConference(String, String)
| Bug type RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.participantLeftConference(String, String) Value loaded from conferenceId Redundant null check at AvayaAdaptor.java:[line 3041]
RCN | Redundant nullcheck of sessionId, which is known to be non-null in com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initConferenceSession(Map)
| Bug type RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initConferenceSession(Map) Value loaded from sessionId Return value of Object.toString() of type String Redundant null check at AvayaAdaptor.java:[line 447]
RCN | Redundant nullcheck of sessionId, which is known to be non-null in com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.reconnectConference(Map, List)
| Bug type RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.reconnectConference(Map, List) Value loaded from sessionId Return value of Object.toString() of type String Redundant null check at AvayaAdaptor.java:[line 1537]
RCN | Redundant nullcheck of sessionId, which is known to be non-null in com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.startConference(String)
| Bug type RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.startConference(String) Value loaded from sessionId Return value of Object.toString() of type String Redundant null check at AvayaAdaptor.java:[line 531]
RCN | Redundant nullcheck of sessionId, which is known to be non-null in com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.startConferenceEvent(String, Conference)
| Bug type RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.startConferenceEvent(String, Conference) Value loaded from sessionId Return value of Object.toString() of type String Redundant null check at AvayaAdaptor.java:[line 2882]
RCN | Redundant nullcheck of moderatorCode, which is known to be non-null in com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.validateTelephonyProfile(Map)
| Bug type RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.validateTelephonyProfile(Map) Value loaded from moderatorCode Return value of String.toString() of type String Redundant null check at AvayaAdaptor.java:[line 327] Another occurrence at AvayaAdaptor.java:[line 332]
RCN | Redundant nullcheck of participantCode, which is known to be non-null in com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.validateTelephonyProfile(Map)
| Bug type RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.validateTelephonyProfile(Map) Value loaded from participantCode Return value of String.toString() of type String Redundant null check at AvayaAdaptor.java:[line 322] Another occurrence at AvayaAdaptor.java:[line 332]
RCN | Redundant nullcheck of pendingSubConfId, which is known to be non-null in com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.verifyPendingMoveToSubconference(String, String)
| Bug type RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.verifyPendingMoveToSubconference(String, String) Value loaded from pendingSubConfId Return value of com.macromedia.breeze_ext.telephony.Avaya.PhoneUserInfo.getPendingMoveToSubConferenceId() of type String Redundant null check at AvayaAdaptor.java:[line 3666]
RCN | Redundant nullcheck of userId, which is known to be non-null in com.macromedia.breeze_ext.telephony.Avaya.ConferenceSession.addPhoneUser(Participant)
| Bug type RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.ConferenceSession In method com.macromedia.breeze_ext.telephony.Avaya.ConferenceSession.addPhoneUser(Participant) Value loaded from userId Return value of Object.toString() of type String Redundant null check at ConferenceSession.java:[line 87]
REC | Exception is caught when Exception is not thrown in com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.secureDownloadFTPFile(String, String, String)
| Bug type REC_CATCH_EXCEPTION (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.secureDownloadFTPFile(String, String, String) At AvayaAdaptor.java:[line 2639]
RV | com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.secureDownloadFTPFile(String, String, String) discards result of readLine after checking if it is non-null
| Bug type RV_DONT_JUST_NULL_CHECK_READLINE (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.secureDownloadFTPFile(String, String, String) At AvayaAdaptor.java:[line 2615]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaBridgeName from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaBridgeName At AvayaAdaptor.java:[line 154]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaConverterPath from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaConverterPath At AvayaAdaptor.java:[line 242] Another occurrence at AvayaAdaptor.java:[line 238]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaDTMFPostfixToken from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaDTMFPostfixToken At AvayaAdaptor.java:[line 160]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaDTMFPrefixToken from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaDTMFPrefixToken At AvayaAdaptor.java:[line 159]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaMusicSource from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaMusicSource At AvayaAdaptor.java:[line 190] Another occurrence at AvayaAdaptor.java:[line 186] Another occurrence at AvayaAdaptor.java:[line 196]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaOperatorID from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaOperatorID At AvayaAdaptor.java:[line 155]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaPhonePrefix from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaPhonePrefix At AvayaAdaptor.java:[line 158]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaSystemLoginId from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaSystemLoginId At AvayaAdaptor.java:[line 156]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaSystemPassword from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaSystemPassword At AvayaAdaptor.java:[line 157]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.m_callbackObj from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.m_callbackObj At AvayaAdaptor.java:[line 151]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.activeConferenceSessions from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.destroyAdaptor()
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.destroyAdaptor() Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.activeConferenceSessions At AvayaAdaptor.java:[line 642]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaBridge from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.destroyAdaptor()
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.destroyAdaptor() Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaBridge At AvayaAdaptor.java:[line 640]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.m_callbackObj from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.destroyAdaptor()
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.destroyAdaptor() Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.m_callbackObj At AvayaAdaptor.java:[line 639]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.sessionIdToConferenceIdMap from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.destroyAdaptor()
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.destroyAdaptor() Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.sessionIdToConferenceIdMap At AvayaAdaptor.java:[line 643]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.validatedConferences from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.destroyAdaptor()
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.destroyAdaptor() Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.validatedConferences At AvayaAdaptor.java:[line 644]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.activeConferenceSessions from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.activeConferenceSessions At AvayaAdaptor.java:[line 248]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaBridge from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaBridge At AvayaAdaptor.java:[line 245]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaBridgeListener from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaBridgeListener At AvayaAdaptor.java:[line 246]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaDTMFCaptureAnnunciatorNum from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaDTMFCaptureAnnunciatorNum At AvayaAdaptor.java:[line 177]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaDTMFCaptureMaxLength from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaDTMFCaptureMaxLength At AvayaAdaptor.java:[line 175]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaDTMFCaptureMaxTimeout from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaDTMFCaptureMaxTimeout At AvayaAdaptor.java:[line 172]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaFTPLogin from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaFTPLogin At AvayaAdaptor.java:[line 235]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaFTPPassword from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaFTPPassword At AvayaAdaptor.java:[line 236]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaFTPPath from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaFTPPath At AvayaAdaptor.java:[line 237]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaFileTRansfer from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaFileTRansfer At AvayaAdaptor.java:[line 218]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaMaxDownlaodTries from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaMaxDownlaodTries At AvayaAdaptor.java:[line 227] Another occurrence at AvayaAdaptor.java:[line 232]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaRecordDelay from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaRecordDelay At AvayaAdaptor.java:[line 181]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaValidationTimeLimit from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.avayaValidationTimeLimit At AvayaAdaptor.java:[line 201] Another occurrence at AvayaAdaptor.java:[line 205] Another occurrence at AvayaAdaptor.java:[line 211]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.dialOutEnabled from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.dialOutEnabled At AvayaAdaptor.java:[line 214]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.sessionIdToConferenceIdMap from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.sessionIdToConferenceIdMap At AvayaAdaptor.java:[line 249]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.validatedConferences from instance method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor In method com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.initAdaptor(TelephonyCallback, Map, String) Field com.macromedia.breeze_ext.telephony.Avaya.AvayaAdaptor.validatedConferences At AvayaAdaptor.java:[line 250]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.EventProcessor.avayaBridge from instance method new com.macromedia.breeze_ext.telephony.Avaya.EventProcessor(Bridge)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.EventProcessor In method new com.macromedia.breeze_ext.telephony.Avaya.EventProcessor(Bridge) Field com.macromedia.breeze_ext.telephony.Avaya.EventProcessor.avayaBridge At EventProcessor.java:[line 69]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.EventProcessor.eventQueue from instance method new com.macromedia.breeze_ext.telephony.Avaya.EventProcessor(Bridge)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.EventProcessor In method new com.macromedia.breeze_ext.telephony.Avaya.EventProcessor(Bridge) Field com.macromedia.breeze_ext.telephony.Avaya.EventProcessor.eventQueue At EventProcessor.java:[line 67]
ST | Write to static field com.macromedia.breeze_ext.telephony.Avaya.EventProcessor.queuedOnlineEvents from instance method new com.macromedia.breeze_ext.telephony.Avaya.EventProcessor(Bridge)
| Bug type ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD (click for details) In class com.macromedia.breeze_ext.telephony.Avaya.EventProcessor In method new com.macromedia.breeze_ext.telephony.Avaya.EventProcessor(Bridge) Field com.macromedia.breeze_ext.telephony.Avaya.EventProcessor.queuedOnlineEvents At EventProcessor.java:[line 68]

# Details

## BC_IMPOSSIBLE_CAST: Impossible cast

This cast will always throw a ClassCastException. FindBugs tracks type information from instanceof checks, and also uses more precise information about the types of values returned from methods and loaded from fields. Thus, it may have more precise information that just the declared type of a variable, and can use this to determine that a cast will always throw an exception at runtime.

## DM_NUMBER_CTOR: Method invokes inefficient Number constructor; use static valueOf instead

Using `new Integer(int)` is guaranteed to always result in a new object whereas `Integer.valueOf(int)` allows caching of values to be done by the compiler, class library, or JVM. Using of cached values avoids object allocation and the code will be faster.

Values between -128 and 127 are guaranteed to have corresponding cached instances and using `valueOf` is approximately 3.5 times faster than using constructor. For values outside the constant range the performance of both styles is the same.

Unless the class must be compatible with JVMs predating Java 1.5, use either autoboxing or the `valueOf()` method when creating instances of `Long`, `Integer`, `Short`, `Character`, and `Byte`.

## DM_DEFAULT_ENCODING: Reliance on default encoding

Found a call to a method which will perform a byte to String (or String to byte) conversion, and will assume that the default platform encoding is suitable. This will cause the application behaviour to vary between platforms. Use an alternative API and specify a charset name or Charset object explicitly.

## EI_EXPOSE_REP2: May expose internal representation by incorporating reference to mutable object

This code stores a reference to an externally mutable object into the internal representation of the object. If instances are accessed by untrusted code, and unchecked changes to the mutable object would compromise security or other important properties, you will need to do something different. Storing a copy of the object is better approach in many situations.

## JLM_JSR166_UTILCONCURRENT_MONITORENTER: Synchronization performed on util.concurrent instance

This method performs synchronization an object that is an instance of a class from the java.util.concurrent package (or its subclasses). Instances of these classes have their own concurrency control mechanisms that are orthogonal to the synchronization provided by the Java keyword `synchronized`. For example, synchronizing on an `AtomicBoolean` will not prevent other threads from modifying the `AtomicBoolean`.

Such code may be correct, but should be carefully reviewed and documented, and may confuse people who have to maintain the code at a later date.

## MS_SHOULD_BE_FINAL: Field isn't final but should be

This static field public but not final, and could be changed by malicious code or by accident from another package. The field could be made final to avoid this vulnerability.

## MS_PKGPROTECT: Field should be package protected

A mutable static field could be changed by malicious code or by accident. The field could be made package protected to avoid this vulnerability.

## OS_OPEN_STREAM: Method may fail to close stream

The method creates an IO stream object, does not assign it to any fields, pass it to other methods that might close it, or return it, and does not appear to close the stream on all paths out of the method. This may result in a file descriptor leak. It is generally a good idea to use a `finally` block to ensure that streams are closed.

## RCN_REDUNDANT_NULLCHECK_OF_NONNULL_VALUE: Redundant nullcheck of value known to be non-null

This method contains a redundant check of a known non-null value against the constant null.

## REC_CATCH_EXCEPTION: Exception is caught when Exception is not thrown

This method uses a try-catch block that catches Exception objects, but Exception is not thrown within the try block, and RuntimeException is not explicitly caught. It is a common bug pattern to say try { ... } catch (Exception e) { something } as a shorthand for catching a number of types of exception each of whose catch blocks is identical, but this construct also accidentally catches RuntimeException as well, masking potential bugs.

A better approach is to either explicitly catch the specific exceptions that are thrown, or to explicitly catch RuntimeException exception, rethrow it, and then catch all non-Runtime Exceptions, as shown below:

      try {
        ...
      } catch (RuntimeException e) {
        throw e;
      } catch (Exception e) {
        ... deal with all non-runtime exceptions ...
      }

## RV_DONT_JUST_NULL_CHECK_READLINE: Method discards result of readLine after checking if it is non-null

The value returned by readLine is discarded after checking to see if the return value is non-null. In almost all situations, if the result is non-null, you will want to use that non-null value. Calling readLine again will give you a different line.

## ST_WRITE_TO_STATIC_FROM_INSTANCE_METHOD: Write to static field from instance method

This instance method writes to a static field. This is tricky to get correct if multiple instances are being manipulated, and generally bad practice.

## SWL_SLEEP_WITH_LOCK_HELD: Method calls Thread.sleep() with a lock held

This method calls Thread.sleep() with a lock held. This may result in very poor performance and scalability, or a deadlock, since other threads may be waiting to acquire the lock. It is a much better idea to call wait() on the lock, which releases the lock and allows other threads to run.

## WMI_WRONG_MAP_ITERATOR: Inefficient use of keySet iterator instead of entrySet iterator

This method accesses the value of a Map entry, using a key that was retrieved from a keySet iterator. It is more efficient to use an iterator on the entrySet of the map, to avoid the Map.get(key) lookup.