From ced54c6157a60452b8d639f3c1186530f178c2dc Mon Sep 17 00:00:00 2001 From: Max Wittig <max.wittig95@gmail.com> Date: Fri, 28 Oct 2016 00:01:35 +0200 Subject: [PATCH] added config for stop using the same location strings over and over --- src/de/bricked/game/Config.java | 14 ++++++++++++++ src/de/bricked/game/levels/LevelPackHandler.java | 10 +++++----- src/de/bricked/game/settings/Settings.java | 8 ++++---- src/de/bricked/game/sound/SoundHandler.java | 3 ++- src/de/bricked/utils/Downloader.java | 15 ++------------- src/de/bricked/utils/FileUtils.java | 2 +- 6 files changed, 28 insertions(+), 24 deletions(-) create mode 100644 src/de/bricked/game/Config.java diff --git a/src/de/bricked/game/Config.java b/src/de/bricked/game/Config.java new file mode 100644 index 0000000..138f2d6 --- /dev/null +++ b/src/de/bricked/game/Config.java @@ -0,0 +1,14 @@ +package de.bricked.game; + +import tools.PathUtils; + +public class Config +{ + public final static String FILESYSTEM_ROOT_DIR = PathUtils.getOSindependentPath()+"/deadspaghetti/bricked/"; + public final static String FILESYSTEM_LEVELPACK_SAVEDIR = FILESYSTEM_ROOT_DIR+"levelpacks/"; + + public final static String JAR_ROOT_DIR = "/de/bricked/resources/"; + public final static String JAR_LEVELPACK_SAVEDIR = JAR_ROOT_DIR+"levelpacks/"; + public final static String JAR_SOUND_SAVEDIR = JAR_ROOT_DIR + "sounds/"; + +} diff --git a/src/de/bricked/game/levels/LevelPackHandler.java b/src/de/bricked/game/levels/LevelPackHandler.java index 216f162..dc27b33 100644 --- a/src/de/bricked/game/levels/LevelPackHandler.java +++ b/src/de/bricked/game/levels/LevelPackHandler.java @@ -1,5 +1,6 @@ package de.bricked.game.levels; +import de.bricked.game.Config; import de.bricked.utils.FileUtils; import tools.PathUtils; @@ -12,7 +13,6 @@ import java.util.Comparator; public class LevelPackHandler { - private static final String directory = "/de/bricked/resources/levelpacks/"; private static final String DEFAULT_PACKAGE_NAME = "default"; private static ArrayList<LevelPack> sort(ArrayList<LevelPack> levelPackArrayList) @@ -60,11 +60,11 @@ public class LevelPackHandler ArrayList<String> stringArrayList = new ArrayList<>(); try { - String text = FileUtils.getFileContentFromJar(directory+"files.txt"); + String text = FileUtils.getFileContentFromJar(Config.JAR_LEVELPACK_SAVEDIR+"files.txt"); String[] filenamesArray = text.split(" "); for(String filename : filenamesArray) { - stringArrayList.add(FileUtils.getFileContentFromJar(directory + filename)); + stringArrayList.add(FileUtils.getFileContentFromJar(Config.JAR_LEVELPACK_SAVEDIR + filename)); } } @@ -77,9 +77,9 @@ public class LevelPackHandler private static ArrayList<String> getFileContentFromUserDir() { - PathUtils.checkFolder(PathUtils.getOSindependentPath().toFile()); + File folder = new File(Config.FILESYSTEM_LEVELPACK_SAVEDIR); + PathUtils.checkFolder(folder); ArrayList<String> stringContent = new ArrayList<>(); - File folder = new File(PathUtils.getOSindependentPath().toFile(), "deadspaghetti/bricked/levelpacks/"); File[] files = folder.listFiles(); if(files == null) { diff --git a/src/de/bricked/game/settings/Settings.java b/src/de/bricked/game/settings/Settings.java index 40e07b1..3c571c5 100644 --- a/src/de/bricked/game/settings/Settings.java +++ b/src/de/bricked/game/settings/Settings.java @@ -1,5 +1,6 @@ package de.bricked.game.settings; import com.google.gson.Gson; +import de.bricked.game.Config; import logger.LogLevel; import logger.Logger; import tools.PathUtils; @@ -15,7 +16,6 @@ public class Settings private String language; //TODO change this to lanugage class maybe? private double volume; private boolean muted; - private transient final String directory = "/deadspaghetti/bricked/"; private transient final String filename = "settings.json"; private transient Gson gson; private transient File file; @@ -23,8 +23,8 @@ public class Settings public Settings() { gson = new Gson(); - PathUtils.checkFolder(new File(PathUtils.getOSindependentPath() + directory)); - file = new File(PathUtils.getOSindependentPath() + directory + filename); + PathUtils.checkFolder(new File(Config.FILESYSTEM_ROOT_DIR)); + file = new File(Config.FILESYSTEM_ROOT_DIR + filename); initDefaultSettings(); } @@ -56,7 +56,7 @@ public class Settings { try { - String jsonContent = new String(Files.readAllBytes(FileSystems.getDefault().getPath(PathUtils.getOSindependentPath().toAbsolutePath() + directory + filename))); + String jsonContent = new String(Files.readAllBytes(FileSystems.getDefault().getPath(Config.FILESYSTEM_ROOT_DIR + filename))); System.out.println(jsonContent); Settings loadedSettings = gson.fromJson(jsonContent, Settings.class); this.gameSize = loadedSettings.gameSize; diff --git a/src/de/bricked/game/sound/SoundHandler.java b/src/de/bricked/game/sound/SoundHandler.java index f666114..9e8f4df 100644 --- a/src/de/bricked/game/sound/SoundHandler.java +++ b/src/de/bricked/game/sound/SoundHandler.java @@ -3,6 +3,7 @@ package de.bricked.game.sound; import java.net.MalformedURLException; import java.net.URISyntaxException; +import de.bricked.game.Config; import javafx.scene.media.Media; import javafx.scene.media.MediaPlayer; import logger.LogLevel; @@ -25,7 +26,7 @@ public class SoundHandler { try { - String path = SoundHandler.class.getResource("/de/bricked/resources/sounds/" + soundID + ".mp3").toURI().toURL().toString(); + String path = SoundHandler.class.getResource(Config.JAR_SOUND_SAVEDIR + soundID + ".mp3").toURI().toURL().toString(); Media sound = new Media(path); MediaPlayer mediaPlayer = new MediaPlayer(sound); mediaPlayer.setVolume(volume); diff --git a/src/de/bricked/utils/Downloader.java b/src/de/bricked/utils/Downloader.java index 0c6f65c..bd0a608 100644 --- a/src/de/bricked/utils/Downloader.java +++ b/src/de/bricked/utils/Downloader.java @@ -1,27 +1,16 @@ package de.bricked.utils; +import de.bricked.game.Config; import de.bricked.game.levels.LevelPack; import de.bricked.game.levels.LevelPackParser; -import tools.PathUtils; - -import java.io.File; import java.io.FileWriter; -import java.nio.file.Paths; public class Downloader { private LevelPack levelPack; private LevelPackParser levelPackParser; private String downloadedString = ""; - private String outDir; - private String dirname = "/deadspaghetti/bricked/levelpacks/"; - - public Downloader() - { - outDir = PathUtils.getOSindependentPath()+dirname; - PathUtils.checkFolder(new File(outDir)); - } public void download(String url) { @@ -35,7 +24,7 @@ public class Downloader { try { - FileWriter fileWriter = new FileWriter(outDir+getPackName()+".json"); + FileWriter fileWriter = new FileWriter(Config.FILESYSTEM_LEVELPACK_SAVEDIR +getPackName()+".json"); fileWriter.write(downloadedString); fileWriter.flush(); fileWriter.close(); diff --git a/src/de/bricked/utils/FileUtils.java b/src/de/bricked/utils/FileUtils.java index accdf3c..e748c31 100644 --- a/src/de/bricked/utils/FileUtils.java +++ b/src/de/bricked/utils/FileUtils.java @@ -4,6 +4,7 @@ package de.bricked.utils; import de.bricked.game.levels.LevelPackHandler; import logger.LogLevel; import logger.Logger; +import tools.PathUtils; import java.io.BufferedInputStream; import java.io.BufferedReader; @@ -13,7 +14,6 @@ import java.net.URL; public class FileUtils { - private static String getContentsFromInputStream(InputStream inputStream) throws Exception { BufferedInputStream bufferedInputStream = new BufferedInputStream(inputStream); -- GitLab