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.