Author: mes
Date: 2011-11-28 10:52:52 -0800 (Mon, 28 Nov 2011)
New Revision: 27603
Added:
csplugins/trunk/ucsd/mes/genomespace-plugin/src/main/java/cytoscape/genomespace/LoadCyTableFromGenomeSpace.java
Modified:
csplugins/trunk/ucsd/mes/genomespace-plugin/pom.xml
csplugins/trunk/ucsd/mes/genomespace-plugin/src/main/java/cytoscape/genomespace/GenomeSpacePlugin.java
Log:
added cytable support
Modified: csplugins/trunk/ucsd/mes/genomespace-plugin/pom.xml
===================================================================
--- csplugins/trunk/ucsd/mes/genomespace-plugin/pom.xml 2011-11-24 01:48:23 UTC
(rev 27602)
+++ csplugins/trunk/ucsd/mes/genomespace-plugin/pom.xml 2011-11-28 18:52:52 UTC
(rev 27603)
@@ -62,6 +62,12 @@
<scope>provided</scope>
</dependency>
<dependency>
+ <groupId>cytoscape</groupId>
+ <artifactId>cytable-reader</artifactId>
+ <version>1.0-SNAPSHOT</version>
+ <scope>provided</scope>
+ </dependency>
+ <dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
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
2011-11-24 01:48:23 UTC (rev 27602)
+++
csplugins/trunk/ucsd/mes/genomespace-plugin/src/main/java/cytoscape/genomespace/GenomeSpacePlugin.java
2011-11-28 18:52:52 UTC (rev 27603)
@@ -39,6 +39,9 @@
LoadAttrsFromGenomeSpace loadAttrsAction = new
LoadAttrsFromGenomeSpace();
Cytoscape.getDesktop().getCyMenus().addAction(loadAttrsAction);
+ LoadCyTableFromGenomeSpace loadCyTableAction = new
LoadCyTableFromGenomeSpace();
+
Cytoscape.getDesktop().getCyMenus().addAction(loadCyTableAction);
+
LoadTableAttrsFromGenomeSpace loadTableAttrsAction =
new LoadTableAttrsFromGenomeSpace();
Cytoscape.getDesktop().getCyMenus().addAction(loadTableAttrsAction);
Added:
csplugins/trunk/ucsd/mes/genomespace-plugin/src/main/java/cytoscape/genomespace/LoadCyTableFromGenomeSpace.java
===================================================================
---
csplugins/trunk/ucsd/mes/genomespace-plugin/src/main/java/cytoscape/genomespace/LoadCyTableFromGenomeSpace.java
(rev 0)
+++
csplugins/trunk/ucsd/mes/genomespace-plugin/src/main/java/cytoscape/genomespace/LoadCyTableFromGenomeSpace.java
2011-11-28 18:52:52 UTC (rev 27603)
@@ -0,0 +1,93 @@
+package cytoscape.genomespace;
+
+
+import cytoscape.Cytoscape;
+import cytoscape.data.CyAttributes;
+import cytoscape.data.readers.CyAttributesReader;
+import cytoscape.logger.CyLogger;
+import cytoscape.util.CytoscapeAction;
+import cytoscape.cytable.ImportCyTableTask;
+
+import cytoscape.task.Task;
+import cytoscape.task.TaskMonitor;
+import cytoscape.task.ui.JTaskConfig;
+import cytoscape.task.util.TaskManager;
+
+import java.awt.event.ActionEvent;
+import java.io.File;
+import java.io.FileReader;
+import java.util.ArrayList;
+import java.util.List;
+import javax.swing.ImageIcon;
+import javax.swing.JOptionPane;
+
+import org.genomespace.client.DataManagerClient;
+import org.genomespace.client.GsSession;
+import org.genomespace.client.User;
+import org.genomespace.datamanager.core.GSFileMetadata;
+
+
+public class LoadCyTableFromGenomeSpace extends CytoscapeAction {
+ private static final long serialVersionUID = 7577788473487659L;
+ private static final CyLogger logger =
CyLogger.getLogger(LoadNetworkFromGenomeSpace.class);
+
+ public LoadCyTableFromGenomeSpace() {
+ super("Load CyTable...",
+ new
ImageIcon(LoadAttrsFromGenomeSpace.class.getResource("/images/genomespace_icon.gif")));
+
+ // Set the menu you'd like here. Plugins don't need
+ // to live in the Plugins menu, so choose whatever
+ // is appropriate!
+ setPreferredMenu("File.Import.GenomeSpace");
+ }
+
+ public void actionPerformed(ActionEvent e) {
+ File tempFile = null;
+ try {
+ final GsSession client = GSUtils.getSession();
+ final DataManagerClient dataManagerClient =
client.getDataManagerClient();
+
+ // Select the GenomeSpace file:
+ final AttrFileSelectionDialog dialog =
+ new
AttrFileSelectionDialog(Cytoscape.getDesktop(),
+ dataManagerClient);
+ final GSFileMetadata fileMetadata =
dialog.getSelectedFileMetadata();
+ if (fileMetadata == null)
+ return;
+
+ // Download the GenomeSpace file:
+ tempFile = File.createTempFile("temp", "attrs.cytable");
+ dataManagerClient.downloadFile(fileMetadata, tempFile,
true);
+
+ final boolean useNodeAttrs = dialog.useNodeAttrs();
+ final String type = useNodeAttrs ? "Node" : "Edge";
+
+ ImportCyTableTask task = new ImportCyTableTask(new File[] {
tempFile }, type);
+ JTaskConfig jTaskConfig = new JTaskConfig();
+ jTaskConfig.setOwner(Cytoscape.getDesktop());
+ jTaskConfig.displayCloseButton(true);
+ jTaskConfig.displayStatus(true);
+ jTaskConfig.setAutoDispose(false);
+ TaskManager.executeTask(task, jTaskConfig);
+
+ } catch (Exception ex) {
+ logger.error("GenomeSpace failed", ex);
+ JOptionPane.showMessageDialog(Cytoscape.getDesktop(),
+ ex.getMessage(),
"GenomeSpace Error",
+
JOptionPane.ERROR_MESSAGE);
+ } finally {
+ if (tempFile != null)
+ tempFile.delete();
+ }
+ }
+
+ private static String getExtension(final String fileName) {
+ final int lastDotPos = fileName.lastIndexOf('.');
+ return (lastDotPos == -1 ? fileName :
fileName.substring(lastDotPos)).toLowerCase();
+ }
+
+ private static String getNetworkTitle(final String fileName) {
+ final int lastDotPos = fileName.lastIndexOf('.');
+ return lastDotPos == -1 ? fileName : fileName.substring(0,
lastDotPos);
+ }
+}
--
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.