This change-bundle implements the FULL proposal for this, as well as
covering some corner-cases not in the initial proposal.
I have yet to get the last stamp of approval from the EG, but I'm
confident we'll get it, so I'm checking it in now.
r=visvan.
SECTION: API Changes
M jsf-api/src/javax/faces/application/StateManager.java
- reword the class description for readability
- saveSerializedView
Deprecate this. Make it no-longer abstract. Provide default impl
that returns null.
- saveView
new method. Replaces saveSerializedView. Provide default impl that
calls through to saveSerializedView().
- writeState that takes Object
new method. Provide default impl:
+ * <p>For backwards compatability with existing
+ * <code>StateManager</code> implementations, the default
+ * implementation of this method checks if the argument is an
+ * instance of <code>Object []</code> of length greater than or
+ * equal to two. If so, it creates a <code>SerializedView</code>
+ * instance with the tree structure coming frome element zero and
+ * the component state coming from element one and calls through to
+ * {@link
+ * #writeState(javax.faces.context.FacesContext,javax.faces.application.StateManager.SerializedView}.
+ * If not, does nothing.</p>
- getTreeStructureToSave
- getComponentStateToSave
- restoreTreeStructure
- restoreComponentState
Deprecate these. Provide default impl that returns null or no-ops.
- SerializedView
Deprecate this.
M jsf-api/src/javax/faces/application/StateManagerWrapper.java
- add new methods.
M jsf-api/src/javax/faces/render/ResponseStateManager.java
- writeState that takes Object
new method.
+ * <p>For backwards compatability with existing
+ * <code>ResponseStateManager</code> implementations, the default
+ * implementation of this method checks if the argument is an
+ * instance of <code>SerializedView</code>. If so, it calls through
+ * to {@link
+ * #writeState(javax.faces.context.FacesContext,javax.faces.application.StateManager.SerializedView}.
+ * If not, does nothing.</p>
- writeState that takes SerializedView
+ * @deprecated This method has been replaced by {@link
+ * #writeState(javax.faces.context.FacesContext,java.lang.Object)}.
+ * The default implementation of this method does nothing.
+ *
- getState
new method.
- getTreeStructureToRestore
- getComponentStateToRestore
Deprecate these. Provide default impl that returns null or no-ops.
SECTION: RI Changes
M jsf-ri/src/com/sun/faces/application/StateManagerImpl.java
Provide implementations for deprecated methods that will be called by
the default implementations of the new methods in StateManager.
- saveSerializedView(): no functional change since last version
M jsf-ri/src/com/sun/faces/application/ViewHandlerImpl.java
- move the responsibility for doing the redirect to createView() from
renderView(), since it was only designed to catch the initial request.
M jsf-ri/src/com/sun/faces/lifecycle/RestoreViewPhase.java
- introduce private isPostback() method.
+ * @return true if the request method is POST or PUT, or the method
+ * is GET but there are query parameters, or the request is not an
+ * instance of HttpServletRequest.
Only call restoreView() if isPostback(), otherwise call createView().
M jsf-ri/src/com/sun/faces/renderkit/ResponseStateManagerImpl.java
- modify getTreeStructureToRestore() so it knows the value of the hidden
field is only a string, not a base64 encoded object tree, if the
stateSavingMethod is server.
- modify writeState() to not encode the view if we're saving state in
the server, just write out the id.
- remove unused replaceMarkers method.
M jsf-ri/src/com/sun/faces/taglib/jsf_core/ViewTag.java
- leverage new APIs and rely on impl to delegate to deprecated APIs for
backwards compatability.
M jsf-ri/systest/build-tests.xml
M jsf-ri/systest/src/com/sun/faces/htmlunit/AbstractTestCase.java
M jsf-ri/systest/src/com/sun/faces/jsptest/JspIntegrationTestCase.java
M jsf-ri/test/com/sun/faces/FacesTestCaseService.java
M jsf-ri/test/com/sun/faces/lifecycle/TestApplyRequestValuesPhase.java
M jsf-ri/test/com/sun/faces/lifecycle/TestLifecycleImpl_initial.java
M jsf-ri/test/com/sun/faces/lifecycle/TestPhase.java
M jsf-ri/test/com/sun/faces/lifecycle/TestProcessValidationsPhase.java
M jsf-ri/test/com/sun/faces/lifecycle/TestRestoreViewPhase.java
M jsf-ri/web/test/RenderResponse_correct
M jsf-ri/web/test/TestLifecycleImpl_initial_correct
M jsf-ri/web/test/TestViewHandlerImpl_correct
- Oof, mondo changes here.
PKCS11_REF_COUNT_ATTRIBUTES macros, supporting only one of the three
attribute allocation strategies (static allocation). r=jpierre.
Modified Files: pkcs11i.h pkcs11u.c