You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@freemarker.apache.org by "Alfio Gloria (Jira)" <ji...@apache.org> on 2020/06/11 17:34:00 UTC

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

Alfio Gloria created FREEMARKER-145:
---------------------------------------

             Summary: 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


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}



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