> > But actually it currently does not behave as I would expect it. Due to
> > PackageConfig.isStrictMethodInvocation(). It checks parent packages 
first
> > which are usually preconfigured packages from s2 jars. If an 
application
> > package wants do disable strict-DMI it cannot extend a framework 
package.
> 
> Ok, found a gut solution! Now Strict DMI is enabled by default but it
> can be simple disabled by setting the attribute to false.
> 
> https://github.com/lukaszlenart/struts/commit/
> 
86afcbe611f7c3afda26e396cc4504d3c9998398#diff-655da7abe6e0dfac1f56124ac21adb5dR608
> 
> 

Well, I don't think it is necessary to check parent packages at all. 
Because strictDMI is a primitive boolean and cannot be null. So each 
package has it explicitly configured, inheriting it is not required. 
PackageConfig.isStrictMethodInvocation() should just return that value.

What does the current implementation do?
if strictDMI is set to false it returns false.
if it is set to true parent packages are checked. if it is true in one 
parent true is returned.
otherwise true is returned in anycase.

IMHO it can be just a simple getter.



Regards,
Christoph

This Email was scanned by Sophos Anti Virus

Reply via email to