diff --git a/spring-faces/src/main/java/org/springframework/faces/webflow/MyFacesFlowResponseStateManager.java b/spring-faces/src/main/java/org/springframework/faces/webflow/MyFacesFlowResponseStateManager.java
index 3ef50de0..ef605929 100644
--- a/spring-faces/src/main/java/org/springframework/faces/webflow/MyFacesFlowResponseStateManager.java
+++ b/spring-faces/src/main/java/org/springframework/faces/webflow/MyFacesFlowResponseStateManager.java
@@ -22,8 +22,6 @@ import javax.faces.application.StateManager.SerializedView;
import javax.faces.context.FacesContext;
import javax.faces.render.ResponseStateManager;
-import org.apache.myfaces.renderkit.MyfacesResponseStateManager;
-import org.apache.myfaces.application.viewstate.StateCacheUtils;
import org.springframework.webflow.execution.RequestContext;
import org.springframework.webflow.execution.RequestContextHolder;
@@ -37,7 +35,8 @@ import org.springframework.webflow.execution.RequestContextHolder;
* containing the real state to save.
*
*
Since JSF 2.0, the strategy used by MyFaces to determine if a
- * {@link MyfacesResponseStateManager} is available will always succeed since it
+ * {@link org.apache.myfaces.renderkit.MyfacesResponseStateManager} is available
+ * will always succeed since it
* follows {@link FacesWrapper}s to find the root HtmlResponseStateManager
* implementation. Since state management for web flow requests is handled by the
* {@link FlowResponseStateManager} this* assumption causes problems and results
@@ -51,7 +50,7 @@ import org.springframework.webflow.execution.RequestContextHolder;
* @see FlowRenderKit
*/
@SuppressWarnings("deprecation")
-public class MyFacesFlowResponseStateManager extends MyfacesResponseStateManager
+public class MyFacesFlowResponseStateManager extends ResponseStateManager
implements FacesWrapper {
private final ResponseStateManager wrapped;
@@ -64,31 +63,11 @@ public class MyFacesFlowResponseStateManager extends MyfacesResponseStateManager
return this.wrapped;
}
- private MyfacesResponseStateManager getWrappedMyfacesResponseStateManager() {
- return StateCacheUtils.getMyFacesResponseStateManager(this.wrapped);
- }
-
- public boolean isWriteStateAfterRenderViewRequired(FacesContext facesContext) {
- MyfacesResponseStateManager wrapped = getWrappedMyfacesResponseStateManager();
- if (wrapped != null) {
- return wrapped.isWriteStateAfterRenderViewRequired(facesContext);
- }
- return super.isWriteStateAfterRenderViewRequired(facesContext);
- }
-
public void saveState(FacesContext facesContext, Object state) {
RequestContext requestContext = RequestContextHolder.getRequestContext();
requestContext.getViewScope().put(FlowResponseStateManager.FACES_VIEW_STATE, state);
}
- public void writeStateAsUrlParams(FacesContext facesContext, SerializedView serializedview) {
- MyfacesResponseStateManager wrapped = getWrappedMyfacesResponseStateManager();
- if (wrapped != null) {
- wrapped.writeStateAsUrlParams(facesContext, serializedview);
- }
- super.writeStateAsUrlParams(facesContext, serializedview);
- }
-
public Object getComponentStateToRestore(FacesContext context) {
return getWrapped().getComponentStateToRestore(context);
}
diff --git a/spring-faces/src/test/java/org/springframework/faces/webflow/MyFacesFlowResponseStateManagerTests.java b/spring-faces/src/test/java/org/springframework/faces/webflow/MyFacesFlowResponseStateManagerTests.java
deleted file mode 100644
index bad787e6..00000000
--- a/spring-faces/src/test/java/org/springframework/faces/webflow/MyFacesFlowResponseStateManagerTests.java
+++ /dev/null
@@ -1,92 +0,0 @@
-package org.springframework.faces.webflow;
-
-import java.io.IOException;
-import java.io.StringWriter;
-
-import javax.faces.context.FacesContext;
-
-import org.apache.myfaces.renderkit.MyfacesResponseStateManager;
-import org.apache.myfaces.test.base.AbstractJsfTestCase;
-import org.apache.myfaces.test.mock.MockResponseWriter;
-import org.easymock.EasyMock;
-import org.springframework.webflow.engine.ViewState;
-import org.springframework.webflow.execution.RequestContextHolder;
-import org.springframework.webflow.execution.ViewFactory;
-import org.springframework.webflow.test.MockFlowExecutionContext;
-import org.springframework.webflow.test.MockFlowExecutionKey;
-import org.springframework.webflow.test.MockFlowSession;
-import org.springframework.webflow.test.MockRequestContext;
-
-/**
- * Tests for {@link MyFacesFlowResponseStateManager}.
- *
- * @author Phillip Webb
- */
-public class MyFacesFlowResponseStateManagerTests extends AbstractJsfTestCase {
-
- private MockMyfacesResponseStateManager root;
- private FlowResponseStateManager flow;
- private MyFacesFlowResponseStateManager manager;
- private MockRequestContext requestContext;
-
- public MyFacesFlowResponseStateManagerTests(String name) {
- super(name);
- }
-
- protected void setUp() throws Exception {
- super.setUp();
- this.root = new MockMyfacesResponseStateManager();
- this.flow = new FlowResponseStateManager(this.root);
- this.manager = new MyFacesFlowResponseStateManager(this.flow);
- this.requestContext = new MockRequestContext();
- MockFlowExecutionContext executionContext = requestContext.getMockFlowExecutionContext();
- MockFlowSession session = executionContext.getMockActiveSession();
- ViewFactory viewFactory = EasyMock.createNiceMock(ViewFactory.class);
- session.setState(new ViewState(session.getDefinitionInternal(), "view", viewFactory));
- executionContext.setKey(new MockFlowExecutionKey("x"));
- RequestContextHolder.setRequestContext(requestContext);
- }
-
- protected void tearDown() throws Exception {
- RequestContextHolder.setRequestContext(null);
- super.tearDown();
- }
-
- public void testDelegatesIsWriteStateAfterRenderViewRequired() throws Exception {
- this.manager.isWriteStateAfterRenderViewRequired(this.facesContext);
- assertTrue(this.root.isWriteStateAfterRenderViewRequiredCalled);
- }
-
- public void testDelegatesWriteState() throws Exception {
- RequestContextHolder.setRequestContext(null);
- this.facesContext.setResponseWriter(new MockResponseWriter(new StringWriter()));
- this.manager.writeState(this.facesContext, new Object());
- assertTrue(this.root.writeStateCalled);
- }
-
- public void testTriggersSaveStateInFlowResponseStateManager() throws Exception {
- Object state = new Object();
- this.manager.saveState(this.facesContext, state);
- assertSame(state, requestContext.getViewScope().get(FlowResponseStateManager.FACES_VIEW_STATE));
- assertFalse(this.root.saveStateCalled);
- }
-
- private static class MockMyfacesResponseStateManager extends MyfacesResponseStateManager {
- private boolean isWriteStateAfterRenderViewRequiredCalled;
- private boolean saveStateCalled;
- private boolean writeStateCalled;
-
- public boolean isWriteStateAfterRenderViewRequired(FacesContext facesContext) {
- this.isWriteStateAfterRenderViewRequiredCalled = true;
- return true;
- }
-
- public void saveState(FacesContext facesContext, Object state) {
- this.saveStateCalled = true;
- }
-
- public void writeState(FacesContext context, Object state) throws IOException {
- this.writeStateCalled = true;
- }
- }
-}