Author: krasnov
Date: 2008-02-20 05:40:01 -0500 (Wed, 20 Feb 2008)
New Revision: 96231
Modified:
branches/mainsoft/gh2.2/mcs/class/Mainsoft.Web/Mainsoft.Web.Hosting/BaseFacesStateManager.cs
Log:
saving/reading state fix, removed call of ResponseStateManager
Modified:
branches/mainsoft/gh2.2/mcs/class/Mainsoft.Web/Mainsoft.Web.Hosting/BaseFacesStateManager.cs
===================================================================
---
branches/mainsoft/gh2.2/mcs/class/Mainsoft.Web/Mainsoft.Web.Hosting/BaseFacesStateManager.cs
2008-02-20 10:30:49 UTC (rev 96230)
+++
branches/mainsoft/gh2.2/mcs/class/Mainsoft.Web/Mainsoft.Web.Hosting/BaseFacesStateManager.cs
2008-02-20 10:40:01 UTC (rev 96231)
@@ -59,18 +59,45 @@
}
protected void SaveStateInClient (FacesContext facesContext,
StateManager.SerializedView serializedView) {
- UIViewRoot uiViewRoot = facesContext.getViewRoot ();
- //save state in response (client-side: full state;
server-side: sequence)
- RenderKit renderKit = RenderKitFactory.getRenderKit
(facesContext, uiViewRoot.getRenderKitId ());
- // not us.
- renderKit.getResponseStateManager ().writeState
(facesContext, serializedView);
+ //UIViewRoot uiViewRoot = facesContext.getViewRoot ();
+ ////save state in response (client-side: full state;
server-side: sequence)
+ //RenderKit renderKit = RenderKitFactory.getRenderKit
(facesContext, uiViewRoot.getRenderKitId ());
+ //// not us.
+ //renderKit.getResponseStateManager ().writeState
(facesContext, serializedView);
+
+ java.io.ByteArrayOutputStream bytearrayoutputstream =
new java.io.ByteArrayOutputStream ();
+ java.io.ObjectOutputStream objectoutputstream = new
java.io.ObjectOutputStream (bytearrayoutputstream);
+
+ //ignore tree structure
+ //objectoutputstream.writeObject
(serializedView.getStructure ());
+ objectoutputstream.writeObject (serializedView.getState
());
+ objectoutputstream.close ();
+ bytearrayoutputstream.close ();
+
+ string s = " <input type=\"hidden\" name=\"faces.VIEW\"
value=\"" +
+ Convert.ToBase64String ((byte [])
vmw.common.TypeUtils.ToByteArray (bytearrayoutputstream.toByteArray ())) + "\"
/>\n ";
+ facesContext.getResponseWriter ().write (s);
}
protected object GetStateFromClient (FacesContext facesContext,
String viewId, String renderKitId) {
- RenderKit renderKit = RenderKitFactory.getRenderKit
(facesContext, renderKitId);
- ResponseStateManager responseStateManager =
renderKit.getResponseStateManager ();
- responseStateManager.getTreeStructureToRestore
(facesContext, viewId); //ignore result. Must call for compatibility with sun
implementation.
- return responseStateManager.getComponentStateToRestore
(facesContext);
+ //RenderKit renderKit = RenderKitFactory.getRenderKit
(facesContext, renderKitId);
+ //ResponseStateManager responseStateManager =
renderKit.getResponseStateManager ();
+ //responseStateManager.getTreeStructureToRestore
(facesContext, viewId); //ignore result. Must call for compatibility with sun
implementation.
+ //return
responseStateManager.getComponentStateToRestore (facesContext);
+
+ java.util.Map map = facesContext.getExternalContext
().getRequestParameterMap ();
+ string s1 = (string) map.get ("faces.VIEW");
+
+ byte [] buffer = Convert.FromBase64String (s1);
+ java.io.ByteArrayInputStream bytearrayinputstream = new
java.io.ByteArrayInputStream (vmw.common.TypeUtils.ToSByteArray (buffer));
+ java.io.ObjectInputStream inputStream = new
java.io.ObjectInputStream (bytearrayinputstream);
+ //ignore tree structure
+ //inputStream.readObject ();
+ object state = inputStream.readObject ();
+ inputStream.close ();
+ bytearrayinputstream.close ();
+
+ return state;
}
}
}
_______________________________________________
Mono-patches maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-patches