This is an automated email from the ASF dual-hosted git repository.
mgrigorov pushed a commit to branch branch-1.11
in repository https://gitbox.apache.org/repos/asf/avro.git
The following commit(s) were added to refs/heads/branch-1.11 by this push:
new 9a67bbef3 AVRO-3706: accept space in folder name (#2064)
9a67bbef3 is described below
commit 9a67bbef3bf2bf3514dba12f105aab4acf0224a0
Author: clesaec <[email protected]>
AuthorDate: Wed Feb 8 13:46:05 2023 +0100
AVRO-3706: accept space in folder name (#2064)
(cherry picked from commit b576f46fb8696f2dbe5bfb056d6ab2ed80ab4967)
---
.../compiler/src/main/javacc/org/apache/avro/compiler/idl/idl.jj | 2 +-
lang/java/compiler/src/test/idl/work space/level1.avdl | 3 +++
lang/java/compiler/src/test/idl/work space/level2.avdl | 2 ++
lang/java/compiler/src/test/idl/work space/root.avdl | 3 +++
lang/java/compiler/src/test/idl/work space/root.avpr | 1 +
.../src/test/java/org/apache/avro/compiler/idl/TestIdl.java | 7 +++++++
6 files changed, 17 insertions(+), 1 deletion(-)
diff --git
a/lang/java/compiler/src/main/javacc/org/apache/avro/compiler/idl/idl.jj
b/lang/java/compiler/src/main/javacc/org/apache/avro/compiler/idl/idl.jj
index 1f931a640..4deaa68a5 100644
--- a/lang/java/compiler/src/main/javacc/org/apache/avro/compiler/idl/idl.jj
+++ b/lang/java/compiler/src/main/javacc/org/apache/avro/compiler/idl/idl.jj
@@ -174,7 +174,7 @@ public class Idl implements Closeable {
File file = "file".equals(uri.getScheme()) ? new File(uri.getPath()) :
null;
URL result = null;
if (file != null && file.exists())
- result = file.toURI().toURL();
+ result = new URL("file:" + file.getPath());
else if (this.resourceLoader != null)
if ("classpath".equals(uri.getScheme()))
result = this.resourceLoader.getResource(uri.getPath().substring(1));
diff --git a/lang/java/compiler/src/test/idl/work space/level1.avdl
b/lang/java/compiler/src/test/idl/work space/level1.avdl
new file mode 100644
index 000000000..a2eaa862f
--- /dev/null
+++ b/lang/java/compiler/src/test/idl/work space/level1.avdl
@@ -0,0 +1,3 @@
+protocol Level1 {
+ import idl "level2.avdl";
+}
diff --git a/lang/java/compiler/src/test/idl/work space/level2.avdl
b/lang/java/compiler/src/test/idl/work space/level2.avdl
new file mode 100644
index 000000000..4adb17700
--- /dev/null
+++ b/lang/java/compiler/src/test/idl/work space/level2.avdl
@@ -0,0 +1,2 @@
+protocol Level2 {
+}
diff --git a/lang/java/compiler/src/test/idl/work space/root.avdl
b/lang/java/compiler/src/test/idl/work space/root.avdl
new file mode 100644
index 000000000..9a1b5e907
--- /dev/null
+++ b/lang/java/compiler/src/test/idl/work space/root.avdl
@@ -0,0 +1,3 @@
+protocol Root {
+ import idl "level1.avdl";
+}
diff --git a/lang/java/compiler/src/test/idl/work space/root.avpr
b/lang/java/compiler/src/test/idl/work space/root.avpr
new file mode 100644
index 000000000..6d4337022
--- /dev/null
+++ b/lang/java/compiler/src/test/idl/work space/root.avpr
@@ -0,0 +1 @@
+{"protocol":"Root","types":[],"messages":{}}
diff --git
a/lang/java/compiler/src/test/java/org/apache/avro/compiler/idl/TestIdl.java
b/lang/java/compiler/src/test/java/org/apache/avro/compiler/idl/TestIdl.java
index 37e6b2bb2..2ce714fb9 100644
--- a/lang/java/compiler/src/test/java/org/apache/avro/compiler/idl/TestIdl.java
+++ b/lang/java/compiler/src/test/java/org/apache/avro/compiler/idl/TestIdl.java
@@ -82,6 +82,13 @@ public class TestIdl {
File outF = new File(TEST_OUTPUT_DIR,
inF.getName().replaceFirst("\\.avdl$", ".avpr"));
tests.add(new GenTest(inF, outF));
}
+
+ // AVRO-3706 : test folder with space in name.
+ File inputWorkSpace = new File(TEST_DIR, "work space");
+ File root = new File(inputWorkSpace, "root.avdl");
+ File rootResult = new File(inputWorkSpace, "root.avpr");
+ tests.add(new GenTest(root, rootResult));
+
}
@Test