Skip to content

Commit a38fe14

Browse files
committed
Fix #1391 Stuck on DOT import
1 parent ba9d691 commit a38fe14

File tree

2 files changed

+891
-10
lines changed

2 files changed

+891
-10
lines changed

modules/ImportPlugin/src/main/java/org/gephi/io/importer/plugin/file/ImporterDOT.java

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ Development and Distribution License("CDDL") (collectively, the
5454
import org.gephi.io.importer.api.NodeDraft;
5555
import org.gephi.io.importer.api.Report;
5656
import org.gephi.io.importer.spi.FileImporter;
57+
import org.gephi.utils.StreamTokenizerWithMultilineLiterals;
5758
import org.gephi.utils.longtask.spi.LongTask;
5859
import org.gephi.utils.progress.Progress;
5960
import org.gephi.utils.progress.ProgressTicket;
@@ -98,13 +99,13 @@ public boolean execute(ContainerLoader container) {
9899
private void importData(LineNumberReader reader) throws Exception {
99100

100101
Progress.start(progressTicket);
101-
StreamTokenizer streamTokenizer = new StreamTokenizer(reader);
102+
StreamTokenizerWithMultilineLiterals streamTokenizer = new StreamTokenizerWithMultilineLiterals(reader);
102103
setSyntax(streamTokenizer);
103104

104105
graph(streamTokenizer);
105106
}
106107

107-
protected void setSyntax(StreamTokenizer tk) {
108+
protected void setSyntax(StreamTokenizerWithMultilineLiterals tk) {
108109
tk.resetSyntax();
109110
tk.eolIsSignificant(false);
110111
tk.commentChar('#');
@@ -126,7 +127,7 @@ protected void setSyntax(StreamTokenizer tk) {
126127
tk.ordinaryChar('=');
127128
}
128129

129-
protected void graph(StreamTokenizer streamTokenizer) throws Exception {
130+
protected void graph(StreamTokenizerWithMultilineLiterals streamTokenizer) throws Exception {
130131
boolean found = false;
131132
while (streamTokenizer.nextToken() != StreamTokenizer.TT_EOF) {
132133
if (streamTokenizer.ttype == StreamTokenizer.TT_WORD) {
@@ -154,14 +155,14 @@ protected void graph(StreamTokenizer streamTokenizer) throws Exception {
154155
}
155156
}
156157

157-
protected void stmtList(StreamTokenizer streamTokenizer) throws Exception {
158+
protected void stmtList(StreamTokenizerWithMultilineLiterals streamTokenizer) throws Exception {
158159
do {
159160
streamTokenizer.nextToken();
160161
stmt(streamTokenizer);
161162
} while (streamTokenizer.ttype != StreamTokenizer.TT_EOF);
162163
}
163164

164-
protected void stmt(StreamTokenizer streamTokenizer) throws Exception {
165+
protected void stmt(StreamTokenizerWithMultilineLiterals streamTokenizer) throws Exception {
165166
//tk.nextToken();
166167

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

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

204-
protected Color parseColor(StreamTokenizer streamTokenizer) throws Exception {
205+
protected Color parseColor(StreamTokenizerWithMultilineLiterals streamTokenizer) throws Exception {
205206
if (streamTokenizer.ttype == '#') {
206207
streamTokenizer.nextToken();
207208
return new Color(Integer.parseInt(streamTokenizer.sval, 16), true);
@@ -225,7 +226,7 @@ protected Color parseColor(StreamTokenizer streamTokenizer) throws Exception {
225226
}
226227
}
227228

228-
protected void nodeAttributes(StreamTokenizer streamTokenizer, final NodeDraft nodeDraft) throws Exception {
229+
protected void nodeAttributes(StreamTokenizerWithMultilineLiterals streamTokenizer, final NodeDraft nodeDraft) throws Exception {
229230
streamTokenizer.nextToken();
230231

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

323-
protected void edgeStructure(StreamTokenizer streamTokenizer, final NodeDraft nodeDraft) throws Exception {
324+
protected void edgeStructure(StreamTokenizerWithMultilineLiterals streamTokenizer, final NodeDraft nodeDraft) throws Exception {
324325
streamTokenizer.nextToken();
325326

326327
EdgeDraft edge = null;
@@ -363,7 +364,7 @@ protected void edgeStructure(StreamTokenizer streamTokenizer, final NodeDraft no
363364
}
364365
}
365366

366-
protected void edgeAttributes(StreamTokenizer streamTokenizer, final EdgeDraft edge) throws Exception {
367+
protected void edgeAttributes(StreamTokenizerWithMultilineLiterals streamTokenizer, final EdgeDraft edge) throws Exception {
367368
streamTokenizer.nextToken();
368369

369370
if (streamTokenizer.ttype == ']' || streamTokenizer.ttype == StreamTokenizer.TT_EOF) {

0 commit comments

Comments
 (0)