make key generation throw exceptions in case of errors
[jSite2.git] / src / net / pterodactylus / jsite / gui / SwingInterface.java
index 4d83851..3652388 100644 (file)
@@ -45,6 +45,7 @@ import javax.swing.UnsupportedLookAndFeelException;
 
 import net.pterodactylus.jsite.core.Core;
 import net.pterodactylus.jsite.core.CoreListener;
+import net.pterodactylus.jsite.core.NoNodeException;
 import net.pterodactylus.jsite.core.Node;
 import net.pterodactylus.jsite.core.Project;
 import net.pterodactylus.jsite.core.Request;
@@ -816,9 +817,17 @@ public class SwingInterface implements CoreListener, LoggingListener {
         * Adds a project.
         */
        private void addProject() {
-               Project project = new Project();
-               project.setName("New Project");
-               project.setDescription("");
+               try {
+                       Project project = core.createProject("New Project");
+                       System.out.println("private: " + project.getPrivateKey() + ", public: " + project.getPublicKey());
+                       mainWindow.addProject(project);
+               } catch (NoNodeException nne1) {
+                       /* TODO - add i18n */
+                       JOptionPane.showMessageDialog(mainWindow, I18n.get(""), I18n.get(""), JOptionPane.ERROR_MESSAGE);
+               } catch (IOException e) {
+                       /* TODO - add i18n */
+                       JOptionPane.showMessageDialog(mainWindow, I18n.get(""), I18n.get(""), JOptionPane.ERROR_MESSAGE);
+               }
        }
 
        /**
@@ -991,6 +1000,13 @@ public class SwingInterface implements CoreListener, LoggingListener {
                /* TODO - update table model */
        }
 
+       /**
+        * @see net.pterodactylus.jsite.core.CoreListener#requestRemoved(net.pterodactylus.jsite.core.Request)
+        */
+       public void requestRemoved(Request request) {
+               requestTableModel.removeRequest(request);
+       }
+
        //
        // INTERFACE LoggingListener
        //