Author: mes
Date: 2012-02-08 15:27:21 -0800 (Wed, 08 Feb 2012)
New Revision: 28215

Added:
   
csplugins/trunk/ucsd/mes/genomespace-plugin/src/main/java/cytoscape/genomespace/LaunchToolAction.java
   
csplugins/trunk/ucsd/mes/genomespace-plugin/src/main/java/cytoscape/genomespace/LaunchToolMenu.java
Modified:
   
csplugins/trunk/ucsd/mes/genomespace-plugin/src/main/java/cytoscape/genomespace/GSUtils.java
   
csplugins/trunk/ucsd/mes/genomespace-plugin/src/main/java/cytoscape/genomespace/GenomeSpacePlugin.java
Log:
launch other tool support added

Modified: 
csplugins/trunk/ucsd/mes/genomespace-plugin/src/main/java/cytoscape/genomespace/GSUtils.java
===================================================================
--- 
csplugins/trunk/ucsd/mes/genomespace-plugin/src/main/java/cytoscape/genomespace/GSUtils.java
        2012-02-08 22:02:54 UTC (rev 28214)
+++ 
csplugins/trunk/ucsd/mes/genomespace-plugin/src/main/java/cytoscape/genomespace/GSUtils.java
        2012-02-08 23:27:21 UTC (rev 28215)
@@ -25,6 +25,10 @@
 
        private static GsSession session = null;
 
