Skip to content

Commit

Permalink
Fix gephi#1391 Stuck on DOT import
Browse files Browse the repository at this point in the history
  • Loading branch information
eduramiba committed Aug 12, 2017
1 parent ba9d691 commit a38fe14
Show file tree
Hide file tree
Showing 2 changed files with 891 additions and 10 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,7 @@ Development and Distribution License("CDDL") (collectively, the
import org.gephi.io.importer.api.NodeDraft;
import org.gephi.io.importer.api.Report;
import org.gephi.io.importer.spi.FileImporter;
import org.gephi.utils.StreamTokenizerWithMultilineLiterals;
import org.gephi.utils.longtask.spi.LongTask;
import org.gephi.utils.progress.Progress;
import org.gephi.utils.progress.ProgressTicket;
Expand Down Expand Up @@ -98,13 +99,13 @@ public boolean execute(ContainerLoader container) {
private void importData(LineNumberReader reader) throws Exception {

Progress.start(progressTicket);
StreamTokenizer streamTokenizer = new StreamTokenizer(reader);
StreamTokenizerWithMultilineLiterals streamTokenizer = new StreamTokenizerWithMultilineLiterals(reader);
setSyntax(streamTokenizer);

graph(streamTokenizer);
}

protected void setSyntax(StreamTokenizer tk) {
protected void setSyntax(StreamTokenizerWithMultilineLiterals tk) {
tk.resetSyntax();
tk.eolIsSignificant(false);
tk.commentChar('#');
Expand All @@ -126,7 +127,7 @@ protected void setSyntax(StreamTokenizer tk) {
tk.ordinaryChar('=');
}

protected void graph(StreamTokenizer streamTokenizer) throws Exception {
protected void graph(StreamTokenizerWithMultilineLiterals streamTokenizer) throws Exception {
boolean found = false;
while (streamTokenizer.nextToken() != StreamTokenizer.TT_EOF) {
if (streamTokenizer.ttype == StreamTokenizer.TT_WORD) {
Expand Down Expand Up @@ -154,14 +155,14 @@ protected void graph(StreamTokenizer streamTokenizer) throws Exception {
}
}

protected void stmtList(StreamTokenizer streamTokenizer) throws Exception {
protected void stmtList(StreamTokenizerWithMultilineLiterals streamTokenizer) throws Exception {
do {
streamTokenizer.nextToken();
stmt(streamTokenizer);
} while (streamTokenizer.ttype != StreamTokenizer.TT_EOF);
}

protected void stmt(StreamTokenizer streamTokenizer) throws Exception {
protected void stmt(StreamTokenizerWithMultilineLiterals streamTokenizer) throws Exception {
//tk.nextToken();

if (streamTokenizer.sval == null || streamTokenizer.sval.equalsIgnoreCase("graph") || streamTokenizer.sval.equalsIgnoreCase("node")
Expand All @@ -183,7 +184,7 @@ protected void stmt(StreamTokenizer streamTokenizer) throws Exception {
}
}

protected String nodeID(StreamTokenizer streamTokenizer) {
protected String nodeID(StreamTokenizerWithMultilineLiterals streamTokenizer) {
if (streamTokenizer.ttype == '"' || streamTokenizer.ttype == StreamTokenizer.TT_WORD || (streamTokenizer.ttype >= 'a' && streamTokenizer.ttype <= 'z')
|| (streamTokenizer.ttype >= 'A' && streamTokenizer.ttype <= 'Z')) {
return streamTokenizer.sval;
Expand All @@ -201,7 +202,7 @@ protected NodeDraft getOrCreateNode(String id) {
return container.getNode(id);
}

protected Color parseColor(StreamTokenizer streamTokenizer) throws Exception {
protected Color parseColor(StreamTokenizerWithMultilineLiterals streamTokenizer) throws Exception {
if (streamTokenizer.ttype == '#') {
streamTokenizer.nextToken();
return new Color(Integer.parseInt(streamTokenizer.sval, 16), true);
Expand All @@ -225,7 +226,7 @@ protected Color parseColor(StreamTokenizer streamTokenizer) throws Exception {
}
}

protected void nodeAttributes(StreamTokenizer streamTokenizer, final NodeDraft nodeDraft) throws Exception {
protected void nodeAttributes(StreamTokenizerWithMultilineLiterals streamTokenizer, final NodeDraft nodeDraft) throws Exception {
streamTokenizer.nextToken();

if (streamTokenizer.ttype == ']' || streamTokenizer.ttype == StreamTokenizer.TT_EOF) {
Expand Down Expand Up @@ -320,7 +321,7 @@ protected void nodeAttributes(StreamTokenizer streamTokenizer, final NodeDraft n
nodeAttributes(streamTokenizer, nodeDraft);
}

protected void edgeStructure(StreamTokenizer streamTokenizer, final NodeDraft nodeDraft) throws Exception {
protected void edgeStructure(StreamTokenizerWithMultilineLiterals streamTokenizer, final NodeDraft nodeDraft) throws Exception {
streamTokenizer.nextToken();

EdgeDraft edge = null;
Expand Down Expand Up @@ -363,7 +364,7 @@ protected void edgeStructure(StreamTokenizer streamTokenizer, final NodeDraft no
}
}

protected void edgeAttributes(StreamTokenizer streamTokenizer, final EdgeDraft edge) throws Exception {
protected void edgeAttributes(StreamTokenizerWithMultilineLiterals streamTokenizer, final EdgeDraft edge) throws Exception {
streamTokenizer.nextToken();

if (streamTokenizer.ttype == ']' || streamTokenizer.ttype == StreamTokenizer.TT_EOF) {
Expand Down
Loading

0 comments on commit a38fe14

Please sign in to comment.