* fix double evaluations...
* fix UIBean and its subclasses double evaluations
* fix Param tag used with Bean tag double evaluations
(to be continued)
Reference:
https://securitylab.github.com/research/apache-struts-double-evaluation/
* fix AliasInterceptor
* fix StreamResult
* fix JasperReportsResult
* add singleton not excluded and accepted pattern checker for non interceptors
* add missing escapedIds
- Exclude ASM 3.3.1 from inclusion as a dependency for commons-digester3
(also mark commons-digester3 as optional dependency since it is only
listed to allow the exclusion).
- Provide explicit test dependency of ASM 3.3.1 for portlet-plugin
(otherwise its jmock tests are unable to execute).
read: "copies one interface from
org.springframework.mock.web.portlet.multipart" (not
"org.apache.struts2.mock.web.portlet" which was incorrect).
Refactor (rename) junit-portlet plugin to portlet-mocks plugin.
- Moved StrutsPortletTestCase from the portlet plugin into the junit plugin
(same package name).
- Added optional dependencies to the junit plugin for the portlet plugin
and mocks plugin.
- Duplicated StrutsTestCase from the junit plugin with a new name
StrutsTestCasePortletTests that exists within a test scope only.
This was done to eliminate a dendency cycle between junit and portlet
plugins during refactoring.
- Updated the portlet plugin unit tests to use StrutsTestCasePortletTests
internally instead of StrutsTestCase from the junit plugin.
- Removed junit plugin dependency for portlets plugin, added test scope
dependency for portlet-mocks plugin.
- Made StrutsSpringPortletMockObjectsTest depend only on TestCase.
- Removed unneeded dependencies from portlet-mocks pom.
Amended commit multiple times: Missed plugins pom.xml change, forgot to
drop StrutsPortletTestCase from portlet plugin (local repository).
Introduce new junit-portlet plugin.
- Utilizes a copy of org.springframework.mock.web.portlet package from
Spring 4.3.x, refactored to org.apache.struts2.mock.web.portlet. Also
copies one interface from org.apache.struts2.mock.web.portlet. The
package-info.java files identify the package renaming.
- Provides test cases for the mock objects.
- Modifies the portlet plugin to use the junit-portlet plugin as a
dependency. Adds a small boundary case fix for PortletRequestMap.