+       public static synchronized boolean loggedInToGS() {
+               return (session != null && session.isLoggedIn()); 
+       }
+
        public static synchronized GsSession getSession() {
                if (session == null || !session.isLoggedIn()) {
                        try {

Modified: 
csplugins/trunk/ucsd/mes/genomespace-plugin/src/main/java/cytoscape/genomespace/GenomeSpacePlugin.java
===================================================================
--- 
csplugins/trunk/ucsd/mes/genomespace-plugin/src/main/java/cytoscape/genomespace/GenomeSpacePlugin.java
      2012-02-08 22:02:54 UTC (rev 28214)
+++ 
csplugins/trunk/ucsd/mes/genomespace-plugin/src/main/java/cytoscape/genomespace/GenomeSpacePlugin.java
      2012-02-08 23:27:21 UTC (rev 28215)
@@ -3,6 +3,7 @@
 import cytoscape.Cytoscape;
 import cytoscape.plugin.CytoscapePlugin;
 import org.genomespace.sws.SimpleWebServer; 
+import javax.swing.JMenu; 
 
 
 /**
@@ -17,7 +18,7 @@
                // Properly initializes things.
                super();
 
-               SimpleWebServer sws = new SimpleWebServer(12345);
+               SimpleWebServer sws = new SimpleWebServer(60161);
                sws.registerListener(new LoadNetworkFromURL());
                sws.registerListener(new 
LoadCyTableFromURL("node.cytable",Cytoscape.getNodeAttributes()));
                sws.registerListener(new 
LoadCyTableFromURL("edge.cytable",Cytoscape.getEdgeAttributes()));
@@ -70,5 +71,10 @@
                LoginToGenomeSpace loginToGenomeSpace = new 
LoginToGenomeSpace();
                
Cytoscape.getDesktop().getCyMenus().addAction(loginToGenomeSpace);
 
+               JMenu gsMenu = 
Cytoscape.getDesktop().getCyMenus().getMenuBar().getMenu("File.GenomeSpace");
+               LaunchToolMenu ltm = new LaunchToolMenu(gsMenu);
+               gsMenu.add(ltm);
+               
+               
        }
 }      

Added: 
csplugins/trunk/ucsd/mes/genomespace-plugin/src/main/java/cytoscape/genomespace/LaunchToolAction.java
===================================================================
--- 
csplugins/trunk/ucsd/mes/genomespace-plugin/src/main/java/cytoscape/genomespace/LaunchToolAction.java
                               (rev 0)
+++ 
csplugins/trunk/ucsd/mes/genomespace-plugin/src/main/java/cytoscape/genomespace/LaunchToolAction.java
       2012-02-08 23:27:21 UTC (rev 28215)
@@ -0,0 +1,44 @@
+
+package cytoscape.genomespace;
+
+
+import cytoscape.logger.CyLogger;
+import cytoscape.Cytoscape;
+
+import javax.swing.Action;
+import javax.swing.AbstractAction;
+import java.awt.event.ActionEvent;
+import javax.swing.JOptionPane;
+
+import org.genomespace.sws.SimpleWebServer;
+import org.genomespace.client.ui.BrowserLauncher;
+import org.genomespace.atm.model.WebToolDescriptor;
+
+
+public class LaunchToolAction extends AbstractAction {
+
+       private static final CyLogger logger = 
CyLogger.getLogger(LaunchToolAction.class);
+
+       private final WebToolDescriptor webTool;
+
+       public LaunchToolAction(WebToolDescriptor webTool) {
+               super(webTool.getName());
+               this.webTool = webTool;
+       }
+
+       public void actionPerformed(ActionEvent e) {
+               try {
+                       String launchUrl = 
SimpleWebServer.makeLocalLoadUrl(webTool.getReloadPort(), null);
+                       if (!SimpleWebServer.timedGetUrl(launchUrl)) {
+                               launchUrl = webTool.getBaseUrl();
+                               logger.info("Launch URL is: "+ launchUrl);
+                               BrowserLauncher.openURL(launchUrl);
+                       }
+               } catch (Exception ex) {
+                       logger.error("Launch failed", ex);
+                       JOptionPane.showMessageDialog(Cytoscape.getDesktop(),
+                                                     ex.getMessage(), 
"GenomeSpace Error",
+                                                     
JOptionPane.ERROR_MESSAGE);
+               }
+       }
+}

Added: 
csplugins/trunk/ucsd/mes/genomespace-plugin/src/main/java/cytoscape/genomespace/LaunchToolMenu.java
===================================================================
--- 
csplugins/trunk/ucsd/mes/genomespace-plugin/src/main/java/cytoscape/genomespace/LaunchToolMenu.java
                         (rev 0)
+++ 
csplugins/trunk/ucsd/mes/genomespace-plugin/src/main/java/cytoscape/genomespace/LaunchToolMenu.java
 2012-02-08 23:27:21 UTC (rev 28215)
@@ -0,0 +1,50 @@
+
+
+package cytoscape.genomespace;
+
+
+import javax.swing.JMenu;
+import javax.swing.JMenuItem;
+import javax.swing.event.MenuListener;
+import javax.swing.event.MenuEvent;
+import org.genomespace.atm.model.WebToolDescriptor;
+import org.genomespace.client.GsSession;
+import cytoscape.logger.CyLogger;
+
+
+public class LaunchToolMenu extends JMenu implements MenuListener {
+
+       private static final CyLogger logger = 
CyLogger.getLogger(LaunchToolMenu.class);
+
+       public LaunchToolMenu(JMenu parent) {
+               super("Launch");
+               parent.addMenuListener(this);
+       }
+
+       public void menuCanceled(MenuEvent e) { 
+               removeAll();
+       }
+
+       public void menuDeselected(MenuEvent e) { 
+               removeAll();
+       } 
+
+       public void menuSelected(MenuEvent e) { 
+               if ( GSUtils.loggedInToGS() ) {
+                       setEnabled(true);
+                       try {
+                               GsSession session = GSUtils.getSession();
+                               for ( WebToolDescriptor webTool : 
session.getAnalysisToolManagerClient().getWebTools() ) {
+                                       if ( 
webTool.getName().equalsIgnoreCase("cytoscape") )
+                                               continue;
+                                       LaunchToolAction action = new 
LaunchToolAction(webTool);
+                                       add(new JMenuItem(action));
+                               }
+                       } catch (Exception ex) { 
+                               logger.warn("problem finding web tools", ex); 
+                       }
+               } else {
+                       setEnabled(false);
+               }
+       }
+}

-- 
You received this message because you are subscribed to the Google Groups 
"cytoscape-cvs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/cytoscape-cvs?hl=en.

Reply via email to