Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
http://java.net/jira/browse/JAVASERVERFACES-3262 FlashScoped and clus…
…tering SECTION: Modified Files ---------------------------- M jsf-ri/src/main/java/com/sun/faces/util/ByteArrayGuardAESCTR.java - Make this cluster friendly by adding support for an env-entry to specify the secret key for encrypting the flash cookie. Here's how you use it. + <env-entry> + <env-entry-name>jsf/FlashSecretKey</env-entry-name> + <env-entry-type>java.lang.String</env-entry-type> + <!-- http://www.digitalsanctuary.com/aes-key-generator.php --> + <env-entry-value>YeMYsp5+BDTvzL6A5n40IusWI9E8Jqr9q/hk5GU53RE=</env-entry-value> + </env-entry> If you're going to use client side state saving, you also need this. + <env-entry> + <env-entry-name>jsf/ClientSideSecretKey</env-entry-name> + <env-entry-type>java.lang.String</env-entry-type> + <!-- http://www.digitalsanctuary.com/aes-key-generator.php --> + <env-entry-value>vxI50oNETIH5iSsUPFBvzP0913W8fy8lwZ/LT6caXyI= </env-entry-value> + </env-entry> M jsf-ri/src/main/java/com/sun/faces/context/flash/ELFlash.java - Introduce some cluster awareness. If we are in a cluster mode, use an HttpSessionActivationListener impl, SessionHelper, that essentially uses the session to transport the flash data to the other node on session activation. This code is not touched in a non-cluster environment. A jsf-ri/src/main/java/com/sun/faces/context/flash/SessionHelper.java - Uses the HttpSession to store the flashInnerMap in the case of session activation. M jsf-ri/src/main/java/com/sun/faces/context/flash/FlashELResolver.java - Remove some incorrect assumptions. getValue() should take no action because the ImplicitObjectELResolver handles the the case of getValue(null, "flash"); We should not be storing the flash in the session. It is an application scoped singleton. M jsf-ri/src/main/java/com/sun/faces/el/ELConstants.java - Add FLASH, update values accordingly. M jsf-ri/src/main/java/com/sun/faces/el/ImplicitObjectELResolver.java - add flash to implicitNames. - Add FLASH to big switch statement. M test/cluster/servlet25/flash/pom.xml - Add basic test, copied from agnostic and improved with cluster-exercising capabilities. M test/agnostic/flash/basic/nbactions.xml A test/servlet30/el/nbactions.xml - Make it so NetBeans Debug Focused Test works. A test/cluster/servlet25/flash/basic A test/cluster/servlet25/flash/basic/src A test/cluster/servlet25/flash/basic/src/test A test/cluster/servlet25/flash/basic/src/test/java A test/cluster/servlet25/flash/basic/src/test/java/com A test/cluster/servlet25/flash/basic/src/test/java/com/sun A test/cluster/servlet25/flash/basic/src/test/java/com/sun/faces A test/cluster/servlet25/flash/basic/src/test/java/com/sun/faces/test A test/cluster/servlet25/flash/basic/src/test/java/com/sun/faces/test/cluster A test/cluster/servlet25/flash/basic/src/test/java/com/sun/faces/test/cluster/flash A test/cluster/servlet25/flash/basic/src/test/java/com/sun/faces/test/cluster/flash/basic A test/cluster/servlet25/flash/basic/src/test/java/com/sun/faces/test/cluster/flash/basic/FlashMessagesIT.java A test/cluster/servlet25/flash/basic/src/test/java/com/sun/faces/test/cluster/flash/basic/FlashViewParamIT.java A test/cluster/servlet25/flash/basic/src/test/java/com/sun/faces/test/cluster/flash/basic/Issue2862IT.java A test/cluster/servlet25/flash/basic/src/test/java/com/sun/faces/test/cluster/flash/basic/KeepMessagesIT.java A test/cluster/servlet25/flash/basic/src/test/java/com/sun/faces/test/cluster/flash/basic/Issue2973IT.java A test/cluster/servlet25/flash/basic/src/main A test/cluster/servlet25/flash/basic/src/main/webapp A test/cluster/servlet25/flash/basic/src/main/webapp/flash02.xhtml A test/cluster/servlet25/flash/basic/src/main/webapp/flashDropCookie3.xhtml A test/cluster/servlet25/flash/basic/src/main/webapp/messagePage.xhtml A test/cluster/servlet25/flash/basic/src/main/webapp/issue2973 A test/cluster/servlet25/flash/basic/src/main/webapp/issue2973/page1.xhtml A test/cluster/servlet25/flash/basic/src/main/webapp/issue2973/page2.xhtml A test/cluster/servlet25/flash/basic/src/main/webapp/flashKeepMessages01.xhtml A test/cluster/servlet25/flash/basic/src/main/webapp/WEB-INF A test/cluster/servlet25/flash/basic/src/main/webapp/WEB-INF/weblogic.xml A test/cluster/servlet25/flash/basic/src/main/webapp/WEB-INF/web.xml A test/cluster/servlet25/flash/basic/src/main/webapp/WEB-INF/glassfish-web.xml A test/cluster/servlet25/flash/basic/src/main/webapp/flashDropCookie.xhtml A test/cluster/servlet25/flash/basic/src/main/webapp/flashKeepMessages02.xhtml A test/cluster/servlet25/flash/basic/src/main/webapp/keepMessages.xhtml A test/cluster/servlet25/flash/basic/src/main/webapp/flash01.xhtml A test/cluster/servlet25/flash/basic/src/main/webapp/flashDropCookie2.xhtml A test/cluster/servlet25/flash/basic/src/main/java A test/cluster/servlet25/flash/basic/src/main/java/com A test/cluster/servlet25/flash/basic/src/main/java/com/sun A test/cluster/servlet25/flash/basic/src/main/java/com/sun/faces A test/cluster/servlet25/flash/basic/src/main/java/com/sun/faces/test A test/cluster/servlet25/flash/basic/src/main/java/com/sun/faces/test/cluster A test/cluster/servlet25/flash/basic/src/main/java/com/sun/faces/test/cluster/flash A test/cluster/servlet25/flash/basic/src/main/java/com/sun/faces/test/cluster/flash/basic A test/cluster/servlet25/flash/basic/src/main/java/com/sun/faces/test/cluster/flash/basic/FlashMessagesBean.java A test/cluster/servlet25/flash/basic/src/main/java/com/sun/faces/test/cluster/flash/basic/FlashDropCookieBean.java A test/cluster/servlet25/flash/basic/src/main/java/com/sun/faces/test/cluster/flash/basic/AddMessageBean.java A test/cluster/servlet25/flash/basic/src/main/java/com/sun/faces/test/cluster/flash/issue2973 A test/cluster/servlet25/flash/basic/src/main/java/com/sun/faces/test/cluster/flash/issue2973/Bean.java A test/cluster/servlet25/flash/basic/src/main/resources A test/cluster/servlet25/flash/basic/pom.xml A test/cluster/servlet25/flash/basic/nbactions.xml - New test.
- Loading branch information