From 6cf5a03186fe4556dd1e85b4c72d5d0e96af4d87 Mon Sep 17 00:00:00 2001 From: Matthew Cech Date: Fri, 24 May 2019 02:01:28 -0700 Subject: [PATCH] = Updated naming and created base class stub for kv pair file --- src/core/BaseKeyValueFile.java | 6 ++++++ src/core/{LocBase.java => BaseLocFile.java} | 4 ++-- src/core/CommandEnabler.java | 9 +++++++-- src/core/LocCommands.java | 2 +- src/core/LocStrings.java | 2 +- src/core/Settings.java | 5 +++++ src/utils/FileUtils.java | 9 +++++++++ src/utils/GlobalLog.java | 6 +++++- 8 files changed, 36 insertions(+), 7 deletions(-) create mode 100644 src/core/BaseKeyValueFile.java rename src/core/{LocBase.java => BaseLocFile.java} (98%) create mode 100644 src/core/Settings.java diff --git a/src/core/BaseKeyValueFile.java b/src/core/BaseKeyValueFile.java new file mode 100644 index 0000000..febb891 --- /dev/null +++ b/src/core/BaseKeyValueFile.java @@ -0,0 +1,6 @@ +package core; + +public class BaseKeyValueFile +{ + +} diff --git a/src/core/LocBase.java b/src/core/BaseLocFile.java similarity index 98% rename from src/core/LocBase.java rename to src/core/BaseLocFile.java index 15f6c8f..261eb16 100644 --- a/src/core/LocBase.java +++ b/src/core/BaseLocFile.java @@ -17,7 +17,7 @@ import utils.io.MonitoredFile; // A quick-and-dirty localization tool that scrapes the project for calls to itself, then // generates/updates a file externally with all the stub values as keys that are localized. -public abstract class LocBase +public abstract class BaseLocFile { // Pre-defined values public static final String KittySourceDirectory = "./src"; @@ -38,7 +38,7 @@ public abstract class LocBase protected FileMonitor fileMonitor; // Ok... so this is an array because if it's not an array, the parser will parse the string - public LocBase(String filename, String functionName) + public BaseLocFile(String filename, String functionName) { this.filename = filename; this.functionName = functionName; diff --git a/src/core/CommandEnabler.java b/src/core/CommandEnabler.java index e39eed3..3e78bd6 100644 --- a/src/core/CommandEnabler.java +++ b/src/core/CommandEnabler.java @@ -15,10 +15,11 @@ import utils.LogFilter; // commands that are being looked up will behave slightly differently so trimming // rules for this file are different than the localization ones - this is more // aggresive with whitespace removal. -public class CommandEnabler +public class CommandEnabler extends BaseKeyValueFile { // Config/const variables - public static final String header = "[CommandEnabler]"; // For consistency in files + public static final String headerStart = "["; + public static final String headerEnd = "]"; public static final String filename = "commands.config"; public static final String pairSplit = "="; public static final char pairSeparator = '\n'; @@ -29,13 +30,17 @@ public class CommandEnabler // Local variables private HashMap enabledMap; // Quick lookup private ArrayList keyList; // Tracking ordering for later + private final String header; public CommandEnabler() { + // Create/Init variables GlobalLog.Log(LogFilter.Core, "Initializing " + this.getClass().getSimpleName()); enabledMap = new HashMap<>(); keyList = new ArrayList<>(); + header = headerStart + this.getClass().getSimpleName() + headerEnd; + // Startup ReadIn(); GetTrackedCommands(); WriteOut(); diff --git a/src/core/LocCommands.java b/src/core/LocCommands.java index 7d75228..6d5b9bd 100644 --- a/src/core/LocCommands.java +++ b/src/core/LocCommands.java @@ -8,7 +8,7 @@ import dataStructures.Pair; // Performs the same localization for the strings associated with command names as // is performed with general strings in the application -public class LocCommands extends LocBase +public class LocCommands extends BaseLocFile { public static final String fileName = "locCommands.config"; public static final String function = "LocCommands.Stub"; diff --git a/src/core/LocStrings.java b/src/core/LocStrings.java index d4a0bd0..7b95573 100644 --- a/src/core/LocStrings.java +++ b/src/core/LocStrings.java @@ -7,7 +7,7 @@ import utils.io.FileMonitor; // A quick-and-dirty localization tool that scrapes the project for calls to itself, then // generates/updates a file externally (phrases.config) with all the stub values as keys that // can then be localized. -public class LocStrings extends LocBase +public class LocStrings extends BaseLocFile { public static final String fileName = "locStrings.config"; public static final String function = "LocStrings.Stub"; diff --git a/src/core/Settings.java b/src/core/Settings.java new file mode 100644 index 0000000..9ffdf42 --- /dev/null +++ b/src/core/Settings.java @@ -0,0 +1,5 @@ +package core; + +public class Settings { + +} diff --git a/src/utils/FileUtils.java b/src/utils/FileUtils.java index 97fe636..04ce890 100644 --- a/src/utils/FileUtils.java +++ b/src/utils/FileUtils.java @@ -11,6 +11,15 @@ import java.util.stream.Stream; public class FileUtils { + public static void CreateDirectoryIfDoesntExist(String directoryName) + { + File directory = new File(directoryName); + + if (! directory.exists()){ + directory.mkdir(); + } + } + // Reads all lines from a file as a string public static String ReadContent(File file) { return ReadContent(file.toPath()); } public static String ReadContent(Path filePath) diff --git a/src/utils/GlobalLog.java b/src/utils/GlobalLog.java index 5914d59..171bb03 100644 --- a/src/utils/GlobalLog.java +++ b/src/utils/GlobalLog.java @@ -9,6 +9,7 @@ import java.util.Date; public class GlobalLog { + private static final String directory = "logs/"; private static final String log = "Log"; private static final String warn = "Warning"; private static final String error = "ERROR"; @@ -19,7 +20,10 @@ public class GlobalLog { DateFormat dF = new SimpleDateFormat("yyyy_MM_dd_HH-mm"); Date today = new Date(); - outputLog = new PrintWriter((dF.format(today) + ".log"), "UTF-8"); + + FileUtils.CreateDirectoryIfDoesntExist(directory); + outputLog = new PrintWriter(directory + (dF.format(today) + ".log"), "UTF-8"); + GlobalLog.Log(LogFilter.Util, "Finished initializing logging system"); } private static void Write(String status, LogFilter filter, String body)