You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@calcite.apache.org by "Vladimir Sitnikov (JIRA)" <ji...@apache.org> on 2018/08/29 12:24:00 UTC

[jira] [Commented] (CALCITE-2495) Support encoded URLs in calcite.util.Source, and use it for URL->File conversion in tests

    [ https://issues.apache.org/jira/browse/CALCITE-2495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16596260#comment-16596260 ] 

Vladimir Sitnikov commented on CALCITE-2495:
--------------------------------------------

Fixed in [2f33a0c57b7b7e77b8193d0fff1e3531119aee0a|https://git-wip-us.apache.org/repos/asf?p=calcite.git;a=commit;h=2f33a0c57b7b7e77b8193d0fff1e3531119aee0a]

> 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
>             Fix For: 1.18.0
>
>
> {{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)