You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by he...@apache.org on 2013/03/22 17:01:32 UTC

svn commit: r1459864 - /airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/menues/AmazonEC2MenuItem.java

Author: heshan
Date: Fri Mar 22 16:01:32 2013
New Revision: 1459864

URL: http://svn.apache.org/r1459864
Log:
AIRAVATA-775 Adding ec2 menu to XBaya.

Added:
    airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/menues/AmazonEC2MenuItem.java

Added: airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/menues/AmazonEC2MenuItem.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/menues/AmazonEC2MenuItem.java?rev=1459864&view=auto
==============================================================================
--- airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/menues/AmazonEC2MenuItem.java (added)
+++ airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/ui/menues/AmazonEC2MenuItem.java Fri Mar 22 16:01:32 2013
@@ -0,0 +1,139 @@
+package org.apache.airavata.xbaya.ui.menues;
+
+import org.apache.airavata.xbaya.XBayaEngine;
+import org.apache.airavata.xbaya.ui.dialogs.amazon.AmazonEC2InvokerWindow;
+import org.apache.airavata.xbaya.ui.dialogs.amazon.AmazonS3UtilsWindow;
+import org.apache.airavata.xbaya.ui.dialogs.amazon.ChangeCredentialWindow;
+import org.apache.airavata.xbaya.ui.dialogs.amazon.EC2InstancesManagementWindow;
+
+import javax.swing.*;
+import java.awt.event.ActionEvent;
+
+public class AmazonEC2MenuItem {
+
+    private JMenu amazonEC2Menu;
+
+    private JMenuItem amazonAuthenticationItem;
+
+    private JMenuItem amazonEC2ToolItem;
+
+    private JMenuItem amazonS3ToolItem;
+
+    private JMenuItem configAndDeploy;
+
+    private XBayaEngine engine;
+
+    /**
+     * Constructs a AmazonEC2MenuItem.
+     *
+     * @param engine XBaya engine
+     */
+    public AmazonEC2MenuItem(XBayaEngine engine) {
+        this.engine = engine;
+
+        createAmazonEC2Menu();
+    }
+
+    /**
+     * create menu
+     */
+    private void createAmazonEC2Menu() {
+        createAmazonAuthenticationItem();
+        createAmazonEC2ToolItem();
+        createAmazonS3ToolItem();
+        createConfigAndRunItem();
+
+        this.amazonEC2Menu = new JMenu("Amazon");
+
+        this.amazonEC2Menu.add(this.amazonAuthenticationItem);
+        this.amazonEC2Menu.addSeparator();
+        this.amazonEC2Menu.add(this.amazonEC2ToolItem);
+        this.amazonEC2Menu.add(this.amazonS3ToolItem);
+        this.amazonEC2Menu.addSeparator();
+        this.amazonEC2Menu.add(this.configAndDeploy);
+    }
+
+    private void createAmazonAuthenticationItem() {
+        this.amazonAuthenticationItem = new JMenuItem("Security Credentials");
+        this.amazonAuthenticationItem.addActionListener(new AbstractAction() {
+            private ChangeCredentialWindow window;
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                if (this.window == null) {
+                    this.window = new ChangeCredentialWindow(AmazonEC2MenuItem.this.engine);
+                }
+                try {
+                    this.window.show();
+                } catch (Exception e1) {
+                    AmazonEC2MenuItem.this.engine.getGUI().getErrorWindow().error(e1);
+                }
+            }
+        });
+    }
+
+    private void createAmazonEC2ToolItem(){
+        this.amazonEC2ToolItem = new JMenuItem("EC2 Instances Management");
+        this.amazonEC2ToolItem.addActionListener(new AbstractAction() {
+            private EC2InstancesManagementWindow window;
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                if (this.window == null) {
+                    this.window = new EC2InstancesManagementWindow(AmazonEC2MenuItem.this.engine);
+                }
+                try {
+                    this.window.show();
+                } catch (Exception e1) {
+                    AmazonEC2MenuItem.this.engine.getGUI().getErrorWindow().error(e1);
+                }
+            }
+        });
+    }
+
+    private void createAmazonS3ToolItem() {
+        this.amazonS3ToolItem = new JMenuItem("S3 Upload/Download Tool");
+        this.amazonS3ToolItem.addActionListener(new AbstractAction() {
+            private AmazonS3UtilsWindow window;
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                if (this.window == null) {
+                    this.window = AmazonS3UtilsWindow.getInstance(AmazonEC2MenuItem.this.engine);
+                }
+                try {
+                    this.window.show();
+                } catch (Exception e1) {
+                    AmazonEC2MenuItem.this.engine.getGUI().getErrorWindow().error(e1);
+                }
+            }
+        });
+    }
+
+    private void createConfigAndRunItem() {
+        this.configAndDeploy = new JMenuItem("Config and Deploy Job Flow");
+        this.configAndDeploy.addActionListener(new AbstractAction() {
+            private AmazonEC2InvokerWindow window;
+
+            @Override
+            public void actionPerformed(ActionEvent e) {
+                if (this.window == null) {
+                    this.window = new AmazonEC2InvokerWindow(AmazonEC2MenuItem.this.engine);
+                }
+                try {
+                    this.window.show();
+                } catch (Exception e1) {
+                    AmazonEC2MenuItem.this.engine.getGUI().getErrorWindow().error(e1);
+                }
+
+            }
+        });
+
+    }
+
+    public JMenu getMenu() {
+        return this.amazonEC2Menu;
+    }
+
+}
+