This is an automated email from the ASF dual-hosted git repository.
mariofusco pushed a commit to branch dev-new-parser
in repository https://gitbox.apache.org/repos/asf/incubator-kie-drools.git
The following commit(s) were added to refs/heads/dev-new-parser by this push:
new dea60226a9 Use InternalResource's encoding (#5940)
dea60226a9 is described below
commit dea60226a96c47911ed688d81f65055587bde61d
Author: Jiří Locker <[email protected]>
AuthorDate: Tue May 14 08:41:16 2024 +0200
Use InternalResource's encoding (#5940)
---
.../src/main/java/org/drools/drl/parser/DrlParser.java | 2 +-
.../main/java/org/drools/drl/parser/antlr4/DRLParserHelper.java | 7 +++++--
.../main/java/org/drools/drl/parser/antlr4/DRLParserWrapper.java | 4 ++--
3 files changed, 8 insertions(+), 5 deletions(-)
diff --git
a/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/DrlParser.java
b/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/DrlParser.java
index 5e6fb78c6f..26ee6dffb7 100644
---
a/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/DrlParser.java
+++
b/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/DrlParser.java
@@ -188,7 +188,7 @@ public class DrlParser {
System.out.println("### parse : ANTLR4_PARSER_ENABLED = " +
ANTLR4_PARSER_ENABLED);
if (ANTLR4_PARSER_ENABLED) {
// new parser based on antlr4
- return compileWithAntlr4Parser(parser -> parser.parse(is));
+ return compileWithAntlr4Parser(parser -> parser.parse(is,
encoding));
} else {
// old parsers based on antlr3
lexer = DRLFactory.buildLexer(is, encoding, languageLevel);
diff --git
a/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/antlr4/DRLParserHelper.java
b/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/antlr4/DRLParserHelper.java
index 9c8fef57d0..7d945f6bb8 100644
---
a/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/antlr4/DRLParserHelper.java
+++
b/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/antlr4/DRLParserHelper.java
@@ -22,6 +22,7 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.Reader;
import java.io.UncheckedIOException;
+import java.nio.charset.Charset;
import org.antlr.v4.runtime.CharStream;
import org.antlr.v4.runtime.CharStreams;
@@ -56,9 +57,11 @@ public class DRLParserHelper {
return createDrlParser(charStream);
}
- public static DRLParser createDrlParser(InputStream is) {
+ public static DRLParser createDrlParser(InputStream is, String encoding) {
try {
- CharStream charStream = CharStreams.fromStream(is);
+ CharStream charStream = encoding != null
+ ? CharStreams.fromStream(is, Charset.forName(encoding))
+ : CharStreams.fromStream(is);
return createDrlParser(charStream);
} catch (IOException e) {
throw new UncheckedIOException(e);
diff --git
a/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/antlr4/DRLParserWrapper.java
b/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/antlr4/DRLParserWrapper.java
index c28e57b997..e2f8ee9960 100644
---
a/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/antlr4/DRLParserWrapper.java
+++
b/drools-drl/drools-drl-parser/src/main/java/org/drools/drl/parser/antlr4/DRLParserWrapper.java
@@ -50,8 +50,8 @@ public class DRLParserWrapper {
/**
* Main entry point for parsing DRL
*/
- public PackageDescr parse(InputStream is) {
- DRLParser drlParser = DRLParserHelper.createDrlParser(is);
+ public PackageDescr parse(InputStream is, String encoding) {
+ DRLParser drlParser = DRLParserHelper.createDrlParser(is, encoding);
return parse(drlParser);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]