You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by "Dan Haywood (JIRA)" <ji...@apache.org> on 2013/10/25 10:39:49 UTC

[jira] [Closed] (ISIS-236) Classes that are not referenced in the DOM aren't found by the specification loader

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

Dan Haywood closed ISIS-236.
----------------------------


> Classes that are not referenced in the DOM aren't found by the specification loader
> -----------------------------------------------------------------------------------
>
>                 Key: ISIS-236
>                 URL: https://issues.apache.org/jira/browse/ISIS-236
>             Project: Isis
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: core-1.0.0
>            Reporter: Robert Matthews
>             Fix For: core-1.3.0
>
>
> For example: if you have a field that uses an interface (eg Address) and it returns a concrete type (eg EmailAddress) but that type is not explicitly referred to elsewhere (as a return type or parameter) then the SpecificationLoader will never see it. Hence, if that class gets used (eg an EmailAddress is retrieved from persistent memory)  then an exception will occur.
> The best long term solution is to load all classes from the Jar(s) that contain the DOM code.  This could be indicated by placing a marker, such as a file, in the metadata.of the Jar.
> In the meantime a simple workaround is to add a method, typically to a service, that uses the concrete class and mark it as hidden. Give the method a name that makes it clear what the method is there for so nobody tries to use it.



--
This message was sent by Atlassian JIRA
(v6.1#6144)