FindBugs Results

The following document contains the results of FindBugs.

Summary

Files Errors
22 56

Files

Files Violations
BallAmigosRunner 1
pl.agh.iosr.ballamigos.server.GameServer 5
pl.agh.iosr.ballamigos.common.MatchState 5
pl.agh.iosr.ballamigos.common.MatchProperties 2
pl.agh.iosr.ballamigos.common.Match 2
pl.agh.iosr.ballamigos.common.Decision 1
pl.agh.iosr.ballamigos.client.GameClient 1
pl.agh.iosr.ballamigos.server.database.DatabaseController 23
pl.agh.iosr.ballamigos.client.room.MatchesListModel 1
pl.agh.iosr.ballamigos.client.gui.RoomPanel 2
pl.agh.iosr.ballamigos.server.communication.rmi.ServerImpl 1
pl.agh.iosr.ballamigos.client.gui.matchgui.MatchDisplayer 2
pl.agh.iosr.ballamigos.client.gui.RoomPanel$4 1
pl.agh.iosr.ballamigos.client.gui.RoomSelectPanel$1 1
pl.agh.iosr.ballamigos.client.gui.matchgui.MatchStartedPanel$1 1
pl.agh.iosr.ballamigos.client.gui.matchgui.MatchStartedPanel$2 1
pl.agh.iosr.ballamigos.client.gui.matchgui.StartMatchPanel$1 1
pl.agh.iosr.ballamigos.client.gui.matchgui.StartMatchPanel$2 1
pl.agh.iosr.ballamigos.client.chat.Chat 1
pl.agh.iosr.ballamigos.client.threads.DisplayMatchThread 1
pl.agh.iosr.ballamigos.client.gui.RoomSelectPanel 1
pl.agh.iosr.ballamigos.client.gui.MatchPanel 1

BallAmigosRunner

Violation Line
OS: BallAmigosRunner.waitForCmd(String[],String) may fail to close stream on exception 32

pl.agh.iosr.ballamigos.server.GameServer

Violation Line
ST: Write to static field pl.agh.iosr.ballamigos.server.GameServer.serverCommunicator from instance method pl.agh.iosr.ballamigos.server.GameServer.init() 72
ST: Write to static field pl.agh.iosr.ballamigos.server.GameServer.dbcont from instance method pl.agh.iosr.ballamigos.server.GameServer.<init>() 84
UwF: Field not initialized in constructor: pl.agh.iosr.ballamigos.server.GameServer.singleton 0
CD: Class pl.agh.iosr.ballamigos.server.GameServer has a circular dependency with other classes. 0
CD: Class pl.agh.iosr.ballamigos.server.GameServer has a circular dependency with other classes. 0

pl.agh.iosr.ballamigos.common.MatchState

Violation Line
EI: pl.agh.iosr.ballamigos.common.MatchState.getBlue() may expose internal representation by returning pl.agh.iosr.ballamigos.common.MatchState.blue 175
EI: pl.agh.iosr.ballamigos.common.MatchState.getRed() may expose internal representation by returning pl.agh.iosr.ballamigos.common.MatchState.red 183
MS: pl.agh.iosr.ballamigos.common.MatchState.BLUE isn't final but should be 0
MS: pl.agh.iosr.ballamigos.common.MatchState.RED isn't final but should be 0
MS: pl.agh.iosr.ballamigos.common.MatchState.NONE isn't final but should be 0

pl.agh.iosr.ballamigos.common.MatchProperties

Violation Line
EI: pl.agh.iosr.ballamigos.common.MatchProperties.getBluePositions() may expose internal representation by returning pl.agh.iosr.ballamigos.common.MatchProperties.bluePositions 154
EI2: pl.agh.iosr.ballamigos.common.MatchProperties.setBluePositions(int[][]) may expose internal representation by storing an externally mutable object into pl.agh.iosr.ballamigos.common.MatchProperties.bluePositions 161

pl.agh.iosr.ballamigos.common.Match

