Skip to content

Commit

Permalink
Merge pull request #299 from RumbleDB/FixDeprecatedANTLRInputStream
Browse files Browse the repository at this point in the history
Fix deprecated function.
  • Loading branch information
ghislainfourny authored Aug 8, 2019
2 parents d78c366 + 5354c2e commit 30e9103
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 29 deletions.
31 changes: 7 additions & 24 deletions src/main/java/sparksoniq/JsoniqQueryExecutor.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,9 @@

package sparksoniq;

import org.antlr.v4.runtime.ANTLRInputStream;
import org.antlr.v4.runtime.BailErrorStrategy;
import org.antlr.v4.runtime.CharStream;
import org.antlr.v4.runtime.CharStreams;
import org.antlr.v4.runtime.CommonTokenStream;
import org.antlr.v4.runtime.misc.ParseCancellationException;
import org.apache.hadoop.fs.FSDataInputStream;
Expand All @@ -47,15 +48,10 @@

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;
import java.net.URI;
import java.nio.charset.Charset;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.LinkOption;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.List;
Expand Down Expand Up @@ -91,10 +87,9 @@ public void runLocal(String queryFile, String outputPath) throws IOException {
}
}

FileInputStream fis = new FileInputStream(queryFile);
CharStream charStream = CharStreams.fromFileName(queryFile);
long startTime = System.currentTimeMillis();
JsoniqExpressionTreeVisitor visitor = this.parse(new JsoniqLexer(
new ANTLRInputStream(fis)));
JsoniqExpressionTreeVisitor visitor = this.parse(new JsoniqLexer(charStream));
// generate static context
generateStaticContext(visitor.getQueryExpression());
// generate iterators
Expand Down Expand Up @@ -202,10 +197,9 @@ private JsoniqLexer getInputSource(String arg) throws IOException {
arg = arg.trim();
//return embedded file
if (arg.isEmpty())
new JsoniqLexer(new ANTLRInputStream(Main.class.getResourceAsStream("/queries/runQuery.iq")));
new JsoniqLexer(CharStreams.fromStream(Main.class.getResourceAsStream("/queries/runQuery.iq")));
if (arg.startsWith("file://") || arg.startsWith("/")) {
FileReader reader = this.getFileReader(arg);
return new JsoniqLexer(new ANTLRInputStream(reader));
return new JsoniqLexer(CharStreams.fromFileName(arg));
}
if (arg.startsWith("hdfs://")) {
org.apache.hadoop.fs.FileSystem fileSystem = org.apache.hadoop.fs.FileSystem
Expand All @@ -217,22 +211,11 @@ private JsoniqLexer getInputSource(String arg) throws IOException {
// ex.printStackTrace();
throw ex;
}
return new JsoniqLexer(new ANTLRInputStream(in));
return new JsoniqLexer(CharStreams.fromStream(in));
}
throw new RuntimeException("Unknown url protocol");
}

private FileReader getFileReader(String arg) throws FileNotFoundException {
FileReader reader;
try {
reader = new FileReader(new File(arg));
} catch (FileNotFoundException e) {
// e.printStackTrace();
throw e;
}
return reader;
}

private JsoniqExpressionTreeVisitor parse(JsoniqLexer lexer) {
JsoniqParser parser = new JsoniqParser(new CommonTokenStream(lexer));
parser.setErrorHandler(new BailErrorStrategy());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@
import sparksoniq.exceptions.IteratorFlowException;
import sparksoniq.exceptions.UnexpectedTypeException;
import sparksoniq.jsoniq.item.ArrayItem;
import sparksoniq.jsoniq.item.IntegerItem;
import sparksoniq.jsoniq.item.Item;
import sparksoniq.jsoniq.runtime.iterator.HybridRuntimeIterator;
import sparksoniq.jsoniq.runtime.iterator.RuntimeIterator;
Expand Down
8 changes: 4 additions & 4 deletions src/test/java/iq/base/AnnotationsTestsBase.java
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@

package iq.base;

import org.antlr.v4.runtime.ANTLRInputStream;
import org.antlr.v4.runtime.CharStreams;
import org.antlr.v4.runtime.BailErrorStrategy;
import org.antlr.v4.runtime.CommonTokenStream;
import org.antlr.v4.runtime.misc.ParseCancellationException;
Expand Down Expand Up @@ -72,7 +72,7 @@ protected JsoniqParser.MainModuleContext testAnnotations(String path, JsoniqBase
}

try {
context = this.parse(new FileReader(path), visitor);
context = this.parse(path, visitor);

// generate static context and runtime iterators
if (visitor instanceof JsoniqExpressionTreeVisitor) {
Expand Down Expand Up @@ -168,8 +168,8 @@ protected JsoniqParser.MainModuleContext testAnnotations(String path, JsoniqBase
return context;
}

private JsoniqParser.MainModuleContext parse(FileReader reader, JsoniqBaseVisitor visitor) throws IOException {
JsoniqLexer lexer = new JsoniqLexer(new ANTLRInputStream(reader));
private JsoniqParser.MainModuleContext parse(String path, JsoniqBaseVisitor visitor) throws IOException {
JsoniqLexer lexer = new JsoniqLexer(CharStreams.fromFileName(path));
JsoniqParser parser = new JsoniqParser(new CommonTokenStream(lexer));
parser.setErrorHandler(new BailErrorStrategy());

Expand Down

0 comments on commit 30e9103

Please sign in to comment.