Author: kono
Date: 2011-06-03 19:43:45 -0700 (Fri, 03 Jun 2011)
New Revision: 25645

Added:
   
core3/table-import-impl/trunk/src/main/java/org/cytoscape/tableimport/internal/task/ImportOntologyAndAnnotationAction.java
   
core3/table-import-impl/trunk/src/main/java/org/cytoscape/tableimport/internal/task/ImportOntologyAndAnnotationTask.java
   
core3/table-import-impl/trunk/src/main/java/org/cytoscape/tableimport/internal/task/ImportOntologyAndAnnotationTaskFactory.java
   
core3/table-import-impl/trunk/src/main/java/org/cytoscape/tableimport/internal/task/RegisterOntologyTask.java
Log:
Integration to GUI had been started (OBO/GA Readers).

Added: 
core3/table-import-impl/trunk/src/main/java/org/cytoscape/tableimport/internal/task/ImportOntologyAndAnnotationAction.java
===================================================================
--- 
core3/table-import-impl/trunk/src/main/java/org/cytoscape/tableimport/internal/task/ImportOntologyAndAnnotationAction.java
                          (rev 0)
+++ 
core3/table-import-impl/trunk/src/main/java/org/cytoscape/tableimport/internal/task/ImportOntologyAndAnnotationAction.java
  2011-06-04 02:43:45 UTC (rev 25645)
