public void downloadInteractions(CyNetwork networkToMerge) { String networkTitle = peName + ": Network"; CPathWebService webApi = CPathWebServiceImpl.getInstance(); CPathResponseFormat format; CPathProperties config = CPathProperties.getInstance(); if (config.getDownloadMode() == CPathProperties.DOWNLOAD_FULL_BIOPAX) { format = CPathResponseFormat.BIOPAX; } else { format = CPathResponseFormat.BINARY_SIF; } TaskManager taskManager = factory.getTaskManager(); ExecuteGetRecordByCPathIdTaskFactory taskFactory = factory.createExecuteGetRecordByCPathIdTaskFactory( webApi, ids, format, networkTitle, networkToMerge); taskManager.execute(taskFactory.createTaskIterator()); }
/** Executes Task. */ public void run(TaskMonitor taskMonitor) throws Exception { taskMonitor.setTitle("Loading Network"); taskMonitor.setProgress(0); taskMonitor.setStatusMessage("Reading in Network Data..."); try { CyNetworkReaderManager readerManager = factory.getCyNetworkViewReaderManager(); CyNetworkReader reader = readerManager.getReader(url.toURI(), url.getFile()); if (reader == null) { JOptionPane.showMessageDialog( factory.getCySwingApplication().getJFrame(), "Unable to connect to URL " + url, "URL Connect Error", JOptionPane.ERROR_MESSAGE); return; } taskMonitor.setStatusMessage("Creating Cytoscape Network..."); reader.run(taskMonitor); CyNetwork[] networks = reader.getNetworks(); CyNetwork cyNetwork = networks[0]; // TODO: Does CPath2 listen for this? // Object[] ret_val = new Object[2]; // ret_val[0] = cyNetwork; // ret_val[1] = url.toString(); // // Cytoscape.firePropertyChange(Cytoscape.NETWORK_LOADED, null, ret_val); if (cyNetwork != null) { informUserOfGraphStats(cyNetwork, taskMonitor); } else { StringBuffer sb = new StringBuffer(); sb.append("Could not read network from: "); sb.append(url); sb.append("\nThis file may not be a valid file format."); throw new IOException(sb.toString()); } taskMonitor.setProgress(1.0); } catch (Exception e) { throw new Exception("Unable to load network.", e); } }
/** * Constructor. * * @param passedRecordList List of Records that Passed over Filter. * @param peName Name of Physical Entity. * @param bpContainer */ public DownloadDetails( List<BasicRecordType> passedRecordList, String peName, CPath2Factory factory) { super(); this.factory = factory; this.peName = peName; this.setTitle("Retrieval Confirmation"); this.setModal(true); Container contentPane = getContentPane(); contentPane.setLayout(new BorderLayout()); GradientHeader header = new GradientHeader("Confirm Retrieval: " + passedRecordList.size() + " records"); contentPane.add(header, BorderLayout.NORTH); DefaultTableModel tableModel = new NonEditableTableModel(); Vector headerList = new Vector(); headerList.add("Name (if available)"); headerList.add("Type"); headerList.add("Data Source"); tableModel.setColumnIdentifiers(headerList); tableModel.setRowCount(passedRecordList.size()); JTable table = new JTable(tableModel); // Adjust width / height of viewport; fixes bug #1620. Dimension d = table.getPreferredSize(); d.width = d.width * 2; if (d.height > 200) { d.height = 200; } table.setPreferredScrollableViewportSize(d); table.setAutoCreateColumnsFromModel(true); table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION); ids = new long[passedRecordList.size()]; int i = 0; for (BasicRecordType record : passedRecordList) { if (record.getName().equalsIgnoreCase("N/A")) { record.setName("---"); } tableModel.setValueAt(record.getName(), i, 0); tableModel.setValueAt(record.getEntityType(), i, 1); if (record.getDataSource() != null) { tableModel.setValueAt(record.getDataSource().getName(), i, 2); } else { tableModel.setValueAt("---", i, 3); } ids[i++] = record.getPrimaryId(); } JScrollPane scrollPane = new JScrollPane(table); scrollPane.setBorder(new EmptyBorder(5, 5, 5, 5)); contentPane.add(scrollPane, BorderLayout.CENTER); JPanel buttonPanel = createButtonPanel(this); mergePanel = factory.createMergePanel(); JPanel panel = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); if (mergePanel != null) { panel.add(mergePanel); } panel.add(buttonPanel); contentPane.add(panel, BorderLayout.SOUTH); pack(); setLocationRelativeTo(factory.getCySwingApplication().getJFrame()); }