Violation Line
ICAST: Integer division result cast to double in pl.agh.iosr.ballamigos.common.Match.makeNewMatchState() 97
ICAST: Integer division result cast to double in pl.agh.iosr.ballamigos.common.Match.makeNewMatchState() 98

pl.agh.iosr.ballamigos.common.Decision

Violation Line
Dm: pl.agh.iosr.ballamigos.common.Decision.toString() invokes dubious new String(String) constructor; just use the argument 34

pl.agh.iosr.ballamigos.client.GameClient

Violation Line
ST: Write to static field pl.agh.iosr.ballamigos.client.GameClient.singleton from instance method pl.agh.iosr.ballamigos.client.GameClient.reset() 448

pl.agh.iosr.ballamigos.server.database.DatabaseController

Violation Line
ST: Write to static field pl.agh.iosr.ballamigos.server.database.DatabaseController.conn from instance method pl.agh.iosr.ballamigos.server.database.DatabaseController.<init>(String,String,String,String) 53
NP: Possible null pointer dereference in pl.agh.iosr.ballamigos.server.database.DatabaseController.shutdown() on exception path 71
NP: Possible null pointer dereference in pl.agh.iosr.ballamigos.server.database.DatabaseController.query(String) on exception path 94
NP: Possible null pointer dereference in pl.agh.iosr.ballamigos.server.database.DatabaseController.update(String) on exception path 121
NP: Possible null pointer dereference in pl.agh.iosr.ballamigos.server.database.DatabaseController.insertPlayer(pl.agh.iosr.ballamigos.common.Player) on exception path 164
NP: Possible null pointer dereference in pl.agh.iosr.ballamigos.server.database.DatabaseController.deletePlayer(String) on exception path 201
NP: Possible null pointer dereference in pl.agh.iosr.ballamigos.server.database.DatabaseController.deletePlayer(String) on exception path 202
NP: Possible null pointer dereference in pl.agh.iosr.ballamigos.server.database.DatabaseController.changePass(String,String) on exception path 246
NP: Possible null pointer dereference in pl.agh.iosr.ballamigos.server.database.DatabaseController.getPlayer(String) on exception path 276
ODR: pl.agh.iosr.ballamigos.server.database.DatabaseController.query(String) may fail to close database resource 90
ODR: pl.agh.iosr.ballamigos.server.database.DatabaseController.insertPlayer(pl.agh.iosr.ballamigos.common.Player) may fail to close database resource on exception 145
ODR: pl.agh.iosr.ballamigos.server.database.DatabaseController.deletePlayer(String) may fail to close database resource on exception 184
ODR: pl.agh.iosr.ballamigos.server.database.DatabaseController.deletePlayer(String) may fail to close database resource on exception 186
ODR: pl.agh.iosr.ballamigos.server.database.DatabaseController.changePass(String,String) may fail to close database resource 226
ODR: pl.agh.iosr.ballamigos.server.database.DatabaseController.getPlayer(String) may fail to close database resource 266
ODR: pl.agh.iosr.ballamigos.server.database.DatabaseController.genRankingList() may fail to close database resource 292
ODR: pl.agh.iosr.ballamigos.server.database.DatabaseController.setScore(String,int) may fail to close database resource 317
ODR: pl.agh.iosr.ballamigos.server.database.DatabaseController.setScore(String,int) may fail to close database resource on exception 323
ODR: pl.agh.iosr.ballamigos.server.database.DatabaseController.setScore(String,int) may fail to close database resource on exception 320
ODR: pl.agh.iosr.ballamigos.server.database.DatabaseController.addPoints(String,int) may fail to close database resource 344
ODR: pl.agh.iosr.ballamigos.server.database.DatabaseController.addPoints(String,int) may fail to close database resource on exception 347
ODR: pl.agh.iosr.ballamigos.server.database.DatabaseController.addPoints(String,int) may fail to close database resource on exception 351
ODR: pl.agh.iosr.ballamigos.server.database.DatabaseController.getScore(String) may fail to close database resource on exception 372

pl.agh.iosr.ballamigos.client.room.MatchesListModel

