@Override public CyNetworkView buildCyNetworkView(final CyNetwork network) { final CyNetworkView view = networkViewFactory.createNetworkView(network); final CyLayoutAlgorithm layout = layouts.getDefaultLayout(); TaskIterator itr = layout.createTaskIterator( view, layout.getDefaultLayoutContext(), CyLayoutAlgorithm.ALL_NODE_VIEWS, ""); Task nextTask = itr.next(); try { nextTask.run(parentTaskMonitor); } catch (Exception e) { throw new RuntimeException("Could not finish layout", e); } parentTaskMonitor.setProgress(1.0d); return view; }
private final Map<String, String> writeNetworkFile(String file, CyNetworkView view) { File networkFile = null; try { networkFile = new File(file); TaskIterator itr = exportNetworkViewTaskFactory.createTaskIterator(view, networkFile); while (itr.hasNext()) { final Task task = itr.next(); task.run(new HeadlessTaskMonitor()); } } catch (Exception e) { e.printStackTrace(); throw getError("Could not save network file.", e, Response.Status.INTERNAL_SERVER_ERROR); } final Map<String, String> message = new HashMap<>(); message.put("file", networkFile.getAbsolutePath()); return message; }
@Test public void testRun() throws Exception { final CyTable edgeTable = mock(CyTable.class); when(net.getDefaultEdgeTable()).thenReturn(edgeTable); UndoSupport undoSupport = mock(UndoSupport.class); Set<CyRow> deselectedEdges = new HashSet<CyRow>(); deselectedEdges.add(r1); deselectedEdges.add(r2); when(edgeTable.getMatchingRows(CyNetwork.SELECTED, false)).thenReturn(deselectedEdges); when(r1.get(CyNetwork.SUID, Long.class)).thenReturn(1L); when(net.getEdge(1L)).thenReturn(e1); when(r2.get(CyNetwork.SUID, Long.class)).thenReturn(2L); when(net.getEdge(2L)).thenReturn(e2); // run the task Task t = new SelectAllEdgesTask(undoSupport, net, networkViewManager, eventHelper); t.run(tm); // check that the expected rows were set verify(r1, times(1)).set("selected", true); verify(r2, times(1)).set("selected", true); }