use of org.cytoscape.io.read.CyTableReader in project cytoscape-impl by cytoscape.
the class LoadTableFileTaskFactoryImpl method createTaskIterator.
@Override
public TaskIterator createTaskIterator(final File file) {
final CyTableReaderManager tableReaderMgr = serviceRegistrar.getService(CyTableReaderManager.class);
final CyTableReader reader = tableReaderMgr.getReader(file.toURI(), file.toURI().toString());
return new TaskIterator(new CombineReaderAndMappingTask(reader, serviceRegistrar));
}
use of org.cytoscape.io.read.CyTableReader in project cytoscape-impl by cytoscape.
the class LoadTableURLTaskFactoryImpl method createTaskIterator.
@Override
public TaskIterator createTaskIterator(URL url) {
URI uri = null;
try {
uri = url.toURI();
} catch (URISyntaxException e) {
e.printStackTrace();
}
final CyTableReaderManager tableReaderMgr = serviceRegistrar.getService(CyTableReaderManager.class);
final CyTableReader reader = tableReaderMgr.getReader(uri, uri.toString());
return new TaskIterator(new CombineReaderAndMappingTask(reader, serviceRegistrar));
}
use of org.cytoscape.io.read.CyTableReader in project cytoscape-impl by cytoscape.
the class AbstractLoadTableTask method loadTable.
void loadTable(final String name, final URI uri, boolean combine, final TaskMonitor taskMonitor) throws Exception {
taskMonitor.setStatusMessage("Finding Table Data Reader...");
final CyTableReaderManager tableReaderMgr = serviceRegistrar.getService(CyTableReaderManager.class);
final CyTableReader reader = tableReaderMgr.getReader(uri, uri.toString());
if (reader == null)
throw new NullPointerException("Failed to find reader for specified file.");
if (combine) {
taskMonitor.setStatusMessage("Importing Data Table...");
insertTasksAfterCurrentTask(new CombineReaderAndMappingTask(reader, serviceRegistrar));
} else {
taskMonitor.setStatusMessage("Loading Data Table...");
insertTasksAfterCurrentTask(new ReaderTableTask(reader, serviceRegistrar), new AddImportedTableTask(reader, serviceRegistrar));
}
}
use of org.cytoscape.io.read.CyTableReader in project cytoscape-impl by cytoscape.
the class Cy3SessionReaderImpl method extractTable.
private void extractTable(InputStream stream, String entryName) throws Exception {
CyTableReader reader = (CyTableReader) csvCyReaderFactory.createTaskIterator(stream, entryName).next();
reader.run(taskMonitor);
// Assume one table per entry
CyTable table = reader.getTables()[0];
Matcher matcher = NETWORK_TABLE_PATTERN.matcher(entryName);
if (matcher.matches()) {
String networkName = SessionUtil.unescape(matcher.group(2));
Long oldNetId = getOldNetworkId(networkName);
if (oldNetId == null) {
throw new NullPointerException("Cannot extract table. Network SUID is null for entry: " + entryName);
}
String namespace = SessionUtil.unescape(matcher.group(3));
Class<?> type = Class.forName(SessionUtil.unescape(matcher.group(4)));
String title = SessionUtil.unescape(matcher.group(5));
table.setTitle(title);
CyTableMetadataBuilder builder = new CyTableMetadataBuilder().setCyTable(table).setNamespace(namespace).setType(type);
Set<CyTableMetadataBuilder> builders = networkTableMap.get(oldNetId);
if (builders == null) {
builders = new HashSet<>();
networkTableMap.put(oldNetId, builders);
}
builders.add(builder);
String filename = matcher.group(1);
filenameTableMap.put(filename, table);
builderFilenameMap.put(builder, filename);
return;
}
matcher = GLOBAL_TABLE_PATTERN.matcher(entryName);
if (matcher.matches()) {
String title = SessionUtil.unescape(matcher.group(3));
table.setTitle(title);
CyTableMetadataBuilder builder = new CyTableMetadataBuilder().setCyTable(table).setNetwork(null);
tableMetadata.add(builder.build());
String filename = matcher.group(1);
filenameTableMap.put(filename, table);
builderFilenameMap.put(builder, filename);
// Look for SUID-type columns--only global tables now
suidUpdater.addTable(table);
}
}
Aggregations