Violation Line
UG: pl.agh.iosr.ballamigos.client.room.MatchesListModel.getMatches() is unsynchronized, pl.agh.iosr.ballamigos.client.room.MatchesListModel.setMatches(String[]) is synchronized 73

pl.agh.iosr.ballamigos.client.gui.RoomPanel

Violation Line
Dm: pl.agh.iosr.ballamigos.client.gui.RoomPanel.newMessage(pl.agh.iosr.ballamigos.client.chat.Chat,pl.agh.iosr.ballamigos.client.chat.ChatMessage) invokes dubious new String(String) constructor; just use the argument 170
UG: pl.agh.iosr.ballamigos.client.gui.RoomPanel.getChat() is unsynchronized, pl.agh.iosr.ballamigos.client.gui.RoomPanel.setChat(pl.agh.iosr.ballamigos.client.chat.Chat) is synchronized 204

pl.agh.iosr.ballamigos.server.communication.rmi.ServerImpl

Violation Line
NP: Possible null pointer dereference in pl.agh.iosr.ballamigos.server.communication.rmi.ServerImpl.makeDecision(pl.agh.iosr.ballamigos.common.Decision,String) 360

pl.agh.iosr.ballamigos.client.gui.matchgui.MatchDisplayer

Violation Line
REC: Method pl.agh.iosr.ballamigos.client.gui.matchgui.MatchDisplayer.<init>() catches Exception, but Exception is not thrown in the try block and RuntimeException is not explicitly caught 85
CD: Class pl.agh.iosr.ballamigos.client.gui.matchgui.MatchDisplayer has a circular dependency with other classes. 0

pl.agh.iosr.ballamigos.client.gui.RoomPanel$4

Violation Line
SIC: The class pl.agh.iosr.ballamigos.client.gui.RoomPanel$4 could be refactored into a named _static_ inner class 0

pl.agh.iosr.ballamigos.client.gui.RoomSelectPanel$1

Violation Line
SIC: The class pl.agh.iosr.ballamigos.client.gui.RoomSelectPanel$1 could be refactored into a named _static_ inner class 0

pl.agh.iosr.ballamigos.client.gui.matchgui.MatchStartedPanel$1

Violation Line
SIC: The class pl.agh.iosr.ballamigos.client.gui.matchgui.MatchStartedPanel$1 could be refactored into a named _static_ inner class 0

pl.agh.iosr.ballamigos.client.gui.matchgui.MatchStartedPanel$2

Violation Line
SIC: The class pl.agh.iosr.ballamigos.client.gui.matchgui.MatchStartedPanel$2 could be refactored into a named _static_ inner class 0

pl.agh.iosr.ballamigos.client.gui.matchgui.StartMatchPanel$1

Violation Line
SIC: The class pl.agh.iosr.ballamigos.client.gui.matchgui.StartMatchPanel$1 could be refactored into a named _static_ inner class 0

pl.agh.iosr.ballamigos.client.gui.matchgui.StartMatchPanel$2

Violation Line
SIC: The class pl.agh.iosr.ballamigos.client.gui.matchgui.StartMatchPanel$2 could be refactored into a named _static_ inner class 0

pl.agh.iosr.ballamigos.client.chat.Chat

Violation Line
IS2: Inconsistent synchronization of pl.agh.iosr.ballamigos.client.chat.Chat.players; locked 80% of time 192

pl.agh.iosr.ballamigos.client.threads.DisplayMatchThread

Violation Line
CD: Class pl.agh.iosr.ballamigos.client.threads.DisplayMatchThread has a circular dependency with other classes. 0

pl.agh.iosr.ballamigos.client.gui.RoomSelectPanel

Violation Line
CD: Class pl.agh.iosr.ballamigos.client.gui.RoomSelectPanel has a circular dependency with other classes. 0

pl.agh.iosr.ballamigos.client.gui.MatchPanel

Violation Line
CD: Class pl.agh.iosr.ballamigos.client.gui.MatchPanel has a circular dependency with other classes. 0