Author: julien(a)jboss.com
Date: 2007-11-28 09:06:19 -0500 (Wed, 28 Nov 2007)
New Revision: 9166
Modified:
branches/presentation/presentation/src/main/org/jboss/portal/presentation/impl/PresentationContextImpl.java
branches/presentation/presentation/src/main/org/jboss/portal/presentation/impl/model/UIObjectImpl.java
Log:
- in the presentation context, only store the nav state context and content state context
in the session
Modified:
branches/presentation/presentation/src/main/org/jboss/portal/presentation/impl/PresentationContextImpl.java
===================================================================
---
branches/presentation/presentation/src/main/org/jboss/portal/presentation/impl/PresentationContextImpl.java 2007-11-28
14:00:49 UTC (rev 9165)
+++
branches/presentation/presentation/src/main/org/jboss/portal/presentation/impl/PresentationContextImpl.java 2007-11-28
14:06:19 UTC (rev 9166)
@@ -28,6 +28,8 @@
import
org.jboss.portal.presentation.impl.model.state.navigational.NavigationalStateContextImpl;
import org.jboss.portal.presentation.model.UIContext;
import org.jboss.portal.presentation.model.UIObject;
+import org.jboss.portal.presentation.model.state.content.ContentStateContext;
+import org.jboss.portal.presentation.model.state.navigational.NavigationalStateContext;
import org.jboss.portal.presentation.protocol.LinkActivation;
import org.jboss.portal.presentation.protocol.ServerAction;
import org.jboss.portal.presentation.protocol.UIObjectAction;
@@ -45,7 +47,7 @@
/**
* @author <a href="mailto:sshah@redhat.com">Sohil Shah</a>
- *
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
*/
public class PresentationContextImpl implements PresentationContext
{
@@ -55,36 +57,44 @@
/** . */
private PresentationServer presentationServer = null;
+
+ /** . */
+ private UIContextImpl root;
- /**
- *
- * @param invocation
- */
public PresentationContextImpl(PresentationServer presentationServer, ServerInvocation
invocation)
{
this.invocation = invocation;
this.presentationServer = presentationServer;
}
- /**
- *
- * @return
- */
public UIContext getUIContext()
- {
- HttpSession session =
this.invocation.getServerContext().getClientRequest().getSession();
+ {
+ if (root == null)
+ {
+ HttpSession session =
this.invocation.getServerContext().getClientRequest().getSession();
+ //
+ NavigationalStateContext nsc =
(NavigationalStateContext)session.getAttribute("nsc");
+ if (nsc == null)
+ {
+ nsc = new NavigationalStateContextImpl();
+ session.setAttribute("nsc", nsc);
+ }
- UIContext uiContext = (UIContext)session.getAttribute("uicontext");
+ //
+ ContentStateContext csc =
(ContentStateContext)session.getAttribute("csc");
+ if (csc == null)
+ {
+ csc = new ContentStateContextImpl();
+ session.setAttribute("csc", csc);
+ }
+ //
+ root = new UIContextImpl(presentationServer.getStructuralStateManager(), nsc,
csc);
+ }
- if(uiContext == null)
- {
- uiContext = new
UIContextImpl(this.presentationServer.getStructuralStateManager(), new
NavigationalStateContextImpl(), new ContentStateContextImpl());
- session.setAttribute("uicontext", uiContext);
- }
-
- return uiContext;
+ //
+ return root;
}
/**
Modified:
branches/presentation/presentation/src/main/org/jboss/portal/presentation/impl/model/UIObjectImpl.java
===================================================================
---
branches/presentation/presentation/src/main/org/jboss/portal/presentation/impl/model/UIObjectImpl.java 2007-11-28
14:00:49 UTC (rev 9165)
+++
branches/presentation/presentation/src/main/org/jboss/portal/presentation/impl/model/UIObjectImpl.java 2007-11-28
14:06:19 UTC (rev 9166)
@@ -34,6 +34,7 @@
/**
* @author <a href="mailto:sshah@redhat.com">Sohil Shah</a>
+ * @author <a href="mailto:julien@jboss.org">Julien Viet</a>
*
*/
public abstract class UIObjectImpl implements UIObject, Serializable
Show replies by date