[
https://issues.apache.org/jira/browse/JSPWIKI-822?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13975288#comment-13975288
]
Juan Pablo Santos RodrÃguez commented on JSPWIKI-822:
-----------------------------------------------------
Hi Ichiro,
WikiDocument stores references to WikiContext inside a {{WeakReference<
WikiContext >}}, so it'll return null on getContext() if the associated
WikiContext has been garbage collected; it doesn't seem to be an issue on
WikiForms, but a bug on PluginContent, not handling a possible null there. What
were you doing with the WikiForm to trigger this error, could a unit test
reproduce it?
As for the NPE itself, a couple of lines before {{WikiContext context =
doc.getContext();}}, when the WikiDocument happens to be null, we simply return
getPluginName(), so I'm more inclined to do the same when the context is null
rather than printing out an error message..
thoughts?
> NPE thrown by PluginContext#getText()
> -------------------------------------
>
> Key: JSPWIKI-822
> URL: https://issues.apache.org/jira/browse/JSPWIKI-822
> Project: JSPWiki
> Issue Type: Bug
> Components: Plugins
> Affects Versions: 2.10
> Environment: Ubuntu Linux 12.10, JDK 7 (but bug is independent of
> environment)
> Reporter: Ichiro Furusato
> Priority: Minor
> Fix For: 2.10.1
>
> Original Estimate: 0.25h
> Remaining Estimate: 0.25h
>
> In previous versions of JSPWiki there was a null check in
> PluginContent#getText() to make sure that
> WikiContext context = doc.getContext();
> actually returns a WikiContext. In certain cases (e.g., WikiForms) the
> context can get lost, so that the subsequent call on line 150
> Boolean wysiwygVariable = (Boolean)
> context.getVariable(RenderingManager.WYSIWYG_EDITOR_MODE);
> throws an NPE. I would recommend reinstating the earlier check from JSPWiki
> 2.9.x:
> if( context == null )
> return "No WikiContext available: INTERNAL ERROR";
> or perhaps an improvement. As is, the NPE results (from the user's
> perspective) in empty wiki page.
--
This message was sent by Atlassian JIRA
(v6.2#6252)