[
https://issues.apache.org/jira/browse/ISIS-1051?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14646572#comment-14646572
]
ASF subversion and git services commented on ISIS-1051:
-------------------------------------------------------
Commit 405d0ddaf5eb71993822a9a66515ecdbb4b87e54 in isis's branch
refs/heads/master from [~danhaywood]
[ https://git-wip-us.apache.org/repos/asf?p=isis.git;h=405d0dd ]
ISIS-1051: FacetMethodsBuilder uses new LayoutMetadataReader2 interface to ask
reader whether to attempt to load metadata for class. In addition...
In addition, the LayoutMetadataReaderFromJson now remembers whether it was able
to find a layout.json file for a given class, and won't attempt to in future.
Also doesn't use throw/catch of exceptions for control flow.
> performance fix: LayoutMetadataReaderFromJson is called too often
> -----------------------------------------------------------------
>
> Key: ISIS-1051
> URL: https://issues.apache.org/jira/browse/ISIS-1051
> Project: Isis
> Issue Type: Improvement
> Components: Core
> Affects Versions: core-1.7.0
> Reporter: Dan Haywood
> Assignee: Dan Haywood
> Fix For: 1.9.0
>
>
> Taken from a comment by Martin on ISIS-931:
> While debugging ISIS-911 I've noticed that
> org.apache.isis.core.metamodel.layoutmetadata.json.LayoutMetadataReaderFromJson#asProperties
> is expensive. It is called at start time and tries to load .layout.json file
> for every introspected method. This includes JRE classes, JDO classes, and
> many more. I think it should be called only for objects/entities. The
> expensiveness is that it tries to find a file in the classpath and if it is
> not found then it throws
> org.apache.isis.core.metamodel.layoutmetadata.LayoutMetadataReader.ReaderException.
> The stacktrace of this exception is ignored at
> org.apache.isis.core.metamodel.specloader.specimpl.FacetedMethodsBuilder#readMetadataProperties
> so
> ReaderException could override java.lang.Throwable#fillInStackTrace() to
> return null and save some time.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)