You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Harry Chan (JIRA)" <ji...@apache.org> on 2014/01/13 08:35:50 UTC

[jira] [Updated] (WW-4244) ShowConfigAction.execute() throws InstantiationException when the Action has NO nullary constructor

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

Harry Chan updated WW-4244:
---------------------------

    Attachment: WW4244.patch

attached WW4244.patch

> ShowConfigAction.execute() throws InstantiationException when the Action has NO nullary constructor
> ---------------------------------------------------------------------------------------------------
>
>                 Key: WW-4244
>                 URL: https://issues.apache.org/jira/browse/WW-4244
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Plugin - Config Browser
>    Affects Versions: 2.3.15.3
>            Reporter: Harry Chan
>             Fix For: 2.3.17
>
>         Attachments: WW4244.patch
>
>
> In my case, I use Guice for DI and constructor injection is used in many Actions.
> When I enable the Config Browser feature and click the Action in the Action information page, it shows the error message
> {quote}Unable to execute org.apache.struts2.config_browser.ShowConfigAction{quote}
> After a brief code tracing, I found that in the *ShowConfigAction.execute()*, it uses *clazz.newInstance()* for creating the action instance. And the java-doc of the *newInstance()* claims that *it would throw the InstantiationException if the class has no nullary constructor*.
> I think one of the quick fix would be added default-constructor into those Actions(I have tested it and it works). However, I think it would not be a good solution as the extra constructor is a redundancy to me and would increase the maintenance cost. 
> I am wondering if the ShowConfigAction could use *ObjectFactory.buildBean()* for creating the action instance.
> P.S: Please correct me if I use the Config Browser Plugin in the wrong way.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)