You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@freemarker.apache.org by "Dániel Dékány (Jira)" <ji...@apache.org> on 2021/02/17 21:18:00 UTC

[jira] [Closed] (FREEMARKER-145) Can't access nio Path.getParent() in templates

     [ https://issues.apache.org/jira/browse/FREEMARKER-145?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dániel Dékány closed FREEMARKER-145.
------------------------------------

> Can't access nio Path.getParent() in templates
> ----------------------------------------------
>
>                 Key: FREEMARKER-145
>                 URL: https://issues.apache.org/jira/browse/FREEMARKER-145
>             Project: Apache Freemarker
>          Issue Type: Bug
>          Components: engine
>    Affects Versions: 2.3.30
>            Reporter: Alfio Gloria
>            Priority: Major
>             Fix For: 2.3.31
>
>         Attachments: freemarkertest.zip
>
>
> When using something like ${data.path.parent} freemarker throws an exception "The following has evaluated to null or missing" (obviously on a path that has non null parent).
> After some investigation i figured out that freemarker does not recognize getParent() as a valid bean method.
> This seems due to a condition in ClassIntrospector, line 827:
> if (am.getReturnType() == m.getReturnType())
> where
> am.getReturnType() -> java.nio.file.Path
> m.getReturnType() -> sun.nio.fs.UnixPath
> I don't know the rationale of the aforementioned condition but it seems weird to me that I can reference a Path object with ${data.path} but not with ${data.path.parent} since they are both sun.nio.fs.UnixPath objects



--
This message was sent by Atlassian Jira
(v8.3.4#803005)