Narrowed variables scope.

This commit is contained in:
vraskulin 2017-02-15 16:05:18 +03:00
parent 09da478b38
commit f1ef3bf68b
20 changed files with 42 additions and 60 deletions

View file

@ -240,12 +240,9 @@ public class DownloadPictures extends DefaultBoundedRangeModel implements Runnab
private static List<CardDownloadData> getNeededCards(List<CardInfo> allCards) { private static List<CardDownloadData> getNeededCards(List<CardInfo> allCards) {
List<CardDownloadData> cardsToDownload = Collections.synchronizedList(new ArrayList<>());
/** /**
* read all card names and urls * read all card names and urls
*/ */
List<CardDownloadData> allCardsUrls = Collections.synchronizedList(new ArrayList<>());
HashSet<String> ignoreUrls = SettingsManager.getIntance().getIgnoreUrls(); HashSet<String> ignoreUrls = SettingsManager.getIntance().getIgnoreUrls();
/** /**
@ -261,6 +258,7 @@ public class DownloadPictures extends DefaultBoundedRangeModel implements Runnab
int numberCardImages = allCards.size(); int numberCardImages = allCards.size();
int numberWithoutTokens = 0; int numberWithoutTokens = 0;
List<CardDownloadData> allCardsUrls = Collections.synchronizedList(new ArrayList<>());
try { try {
offlineMode = true; offlineMode = true;
allCards.parallelStream().forEach(card -> { allCards.parallelStream().forEach(card -> {
@ -290,11 +288,11 @@ public class DownloadPictures extends DefaultBoundedRangeModel implements Runnab
if (card.getFlipCardName() == null || card.getFlipCardName().trim().isEmpty()) { if (card.getFlipCardName() == null || card.getFlipCardName().trim().isEmpty()) {
throw new IllegalStateException("Flipped card can't have empty name."); throw new IllegalStateException("Flipped card can't have empty name.");
} }
url = new CardDownloadData(card.getFlipCardName(), card.getSetCode(), card.getCardNumber(), card.usesVariousArt(), 0, "", "", false, card.isDoubleFaced(), card.isNightCard()); CardDownloadData cardDownloadData = new CardDownloadData(card.getFlipCardName(), card.getSetCode(), card.getCardNumber(), card.usesVariousArt(), 0, "", "", false, card.isDoubleFaced(), card.isNightCard());
url.setFlipCard(true); cardDownloadData.setFlipCard(true);
url.setFlippedSide(true); cardDownloadData.setFlippedSide(true);
url.setType2(isType2); cardDownloadData.setType2(isType2);
allCardsUrls.add(url); allCardsUrls.add(cardDownloadData);
} }
} else if (card.getCardNumber().isEmpty() || "0".equals(card.getCardNumber())) { } else if (card.getCardNumber().isEmpty() || "0".equals(card.getCardNumber())) {
System.err.println("There was a critical error!"); System.err.println("There was a critical error!");
@ -315,6 +313,7 @@ public class DownloadPictures extends DefaultBoundedRangeModel implements Runnab
/** /**
* check to see which cards we already have * check to see which cards we already have
*/ */
List<CardDownloadData> cardsToDownload = Collections.synchronizedList(new ArrayList<>());
allCardsUrls.parallelStream().forEach(card -> { allCardsUrls.parallelStream().forEach(card -> {
TFile file = new TFile(CardImageUtils.generateImagePath(card)); TFile file = new TFile(CardImageUtils.generateImagePath(card));
if (!file.exists()) { if (!file.exists()) {
@ -348,19 +347,18 @@ public class DownloadPictures extends DefaultBoundedRangeModel implements Runnab
try(InputStreamReader input = new InputStreamReader(in); try(InputStreamReader input = new InputStreamReader(in);
BufferedReader reader = new BufferedReader(input)) { BufferedReader reader = new BufferedReader(input)) {
String line;
line = reader.readLine(); String line = reader.readLine();
while (line != null) { while (line != null) {
line = line.trim(); line = line.trim();
if (line.startsWith("|")) { // new format if (line.startsWith("|")) { // new format
String[] params = line.split("\\|", -1); String[] params = line.split("\\|", -1);
if (params.length >= 5) { if (params.length >= 5) {
int type = 0; int type = 0;
String fileName = "";
if (params[4] != null && !params[4].isEmpty()) { if (params[4] != null && !params[4].isEmpty()) {
type = Integer.parseInt(params[4].trim()); type = Integer.parseInt(params[4].trim());
} }
String fileName = "";
if (params.length > 5 && params[5] != null && !params[5].isEmpty()) { if (params.length > 5 && params[5] != null && !params[5].isEmpty()) {
fileName = params[5].trim(); fileName = params[5].trim();
} }
@ -516,7 +514,7 @@ public class DownloadPictures extends DefaultBoundedRangeModel implements Runnab
private final String actualFilename; private final String actualFilename;
private final boolean useSpecifiedPaths; private final boolean useSpecifiedPaths;
public DownloadTask(CardDownloadData card, URL url, int count) { DownloadTask(CardDownloadData card, URL url, int count) {
this.card = card; this.card = card;
this.url = url; this.url = url;
this.count = count; this.count = count;
@ -524,7 +522,7 @@ public class DownloadPictures extends DefaultBoundedRangeModel implements Runnab
useSpecifiedPaths = false; useSpecifiedPaths = false;
} }
public DownloadTask(CardDownloadData card, URL url, String actualFilename, int count) { DownloadTask(CardDownloadData card, URL url, String actualFilename, int count) {
this.card = card; this.card = card;
this.url = url; this.url = url;
this.count = count; this.count = count;
@ -583,7 +581,6 @@ public class DownloadPictures extends DefaultBoundedRangeModel implements Runnab
} }
return; return;
} }
BufferedOutputStream out;
// Logger.getLogger(this.getClass()).info(url.toString()); // Logger.getLogger(this.getClass()).info(url.toString());
boolean useTempFile = false; boolean useTempFile = false;
@ -602,6 +599,7 @@ public class DownloadPictures extends DefaultBoundedRangeModel implements Runnab
if (responseCode == 200 || useTempFile) { if (responseCode == 200 || useTempFile) {
if (!useTempFile) { if (!useTempFile) {
BufferedOutputStream out;
try (BufferedInputStream in = new BufferedInputStream(httpConn.getInputStream())) { try (BufferedInputStream in = new BufferedInputStream(httpConn.getInputStream())) {
//try (BufferedInputStream in = new BufferedInputStream(url.openConnection(p).getInputStream())) { //try (BufferedInputStream in = new BufferedInputStream(url.openConnection(p).getInputStream())) {
out = new BufferedOutputStream(new TFileOutputStream(temporaryFile)); out = new BufferedOutputStream(new TFileOutputStream(temporaryFile));

View file

@ -39,7 +39,7 @@ import org.mage.plugins.card.utils.CardImageUtils;
* look</li> * look</li>
* </ul> * </ul>
*/ */
public class ImageCache { public final class ImageCache {
private static final Logger LOGGER = Logger.getLogger(ImageCache.class); private static final Logger LOGGER = Logger.getLogger(ImageCache.class);
@ -157,6 +157,9 @@ public class ImageCache {
}); });
} }
private ImageCache() {
}
public static BufferedImage getMorphImage() { public static BufferedImage getMorphImage() {
CardDownloadData info = new CardDownloadData("Morph", "KTK", "0", false, 0, "KTK", ""); CardDownloadData info = new CardDownloadData("Morph", "KTK", "0", false, 0, "KTK", "");
info.setToken(true); info.setToken(true);
@ -222,8 +225,7 @@ public class ImageCache {
*/ */
private static BufferedImage getImage(String key) { private static BufferedImage getImage(String key) {
try { try {
BufferedImage image = IMAGE_CACHE.get(key); return IMAGE_CACHE.get(key);
return image;
} catch (NullPointerException ex) { } catch (NullPointerException ex) {
// unfortunately NullOutputException, thrown when apply() returns // unfortunately NullOutputException, thrown when apply() returns
// null, is not public // null, is not public
@ -244,11 +246,7 @@ public class ImageCache {
* the cache. * the cache.
*/ */
private static BufferedImage tryGetImage(String key) { private static BufferedImage tryGetImage(String key) {
if (IMAGE_CACHE.containsKey(key)) { return IMAGE_CACHE.containsKey(key) ? IMAGE_CACHE.get(key) : null;
return IMAGE_CACHE.get(key);
} else {
return null;
}
} }
/** /**
@ -279,11 +277,11 @@ public class ImageCache {
if (file == null) { if (file == null) {
return null; return null;
} }
BufferedImage image = null;
if (!file.exists()) { if (!file.exists()) {
LOGGER.debug("File does not exist: " + file.toString()); LOGGER.debug("File does not exist: " + file.toString());
return null; return null;
} }
BufferedImage image = null;
try { try {
try (TFileInputStream inputStream = new TFileInputStream(file)) { try (TFileInputStream inputStream = new TFileInputStream(file)) {
image = ImageIO.read(inputStream); image = ImageIO.read(inputStream);
@ -395,8 +393,7 @@ public class ImageCache {
public static TFile getTFile(String path) { public static TFile getTFile(String path) {
try { try {
TFile file = new TFile(path); return new TFile(path);
return file;
} catch (NullPointerException ex) { } catch (NullPointerException ex) {
LOGGER.warn("Imagefile does not exist: " + path); LOGGER.warn("Imagefile does not exist: " + path);
} }

View file

@ -271,8 +271,7 @@ public class ChatManager {
} }
public ArrayList<ChatSession> getChatSessions() { public ArrayList<ChatSession> getChatSessions() {
ArrayList<ChatSession> chatSessionList = new ArrayList<>(chatSessions.values()); return new ArrayList<>(chatSessions.values());
return chatSessionList;
} }

View file

@ -28,7 +28,6 @@
package mage.server; package mage.server;
import mage.interfaces.callback.ClientCallback; import mage.interfaces.callback.ClientCallback;
import mage.server.exceptions.UserNotFoundException;
import mage.view.ChatMessage; import mage.view.ChatMessage;
import mage.view.ChatMessage.MessageColor; import mage.view.ChatMessage.MessageColor;
import mage.view.ChatMessage.MessageType; import mage.view.ChatMessage.MessageType;
@ -36,7 +35,6 @@ import mage.view.ChatMessage.SoundToPlay;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import java.text.DateFormat; import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date; import java.util.Date;
import java.util.HashSet; import java.util.HashSet;
import java.util.Optional; import java.util.Optional;

View file

@ -227,13 +227,13 @@ public class MageServerImpl implements MageServer {
// check AI players max // check AI players max
String maxAiOpponents = ConfigSettings.getInstance().getMaxAiOpponents(); String maxAiOpponents = ConfigSettings.getInstance().getMaxAiOpponents();
if (maxAiOpponents != null) { if (maxAiOpponents != null) {
int max = Integer.parseInt(maxAiOpponents);
int aiPlayers = 0; int aiPlayers = 0;
for (String playerType : options.getPlayerTypes()) { for (String playerType : options.getPlayerTypes()) {
if (!playerType.equals("Human")) { if (!playerType.equals("Human")) {
aiPlayers++; aiPlayers++;
} }
} }
int max = Integer.parseInt(maxAiOpponents);
if (aiPlayers > max) { if (aiPlayers > max) {
user.showUserMessage("Create tournament", "It's only allowed to use a maximum of " + max + " AI players."); user.showUserMessage("Create tournament", "It's only allowed to use a maximum of " + max + " AI players.");
throw new MageException("No message"); throw new MageException("No message");

View file

@ -37,8 +37,7 @@ public class MailClient {
message.setSubject(subject); message.setSubject(subject);
message.setText(text); message.setText(text);
Transport trnsport; Transport trnsport = session.getTransport("smtps");
trnsport = session.getTransport("smtps");
trnsport.connect(null, properties.getProperty("mail.password")); trnsport.connect(null, properties.getProperty("mail.password"));
message.saveChanges(); message.saveChanges();
trnsport.sendMessage(message, message.getAllRecipients()); trnsport.sendMessage(message, message.getAllRecipients());

View file

@ -116,13 +116,13 @@ public class Main {
} }
logger.info("Loading extension packages..."); logger.info("Loading extension packages...");
List<ExtensionPackage> extensions = new ArrayList<>();
if (!extensionFolder.exists()) { if (!extensionFolder.exists()) {
if (!extensionFolder.mkdirs()) { if (!extensionFolder.mkdirs()) {
logger.error("Could not create extensions directory."); logger.error("Could not create extensions directory.");
} }
} }
File[] extensionDirectories = extensionFolder.listFiles(); File[] extensionDirectories = extensionFolder.listFiles();
List<ExtensionPackage> extensions = new ArrayList<>();
if (extensionDirectories != null) { if (extensionDirectories != null) {
for (File f : extensionDirectories) { for (File f : extensionDirectories) {
if (f.isDirectory()) { if (f.isDirectory()) {

View file

@ -101,11 +101,11 @@ public class Session {
return returnMessage; return returnMessage;
} }
AuthorizedUserRepository.instance.add(userName, password, email); AuthorizedUserRepository.instance.add(userName, password, email);
String subject = "XMage Registration Completed";
String text = "You are successfully registered as " + userName + '.'; String text = "You are successfully registered as " + userName + '.';
text += " Your initial, generated password is: " + password; text += " Your initial, generated password is: " + password;
boolean success; boolean success;
String subject = "XMage Registration Completed";
if (!ConfigSettings.getInstance().getMailUser().isEmpty()) { if (!ConfigSettings.getInstance().getMailUser().isEmpty()) {
success = MailClient.sendMessage(email, subject, text); success = MailClient.sendMessage(email, subject, text);
} else { } else {

View file

@ -173,8 +173,9 @@ public class SessionManager {
*/ */
public void disconnectUser(String sessionId, String userSessionId) { public void disconnectUser(String sessionId, String userSessionId) {
if (isAdmin(sessionId)) { if (isAdmin(sessionId)) {
User userAdmin, user; User userAdmin;
if ((userAdmin = getUserFromSession(sessionId)) != null) { if ((userAdmin = getUserFromSession(sessionId)) != null) {
User user;
if ((user = getUserFromSession(userSessionId)) != null) { if ((user = getUserFromSession(userSessionId)) != null) {
user.showUserMessage("Admin operation", "Your session was disconnected by Admin."); user.showUserMessage("Admin operation", "Your session was disconnected by Admin.");
userAdmin.showUserMessage("Admin action", "User" + user.getName() + " was disconnected."); userAdmin.showUserMessage("Admin action", "User" + user.getName() + " was disconnected.");

View file

@ -911,9 +911,6 @@ public class TableController {
public boolean isMatchTableStillValid() { public boolean isMatchTableStillValid() {
// check only normal match table with state != Finished // check only normal match table with state != Finished
if (!table.isTournament()) { if (!table.isTournament()) {
int humanPlayers = 0;
int aiPlayers = 0;
int validHumanPlayers = 0;
if (!(table.getState() == TableState.WAITING || table.getState() == TableState.STARTING || table.getState() == TableState.READY_TO_START)) { if (!(table.getState() == TableState.WAITING || table.getState() == TableState.STARTING || table.getState() == TableState.READY_TO_START)) {
if (match == null) { if (match == null) {
logger.debug("- Match table with no match:"); logger.debug("- Match table with no match:");
@ -927,6 +924,9 @@ public class TableController {
} }
} }
// check for active players // check for active players
int validHumanPlayers = 0;
int aiPlayers = 0;
int humanPlayers = 0;
for (Map.Entry<UUID, UUID> userPlayerEntry : userPlayerMap.entrySet()) { for (Map.Entry<UUID, UUID> userPlayerEntry : userPlayerMap.entrySet()) {
MatchPlayer matchPlayer = match.getPlayer(userPlayerEntry.getValue()); MatchPlayer matchPlayer = match.getPlayer(userPlayerEntry.getValue());
if (matchPlayer == null) { if (matchPlayer == null) {

View file

@ -55,9 +55,8 @@ public class CubeFactory {
public DraftCube createDraftCube(String draftCubeName) { public DraftCube createDraftCube(String draftCubeName) {
DraftCube draftCube; DraftCube draftCube;
Constructor<?> con;
try { try {
con = draftCubes.get(draftCubeName).getConstructor(); Constructor<?> con = draftCubes.get(draftCubeName).getConstructor();
draftCube = (DraftCube)con.newInstance(); draftCube = (DraftCube)con.newInstance();
} catch (Exception ex) { } catch (Exception ex) {
logger.fatal("CubeFactory error", ex); logger.fatal("CubeFactory error", ex);
@ -71,9 +70,8 @@ public class CubeFactory {
public DraftCube createDeckDraftCube(String draftCubeName, Deck cubeFromDeck) { public DraftCube createDeckDraftCube(String draftCubeName, Deck cubeFromDeck) {
DraftCube draftCube; DraftCube draftCube;
Constructor<?> con;
try { try {
con = draftCubes.get(draftCubeName).getConstructor(Deck.class); Constructor<?> con = draftCubes.get(draftCubeName).getConstructor(Deck.class);
draftCube = (DraftCube)con.newInstance(cubeFromDeck); draftCube = (DraftCube)con.newInstance(cubeFromDeck);
} catch (Exception ex) { } catch (Exception ex) {
logger.fatal("CubeFactory error", ex); logger.fatal("CubeFactory error", ex);

View file

@ -55,9 +55,8 @@ public class DeckValidatorFactory {
public DeckValidator createDeckValidator(String deckType) { public DeckValidator createDeckValidator(String deckType) {
DeckValidator validator; DeckValidator validator;
Constructor<?> con;
try { try {
con = deckTypes.get(deckType).getConstructor(); Constructor<?> con = deckTypes.get(deckType).getConstructor();
validator = (DeckValidator)con.newInstance(); validator = (DeckValidator)con.newInstance();
} catch (Exception ex) { } catch (Exception ex) {
logger.fatal("DeckValidatorFactory error", ex); logger.fatal("DeckValidatorFactory error", ex);

View file

@ -621,9 +621,8 @@ public class GameController implements GameCallback {
} }
public void cheat(UUID userId, UUID playerId, DeckCardLists deckList) { public void cheat(UUID userId, UUID playerId, DeckCardLists deckList) {
Deck deck;
try { try {
deck = Deck.load(deckList, false, false); Deck deck = Deck.load(deckList, false, false);
game.loadCards(deck.getCards(), playerId); game.loadCards(deck.getCards(), playerId);
for (Card card : deck.getCards()) { for (Card card : deck.getCards()) {
card.putOntoBattlefield(game, Zone.OUTSIDE, null, playerId); card.putOntoBattlefield(game, Zone.OUTSIDE, null, playerId);

View file

@ -62,9 +62,8 @@ public class GameFactory {
public Match createMatch(String gameType, MatchOptions options) { public Match createMatch(String gameType, MatchOptions options) {
Match match; Match match;
Constructor<Match> con;
try { try {
con = games.get(gameType).getConstructor(MatchOptions.class); Constructor<Match> con = games.get(gameType).getConstructor(MatchOptions.class);
match = con.newInstance(options); match = con.newInstance(options);
} catch (Exception ex) { } catch (Exception ex) {
logger.fatal("Error creating match - " + gameType, ex); logger.fatal("Error creating match - " + gameType, ex);

View file

@ -29,7 +29,6 @@ package mage.server.game;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator; import java.util.Comparator;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
@ -89,10 +88,10 @@ public class GamesRoomImpl extends RoomImpl implements GamesRoom, Serializable {
} }
private void update() { private void update() {
ArrayList<TableView> tableList = new ArrayList<>();
ArrayList<MatchView> matchList = new ArrayList<>();
List<Table> allTables = new ArrayList<>(tables.values()); List<Table> allTables = new ArrayList<>(tables.values());
allTables.sort(new TableListSorter()); allTables.sort(new TableListSorter());
ArrayList<MatchView> matchList = new ArrayList<>();
ArrayList<TableView> tableList = new ArrayList<>();
for (Table table : allTables) { for (Table table : allTables) {
if (table.getState() != TableState.FINISHED) { if (table.getState() != TableState.FINISHED) {
tableList.add(new TableView(table)); tableList.add(new TableView(table));

View file

@ -54,13 +54,11 @@ public class PlayerFactory {
private PlayerFactory() {} private PlayerFactory() {}
public Player createPlayer(String playerType, String name, RangeOfInfluence range, int skill) { public Player createPlayer(String playerType, String name, RangeOfInfluence range, int skill) {
Player player;
Constructor<?> con;
try { try {
Class playerTypeClass = playerTypes.get(playerType); Class playerTypeClass = playerTypes.get(playerType);
if (playerTypeClass != null) { if (playerTypeClass != null) {
con = playerTypeClass.getConstructor(String.class, RangeOfInfluence.class, int.class); Constructor<?> con = playerTypeClass.getConstructor(String.class, RangeOfInfluence.class, int.class);
player = (Player)con.newInstance(name, range, skill); Player player = (Player) con.newInstance(name, range, skill);
logger.trace("Player created: " + name + " - " + player.getId()); logger.trace("Player created: " + name + " - " + player.getId());
return player; return player;
} }

View file

@ -33,7 +33,6 @@ import java.util.UUID;
import mage.game.Game; import mage.game.Game;
import mage.game.GameState; import mage.game.GameState;
import mage.interfaces.callback.ClientCallback; import mage.interfaces.callback.ClientCallback;
import mage.server.User;
import mage.server.UserManager; import mage.server.UserManager;
import mage.view.GameView; import mage.view.GameView;

View file

@ -418,10 +418,10 @@ public class TournamentController {
} }
// replace player that quits with draft bot // replace player that quits with draft bot
if (humans > 1) { if (humans > 1) {
String replacePlayerName = "Draftbot";
Optional<User> user = UserManager.getInstance().getUser(userId); Optional<User> user = UserManager.getInstance().getUser(userId);
TableController tableController = TableManager.getInstance().getController(tableId); TableController tableController = TableManager.getInstance().getController(tableId);
if (tableController != null) { if (tableController != null) {
String replacePlayerName = "Draftbot";
if (user.isPresent()) { if (user.isPresent()) {
replacePlayerName = "Draftbot (" + user.get().getName() + ')'; replacePlayerName = "Draftbot (" + user.get().getName() + ')';
} }

View file

@ -64,9 +64,8 @@ public class TournamentFactory {
public Tournament createTournament(String tournamentType, TournamentOptions options) { public Tournament createTournament(String tournamentType, TournamentOptions options) {
Tournament tournament; Tournament tournament;
Constructor<Tournament> con;
try { try {
con = tournaments.get(tournamentType).getConstructor(TournamentOptions.class); Constructor<Tournament> con = tournaments.get(tournamentType).getConstructor(TournamentOptions.class);
tournament = con.newInstance(options); tournament = con.newInstance(options);
// transfer set information, create short info string for included sets // transfer set information, create short info string for included sets
tournament.setTournamentType(tournamentTypes.get(tournamentType)); tournament.setTournamentType(tournamentTypes.get(tournamentType));

View file

@ -45,7 +45,6 @@ public class SystemUtil {
public static void addCardsForTesting(Game game) { public static void addCardsForTesting(Game game) {
try { try {
File f = new File(INIT_FILE_PATH); File f = new File(INIT_FILE_PATH);
Pattern pattern = Pattern.compile("([a-zA-Z]+):([\\w]+):([a-zA-Z ,\\/\\-.!'\\d:]+?):(\\d+)");
if (!f.exists()) { if (!f.exists()) {
logger.warn("Couldn't find init file: " + INIT_FILE_PATH); logger.warn("Couldn't find init file: " + INIT_FILE_PATH);
return; return;
@ -54,6 +53,7 @@ public class SystemUtil {
logger.info("Parsing init.txt... "); logger.info("Parsing init.txt... ");
try (Scanner scanner = new Scanner(f)) { try (Scanner scanner = new Scanner(f)) {
Pattern pattern = Pattern.compile("([a-zA-Z]+):([\\w]+):([a-zA-Z ,\\/\\-.!'\\d:]+?):(\\d+)");
while (scanner.hasNextLine()) { while (scanner.hasNextLine()) {
String line = scanner.nextLine().trim(); String line = scanner.nextLine().trim();
if (line.isEmpty() || line.startsWith("#")) { if (line.isEmpty() || line.startsWith("#")) {