private void refreshPathwayListForCurrentNetwork() { Set<String> selectedPathwaySet = new HashSet<String>(); for (int i : currentTable.getSelectedRows()) selectedPathwaySet.add(currentTable.getValueAt(i, 0).toString()); currentModel.setRowCount(0); SortedSet<String> pathwaySet; CyNetwork network = Cytoscape.getCurrentNetwork(); NetworkData networkData = MetScapePlugin.getPluginData().getNetworkData(Networks.getUUID(network)); NetworkType networkType = null; if (networkData != null) networkType = networkData.getNetworkType(); if (networkType == NetworkType.COMPOUND_REACTION || networkType == NetworkType.CREG) { // for C-R and C-R-E-G pathwaySet = getPathwaySetFromReactionNodes(network); } else if (networkType == NetworkType.COMPOUND) { pathwaySet = getPathwaySetFromReactionEdges(network); } else if (networkType == NetworkType.COMPOUND_GENE) { pathwaySet = getPathwaySetFromEnzymeReactionEdges(network); } else { pathwaySet = new TreeSet<String>(); } for (String pathway : pathwaySet) { currentModel.addRow(new Object[] {pathway}); if (selectedPathwaySet.contains(pathway)) currentTable.addRowSelectionInterval( currentTable.getRowCount() - 1, currentTable.getRowCount() - 1); } applySelectionToNetwork(); }