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/09/17 01:40:51 UTC
[jira] [Resolved] (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 resolved ISIS-236.
------------------------------
Resolution: Duplicate
This has been addressed, for the JDO ObjectStore at least, using the RegisterEntities service, see ISIS-370.
> 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 is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira