[
https://issues.apache.org/jira/browse/CALCITE-2495?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Vladimir Sitnikov updated CALCITE-2495:
---------------------------------------
Description:
{{URL.getPath()}} produces %20 when path contains spaces.
I suggest to rework all the uses of {{getResource()...}} to use
{{Sources.of(URL)}} so there's single -point of failure- way to convert URL to
File.
This resolves Apache CI which happens to have a space in folder name.
For the record:
1) {{URL.getPath()}} produces %20, so it is added to forbidden signatures
2) {{Paths.get(url.toURI()).toFile()}} almost works, however it fails with URL
is not hierarchical for {{new URL("file:test.java")}}
3) {{new File(URL.toURI()}} is worse than #2
4) {{URLDecoder}} must not be used to decode %20, since it will convert {{\+}}
to spaces as well, thus it will corrupt {{test.c++}}
5) It looks like {{url.toURI().getSchemeSpecificPart())}} properly handles
"opaque" URIs (which are relative {{file:test.java}} kind of URLs)
was:
{{URL.getPath()}} produces %20 when path contains spaces.
I suggest to rework all the uses of {{getResource()...}} to use
{{Sources.of(URL)}} so there's single -point of failure- way to convert URL to
File.
This resolves Apache CI which happens to have a space in folder name.
For the record:
1) {{URL.getPath()}} produces %20, so it is added to forbidden signatures
2) {{Paths.get(url.toURI()).toFile()}} almost works, however it fails with URL
is not hierarchical for {{new URL("file:test.java")}}
3) {{new File(URL.toURI()}} is worse than #2
4) {{URLDecoder}} must not be used to decode %20, since it will convert {{+}}
to spaces as well, thus it will corrupt {{test.c++}}
5) It looks like {{url.toURI().getSchemeSpecificPart())}} properly handles
"opaque" URIs (which are relative {{file:test.java}} kind of URLs)
> Support encoded URLs in calcite.util.Source, and use it for URL->File
> conversion in tests
> -----------------------------------------------------------------------------------------
>
> Key: CALCITE-2495
> URL: https://issues.apache.org/jira/browse/CALCITE-2495
> Project: Calcite
> Issue Type: Bug
> Reporter: Vladimir Sitnikov
> Assignee: Julian Hyde
> Priority: Major
>
> {{URL.getPath()}} produces %20 when path contains spaces.
> I suggest to rework all the uses of {{getResource()...}} to use
> {{Sources.of(URL)}} so there's single -point of failure- way to convert URL
> to File.
> This resolves Apache CI which happens to have a space in folder name.
> For the record:
> 1) {{URL.getPath()}} produces %20, so it is added to forbidden signatures
> 2) {{Paths.get(url.toURI()).toFile()}} almost works, however it fails with
> URL is not hierarchical for {{new URL("file:test.java")}}
> 3) {{new File(URL.toURI()}} is worse than #2
> 4) {{URLDecoder}} must not be used to decode %20, since it will convert
> {{\+}} to spaces as well, thus it will corrupt {{test.c++}}
> 5) It looks like {{url.toURI().getSchemeSpecificPart())}} properly handles
> "opaque" URIs (which are relative {{file:test.java}} kind of URLs)
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)