From e482e494f8e580eb0528ae4ba0fba8fd1eb49902 Mon Sep 17 00:00:00 2001 From: EpicKnarvik97 Date: Sat, 7 Sep 2024 01:27:00 +0200 Subject: [PATCH] Fixes some warnings --- pom.xml | 2 +- .../BooksWithoutBorders.java | 9 ++++---- .../command/CommandSave.java | 5 ++-- .../config/BooksWithoutBordersConfig.java | 3 ++- .../bookswithoutborders/encryption/AES.java | 23 +++++++++++-------- .../encryption/GenenCrypt.java | 4 ++-- .../encryption/SubstitutionCipher.java | 4 ++-- .../listener/BookshelfListener.java | 3 ++- .../listener/SignEventListener.java | 2 +- .../utility/BookToFromTextHelper.java | 8 ++++--- .../utility/EncryptionHelper.java | 11 ++++----- .../encryption/AESTest.java | 6 ++--- 12 files changed, 44 insertions(+), 36 deletions(-) diff --git a/pom.xml b/pom.xml index e9b9d33..ad732c8 100644 --- a/pom.xml +++ b/pom.xml @@ -143,7 +143,7 @@ junit junit - 4.13.1 + 4.13.2 test diff --git a/src/main/java/net/knarcraft/bookswithoutborders/BooksWithoutBorders.java b/src/main/java/net/knarcraft/bookswithoutborders/BooksWithoutBorders.java index dc6140b..8db43ce 100644 --- a/src/main/java/net/knarcraft/bookswithoutborders/BooksWithoutBorders.java +++ b/src/main/java/net/knarcraft/bookswithoutborders/BooksWithoutBorders.java @@ -46,6 +46,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.UUID; +import java.util.logging.Level; import static net.knarcraft.bookswithoutborders.config.BooksWithoutBordersConfig.getBookFolder; import static net.knarcraft.bookswithoutborders.config.BooksWithoutBordersConfig.getErrorColor; @@ -244,8 +245,8 @@ public class BooksWithoutBorders extends JavaPlugin { sendErrorMessage(consoleSender, "Saving failed! Aborting..."); return false; } - } catch (Exception e) { - e.printStackTrace(); + } catch (Exception exception) { + BooksWithoutBorders.getInstance().getLogger().log(Level.SEVERE, "Unable to create necessary folders"); return false; } } @@ -255,8 +256,8 @@ public class BooksWithoutBorders extends JavaPlugin { sendErrorMessage(consoleSender, "Saving failed! Aborting..."); return false; } - } catch (Exception e) { - e.printStackTrace(); + } catch (Exception exception) { + BooksWithoutBorders.getInstance().getLogger().log(Level.SEVERE, "Unable to create necessary folders"); return false; } } diff --git a/src/main/java/net/knarcraft/bookswithoutborders/command/CommandSave.java b/src/main/java/net/knarcraft/bookswithoutborders/command/CommandSave.java index 9205d8f..3b63887 100644 --- a/src/main/java/net/knarcraft/bookswithoutborders/command/CommandSave.java +++ b/src/main/java/net/knarcraft/bookswithoutborders/command/CommandSave.java @@ -20,6 +20,7 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; +import java.util.logging.Level; import static net.knarcraft.bookswithoutborders.config.BooksWithoutBordersConfig.getCommandColor; import static net.knarcraft.bookswithoutborders.config.BooksWithoutBordersConfig.getErrorColor; @@ -142,8 +143,8 @@ public class CommandSave implements TabExecutor { //Update the relevant book list BooksWithoutBorders.updateBooks(player, saveToPublicFolder); BooksWithoutBorders.sendSuccessMessage(player, "Book Saved as \"" + fileName + "\""); - } catch (IOException e) { - e.printStackTrace(); + } catch (IOException exception) { + BooksWithoutBorders.getInstance().getLogger().log(Level.SEVERE, "Unable to save book"); } } diff --git a/src/main/java/net/knarcraft/bookswithoutborders/config/BooksWithoutBordersConfig.java b/src/main/java/net/knarcraft/bookswithoutborders/config/BooksWithoutBordersConfig.java index 06ba658..e332d34 100644 --- a/src/main/java/net/knarcraft/bookswithoutborders/config/BooksWithoutBordersConfig.java +++ b/src/main/java/net/knarcraft/bookswithoutborders/config/BooksWithoutBordersConfig.java @@ -7,6 +7,7 @@ import org.bukkit.Material; import org.bukkit.command.ConsoleCommandSender; import org.bukkit.configuration.Configuration; +import java.nio.file.FileSystems; import java.util.ArrayList; import java.util.List; @@ -22,7 +23,7 @@ public class BooksWithoutBordersConfig { private static final ChatColor errorColor = ChatColor.RED; private static final ChatColor successColor = ChatColor.GREEN; private static final ChatColor commandColor = ChatColor.YELLOW; - private static final String SLASH = System.getProperty("file.separator"); + private static final String SLASH = FileSystems.getDefault().getSeparator(); private static boolean isInitialized; public static String bookFolder; diff --git a/src/main/java/net/knarcraft/bookswithoutborders/encryption/AES.java b/src/main/java/net/knarcraft/bookswithoutborders/encryption/AES.java index 833a1b2..6b3e484 100644 --- a/src/main/java/net/knarcraft/bookswithoutborders/encryption/AES.java +++ b/src/main/java/net/knarcraft/bookswithoutborders/encryption/AES.java @@ -1,5 +1,7 @@ package net.knarcraft.bookswithoutborders.encryption; +import net.knarcraft.bookswithoutborders.BooksWithoutBorders; + import javax.crypto.BadPaddingException; import javax.crypto.Cipher; import javax.crypto.IllegalBlockSizeException; @@ -15,6 +17,7 @@ import java.security.NoSuchAlgorithmException; import java.security.SecureRandom; import java.security.spec.InvalidKeySpecException; import java.util.Base64; +import java.util.logging.Level; /** * This class represents and AES encryptor/decryptor @@ -66,16 +69,16 @@ public class AES { //Initialize cipher try { aes.init(mode, secretKeySpec, ivParameterSpec); - } catch (InvalidKeyException | InvalidAlgorithmParameterException e) { - e.printStackTrace(); + } catch (InvalidKeyException | InvalidAlgorithmParameterException exception) { + BooksWithoutBorders.getInstance().getLogger().log(Level.SEVERE, "Invalid AES input given!"); return null; } //Perform encryption/decryption and output result try { byte[] output = aes.doFinal(getInputBytes(input, encrypt)); return createResult(output, encrypt); - } catch (IllegalBlockSizeException | BadPaddingException e) { - e.printStackTrace(); + } catch (IllegalBlockSizeException | BadPaddingException exception) { + BooksWithoutBorders.getInstance().getLogger().log(Level.SEVERE, "Invalid AES block size or padding"); return null; } } @@ -131,8 +134,8 @@ public class AES { Cipher aes; try { aes = Cipher.getInstance("AES/CBC/PKCS5Padding"); - } catch (NoSuchAlgorithmException | NoSuchPaddingException e) { - e.printStackTrace(); + } catch (NoSuchAlgorithmException | NoSuchPaddingException exception) { + BooksWithoutBorders.getInstance().getLogger().log(Level.SEVERE, "Invalid AES algorithm or padding"); return null; } return aes; @@ -149,15 +152,15 @@ public class AES { SecretKeyFactory keyFactory; try { keyFactory = SecretKeyFactory.getInstance("PBKDF2WithHmacSHA256"); - } catch (NoSuchAlgorithmException e) { - e.printStackTrace(); + } catch (NoSuchAlgorithmException exception) { + BooksWithoutBorders.getInstance().getLogger().log(Level.SEVERE, "Invalid AES algorithm"); return null; } SecretKey tmp; try { tmp = keyFactory.generateSecret(spec); - } catch (InvalidKeySpecException e) { - e.printStackTrace(); + } catch (InvalidKeySpecException exception) { + BooksWithoutBorders.getInstance().getLogger().log(Level.SEVERE, "Invalid AES key specification"); return null; } return new SecretKeySpec(tmp.getEncoded(), "AES"); diff --git a/src/main/java/net/knarcraft/bookswithoutborders/encryption/GenenCrypt.java b/src/main/java/net/knarcraft/bookswithoutborders/encryption/GenenCrypt.java index 92a095d..cc79e21 100644 --- a/src/main/java/net/knarcraft/bookswithoutborders/encryption/GenenCrypt.java +++ b/src/main/java/net/knarcraft/bookswithoutborders/encryption/GenenCrypt.java @@ -33,7 +33,7 @@ public class GenenCrypt { for (int j = 0; j < 4; j++) { for (int k = 0; k < 4; k++) { for (int l = 0; l < 4; l++) { - originalCodonList.add("" + bases[i] + bases[j] + bases[k] + bases[l]); + originalCodonList.add(bases[i] + bases[j] + bases[k] + bases[l]); } } } @@ -49,7 +49,7 @@ public class GenenCrypt { // use the random number generator and the originalCodonList to make a shuffled list ArrayList shuffledCodonList = new ArrayList<>(); - while (originalCodonList.size() > 0) { + while (!originalCodonList.isEmpty()) { int index = ranGen.nextInt(originalCodonList.size()); shuffledCodonList.add(originalCodonList.get(index)); originalCodonList.remove(index); diff --git a/src/main/java/net/knarcraft/bookswithoutborders/encryption/SubstitutionCipher.java b/src/main/java/net/knarcraft/bookswithoutborders/encryption/SubstitutionCipher.java index 61567b4..a243b5d 100644 --- a/src/main/java/net/knarcraft/bookswithoutborders/encryption/SubstitutionCipher.java +++ b/src/main/java/net/knarcraft/bookswithoutborders/encryption/SubstitutionCipher.java @@ -19,7 +19,7 @@ public class SubstitutionCipher { // original message is offset by public String encrypt(String in, String key) { StringBuilder output = new StringBuilder(); - if (key != null && key.length() > 0) { + if (key != null && !key.isEmpty()) { StringTokenizer tokenizer = new StringTokenizer(key, ", "); // tokenizes the key // converts each number in the key to an integer and adds to an array int[] offsetArray = new int[tokenizer.countTokens()]; @@ -55,7 +55,7 @@ public class SubstitutionCipher { @SuppressWarnings("unused") public String decrypt(String in, String key) { StringBuilder output = new StringBuilder(); - if (key != null && key.length() > 0) { + if (key != null && !key.isEmpty()) { StringTokenizer tokenizer = new StringTokenizer(key, ", "); // tokenizes the key // converts each number in the key to an integer and adds to an array int[] offsetArray = new int[tokenizer.countTokens()]; diff --git a/src/main/java/net/knarcraft/bookswithoutborders/listener/BookshelfListener.java b/src/main/java/net/knarcraft/bookswithoutborders/listener/BookshelfListener.java index ecb1d7f..0e639fe 100644 --- a/src/main/java/net/knarcraft/bookswithoutborders/listener/BookshelfListener.java +++ b/src/main/java/net/knarcraft/bookswithoutborders/listener/BookshelfListener.java @@ -33,7 +33,8 @@ public class BookshelfListener implements Listener { Player player = event.getPlayer(); // If left-clicking a chiseled bookshelf and sneaking, display contents - if (!event.hasBlock() || !(event.getClickedBlock().getState() instanceof ChiseledBookshelf chiseledBookshelf) || + if (!event.hasBlock() || event.getClickedBlock() == null || + !(event.getClickedBlock().getState() instanceof ChiseledBookshelf chiseledBookshelf) || event.getAction() != Action.LEFT_CLICK_BLOCK || !player.isSneaking()) { return; } diff --git a/src/main/java/net/knarcraft/bookswithoutborders/listener/SignEventListener.java b/src/main/java/net/knarcraft/bookswithoutborders/listener/SignEventListener.java index d46225c..5029a15 100644 --- a/src/main/java/net/knarcraft/bookswithoutborders/listener/SignEventListener.java +++ b/src/main/java/net/knarcraft/bookswithoutborders/listener/SignEventListener.java @@ -57,7 +57,7 @@ public class SignEventListener implements Listener { //Check if the sign is of a valid type if (!((lines[1].equalsIgnoreCase("[Encrypt]") || lines[1].equalsIgnoreCase("[Decrypt]") || - lines[1].equalsIgnoreCase("[Give]")) && lines[2].trim().length() > 0)) { + lines[1].equalsIgnoreCase("[Give]")) && !lines[2].trim().isEmpty())) { //Mark the second line as invalid event.setLine(1, ChatColor.DARK_RED + lines[1]); return; diff --git a/src/main/java/net/knarcraft/bookswithoutborders/utility/BookToFromTextHelper.java b/src/main/java/net/knarcraft/bookswithoutborders/utility/BookToFromTextHelper.java index f0dcc01..3f98c0c 100644 --- a/src/main/java/net/knarcraft/bookswithoutborders/utility/BookToFromTextHelper.java +++ b/src/main/java/net/knarcraft/bookswithoutborders/utility/BookToFromTextHelper.java @@ -1,5 +1,6 @@ package net.knarcraft.bookswithoutborders.utility; +import net.knarcraft.bookswithoutborders.BooksWithoutBorders; import net.knarcraft.bookswithoutborders.config.BooksWithoutBordersConfig; import net.knarcraft.knarlib.util.FileHelper; import org.bukkit.configuration.file.FileConfiguration; @@ -15,6 +16,7 @@ import java.io.PrintWriter; import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.List; +import java.util.logging.Level; import static net.knarcraft.bookswithoutborders.utility.BookHelper.authorFromUUID; import static net.knarcraft.bookswithoutborders.utility.InputCleaningHelper.fixName; @@ -157,13 +159,13 @@ public final class BookToFromTextHelper { List rawPages; try { rawPages = readTextFile(file); - } catch (IOException e) { - e.printStackTrace(); + } catch (IOException exception) { + BooksWithoutBorders.getInstance().getLogger().log(Level.SEVERE, "Unable to read text file"); return null; } //Parse the generation from the book data - if (rawPages != null && rawPages.size() > 0 && rawPages.get(0).startsWith("Generation:")) { + if (rawPages != null && !rawPages.isEmpty() && rawPages.get(0).startsWith("Generation:")) { bookMetadata.setGeneration(BookMeta.Generation.valueOf(rawPages.get(0).split(":")[1])); rawPages.remove(0); } diff --git a/src/main/java/net/knarcraft/bookswithoutborders/utility/EncryptionHelper.java b/src/main/java/net/knarcraft/bookswithoutborders/utility/EncryptionHelper.java index 819908e..e434d59 100644 --- a/src/main/java/net/knarcraft/bookswithoutborders/utility/EncryptionHelper.java +++ b/src/main/java/net/knarcraft/bookswithoutborders/utility/EncryptionHelper.java @@ -16,6 +16,7 @@ import java.io.File; import java.io.IOException; import java.util.ArrayList; import java.util.List; +import java.util.logging.Level; import static net.knarcraft.bookswithoutborders.config.BooksWithoutBordersConfig.getBookFolder; import static net.knarcraft.bookswithoutborders.config.BooksWithoutBordersConfig.getSlash; @@ -255,8 +256,8 @@ public final class EncryptionHelper { BooksWithoutBorders.sendErrorMessage(BooksWithoutBorders.getConsoleSender(), "Unable to create encryption group folder!"); return null; } - } catch (Exception e) { - e.printStackTrace(); + } catch (Exception exception) { + BooksWithoutBorders.getInstance().getLogger().log(Level.SEVERE, "Unable to save group encrypted book"); return null; } } @@ -279,8 +280,7 @@ public final class EncryptionHelper { if (!file.isFile()) { try { BookToFromTextHelper.bookToYml(path, fileName, bookMetadata); - } catch (IOException e) { - e.printStackTrace(); + } catch (IOException exception) { BooksWithoutBorders.sendErrorMessage(player, "Group encrypted failed!"); return null; } @@ -312,8 +312,7 @@ public final class EncryptionHelper { try { BookToFromTextHelper.bookToYml(path, fileName, bookMetaData); - } catch (IOException e) { - e.printStackTrace(); + } catch (IOException exception) { BooksWithoutBorders.sendErrorMessage(player, "Encryption failed!"); return false; } diff --git a/src/test/java/net/knarcraft/bookswithoutborders/encryption/AESTest.java b/src/test/java/net/knarcraft/bookswithoutborders/encryption/AESTest.java index 963d31e..3340de7 100644 --- a/src/test/java/net/knarcraft/bookswithoutborders/encryption/AESTest.java +++ b/src/test/java/net/knarcraft/bookswithoutborders/encryption/AESTest.java @@ -1,9 +1,9 @@ package net.knarcraft.bookswithoutborders.encryption; -import junit.framework.Assert; import org.junit.Test; -import static junit.framework.Assert.assertEquals; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotSame; public class AESTest { @@ -15,7 +15,7 @@ public class AESTest { AES aes = new AES(AES.generateIV(), AES.generateIV()); String encrypted = aes.encryptDecryptText(plainText, password, true); - Assert.assertNotSame(encrypted, plainText); + assertNotSame(encrypted, plainText); String decrypted = aes.encryptDecryptText(encrypted, password, false); assertEquals(plainText, decrypted); }