= Updated utils and logging subsystem formatting

This commit is contained in:
Matthew Cech
2019-06-19 22:14:13 -07:00
parent 5e531a19b7
commit 06317a4528
58 changed files with 205 additions and 202 deletions
+2 -2
View File
@@ -63,8 +63,8 @@ public class CommandBlurry extends Command
postProcessed = new File(name);
res.sendFile(postProcessed, "png");
ImageUtils.BlockingFileDelete(preProcessed);
ImageUtils.BlockingFileDelete(postProcessed);
ImageUtils.blockingFileDelete(preProcessed);
ImageUtils.blockingFileDelete(postProcessed);
}
private static void ApplySnap(BufferedImage image, String name) throws IOException
+1 -1
View File
@@ -42,7 +42,7 @@ public class CommandBoop extends Command
}
catch (NumberFormatException e)
{
GlobalLog.Warn(LogFilter.Command, "No valid value was found for boops! Starting over at 0!");
GlobalLog.warn(LogFilter.Command, "No valid value was found for boops! Starting over at 0!");
boops = 0;
markDirty();
}
+3 -3
View File
@@ -54,7 +54,7 @@ public class CommandCatch extends Command
catcheeFile = new File(catchFilename);
ImageOverlayBuilder builder = new ImageOverlayBuilder("assets/catch/frames/", "catch ", 92, 18);
builder.Overlay(ImageIO.read(catcheeFile), name);
builder.overlay(ImageIO.read(catcheeFile), name);
}
catch (IOException e)
{
@@ -65,7 +65,7 @@ public class CommandCatch extends Command
res.sendFile(catchFile, "gif");
// Thread cleanup...
ImageUtils.BlockingFileDelete(catchFile);
ImageUtils.BlockingFileDelete(catcheeFile);
ImageUtils.blockingFileDelete(catchFile);
ImageUtils.blockingFileDelete(catcheeFile);
}
}
+1 -1
View File
@@ -23,7 +23,7 @@ public class CommandColiru extends Command
return;
}
res.send(compiler.compileCPlus(input.args));
res.send(compiler.compileCPlusPlus(input.args));
}
}
+2 -2
View File
@@ -32,7 +32,7 @@ public class CommandColor extends Command
public void onRun(KittyGuild guild, KittyChannel channel, KittyUser user, UserInput input, Response res)
{
// First, try and parse out the color to make sure we can even get it.
ColorData colorData = theColorAPI.LookupHex(input.args.trim());
ColorData colorData = theColorAPI.lookupHex(input.args.trim());
// Verify the color was even found
if(colorData == null)
@@ -77,7 +77,7 @@ public class CommandColor extends Command
// Send then delete the temp local files
res.send(response);
ImageUtils.BlockingFileDelete(file);
ImageUtils.blockingFileDelete(file);
};
}
+2 -2
View File
@@ -63,13 +63,13 @@ public class CommandHelpBuilder extends Command {
}
catch (FileNotFoundException e)
{
GlobalLog.Error(e.toString());
GlobalLog.error(e.toString());
return;
}
File file = new File(filename);
res.sendFile(file, "txt");
ImageUtils.BlockingFileDelete(file);
ImageUtils.blockingFileDelete(file);
}
// Generates the section for a specific role, optionally adding spacing after for another section
+2 -2
View File
@@ -32,7 +32,7 @@ public class CommandLeaderboard extends Command
public void onRun(KittyGuild guild, KittyChannel channel, KittyUser user, UserInput input, Response res)
{
// Start by force-flushing. We need to be up-to-date.
GlobalLog.Log("Flushed database for " + DatabaseManager.instance.upkeep() + " items.");
GlobalLog.log("Flushed database for " + DatabaseManager.instance.upkeep() + " items.");
// Get all users associated with a guild and get their bean count
String guildID = guild.uniqueID;
@@ -74,7 +74,7 @@ public class CommandLeaderboard extends Command
return (int)difference;
});
GlobalLog.Log(LogFilter.Command, "Sorted through " + users.size() + " KittyUsers for leaderboard purposes.");
GlobalLog.log(LogFilter.Command, "Sorted through " + users.size() + " KittyUsers for leaderboard purposes.");
// Configure output
final int listSize = 10;
+3 -3
View File
@@ -43,18 +43,18 @@ public class CommandMap extends Command
{
OptionParser parser = new OptionParser(input.args);
String seedStr = parser.GetOption("-s", true);
String seedStr = parser.getOption("-s", true);
if(seedStr != null)
{
seed = Long.parseLong(seedStr);
hasSeed = true;
}
String widthStr = parser.GetOption("-w", true);
String widthStr = parser.getOption("-w", true);
if(widthStr != null)
width = ValidateSize(Integer.parseInt(widthStr), MaxWidth);
String heightStr = parser.GetOption("-h", true);
String heightStr = parser.getOption("-h", true);
if(heightStr != null)
height = ValidateSize(Integer.parseInt(heightStr), MaxHeight);
}
+2 -2
View File
@@ -69,8 +69,8 @@ public class CommandPerish extends Command
postProcessed = new File(name);
res.sendFile(postProcessed, "png");
ImageUtils.BlockingFileDelete(preProcessed);
ImageUtils.BlockingFileDelete(postProcessed);
ImageUtils.blockingFileDelete(preProcessed);
ImageUtils.blockingFileDelete(postProcessed);
}
private static void ApplyTintEffect(BufferedImage image, String name) throws IOException
+2 -2
View File
@@ -48,14 +48,14 @@ public class CommandShutdown extends Command
// Force upkeep, this works so long as upkeep is on the main thread.
res.sendImmediate(LocStrings.stub("ShutdownSafe"));
DatabaseManager.instance.upkeep();
GlobalLog.Warn(LogFilter.Command, LocStrings.lookup("ShutdownSafe"));
GlobalLog.warn(LogFilter.Command, LocStrings.lookup("ShutdownSafe"));
System.exit(0);
}
else
{
res.sendImmediate(LocStrings.stub("ShutdownUnsafe"));// "``");
GlobalLog.Warn(LogFilter.Command, LocStrings.lookup("ShutdownSafe"));
GlobalLog.warn(LogFilter.Command, LocStrings.lookup("ShutdownSafe"));
System.exit(0);
}
}
+2 -2
View File
@@ -63,8 +63,8 @@ public class CommandStark extends Command
postProcessed = new File(name);
res.sendFile(postProcessed, "png");
ImageUtils.BlockingFileDelete(preProcessed);
ImageUtils.BlockingFileDelete(postProcessed);
ImageUtils.blockingFileDelete(preProcessed);
ImageUtils.blockingFileDelete(postProcessed);
}
private static void ApplySnap(BufferedImage image, String name) throws IOException
+3 -3
View File
@@ -54,7 +54,7 @@ public class CommandTeey extends Command
teeyeeFile = new File(yeeteeFilename);
ImageOverlayBuilder builder = new ImageOverlayBuilder("assets/teey/frames/", "teey ", 24, 18);
builder.Overlay(ImageIO.read(teeyeeFile), name);
builder.overlay(ImageIO.read(teeyeeFile), name);
}
catch (IOException e)
{
@@ -65,7 +65,7 @@ public class CommandTeey extends Command
res.sendFile(teeyFile, "gif");
// Thread cleanup...
ImageUtils.BlockingFileDelete(teeyFile);
ImageUtils.BlockingFileDelete(teeyeeFile);
ImageUtils.blockingFileDelete(teeyFile);
ImageUtils.blockingFileDelete(teeyeeFile);
}
}
+1 -1
View File
@@ -27,7 +27,7 @@ public class CommandWolfram extends Command
{
File pic = new File(searcher.getWolfram(input.args));
res.sendFile(pic, "png");
ImageUtils.BlockingFileDelete(pic);
ImageUtils.blockingFileDelete(pic);
}
catch (IOException e)
{
+3 -3
View File
@@ -54,7 +54,7 @@ public class CommandYeet extends Command
yeeteeFile = new File(yeeteeFilename);
ImageOverlayBuilder builder = new ImageOverlayBuilder("assets/yeet/frames/", "yeet ", 24, 18);
builder.Overlay(ImageIO.read(yeeteeFile), name);
builder.overlay(ImageIO.read(yeeteeFile), name);
}
catch (IOException e)
{
@@ -65,7 +65,7 @@ public class CommandYeet extends Command
res.sendFile(yeetFile, "gif");
// Thread cleanup...
ImageUtils.BlockingFileDelete(yeetFile);
ImageUtils.BlockingFileDelete(yeeteeFile);
ImageUtils.blockingFileDelete(yeetFile);
ImageUtils.blockingFileDelete(yeeteeFile);
}
}
+2 -2
View File
@@ -38,7 +38,7 @@ public class BaseKeyValueFile
File f = new File(filename);
if(f.isFile() && f.canRead())
{
String content = FileUtils.ReadContent(f).trim();
String content = FileUtils.readContent(f).trim();
String[] lines = content.split("" + pairSeparator);
for(int i = 0; i < lines.length; ++i)
@@ -84,7 +84,7 @@ public class BaseKeyValueFile
}
catch (IOException e)
{
GlobalLog.Error(LogFilter.Core, "Issue writing file " + filename + ": " + e.getMessage());
GlobalLog.error(LogFilter.Core, "Issue writing file " + filename + ": " + e.getMessage());
}
}
}
+6 -6
View File
@@ -30,9 +30,9 @@ public abstract class BaseLocFile
protected TaggedPairStore stringStore;
// Logging
private void log(String str) { GlobalLog.Log(LogFilter.Strings, str); }
private void warn(String str) { GlobalLog.Warn(LogFilter.Strings, str); }
private void error(String str) { GlobalLog.Error(LogFilter.Strings, str); }
private void log(String str) { GlobalLog.log(LogFilter.Strings, str); }
private void warn(String str) { GlobalLog.warn(LogFilter.Strings, str); }
private void error(String str) { GlobalLog.error(LogFilter.Strings, str); }
// File monitoring
protected FileMonitor fileMonitor;
@@ -49,7 +49,7 @@ public abstract class BaseLocFile
{
synchronized(stringStore)
{
fileMonitor.Update(this::onFileChange);
fileMonitor.update(this::onFileChange);
}
}
@@ -80,7 +80,7 @@ public abstract class BaseLocFile
String filename = path.getFileName().toString();
if(filename.contains(".java"))
{
String contents = FileUtils.ReadContent(path);
String contents = FileUtils.readContent(path);
String[] split = contents.split(functionName);
// Identify all localizer function calls
@@ -203,7 +203,7 @@ public abstract class BaseLocFile
public void scrapeAll()
{
ArrayList<LocInfo> localizeList = new ArrayList<LocInfo>();
FileUtils.AcquireAllFiles(KittySourceDirectory).forEach((path) -> tryStripSpecified(path, localizeList));
FileUtils.acquireAllFiles(KittySourceDirectory).forEach((path) -> tryStripSpecified(path, localizeList));
for(LocInfo toStub : localizeList)
stringStore.addKeyValue(toStub.file, toStub.phrase, toStub.phrase);
+1 -1
View File
@@ -24,7 +24,7 @@ public class CharacterManager
}
else
{
GlobalLog.Error(LogFilter.Core, "Attempted to create a second CharacterManager singleton!");
GlobalLog.error(LogFilter.Core, "Attempted to create a second CharacterManager singleton!");
return;
}
}
+1 -1
View File
@@ -28,7 +28,7 @@ public abstract class Command
private void reject(KittyUser user, String reason)
{
GlobalLog.Warn(LogFilter.Command, this.getClass().getSimpleName() + " from " + user.name + " rejected due to command's " + reason);
GlobalLog.warn(LogFilter.Command, this.getClass().getSimpleName() + " from " + user.name + " rejected due to command's " + reason);
}
// Determine if we're exclusive enough for this command and
+2 -2
View File
@@ -30,7 +30,7 @@ public class CommandEnabler extends BaseKeyValueFile
super(name);
// Create/Init variables
GlobalLog.Log(LogFilter.Core, "Initializing " + this.getClass().getSimpleName());
GlobalLog.log(LogFilter.Core, "Initializing " + this.getClass().getSimpleName());
enabledMap = new HashMap<>();
keyList = new ArrayList<>();
@@ -68,7 +68,7 @@ public class CommandEnabler extends BaseKeyValueFile
if(enabledMap.putIfAbsent(command, defaultEnabledState) == null)
{
GlobalLog.Log(LogFilter.Strings, "Identified new toggleable raw command: " + command);
GlobalLog.log(LogFilter.Strings, "Identified new toggleable raw command: " + command);
keyList.add(command);
}
}
+3 -3
View File
@@ -59,11 +59,11 @@ public class CommandManager
if(old != null)
{
GlobalLog.Warn(LogFilter.Core, "Writing over a command with the key " + key);
GlobalLog.warn(LogFilter.Core, "Writing over a command with the key " + key);
return;
}
GlobalLog.Log(LogFilter.Core, "Command registered under key " + key);
GlobalLog.log(LogFilter.Core, "Command registered under key " + key);
}
// Registers a command under multiple names!
@@ -91,7 +91,7 @@ public class CommandManager
}
else
{
GlobalLog.Warn(LogFilter.Command, "User " + user.name + " tried to invoke command that doesn't exist: " + input.key);
GlobalLog.warn(LogFilter.Command, "User " + user.name + " tried to invoke command that doesn't exist: " + input.key);
return false;
}
}
+12 -12
View File
@@ -38,14 +38,14 @@ public class DatabaseDriverKeyValue
public void ensureTableExists(String tableName, String keyName, String valueName)
{
// Require a global table if it doesn't exist already
driver.ExecuteStatement(JDBCStatementType.Create, "CREATE TABLE IF NOT EXISTS " + tableName + " (" + keyName + " text PRIMARY KEY, " + valueName + " text)", null);
driver.executeStatement(JDBCStatementType.Create, "CREATE TABLE IF NOT EXISTS " + tableName + " (" + keyName + " text PRIMARY KEY, " + valueName + " text)", null);
}
// Set up and create a table in the database
public boolean connect()
{
driver = new JDBCDriverSQLite();
if(driver.Connect() == false)
if(driver.connect() == false)
{
return false;
}
@@ -59,7 +59,7 @@ public class DatabaseDriverKeyValue
// The key will be created if it doesn't exist and the value specified will be stored.
public void createSetKey(String key, String value)
{
GlobalLog.Log(LogFilter.Database, "CreateSetKey: Key-" + key + " value-" + value);
GlobalLog.log(LogFilter.Database, "CreateSetKey: Key-" + key + " value-" + value);
if(hasKey(key))
{
@@ -74,7 +74,7 @@ public class DatabaseDriverKeyValue
// Creates a key. The key will be created if it doesn't exist, and the default value returned.
public String createGetKey(String key)
{
GlobalLog.Log(LogFilter.Database, "CreateGetKey: " + key);
GlobalLog.log(LogFilter.Database, "CreateGetKey: " + key);
if(hasKey(key))
{
@@ -92,15 +92,15 @@ public class DatabaseDriverKeyValue
private void updateKey(String key, String value)
{
String command = "UPDATE " + tableName + " SET " + valueColumnName + " = ? WHERE " + keyColumnName + " = ?";
boolean status = driver.ExecuteStatement(JDBCStatementType.Update, command, new String[] { value, key });
GlobalLog.Log(LogFilter.Database, "UpdateKey status: " + status);
boolean status = driver.executeStatement(JDBCStatementType.Update, command, new String[] { value, key });
GlobalLog.log(LogFilter.Database, "UpdateKey status: " + status);
}
// Protoype updating for seeing if a key exists
private boolean hasKey(String key)
{
String command = "SELECT COUNT(1) as count FROM " + tableName + " WHERE " + keyColumnName + " = ?";
ResultSet set = driver.ExecuteReturningStatement(JDBCStatementType.Select, command, new String[] { key });
ResultSet set = driver.executeReturningStatement(JDBCStatementType.Select, command, new String[] { key });
String out = resultAsString(set, "count");
return out.charAt(0) == '1';
}
@@ -109,7 +109,7 @@ public class DatabaseDriverKeyValue
private String getKey(String key)
{
String command = "SELECT " + valueColumnName + " as searchedKey FROM " + tableName +" WHERE " + keyColumnName + " = ?";
ResultSet set = driver.ExecuteReturningStatement(JDBCStatementType.Select, command, new String[] { key });
ResultSet set = driver.executeReturningStatement(JDBCStatementType.Select, command, new String[] { key });
return resultAsString(set, "searchedKey");
}
@@ -117,15 +117,15 @@ public class DatabaseDriverKeyValue
private void createKey(String key, String value)
{
String command = "INSERT INTO " + tableName + " (GlobalKey, GlobalValue) VALUES (?, ?)";
boolean status = driver.ExecuteStatement(JDBCStatementType.Insert, command, new String[] { key, value });
GlobalLog.Log(LogFilter.Database, "CreateKey status: " + status);
boolean status = driver.executeStatement(JDBCStatementType.Insert, command, new String[] { key, value });
GlobalLog.log(LogFilter.Database, "CreateKey status: " + status);
}
// Get all keys containing a substring
public List<String> getKeysWith(String keySubstring)
{
String command = "SELECT * FROM " + tableName + " WHERE " + keyColumnName + " like ?";
ResultSet result = driver.ExecuteReturningStatement(JDBCStatementType.Select, command, new String[] { "%" + keySubstring + "%" });
ResultSet result = driver.executeReturningStatement(JDBCStatementType.Select, command, new String[] { "%" + keySubstring + "%" });
List<String> keys = new ArrayList<String>();
@@ -165,7 +165,7 @@ public class DatabaseDriverKeyValue
}
catch (SQLException e)
{
GlobalLog.Error(LogFilter.Database, e.toString());
GlobalLog.error(LogFilter.Database, e.toString());
return null;
}
}
+4 -4
View File
@@ -35,7 +35,7 @@ public class DatabaseManager
// Constructor to enforce singleton.
public DatabaseManager()
{
GlobalLog.Log(LogFilter.Database, "Creating database manager");
GlobalLog.log(LogFilter.Database, "Creating database manager");
if(instance == null)
{
@@ -43,7 +43,7 @@ public class DatabaseManager
}
else
{
GlobalLog.Error(LogFilter.Database, "Attempted to register a second DataBase manager!");
GlobalLog.error(LogFilter.Database, "Attempted to register a second DataBase manager!");
return;
}
@@ -59,13 +59,13 @@ public class DatabaseManager
// Connect data sets
if(globalDataDriver.connect() == false)
{
GlobalLog.Error("Global database failed to connect. Without this DB, this bot can not run.");
GlobalLog.error("Global database failed to connect. Without this DB, this bot can not run.");
System.exit(1);
}
if(characterDataDriver.connect() == false)
{
GlobalLog.Error("Character database failed to connect. Without this DB, this bot can not run.");
GlobalLog.error("Character database failed to connect. Without this DB, this bot can not run.");
System.exit(1);
}
}
+2 -2
View File
@@ -19,7 +19,7 @@ public class LocCommands extends BaseLocFile
{
super(fileName, function);
GlobalLog.Log(LogFilter.Core, "Initializing " + this.getClass().getSimpleName());
GlobalLog.log(LogFilter.Core, "Initializing " + this.getClass().getSimpleName());
if(instance == null)
{
@@ -33,7 +33,7 @@ public class LocCommands extends BaseLocFile
}
else
{
GlobalLog.Error(LogFilter.Core, "You can't have two of the following: " + this.getClass().getSimpleName());
GlobalLog.error(LogFilter.Core, "You can't have two of the following: " + this.getClass().getSimpleName());
}
}
+2 -2
View File
@@ -18,7 +18,7 @@ public class LocStrings extends BaseLocFile
{
super(fileName, function);
GlobalLog.Log(LogFilter.Core, "Initializing " + this.getClass().getSimpleName());
GlobalLog.log(LogFilter.Core, "Initializing " + this.getClass().getSimpleName());
if(instance == null)
{
@@ -32,7 +32,7 @@ public class LocStrings extends BaseLocFile
}
else
{
GlobalLog.Error(LogFilter.Core, "You can't have two of the following: " + this.getClass().getSimpleName());
GlobalLog.error(LogFilter.Core, "You can't have two of the following: " + this.getClass().getSimpleName());
}
}
+1 -1
View File
@@ -99,7 +99,7 @@ public class ObjectBuilderFactory
}
catch(InterruptedException ie)
{
GlobalLog.Error(LogFilter.Core, "Issue during object builder lazy initialization."
GlobalLog.error(LogFilter.Core, "Issue during object builder lazy initialization."
+ " The factory was not initialized, and kitty will not be able to continue functionally.");
}
}
+1 -1
View File
@@ -23,7 +23,7 @@ public class RPManager
}
else
{
GlobalLog.Error(LogFilter.Core, "Attempted to create a second RP Manager!");
GlobalLog.error(LogFilter.Core, "Attempted to create a second RP Manager!");
return;
}
}
+1 -1
View File
@@ -31,7 +31,7 @@ public class Stats
}
else
{
GlobalLog.Error(LogFilter.Core, "Attempted to create a second Stats singleton!");
GlobalLog.error(LogFilter.Core, "Attempted to create a second Stats singleton!");
return;
}
+1 -1
View File
@@ -19,7 +19,7 @@ public class BenchmarkInput
return;
raw = raw.trim();
int whitespacePos = StringUtils.FindFirstWhitespace(raw);
int whitespacePos = StringUtils.findFirstWhitespace(raw);
if(whitespacePos == -1)
{
+3 -3
View File
@@ -5,7 +5,7 @@ import utils.GlobalLog;
//Logging shim
public class BenchmarkLog
{
public static void log(String str) { GlobalLog.Log("[Benchmark] " + str); }
public static void warn(String str) { GlobalLog.Warn("[Benchmark] " + str); }
public static void error(String str) { GlobalLog.Error(" [Benchmark] " + str); }
public static void log(String str) { GlobalLog.log("[Benchmark] " + str); }
public static void warn(String str) { GlobalLog.warn("[Benchmark] " + str); }
public static void error(String str) { GlobalLog.error(" [Benchmark] " + str); }
}
+4 -4
View File
@@ -35,7 +35,7 @@ public class BenchmarkManager
rebuildLookup();
BenchmarkLog.log("Took " + (Instant.now().toEpochMilli() - start) + " ms to load " + raw.size() + " entries from " + directoryMonitor.GetCurrentFiles().size() + " file" + (raw.size() > 1 ? "s" : ""));
BenchmarkLog.log("Took " + (Instant.now().toEpochMilli() - start) + " ms to load " + raw.size() + " entries from " + directoryMonitor.getCurrentFiles().size() + " file" + (raw.size() > 1 ? "s" : ""));
}
// Rebuilds the files being monitored
@@ -50,14 +50,14 @@ public class BenchmarkManager
synchronized(directoryMonitor)
{
files = directoryMonitor.GetCurrentFiles();
files = directoryMonitor.getCurrentFiles();
}
if(files != null)
{
for(MonitoredFile mf : files)
{
String contents = FileUtils.ReadContent(mf.path);
String contents = FileUtils.readContent(mf.path);
String[] lines = contents.split(lineDelimiter);
for(int i = 1; i < lines.length; ++i)
@@ -169,7 +169,7 @@ public class BenchmarkManager
public void update()
{
needsUpdate = false;
directoryMonitor.Update(this::onRescan, this::onRescan, this::onRescan);
directoryMonitor.update(this::onRescan, this::onRescan, this::onRescan);
if(needsUpdate)
rebuildLookup();
+3 -3
View File
@@ -5,7 +5,7 @@ import utils.LogFilter;
public class PluginLog
{
public static void log(String s) { GlobalLog.Log(LogFilter.Plugin, s); }
public static void warn(String s) { GlobalLog.Warn(LogFilter.Plugin, s); }
public static void error(String s) { GlobalLog.Error(LogFilter.Plugin, s); }
public static void log(String s) { GlobalLog.log(LogFilter.Plugin, s); }
public static void warn(String s) { GlobalLog.warn(LogFilter.Plugin, s); }
public static void error(String s) { GlobalLog.error(LogFilter.Plugin, s); }
}
+1 -1
View File
@@ -18,7 +18,7 @@ public class RPGInput
return;
raw = raw.trim();
int whitespacePos = StringUtils.FindFirstWhitespace(raw);
int whitespacePos = StringUtils.findFirstWhitespace(raw);
if(whitespacePos == -1)
{
+1 -1
View File
@@ -7,6 +7,6 @@ public class RPGLog
{
public static void log(String toWrite)
{
GlobalLog.Log(LogFilter.Command, "[RPG] " + toWrite);
GlobalLog.log(LogFilter.Command, "[RPG] " + toWrite);
}
}
+1 -1
View File
@@ -71,7 +71,7 @@ public class KittyTrackedLong extends DatabaseTrackedObject
catch(Exception e)
{
tracked = 0;
GlobalLog.Error(LogFilter.Core, "Falling back to default of 0 due to failure to deserialize long with database ID " + identifier);
GlobalLog.error(LogFilter.Core, "Falling back to default of 0 due to failure to deserialize long with database ID " + identifier);
}
}
else
+1 -1
View File
@@ -49,7 +49,7 @@ public class KittyTrackedString extends DatabaseTrackedObject
}
else
{
GlobalLog.Log(LogFilter.Database, "String had null or empty value with identifier: " + identifier);
GlobalLog.log(LogFilter.Database, "String had null or empty value with identifier: " + identifier);
string = "";
markDirty();
}
+2 -2
View File
@@ -87,7 +87,7 @@ public class KittyUser extends DatabaseTrackedObject
String[] strings = prepareFromString(string);
if(strings.length < 2)
{
GlobalLog.Log(LogFilter.Database, "Upgrading user " + name + " to include 'role' in DB");
GlobalLog.log(LogFilter.Database, "Upgrading user " + name + " to include 'role' in DB");
// Mark ourselves dirty to re-write the role information stored in the user.
// Just uses defaults from earlier again.
@@ -101,7 +101,7 @@ public class KittyUser extends DatabaseTrackedObject
}
catch (NumberFormatException e)
{
GlobalLog.Warn(LogFilter.Database, "Invalid user data for user " + name + "! "
GlobalLog.warn(LogFilter.Database, "Invalid user data for user " + name + "! "
+ "Starting over at 0 beans with a general role!");
// We don't need to specify the role at this point because it is set at this point.
+4 -4
View File
@@ -90,7 +90,7 @@ public class Response
// Queues a standard text-based message response to the channel that issued the command.
public void send(String toRespondWith)
{
GlobalLog.Log(LogFilter.Response, "Sending response: " + toRespondWith);
GlobalLog.log(LogFilter.Response, "Sending response: " + toRespondWith);
if(toRespondWith.length() > discordMessageMax)
{
event.getChannel().sendMessage(toRespondWith.substring(0, kittyMessageMax) + "\n\nI think that's enough!").queue();
@@ -119,7 +119,7 @@ public class Response
// Immediately dispatches the message to the channel that issued the command.
public void sendImmediate(String toRespondWith)
{
GlobalLog.Log(LogFilter.Response, "Sending immediate response: " + toRespondWith);
GlobalLog.log(LogFilter.Response, "Sending immediate response: " + toRespondWith);
if(toRespondWith.length() > discordMessageMax)
{
event.getChannel().sendMessage(toRespondWith.substring(0, kittyMessageMax) + "\n\nI think that's enough!");
@@ -133,14 +133,14 @@ public class Response
// Queues a file response to the channel that issued the command.
public void sendFile(File toRespondWith, String extension)
{
GlobalLog.Log(LogFilter.Response, "Sending file response");
GlobalLog.log(LogFilter.Response, "Sending file response");
event.getChannel().sendFile(toRespondWith, "return." + extension).queue();
}
// Queues an input stream response to the channel that issued the command.
public void sendFile(InputStream in, String extension)
{
GlobalLog.Log(LogFilter.Response, "Sending input stream response");
GlobalLog.log(LogFilter.Response, "Sending input stream response");
event.getChannel().sendFile(in, "return." + extension).queue();
}
}
+4 -4
View File
@@ -93,8 +93,8 @@ public class TaggedPairStore
Map.Entry internalPair = (Map.Entry)internal.next();
String key = (String)internalPair.getKey();
String value = (String)internalPair.getValue();
key = StringUtils.ReEscape(key);
value = StringUtils.ReEscape(value);
key = StringUtils.reEscape(key);
value = StringUtils.reEscape(value);
if(key.endsWith("\\r"))
{
@@ -160,8 +160,8 @@ public class TaggedPairStore
String key = line.substring(0, splitPos);
String value = line.substring(splitPos + PairSplit.length());
key = StringUtils.UnEscape(key);
value = StringUtils.UnEscape(value);
key = StringUtils.unEscape(key);
value = StringUtils.unEscape(value);
taggedPairs.get(sectionName).putIfAbsent(key, value);
allPairs.putIfAbsent(key, value);
+4 -4
View File
@@ -7,14 +7,14 @@ import java.sql.ResultSet;
public abstract class JDBCDriver
{
// Connects to the database, returns a bool if it succeeded.
public abstract boolean Connect();
public abstract boolean connect();
// Disconnects the driver. Returns if the driver is disconnected now, regardless of connection status.
public abstract boolean Disconnect();
public abstract boolean disconnect();
// Executes a SQL command with the database. Returns if it was executed successfully, or in the
// case of the returning statement, returns the ResultSet. Args are placed into the prepared statement
// in place of each '?' places into it.
public abstract boolean ExecuteStatement(JDBCStatementType type, String command, String[] args);
public abstract ResultSet ExecuteReturningStatement(JDBCStatementType type, String command, String[] args);
public abstract boolean executeStatement(JDBCStatementType type, String command, String[] args);
public abstract ResultSet executeReturningStatement(JDBCStatementType type, String command, String[] args);
}
+4 -4
View File
@@ -5,25 +5,25 @@ import java.sql.ResultSet;
public class JDBCDriverMySQL extends JDBCDriver
{
@Override
public boolean Connect() {
public boolean connect() {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean Disconnect() {
public boolean disconnect() {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean ExecuteStatement(JDBCStatementType type, String statement, String[] args) {
public boolean executeStatement(JDBCStatementType type, String statement, String[] args) {
// TODO Auto-generated method stub
return false;
}
@Override
public ResultSet ExecuteReturningStatement(JDBCStatementType type, String statement, String[] args) {
public ResultSet executeReturningStatement(JDBCStatementType type, String statement, String[] args) {
// TODO Auto-generated method stub
return null;
}
+4 -4
View File
@@ -5,25 +5,25 @@ import java.sql.ResultSet;
public class JDBCDriverPostgreSQL extends JDBCDriver
{
@Override
public boolean Connect() {
public boolean connect() {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean Disconnect() {
public boolean disconnect() {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean ExecuteStatement(JDBCStatementType type, String statement, String[] args) {
public boolean executeStatement(JDBCStatementType type, String statement, String[] args) {
// TODO Auto-generated method stub
return false;
}
@Override
public ResultSet ExecuteReturningStatement(JDBCStatementType type, String statement, String[] args) {
public ResultSet executeReturningStatement(JDBCStatementType type, String statement, String[] args) {
// TODO Auto-generated method stub
return null;
}
+10 -10
View File
@@ -18,7 +18,7 @@ public class JDBCDriverSQLite extends JDBCDriver
public static final String databaseName = "catfood";
@Override
public boolean Connect()
public boolean connect()
{
if(connection == null)
{
@@ -38,23 +38,23 @@ public class JDBCDriverSQLite extends JDBCDriver
// create a connection to the database
connection = DriverManager.getConnection(url);
GlobalLog.Log(LogFilter.Database, "Connection to SQLite has been established.");
GlobalLog.log(LogFilter.Database, "Connection to SQLite has been established.");
}
catch (SQLException e)
{
GlobalLog.Error(e.getMessage());
GlobalLog.error(e.getMessage());
}
}
else
{
GlobalLog.Log(LogFilter.Database, "SQLite database asked to connect a second time. This is perfectly fine as this app has all its data tied together.");
GlobalLog.log(LogFilter.Database, "SQLite database asked to connect a second time. This is perfectly fine as this app has all its data tied together.");
}
return connection != null;
}
@Override
public boolean Disconnect()
public boolean disconnect()
{
try
{
@@ -67,13 +67,13 @@ public class JDBCDriverSQLite extends JDBCDriver
}
catch (SQLException ex)
{
GlobalLog.Error(ex.getMessage());
GlobalLog.error(ex.getMessage());
return false;
}
}
@Override
public ResultSet ExecuteReturningStatement(JDBCStatementType type, String command, String[] args)
public ResultSet executeReturningStatement(JDBCStatementType type, String command, String[] args)
{
if(connection == null)
return null;
@@ -114,7 +114,7 @@ public class JDBCDriverSQLite extends JDBCDriver
{
try
{
GlobalLog.Fatal(e.getMessage());
GlobalLog.fatal(e.getMessage());
}
catch (Exception e1)
{
@@ -125,7 +125,7 @@ public class JDBCDriverSQLite extends JDBCDriver
}
}
public boolean ExecuteStatement(JDBCStatementType type, String command, String[] args)
public boolean executeStatement(JDBCStatementType type, String command, String[] args)
{
if(connection == null)
return false;
@@ -178,7 +178,7 @@ public class JDBCDriverSQLite extends JDBCDriver
{
try
{
GlobalLog.Fatal(e.getMessage());
GlobalLog.fatal(e.getMessage());
}
catch (Exception e1)
{
+3 -2
View File
@@ -4,7 +4,7 @@ import utils.HTTPUtils;
public class NetworkColiru
{
public String compileCPlus(String query)
public String compileCPlusPlus(String query)
{
// Escape characters that need escaping.
// Primarily types of whitespace.
@@ -15,7 +15,7 @@ public class NetworkColiru
query = query.replace("\t", "\\t");
// Send the compilation request!
String result = HTTPUtils.SendPOSTRequest("http://coliru.stacked-crooked.com/compile"
String result = HTTPUtils.sendPOSTRequest("http://coliru.stacked-crooked.com/compile"
, "{ \"cmd\": \"g++ main.cpp && ./a.out\", \"src\": \"" + query + "\" }");
// If we got a valid response...
@@ -23,6 +23,7 @@ public class NetworkColiru
{
result = "Here's what happened when I went to compiled that! \n```" + result + "```";
}
return result;
}
+2 -2
View File
@@ -26,7 +26,7 @@ public class NetworkDerpi
GenericImage image = new GenericImage(" ", " ", " ");
query = query.trim();
query = query.replace(" ", ",");
String res = HTTPUtils.SendGETRequest(mainURL + query + "&random_image=1&key=" + Ref.derpiKey);
String res = HTTPUtils.sendGETRequest(mainURL + query + "&random_image=1&key=" + Ref.derpiKey);
if(res != null)
{
// Use class evaluation on an array of the response object to be able to hold multiple.
@@ -34,7 +34,7 @@ public class NetworkDerpi
if(res != null)
{
String res2 = HTTPUtils.SendGETRequest("https://derpibooru.org/" + obj.id + ".json");
String res2 = HTTPUtils.sendGETRequest("https://derpibooru.org/" + obj.id + ".json");
image.editPostURL("<https://derpibooru.org/" + obj.id +">");
DerpiResponseObject imageObj = jsonParser_.fromJson(res2, DerpiResponseObject.class);
+1 -1
View File
@@ -56,7 +56,7 @@ public class NetworkE621
// Configure and send request. Note: Random ordering added as first
// tag by default. User-provided tags, therefore, will override it.
// If order:score is provided, that will be honored over order:random.
String res = HTTPUtils.SendPOSTRequest(API_ROOT
String res = HTTPUtils.sendPOSTRequest(API_ROOT
, "tags=order:random%20" + input + "&limit=" + maxSearchResults_);
+6 -3
View File
@@ -35,7 +35,8 @@ public class NetworkJDoodle
String input = "{\"clientId\": \"" + Ref.jdoodleID + "\",\"clientSecret\":\"" + Ref.jdoodleSecret + "\",\"script\":\"" + query +
"\",\"language\":\"" + lang + "\",\"versionIndex\":\"" + version + "\"} ";
try {
try
{
URL url = new URL("https://api.jdoodle.com/v1/execute");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setDoOutput(true);
@@ -69,10 +70,12 @@ public class NetworkJDoodle
result += "The CPU time was " + doodle.cpuTime + "\n";
connection.disconnect();
return result;
} catch (MalformedURLException e)
}
catch (MalformedURLException e)
{
return "You probably shouldn't be seeing this";
} catch (IOException e)
}
catch (IOException e)
{
return "You probably shouldn't be seeing this";
}
+2 -2
View File
@@ -71,12 +71,12 @@ public class NetworkTheColorAPI
public tca_XYZ XYZ;
}
public ColorData LookupHex(String hex)
public ColorData lookupHex(String hex)
{
try
{
hex = hex.replace("#", "");
String response = HTTPUtils.SendGETRequest("https://www.thecolorapi.com/id?hex=" + hex);
String response = HTTPUtils.sendGETRequest("https://www.thecolorapi.com/id?hex=" + hex);
ColorData data = jsonParser.fromJson(response, ColorData.class);
return data;
-3
View File
@@ -18,8 +18,6 @@ public class NetworkTwitter
.setOAuthConsumerSecret(Ref.twitterAPISecret)
.setOAuthAccessToken(Ref.twitterAccessToken)
.setOAuthAccessTokenSecret(Ref.twitterAccessTokenSecret);
}
public String tweet(String tweetText) throws Exception
@@ -28,6 +26,5 @@ public class NetworkTwitter
Twitter twitter = tf.getInstance();
Status status = twitter.updateStatus(tweetText);
return "Status set to: `" + status.getText() + "`!";
}
}
+11 -11
View File
@@ -23,12 +23,12 @@ public class GlobalLog
DateFormat dF = new SimpleDateFormat("yyyy_MM_dd_HH-mm");
Date today = new Date();
FileUtils.CreateDirectoryIfDoesntExist(directory);
FileUtils.createDirectoryIfDoesntExist(directory);
outputLog = new PrintWriter(directory + (dF.format(today) + ".log"), "UTF-8");
GlobalLog.Log(LogFilter.Util, "Finished initializing logging system");
GlobalLog.log(LogFilter.Util, "Finished initializing logging system");
}
private static void Write(String status, LogFilter filter, String body)
private static void write(String status, LogFilter filter, String body)
{
String logLine = "[" + status + "] " + "[" + filter.name() + "] " + body;
outputLog.write(logLine + "\n");
@@ -36,13 +36,13 @@ public class GlobalLog
System.out.println(logLine);
}
public static void Log(String msg) { Write(log, LogFilter.Debug, msg); }
public static void Warn(String msg) { Write(warn, LogFilter.Debug, msg); }
public static void Error(String msg) { Write(error, LogFilter.Debug, msg); }
public static void Fatal(String msg) throws Exception { Write(fatal, LogFilter.Debug, msg); throw new Exception(msg); }
public static void log(String msg) { write(log, LogFilter.Debug, msg); }
public static void warn(String msg) { write(warn, LogFilter.Debug, msg); }
public static void error(String msg) { write(error, LogFilter.Debug, msg); }
public static void fatal(String msg) throws Exception { write(fatal, LogFilter.Debug, msg); throw new Exception(msg); }
public static void Log(LogFilter filter, String msg) { Write(log, filter, msg); }
public static void Warn(LogFilter filter, String msg) { Write(warn, filter, msg); }
public static void Error(LogFilter filter, String msg) { Write(error, filter, msg); }
public static void Fatal(LogFilter filter, String msg) throws Exception { Write(fatal, filter, msg); throw new Exception(msg); }
public static void log(LogFilter filter, String msg) { write(log, filter, msg); }
public static void warn(LogFilter filter, String msg) { write(warn, filter, msg); }
public static void error(LogFilter filter, String msg) { write(error, filter, msg); }
public static void fatal(LogFilter filter, String msg) throws Exception { write(fatal, filter, msg); throw new Exception(msg); }
}
+7 -5
View File
@@ -21,7 +21,7 @@ public class HTTPUtils
// Sends a GET request for the specified URL.
public static String SendGETRequest(String url)
public static String sendGETRequest(String url)
{
try
{
@@ -45,8 +45,8 @@ public class HTTPUtils
// Sends a POST request to the desired URL.
// There are two forms of this function, one of which takes
public static String SendPOSTRequest(String url) { return SendPOSTRequest(url, ""); }
public static String SendPOSTRequest(String url, String params)
public static String sendPOSTRequest(String url) { return sendPOSTRequest(url, ""); }
public static String sendPOSTRequest(String url, String params)
{
try
{
@@ -103,8 +103,10 @@ public class HTTPUtils
// Close and return our data
in.close();
return new String(String.toString());
} else {
GlobalLog.Error(LogFilter.Network, con.getRequestMethod() + " responded with " + responseCode + " instead of 200.");
}
else
{
GlobalLog.error(LogFilter.Network, con.getRequestMethod() + " responded with " + responseCode + " instead of 200.");
return Integer.toString(responseCode);
}
}
+16 -16
View File
@@ -34,10 +34,10 @@ public class ImageOverlayBuilder
public static final String LOG_HEADER = "[Overlay] ";
// Logging intermediate functions
private static void Verbose(String str) { if(VERBOSE) Log("[Verbose] " + str); }
private static void Log(String str) { GlobalLog.Log(LogFilter.Util, LOG_HEADER + str); }
private static void Warn(String str) { GlobalLog.Warn(LogFilter.Util, LOG_HEADER + str); }
private static void Error(String str) { GlobalLog.Error(LogFilter.Util, LOG_HEADER + str); }
private static void verbose(String str) { if(VERBOSE) log("[Verbose] " + str); }
private static void log(String str) { GlobalLog.log(LogFilter.Util, LOG_HEADER + str); }
private static void warn(String str) { GlobalLog.warn(LogFilter.Util, LOG_HEADER + str); }
private static void error(String str) { GlobalLog.error(LogFilter.Util, LOG_HEADER + str); }
// Local variables
private final String basePath; // The folder location of the files
@@ -61,46 +61,46 @@ public class ImageOverlayBuilder
}
// Performs a per-frame overlay, catches IO errors as a note.)
public void Overlay(BufferedImage overlay, String outpath)
public void overlay(BufferedImage overlay, String outpath)
{
try
{
long start = Calendar.getInstance().getTimeInMillis();
ProcessOverlay(overlay, outpath);
processOverlay(overlay, outpath);
long end = Calendar.getInstance().getTimeInMillis();
Log("Took " + (end - start) + "ms");
log("Took " + (end - start) + "ms");
}
catch (IOException e)
{
Error(e.getMessage());
error(e.getMessage());
}
}
// Processing the image frames to construct a gif. Relies on (0,255,0) pixel for image center specification.
private void ProcessOverlay(BufferedImage overlay, String outfileName) throws IOException
private void processOverlay(BufferedImage overlay, String outfileName) throws IOException
{
ArrayList<BufferedImage> frames = new ArrayList<BufferedImage>(frameCount);
//BufferedImage[] frames = new BufferedImage[frameCount];
for(int i = 0; i < frameCount; ++i)
{
BufferedImage out = CombineImages(basePath + baseName + i + FRAME_FILE_EXTENSION , overlay);
BufferedImage out = combineImages(basePath + baseName + i + FRAME_FILE_EXTENSION , overlay);
if(out != null)
frames.add(out);// = out;
else
Warn("Skipping frame " + i + " of base " + basePath + baseName);
warn("Skipping frame " + i + " of base " + basePath + baseName);
}
if(frames.isEmpty())
{
Error("No frames were found at all, so the gif could not be made!");
error("No frames were found at all, so the gif could not be made!");
return;
}
Verbose("Processed " + frameCount + " frames, found " + frames.size() + " valid, writing...");
verbose("Processed " + frameCount + " frames, found " + frames.size() + " valid, writing...");
ImageOutputStream output = new FileImageOutputStream(new File(outfileName));
GifSequenceWriter writer = new GifSequenceWriter(output, frames.get(0).getType(), fps, true);
@@ -115,7 +115,7 @@ public class ImageOverlayBuilder
// Performs an overlay at a pixel location. We're making some assumptions here, mostly that there is going
// to be an RGBA-32-bit encoded PNG image read in for our parsing purposes. We then look for a 0, 255, 0
// green pixel on the base frame to apply the overlay buffer to, centered.
private BufferedImage CombineImages(String pathBase, BufferedImage overlay) throws IOException
private BufferedImage combineImages(String pathBase, BufferedImage overlay) throws IOException
{
// Acquire images
BufferedImage imageBase = null;
@@ -137,7 +137,7 @@ public class ImageOverlayBuilder
// Warn about odd sizing when applicable
if(overlayHeight > baseHeight || overlayWidth > baseWidth)
Warn("Size mismatch, overlay is larger. May function, but not supported.");
warn("Size mismatch, overlay is larger. May function, but not supported.");
// Skim base picture for solid green pixel to use as target center
int targetX = NONE;
@@ -165,7 +165,7 @@ public class ImageOverlayBuilder
// Skip overlay if we have no target location
if(targetX == NONE || targetY == NONE)
{
Verbose("No overlay required for this frame.");
verbose("No overlay required for this frame.");
return imageBase;
}
+4 -4
View File
@@ -39,7 +39,7 @@ public class ImageUtils
boolean didWrite = ImageIO.write(data, extension, outputfile);
if(!didWrite)
{
GlobalLog.Error(LogFilter.Util, "Could not identify the writer for extension type '" + extension + "' - Did you accidentally include a period or other punctuation?");
GlobalLog.error(LogFilter.Util, "Could not identify the writer for extension type '" + extension + "' - Did you accidentally include a period or other punctuation?");
return null;
}
@@ -47,7 +47,7 @@ public class ImageUtils
}
catch (IOException e)
{
GlobalLog.Error(LogFilter.Util, "Exception in writeTempImageData: " + e.toString());
GlobalLog.error(LogFilter.Util, "Exception in writeTempImageData: " + e.toString());
return null;
}
@@ -90,14 +90,14 @@ public class ImageUtils
}
catch(Exception e)
{
GlobalLog.Error(LogFilter.Util, "Exception in downloadFromURL: " + e.toString());
GlobalLog.error(LogFilter.Util, "Exception in downloadFromURL: " + e.toString());
return null;
}
}
// Deletes the file provided, if it exists. Will continue, in a blocking way,
// to attempt to delete the file 10 times a second until thread termination.
public static void BlockingFileDelete(File file)
public static void blockingFileDelete(File file)
{
if(file == null)
return;
+6 -6
View File
@@ -40,10 +40,10 @@ public class OptionParser
floating = new ArrayList<String>();
if(toParse != null && toParse.length() > 0)
Parse(toParse);
parse(toParse);
}
public void Parse(String vals)
public void parse(String vals)
{
String[] strings = vals.split("\\s+");
@@ -84,17 +84,17 @@ public class OptionParser
}
}
public ArrayList<String> GetFloating()
public ArrayList<String> getFloating()
{
return floating;
}
public String GetOption(String arg)
public String getOption(String arg)
{
return GetOption(arg, false);
return getOption(arg, false);
}
public String GetOption(String option, boolean isCaseInsensitive)
public String getOption(String option, boolean isCaseInsensitive)
{
if(option == null)
return null;
+3 -3
View File
@@ -2,7 +2,7 @@ package utils;
public class StringUtils
{
public static String UnEscape(String str)
public static String unEscape(String str)
{
str = str.replaceAll("\\\\b", "\b");
str = str.replaceAll("\\\\n", "\n");
@@ -15,7 +15,7 @@ public class StringUtils
return str;
}
public static String ReEscape(String str)
public static String reEscape(String str)
{
str = str.replaceAll("\\\b", "\\\\\\b");
str = str.replaceAll("\\\n", "\\\\\\n");
@@ -27,7 +27,7 @@ public class StringUtils
}
// Finds first whitespace in the string
public static int FindFirstWhitespace(String str)
public static int findFirstWhitespace(String str)
{
for (int i = 0; i < str.length(); ++i)
{
+12 -12
View File
@@ -20,16 +20,16 @@ public class DirectoryMonitor
// Constructs a new file monitor and logs initialization
public DirectoryMonitor(String directory)
{
IOLog.Log("Reading directory files for montioring in: " + directory.toString());
IOLog.log("Reading directory files for montioring in: " + directory.toString());
this.directory = directory;
this.last = Scrape();
this.last = scrape();
Print(last);
print(last);
}
// Scrape the target directory for all files and store them as custom objects in the list
private ArrayList<MonitoredFile> Scrape()
private ArrayList<MonitoredFile> scrape()
{
ArrayList<MonitoredFile> files = new ArrayList<MonitoredFile>();
@@ -39,13 +39,13 @@ public class DirectoryMonitor
{
paths.filter(Files::isRegularFile).forEach((path)->
{
files.add(new MonitoredFile(path, FileUtils.LastModified(path)));
files.add(new MonitoredFile(path, FileUtils.lastModified(path)));
});
}
}
catch(Exception e)
{
IOLog.Error(e.getMessage());
IOLog.error(e.getMessage());
}
return files;
@@ -54,10 +54,10 @@ public class DirectoryMonitor
// Update function - the first callback is called if a new item is added to the directory,
// second is called if an item is updated, and third is called if an item is removed.
@SuppressWarnings("unchecked")
public void Update(Consumer<? super MonitoredFile> onAdd, Consumer<? super MonitoredFile> onUpdate, Consumer<? super MonitoredFile> onDelete)
public void update(Consumer<? super MonitoredFile> onAdd, Consumer<? super MonitoredFile> onUpdate, Consumer<? super MonitoredFile> onDelete)
{
// Unparsed
ArrayList<MonitoredFile> active = Scrape();
ArrayList<MonitoredFile> active = scrape();
ArrayList<MonitoredFile> curr = (ArrayList<MonitoredFile>)active.clone();
ArrayList<MonitoredFile> prev = (ArrayList<MonitoredFile>)last.clone();
@@ -125,19 +125,19 @@ public class DirectoryMonitor
Collections.sort(last);
if(last.size() == 0)
IOLog.Warn("There's nothing at all in a FileMonitor's target folder! Folder: " + directory);
IOLog.warn("There's nothing at all in a FileMonitor's target folder! Folder: " + directory);
}
// Returns the current list of files the monitor is tracking in the directory.
public List<MonitoredFile> GetCurrentFiles()
public List<MonitoredFile> getCurrentFiles()
{
return last;
}
// Prints out an arraylist of items from a directory by path
private void Print(ArrayList<MonitoredFile> toPrint)
private void print(ArrayList<MonitoredFile> toPrint)
{
for(int i = 0; i < toPrint.size(); ++i)
IOLog.Log(toPrint.get(i).path.toString());
IOLog.log(toPrint.get(i).path.toString());
}
}
+7 -7
View File
@@ -11,12 +11,12 @@ public class FileMonitor
// Constructs file monitor for a given file at a specific path.
public FileMonitor(String path)
{
Long last = FileUtils.LastModified(Paths.get(path));
Long last = FileUtils.lastModified(Paths.get(path));
if(last == null)
{
file = null;
IOLog.Error("Couldn't find a readable file at " + path + "!");
IOLog.error("Couldn't find a readable file at " + path + "!");
}
else
{
@@ -26,24 +26,24 @@ public class FileMonitor
// Looks at the file and sees if it has undergone any changes.
// If so, the fileChanged function provided is called!
public void Update(Consumer<? super MonitoredFile> fileChanged)
public void update(Consumer<? super MonitoredFile> fileChanged)
{
if(file == null)
{
IOLog.Error("Attempted to update a file that doesn't exist");
IOLog.error("Attempted to update a file that doesn't exist");
return;
}
Long last = FileUtils.LastModified(file.path);
Long last = FileUtils.lastModified(file.path);
if(last == null)
{
IOLog.Error("The file previously at " + file.path + " couldn't be read!");
IOLog.error("The file previously at " + file.path + " couldn't be read!");
return;
}
if(last.longValue() != file.lastModified.longValue())
{
IOLog.Log("Most recently modified at " + last + ", stored version at " + file.lastModified);
IOLog.log("Most recently modified at " + last + ", stored version at " + file.lastModified);
file = new MonitoredFile(file.path, last);
fileChanged.accept(file);
}
+8 -8
View File
@@ -14,7 +14,7 @@ import utils.LogFilter;
public class FileUtils
{
public static void CreateDirectoryIfDoesntExist(String directoryName)
public static void createDirectoryIfDoesntExist(String directoryName)
{
File directory = new File(directoryName);
@@ -24,8 +24,8 @@ public class FileUtils
}
// 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)
public static String readContent(File file) { return readContent(file.toPath()); }
public static String readContent(Path filePath)
{
StringBuilder contentBuilder = new StringBuilder();
@@ -38,14 +38,14 @@ public class FileUtils
}
catch (IOException e)
{
GlobalLog.Error(LogFilter.Util, e.getMessage());
GlobalLog.error(LogFilter.Util, e.getMessage());
}
return contentBuilder.toString();
}
// Recursively acquires all files at and below the specified directory, returning them as an arraylist of paths.
public static ArrayList<Path> AcquireAllFiles(String startingDir)
public static ArrayList<Path> acquireAllFiles(String startingDir)
{
ArrayList<Path> items = new ArrayList<Path>();
@@ -59,14 +59,14 @@ public class FileUtils
}
catch (IOException e)
{
GlobalLog.Error(LogFilter.Util, e.getMessage());
GlobalLog.error(LogFilter.Util, e.getMessage());
}
return items;
}
// Check when a file was last modified by path
public static Long LastModified(Path path)
public static Long lastModified(Path path)
{
File file = new File(path.toString());
@@ -76,7 +76,7 @@ public class FileUtils
}
else
{
GlobalLog.Error(LogFilter.Util, "File doesn't exist at path: " + path);
GlobalLog.error(LogFilter.Util, "File doesn't exist at path: " + path);
return null;
}
}
+3 -3
View File
@@ -6,7 +6,7 @@ import utils.LogFilter;
// Logging shim
public class IOLog
{
public static void Log(String s) { GlobalLog.Log(LogFilter.Util, s); }
public static void Warn(String s) { GlobalLog.Warn(LogFilter.Util, s); }
public static void Error(String s) { GlobalLog.Error(LogFilter.Util, s); }
public static void log(String s) { GlobalLog.log(LogFilter.Util, s); }
public static void warn(String s) { GlobalLog.warn(LogFilter.Util, s); }
public static void error(String s) { GlobalLog.error(LogFilter.Util, s); }
}