You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by David Morris <Da...@plumcreek.com> on 2003/01/06 20:23:03 UTC

Beta 3 PlugIn interface change

One problem I had with Beta 3 is related to a change to the PlugIn 
(http://cvs.apache.org/viewcvs/jakarta-struts/src/share/org/apache/struts/action/PlugIn.java.diff?r1=text&tr1=1.6&r2=text&tr2=1.7&diff_format=l)

that forces an update to any class that implements Plugin. Looking 
at the ActionServlet class it appears that a lot of work went into 
making ModuleConfig implementation backward compatible with 
ApplicationConfig. It looks like PlugIn initialization could also be 
backward compatible. Was this an oversight or by design? If it 
was an oversight, I could submit a patch, although in my case I 
just updated the PlugIn.

Thanks,

David Morris

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: Beta 3 PlugIn interface change

Posted by Robert Leland <rl...@apache.org>.
David Morris wrote:
> One problem I had with Beta 3 is related to a change to the PlugIn 
> (http://cvs.apache.org/viewcvs/jakarta-struts/src/share/org/apache/struts/action/PlugIn.java.diff?r1=text&tr1=1.6&r2=text&tr2=1.7&diff_format=l)
> 
> that forces an update to any class that implements Plugin. Looking 
> at the ActionServlet class it appears that a lot of work went into 
> making ModuleConfig implementation backward compatible with 
> ApplicationConfig. It looks like PlugIn initialization could also be 
> backward compatible. Was this an oversight or by design? 

By evolution.


Until Dec 18th or so, there was another class named PlugInPatch
which implemented the new method. It allowed Plugin developers
to use their original plugin with no modifications. However,
this method caused a 'deprecated' warning message. The issue was
raised that some QA people will not allow any code that uses deprecated
methods to go into production. The general feeling from the comitters
was that PlugIn developers would be an advanced user and could be 
expected to take the 5 minutes or less to update & recompile
their Plugin with the new Method signature.
The result was that the PlugInPatch Interface was removed
and the new init() method moved into the PlugIn class, removing the 
original init().

-Rob

> 
> David Morris


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>