Harry Chan created WW-4244:
------------------------------

             Summary: 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


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#6144)

Reply via email to