[
https://issues.apache.org/jira/browse/ISIS-3013?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Andi Huber resolved ISIS-3013.
------------------------------
Resolution: Fixed
> [Wicket Viewer] ComponentHintKey can cause NPE
> ----------------------------------------------
>
> Key: ISIS-3013
> URL: https://issues.apache.org/jira/browse/ISIS-3013
> Project: Isis
> Issue Type: Bug
> Components: Wicket Viewer
> Affects Versions: 2.0.0-M7
> Reporter: Miklós Győrfi
> Assignee: Andi Huber
> Priority: Major
> Fix For: 2.0.0-RC1
>
>
> There is two method to access key value in ComponentHintKey according to the
> getKey() method: accessing the component directly if exists, or the
> componentProvider. But componentProvider is transient: after the
> serialization/deserialization cycle it can not be accessed, causing
> NullPointerException in getKey(). (Wicket viewer caches the page, so
> serialization is a must)
> Solution: gain access to the component directly on serialization:
>
> {code:java}
> private void writeObject(ObjectOutputStream oos)
> throws IOException {
> if (componentProvider != null && component == null) {
> try {
> component = componentProvider.get();
> } catch (Exception ignored) {
> // Maybe some log is necessary or throw the error
> }
> }
> oos.defaultWriteObject();
> } {code}
>
--
This message was sent by Atlassian Jira
(v8.20.7#820007)