X-Git-Url: https://code.wpia.club/?a=blobdiff_plain;f=src%2Forg%2Fcacert%2Fgigi%2FDevelLauncher.java;h=e66b9157cd7b07cf3d91e04192b41f96219ba520;hb=87c6ea794b343732e32514cba17d047c6fc196a4;hp=2cc7f6348bb1900e0853a1654c1683d4a43d4919;hpb=638ef2a38b676d8bb919d25ce9ce092d6ecbd3fe;p=gigi.git diff --git a/src/org/cacert/gigi/DevelLauncher.java b/src/org/cacert/gigi/DevelLauncher.java index 2cc7f634..e66b9157 100644 --- a/src/org/cacert/gigi/DevelLauncher.java +++ b/src/org/cacert/gigi/DevelLauncher.java @@ -14,7 +14,9 @@ import java.lang.reflect.Field; import java.net.URL; import java.nio.file.Files; import java.nio.file.Paths; +import java.util.Collections; import java.util.HashMap; +import java.util.Map; import java.util.Properties; import javax.servlet.http.HttpServletRequest; @@ -32,7 +34,9 @@ public class DevelLauncher { public static void main(String[] args) throws Exception { Properties mainProps = new Properties(); - mainProps.load(new FileInputStream("config/gigi.properties")); + try (FileInputStream inStream = new FileInputStream("config/gigi.properties")) { + mainProps.load(inStream); + } for (int i = 0; i < args.length; i++) { if (args[i].equals("--port")) { mainProps.setProperty("port", args[i + 1]); @@ -52,28 +56,28 @@ public class DevelLauncher { byte[] cacerts = Files.readAllBytes(Paths.get("config/cacerts.jks")); byte[] keystore = Files.readAllBytes(Paths.get("config/keystore.pkcs12")); - DevelLauncher.writeGigiConfig(dos, "changeit".getBytes(), "changeit".getBytes(), mainProps, cacerts, keystore); + DevelLauncher.writeGigiConfig(dos, "changeit".getBytes("UTF-8"), "changeit".getBytes("UTF-8"), mainProps, cacerts, keystore); dos.flush(); InputStream oldin = System.in; System.setIn(new ByteArrayInputStream(chunkConfig.toByteArray())); - Launcher.main(args); + Launcher.boot(); addDevelPage(); System.setIn(oldin); - BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + BufferedReader br = new BufferedReader(new InputStreamReader(System.in, "UTF-8")); System.out.println("Cacert-gigi system sucessfully started."); System.out.println("Press enter to shutdown."); br.readLine(); System.exit(0); } - private static void addDevelPage() { + public static void addDevelPage() { try { Field instF = Gigi.class.getDeclaredField("instance"); Field pageF = Gigi.class.getDeclaredField("pages"); instF.setAccessible(true); pageF.setAccessible(true); Object gigi = instF.get(null); - HashMap pages = (HashMap) pageF.get(gigi); + HashMap pages = new HashMap<>((Map) pageF.get(gigi)); pages.put("/manage", new Page("Page-manager") { @Override @@ -88,7 +92,9 @@ public class DevelLauncher { public boolean needsLogin() { return false; } + }); + pages.put("/kill", new Page("Kill") { @Override @@ -101,6 +107,8 @@ public class DevelLauncher { return false; } }); + + pageF.set(gigi, Collections.unmodifiableMap(pages)); } catch (ReflectiveOperationException e) { e.printStackTrace(); }