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.

Reply via email to