Improves output logging and fixes some bugs
Fixes an error caused by the BuildTools directory not being created Creates functions for writing to files in CommonFunctions Adds some more error info to the log when BuildTools fails to download Fixes some typos Makes sure all visible text is logged
This commit is contained in:
@ -44,6 +44,20 @@ public interface GUI {
|
||||
*/
|
||||
void showMessage(String message);
|
||||
|
||||
/**
|
||||
* Logs a message to the logfile
|
||||
*
|
||||
* @param message <p>The message to log</p>
|
||||
*/
|
||||
void logMessage(String message);
|
||||
|
||||
/**
|
||||
* Logs an error to the logfile
|
||||
*
|
||||
* @param error <p>The error to log</p>
|
||||
*/
|
||||
void logError(String error);
|
||||
|
||||
/**
|
||||
* Asks the user for a directory as a file object
|
||||
*
|
||||
|
@ -1,7 +1,11 @@
|
||||
package net.knarcraft.minecraftserverlauncher.userinterface;
|
||||
|
||||
import net.knarcraft.minecraftserverlauncher.Main;
|
||||
import net.knarcraft.minecraftserverlauncher.utility.CommonFunctions;
|
||||
|
||||
import javax.swing.*;
|
||||
import java.io.BufferedWriter;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.OutputStreamWriter;
|
||||
|
||||
@ -12,6 +16,7 @@ public abstract class MessageHandler implements GUI {
|
||||
|
||||
private final boolean silent;
|
||||
private final BufferedWriter writer;
|
||||
private final String logFile = Main.getApplicationWorkDirectory() + File.separator + "latestrun.log";
|
||||
|
||||
/***
|
||||
* Initializes a new message handler
|
||||
@ -23,11 +28,29 @@ public abstract class MessageHandler implements GUI {
|
||||
this.writer = new BufferedWriter(new OutputStreamWriter(System.out));
|
||||
}
|
||||
|
||||
@Override
|
||||
public void logMessage(String message) {
|
||||
try {
|
||||
CommonFunctions.appendFile(logFile, "[Info]: " + message);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void logError(String message) {
|
||||
try {
|
||||
CommonFunctions.appendFile(logFile, "[Error]: " + message);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void showError(String title, String message) {
|
||||
if (silent) {
|
||||
try {
|
||||
writer.write("Error: ");
|
||||
writer.write("[Error]: ");
|
||||
writer.write(message);
|
||||
writer.newLine();
|
||||
writer.flush();
|
||||
@ -37,6 +60,7 @@ public abstract class MessageHandler implements GUI {
|
||||
} else {
|
||||
showJOptionPane(title, message, JOptionPane.ERROR_MESSAGE);
|
||||
}
|
||||
logError(message);
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -48,7 +72,7 @@ public abstract class MessageHandler implements GUI {
|
||||
public void showMessage(String title, String message) {
|
||||
if (silent) {
|
||||
try {
|
||||
writer.write(message);
|
||||
writer.write("[Info]: " + message);
|
||||
writer.newLine();
|
||||
writer.flush();
|
||||
} catch (IOException e) {
|
||||
@ -57,6 +81,7 @@ public abstract class MessageHandler implements GUI {
|
||||
} else {
|
||||
showJOptionPane(title, message, JOptionPane.INFORMATION_MESSAGE);
|
||||
}
|
||||
logMessage(message);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -14,9 +14,7 @@ import java.awt.event.ActionEvent;
|
||||
import java.awt.event.ActionListener;
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileWriter;
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Scanner;
|
||||
@ -104,12 +102,7 @@ public class ServerLauncherGUI extends MessageHandler implements ActionListener,
|
||||
@Override
|
||||
public void setStatus(String text) {
|
||||
this.lblStatuslabel.setText(text);
|
||||
try (PrintWriter file = new PrintWriter(new FileWriter(Main.getApplicationWorkDirectory() +
|
||||
File.separator + "latestrun.log", true))) {
|
||||
file.println(text);
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
this.logMessage(text);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -115,7 +115,7 @@ public class ServerLauncherMenu implements ActionListener {
|
||||
} else if (actionSource == oldJavaCommandInfoMenuItem) {
|
||||
serverLauncherGUI.showMessage("Old Java command", serverLauncherGUI.getMessage("oldJavaCommandText"));
|
||||
} else if (actionSource == deleteBuiltJarsInfoMenuItem) {
|
||||
serverLauncherGUI.showMessage("Delete build jar files", serverLauncherGUI.getMessage("deleteBuiltJarFilesText"));
|
||||
serverLauncherGUI.showMessage("Delete built jar files", serverLauncherGUI.getMessage("deleteBuiltJarFilesText"));
|
||||
} else if (actionSource == aboutMenuItem) {
|
||||
serverLauncherGUI.showMessage("About", serverLauncherGUI.getMessage("aboutText"));
|
||||
} else if (actionSource == storyMenuItem) {
|
||||
@ -134,7 +134,7 @@ public class ServerLauncherMenu implements ActionListener {
|
||||
downloadJarsCheckBoxMenuItem = createCheckBoxMenuItem("Download jars", mnOptions);
|
||||
javaCommandMenuItem = createMenuItem("Java command", mnOptions);
|
||||
oldJavaCommandMenuItem = createMenuItem("Old Java command", mnOptions);
|
||||
deleteBuiltJarsMenuItem = createMenuItem("Delete build jar files", mnOptions);
|
||||
deleteBuiltJarsMenuItem = createMenuItem("Delete built jar files", mnOptions);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -151,7 +151,7 @@ public class ServerLauncherMenu implements ActionListener {
|
||||
downloadJarsMenuItem = createMenuItem("Download jars", mnOptionsInfo);
|
||||
javaCommandInfoMenuItem = createMenuItem("Java command", mnOptionsInfo);
|
||||
oldJavaCommandInfoMenuItem = createMenuItem("Old Java command", mnOptionsInfo);
|
||||
deleteBuiltJarsInfoMenuItem = createMenuItem("Delete build jar files", mnOptionsInfo);
|
||||
deleteBuiltJarsInfoMenuItem = createMenuItem("Delete built jar files", mnOptionsInfo);
|
||||
|
||||
JMenu mnAbout = new JMenu("About");
|
||||
mnInfo.add(mnAbout);
|
||||
@ -210,14 +210,14 @@ public class ServerLauncherMenu implements ActionListener {
|
||||
* Deletes build Spigot and Bukkit .jar files if the user accepts
|
||||
*/
|
||||
private void deleteBuiltJars() {
|
||||
int answer = JOptionPane.showConfirmDialog(null, "This will delete build .jar files, causing them " +
|
||||
"to be rebuilt on the next run. Do you want to continue?", "Delete build .jar files",
|
||||
int answer = JOptionPane.showConfirmDialog(null, "This will delete built .jar files, causing them " +
|
||||
"to be rebuilt on the next run. Do you want to continue?", "Delete built .jar files",
|
||||
JOptionPane.YES_NO_OPTION
|
||||
);
|
||||
if (answer == JOptionPane.YES_NO_OPTION) {
|
||||
String jarDirectory = controller.getJarDirectory();
|
||||
File spigotFile = new File(jarDirectory + "SpigotLatest");
|
||||
File bukkitFile = new File(jarDirectory + "BukkitLatest");
|
||||
File spigotFile = new File(jarDirectory + "SpigotLatest.jar");
|
||||
File bukkitFile = new File(jarDirectory + "BukkitLatest.jar");
|
||||
boolean success = true;
|
||||
if (spigotFile.exists() && !spigotFile.delete()) {
|
||||
serverLauncherGUI.showError("Unable to delete latest spigot .jar");
|
||||
@ -228,7 +228,7 @@ public class ServerLauncherMenu implements ActionListener {
|
||||
success = false;
|
||||
}
|
||||
if (success) {
|
||||
serverLauncherGUI.showMessage("Deletion successful", "Deleted build .jar files");
|
||||
serverLauncherGUI.showMessage("Deletion successful", "Deleted built .jar files");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user