From 85d38e7af223b517ed966209113a714c154e0886 Mon Sep 17 00:00:00 2001
From: zzz <zzz@mail.i2p>
Date: Mon, 15 Sep 2014 19:17:24 +0000
Subject: [PATCH] I2PTunnelGUI: Deleted, moved to i2p.scripts

---
 .../java/src/net/i2p/i2ptunnel/I2PTunnel.java | 11 ++++-
 .../src/net/i2p/i2ptunnel/I2PTunnelGUI.java   | 48 -------------------
 2 files changed, 10 insertions(+), 49 deletions(-)
 delete mode 100644 apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelGUI.java

diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnel.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnel.java
index 0e52f17a1c..1bfbada56a 100644
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnel.java
+++ b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnel.java
@@ -40,6 +40,7 @@ import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.OutputStream;
+import java.lang.reflect.Constructor;
 import java.net.InetAddress;
 import java.net.UnknownHostException;
 import java.util.ArrayList;
@@ -256,7 +257,15 @@ public class I2PTunnel extends EventDispatcherImpl implements Logging {
         }
 
         if (gui) {
-            new I2PTunnelGUI(this);
+            // removed from source, now in i2p.scripts
+            //new I2PTunnelGUI(this);
+            try {
+                Class<?> cls = Class.forName("net.i2p.i2ptunnel.I2PTunnelGUI");
+                Constructor<?> con = cls.getConstructor(I2PTunnel.class);
+                con.newInstance(this);
+            } catch (Throwable t) {
+                throw new UnsupportedOperationException("GUI is not available, try -cli", t);
+            }
         } else if (cli) {
             try {
                 System.out.println("Enter 'help' for help.");
diff --git a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelGUI.java b/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelGUI.java
deleted file mode 100644
index 7dd7308456..0000000000
--- a/apps/i2ptunnel/java/src/net/i2p/i2ptunnel/I2PTunnelGUI.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/* I2PTunnel is GPL'ed (with the exception mentioned in I2PTunnel.java)
- * (c) 2003 - 2004 mihi
- */
-package net.i2p.i2ptunnel;
-
-import java.awt.BorderLayout;
-import java.awt.Font;
-import java.awt.Frame;
-import java.awt.TextArea;
-import java.awt.TextField;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-
-/**
- * AWT gui since kaffe doesn't support swing yet
- */
-public class I2PTunnelGUI extends Frame implements ActionListener, Logging {
-
-    TextField input;
-    TextArea log;
-    I2PTunnel t;
-
-    public I2PTunnelGUI(I2PTunnel t) {
-        super("I2PTunnel control panel");
-        this.t = t;
-        setLayout(new BorderLayout());
-        add("South", input = new TextField());
-        input.addActionListener(this);
-        Font font = new Font("Monospaced", Font.PLAIN, 12);
-        add("Center", log = new TextArea("", 20, 80, TextArea.SCROLLBARS_VERTICAL_ONLY));
-        log.setFont(font);
-        log.setEditable(false);
-        log("enter 'help' for help.");
-        pack();
-        setVisible(true);
-    }
-
-    public void log(String s) {
-        log.append(s + "\n");
-    }
-
-    public void actionPerformed(ActionEvent evt) {
-        log("I2PTunnel>" + input.getText());
-        t.runCommand(input.getText(), this);
-        log("---");
-        input.setText("");
-    }
-}
\ No newline at end of file
-- 
GitLab