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.