@@ -0,0 +1,124 @@
+package org.cytoscape.tableimport.internal.task;
+
+import java.awt.BorderLayout;
+import java.awt.Dimension;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.io.IOException;
+
+import javax.swing.Box;
+import javax.swing.JButton;
+import javax.swing.JDialog;
+import javax.xml.bind.JAXBException;
+
+import org.cytoscape.application.swing.AbstractCyAction;
+import org.cytoscape.io.read.InputStreamTaskFactory;
+import org.cytoscape.model.CyNetworkManager;
+import org.cytoscape.property.CyProperty;
+import org.cytoscape.property.bookmark.Bookmarks;
+import org.cytoscape.property.bookmark.BookmarksUtil;
+import org.cytoscape.session.CyApplicationManager;
+import org.cytoscape.tableimport.internal.ui.ImportTablePanel;
+import org.cytoscape.work.TaskManager;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ImportOntologyAndAnnotationAction extends AbstractCyAction {
+
+       private static final long serialVersionUID = 3000065764000826333L;
+
+       private static final Logger logger = 
LoggerFactory.getLogger(ImportOntologyAndAnnotationAction.class);
+
+       private final CyProperty<Bookmarks> bookmarksProp;
+       private final BookmarksUtil bkUtil;
+
+       private ImportTablePanel ontologyPanel;
+
+       private final InputStreamTaskFactory factory;
+       private final TaskManager taskManager;
+       
+       private final CyNetworkManager manager;
+
+       public ImportOntologyAndAnnotationAction(final CyApplicationManager 
appManager,
+                       final CyProperty<Bookmarks> bookmarksProp, final 
BookmarksUtil bkUtil, final TaskManager taskManager,
+                       final InputStreamTaskFactory factory, final 
CyNetworkManager manager) {
+               super("Import Ontology and Annotation...", appManager);
+               setPreferredMenu("File.Import");
+
+               this.bookmarksProp = bookmarksProp;
+               this.bkUtil = bkUtil;
+               
+               this.taskManager = taskManager;
+               this.factory = factory;
+               
+               this.manager = manager;
+       }
+
+       @Override
+       public void actionPerformed(ActionEvent e) {
+
+               final JDialog dialog = layout();
+
+               try {
+                       ontologyPanel = new 
ImportTablePanel(ImportTablePanel.ONTOLOGY_AND_ANNOTATION_IMPORT, null, null,
+                                       bookmarksProp, bkUtil, taskManager, 
factory, manager);
+                       dialog.add(ontologyPanel, BorderLayout.CENTER);
+                       dialog.pack();
+                       dialog.setLocationRelativeTo(null);
+
+               } catch (JAXBException e1) {
+                       e1.printStackTrace();
+               } catch (IOException e1) {
+                       e1.printStackTrace();
+               }
+
+               dialog.setVisible(true);
+       }
+
+       private JDialog layout() {
+               final JDialog dialog = new JDialog();
+               dialog.setModal(true);
+
+               final JButton importButton = new JButton("Import");
+               importButton.addActionListener(new ActionListener() {
+                       @Override
+                       public void actionPerformed(ActionEvent ae) {
+                               logger.debug("Ontology Import task start");
+                               dialog.dispose();
+
+                               // Call Import
+                               try {
+                                       ontologyPanel.importTable();
+                               } catch (Exception e) {
+                                       logger.error("Could not import 
ontology.", e);
+                               }
+                       }
+               });
+
+               final JButton cancelButton = new JButton("Cancel");
+               cancelButton.addActionListener(new ActionListener() {
+                       @Override
+                       public void actionPerformed(ActionEvent ae) {
+                               logger.debug("Import canceled.");
+                               dialog.dispose();
+                       }
+               });
+
+               final Dimension dim = importButton.getPreferredSize();
+               importButton.setPreferredSize(new Dimension(120, dim.height));
+               cancelButton.setPreferredSize(new Dimension(120, dim.height));
+
+               final Box box1 = Box.createHorizontalBox();
+               box1.add(Box.createHorizontalGlue());
+               box1.add(importButton);
+               box1.add(Box.createHorizontalStrut(5));
+               box1.add(cancelButton);
+               box1.add(Box.createHorizontalStrut(5));
+               box1.add(Box.createRigidArea(new Dimension(0, dim.height + 
10)));
+
+               dialog.add(box1, BorderLayout.SOUTH);
+
+               return dialog;
+       }
+
+}

Added: 
core3/table-import-impl/trunk/src/main/java/org/cytoscape/tableimport/internal/task/ImportOntologyAndAnnotationTask.java
===================================================================
--- 
core3/table-import-impl/trunk/src/main/java/org/cytoscape/tableimport/internal/task/ImportOntologyAndAnnotationTask.java
                            (rev 0)
+++ 
core3/table-import-impl/trunk/src/main/java/org/cytoscape/tableimport/internal/task/ImportOntologyAndAnnotationTask.java
    2011-06-04 02:43:45 UTC (rev 25645)
@@ -0,0 +1,39 @@
+package org.cytoscape.tableimport.internal.task;
+
+import java.io.InputStream;
+
+import org.cytoscape.io.read.CyNetworkReader;
+import org.cytoscape.io.read.InputStreamTaskFactory;
+import org.cytoscape.model.CyNetworkManager;
+import org.cytoscape.work.AbstractTask;
+import org.cytoscape.work.Task;
+import org.cytoscape.work.TaskMonitor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class ImportOntologyAndAnnotationTask extends AbstractTask {
+       
+       private static final Logger logger = 
LoggerFactory.getLogger(ImportOntologyAndAnnotationTask.class);
+       
+       private final InputStreamTaskFactory factory;
+       private final CyNetworkManager manager;
+       private final String name;
+       
+       ImportOntologyAndAnnotationTask(final CyNetworkManager manager, final 
InputStreamTaskFactory factory, InputStream is, String name) {
+               this.factory = factory;
+               this.manager = manager;
+               this.name = name;
+               
+               factory.setInputStream(is, name);
+       }
+       
+       @Override
+       public void run(TaskMonitor tm) throws Exception {
+               logger.debug("Start");
+               Task loadOBOTask = factory.getTaskIterator().next();
+               
+               insertTasksAfterCurrentTask(new 
RegisterOntologyTask((CyNetworkReader) loadOBOTask, manager, name));
+               insertTasksAfterCurrentTask(loadOBOTask);
+               
+       }
+}

Added: 
core3/table-import-impl/trunk/src/main/java/org/cytoscape/tableimport/internal/task/ImportOntologyAndAnnotationTaskFactory.java
===================================================================
--- 
core3/table-import-impl/trunk/src/main/java/org/cytoscape/tableimport/internal/task/ImportOntologyAndAnnotationTaskFactory.java
                             (rev 0)
+++ 
core3/table-import-impl/trunk/src/main/java/org/cytoscape/tableimport/internal/task/ImportOntologyAndAnnotationTaskFactory.java
     2011-06-04 02:43:45 UTC (rev 25645)
@@ -0,0 +1,28 @@
+package org.cytoscape.tableimport.internal.task;
+
+import java.io.InputStream;
+
+import org.cytoscape.io.read.InputStreamTaskFactory;
+import org.cytoscape.model.CyNetworkManager;
+import org.cytoscape.work.TaskFactory;
+import org.cytoscape.work.TaskIterator;
+
+public class ImportOntologyAndAnnotationTaskFactory implements TaskFactory {
+       
+       private final InputStreamTaskFactory factory;
+       private InputStream is;
+       private String name;
+       private final CyNetworkManager manager;
+       
+       public ImportOntologyAndAnnotationTaskFactory(final CyNetworkManager 
manager, final InputStreamTaskFactory factory, InputStream is, String name) {
+               this.factory = factory;
+               this.is = is;
+               this.name = name;
+               this.manager = manager;
+       }
+
+       @Override
+       public TaskIterator getTaskIterator() {
+               return new TaskIterator(new 
ImportOntologyAndAnnotationTask(manager, factory, is, name));
+       }
+}

Added: 
core3/table-import-impl/trunk/src/main/java/org/cytoscape/tableimport/internal/task/RegisterOntologyTask.java
===================================================================
--- 
core3/table-import-impl/trunk/src/main/java/org/cytoscape/tableimport/internal/task/RegisterOntologyTask.java
                               (rev 0)
+++ 
core3/table-import-impl/trunk/src/main/java/org/cytoscape/tableimport/internal/task/RegisterOntologyTask.java
       2011-06-04 02:43:45 UTC (rev 25645)
@@ -0,0 +1,42 @@
+package org.cytoscape.tableimport.internal.task;
+
+import org.cytoscape.io.read.CyNetworkReader;
+import org.cytoscape.model.CyNetwork;
+import org.cytoscape.model.CyNetworkManager;
+import org.cytoscape.model.CyTableEntry;
+import org.cytoscape.work.AbstractTask;
+import org.cytoscape.work.TaskMonitor;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class RegisterOntologyTask extends AbstractTask {
+       
+       private static final Logger logger = 
LoggerFactory.getLogger(RegisterOntologyTask.class);
+       
+       final CyNetworkReader reader;
+       final CyNetworkManager manager;
+       final String name;
+       
+       RegisterOntologyTask(final CyNetworkReader reader, final 
CyNetworkManager manager, final String name) {
+               this.reader = reader;
+               this.manager = manager;
+               this.name = name;
+       }
+       
+       @Override
+       public void run(TaskMonitor tm) throws Exception {
+               logger.debug("Trying to register new DAG");
+               
+               final CyNetwork[] networks = reader.getCyNetworks();
+               final CyNetwork network = networks[0];
+               
+               if(network == null)
+                       throw new NullPointerException("No Ontology DAG 
loaded");
+               
+               network.getCyRow().set(CyTableEntry.NAME, name);
+               manager.addNetwork(network);
+               
+               logger.debug("Registered: model ID = " + network.getSUID());
+       }
+
+}

-- 
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