use of org.gephi.io.importer.api.Issue in project gephi by gephi.
the class ImporterGDF method walkFile.
private void walkFile(BufferedReader reader) throws Exception {
if (reader.ready()) {
String firstLine = reader.readLine();
if (isNodeFirstLine(firstLine)) {
findNodeColumns(firstLine);
boolean edgesWalking = false;
while (reader.ready() && !cancel) {
String line = reader.readLine();
if (isEdgeFirstLine(line)) {
edgesWalking = true;
findEdgeColumns(line);
} else if (!edgesWalking) {
//Nodes
nodeLines.add(line);
} else {
//Edges
edgeLines.add(line);
}
}
} else {
report.logIssue(new Issue(NbBundle.getMessage(ImporterGDF.class, "importerGDF_error_dataformat1"), Issue.Level.CRITICAL));
}
} else {
report.logIssue(new Issue(NbBundle.getMessage(ImporterGDF.class, "importerGDF_error_dataformat1"), Issue.Level.CRITICAL));
}
}
use of org.gephi.io.importer.api.Issue in project gephi by gephi.
the class ImporterGDF method findNodeColumns.
private void findNodeColumns(String line) throws Exception {
String[] columns = line.split(",");
nodeColumns = new GDFColumn[columns.length - 1];
for (int i = 1; i < columns.length; i++) {
String columnString = columns[i];
String typeString = "";
String columnName = "";
Class type = String.class;
try {
typeString = columnString.substring(columnString.lastIndexOf(" ")).trim().toLowerCase();
} catch (IndexOutOfBoundsException e) {
}
try {
int end = columnString.lastIndexOf(" ");
if (end != -1) {
columnName = columnString.substring(0, end).trim().toLowerCase();
} else {
columnName = columnString.trim().toLowerCase();
}
} catch (IndexOutOfBoundsException e) {
}
//Check error
if (columnName.isEmpty()) {
report.logIssue(new Issue(NbBundle.getMessage(ImporterGDF.class, "importerGDF_error_dataformat2"), Issue.Level.SEVERE));
columnName = "default" + i;
}
if (typeString.isEmpty()) {
report.logIssue(new Issue(NbBundle.getMessage(ImporterGDF.class, "importerGDF_error_dataformat6", columnName), Issue.Level.INFO));
typeString = "varchar";
}
//Clean parenthesis
typeString = typeString.replaceAll("\\([0-9]*\\)", "");
if (typeString.equals("varchar")) {
type = String.class;
} else if (typeString.equals("bool")) {
type = Boolean.class;
} else if (typeString.equals("boolean")) {
type = Boolean.class;
} else if (typeString.equals("integer")) {
type = Integer.class;
} else if (typeString.equals("tinyint")) {
type = Integer.class;
} else if (typeString.equals("int")) {
type = Integer.class;
} else if (typeString.equals("double")) {
type = Double.class;
} else if (typeString.equals("float")) {
type = Float.class;
} else {
report.logIssue(new Issue(NbBundle.getMessage(ImporterGDF.class, "importerGDF_error_dataformat5", typeString), Issue.Level.WARNING));
}
if (columnName.equals("x")) {
nodeColumns[i - 1] = new GDFColumn(GDFColumn.NodeGuessColumn.X);
report.log("Node property found: x");
} else if (columnName.equals("y")) {
nodeColumns[i - 1] = new GDFColumn(GDFColumn.NodeGuessColumn.Y);
report.log("Node property found: y");
} else if (columnName.equals("visible")) {
nodeColumns[i - 1] = new GDFColumn(GDFColumn.NodeGuessColumn.VISIBLE);
report.log("Node property found: visible");
} else if (columnName.equals("color")) {
nodeColumns[i - 1] = new GDFColumn(GDFColumn.NodeGuessColumn.COLOR);
report.log("Node property found: color");
} else if (columnName.equals("fixed")) {
nodeColumns[i - 1] = new GDFColumn(GDFColumn.NodeGuessColumn.FIXED);
report.log("Node property found: fixed");
} else if (columnName.equals("style")) {
nodeColumns[i - 1] = new GDFColumn(GDFColumn.NodeGuessColumn.STYLE);
report.log("Node property found: style");
} else if (columnName.equals("width")) {
nodeColumns[i - 1] = new GDFColumn(GDFColumn.NodeGuessColumn.WIDTH);
report.log("Node property found: width");
} else if (columnName.equals("height")) {
nodeColumns[i - 1] = new GDFColumn(GDFColumn.NodeGuessColumn.HEIGHT);
report.log("Node property found: height");
} else if (columnName.equals("label")) {
nodeColumns[i - 1] = new GDFColumn(GDFColumn.NodeGuessColumn.LABEL);
report.log("Node property found: label");
} else if (columnName.equals("labelvisible")) {
nodeColumns[i - 1] = new GDFColumn(GDFColumn.NodeGuessColumn.LABELVISIBLE);
report.log("Node property found: labelvisible");
} else {
ColumnDraft column = container.getNodeColumn(columnName);
if (column == null) {
column = container.addNodeColumn(columnName, type);
nodeColumns[i - 1] = new GDFColumn(column);
report.log("Node attribute " + columnName + " (" + type.getSimpleName() + ")");
} else {
report.logIssue(new Issue(NbBundle.getMessage(ImporterGDF.class, "importerGDF_error_dataformat8", columnName), Issue.Level.SEVERE));
}
}
}
}
Aggregations