You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by so...@apache.org on 2008/01/23 02:28:53 UTC

svn commit: r614404 - /myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/application/StateManagerImpl.java

Author: sobryan
Date: Tue Jan 22 17:28:51 2008
New Revision: 614404

URL: http://svn.apache.org/viewvc?rev=614404&view=rev
Log:
TRINIDAD-798: StateManagerImpl extends StateManager rather then StateManagerWrapper

* did some minor restructuring of the StateManagerImpl to allow for
  JSF 1.1 and JSF 1.2 implementations to be somewhat consistant.
* implemented and extended StateManagerWrapper
* removed the implementation of saveSerializedView
* implemented saveView

Modified:
    myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/application/StateManagerImpl.java

Modified: myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/application/StateManagerImpl.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/application/StateManagerImpl.java?rev=614404&r1=614403&r2=614404&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/application/StateManagerImpl.java (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/application/StateManagerImpl.java Tue Jan 22 17:28:51 2008
@@ -18,8 +18,6 @@
  */
 package org.apache.myfaces.trinidadinternal.application;
 
-import java.io.IOException;
-
 import java.io.Serializable;
 
 import java.util.ArrayList;
@@ -31,6 +29,7 @@
 
 import javax.faces.FactoryFinder;
 import javax.faces.application.StateManager;
+import javax.faces.application.StateManagerWrapper;
 import javax.faces.component.UIComponent;
 import javax.faces.component.UIViewRoot;
 import javax.faces.context.ExternalContext;
@@ -51,6 +50,8 @@
 // Imported only for a String constant - so no runtime dependency
 import com.sun.facelets.FaceletViewHandler;
 
+import java.io.IOException;
+
 /**
  * StateManager that handles a hybrid client/server strategy:  a
  * SerializedView is stored on the server, and only a small token
@@ -82,7 +83,7 @@
  * <p>
  * @version $Name:  $ ($Revision: adfrt/faces/adf-faces-impl/src/main/java/oracle/adfinternal/view/faces/application/StateManagerImpl.java#2 $) $Date: 18-nov-2005.16:12:04 $
  */
-public class StateManagerImpl extends StateManager
+public class StateManagerImpl extends StateManagerWrapper
 {
   static public final String USE_APPLICATION_VIEW_CACHE_INIT_PARAM =
     "org.apache.myfaces.trinidad.USE_APPLICATION_VIEW_CACHE";
@@ -125,6 +126,28 @@
   {
     _delegate = delegate;
   }
+  
+  @Override
+  protected StateManager getWrapped()
+  {
+    return _delegate;
+  }
+
+  @SuppressWarnings("deprecation")
+  @Override
+  public Object saveView(FacesContext context)
+  {
+    assert(context != null);
+    
+    if(isSavingStateInClient(context))
+    {
+      SerializedView view = _saveSerializedView(context);
+      return new Object[]{view.getStructure(), view.getState()};
+    }
+    
+    return super.saveView(context);
+  }
+
 
   /**
    * Save a component tree as an Object.
@@ -214,15 +237,11 @@
       root.processRestoreState(context, state);
 
     return root;
-  }
+  }  
 
   @SuppressWarnings("unchecked")
-  @Override
-  public SerializedView saveSerializedView(FacesContext context)
+  private SerializedView _saveSerializedView(FacesContext context)
   {
-    if (!isSavingStateInClient(context))
-      return _delegate.saveSerializedView(context);
-
     SerializedView view = _getCachedSerializedView(context);
     if (view != null)
       return view;