Author: julien(a)jboss.com
Date: 2006-11-27 20:46:21 -0500 (Mon, 27 Nov 2006)
New Revision: 5729
Removed:
trunk/theme/src/main/org/jboss/portal/test/theme/render/TestRenderContext.java
trunk/theme/src/main/org/jboss/portal/theme/navigation/PageNavigationalState.java
trunk/theme/src/main/org/jboss/portal/theme/page/ModifiablePageResult.java
trunk/theme/src/main/org/jboss/portal/theme/page/ModifiableRegionResult.java
trunk/theme/src/main/org/jboss/portal/theme/page/ModifiableWindowResult.java
trunk/theme/src/main/org/jboss/portal/theme/page/RegionResult.java
trunk/theme/src/main/org/jboss/portal/theme/render/FragmentAssembler.java
trunk/theme/src/main/org/jboss/portal/theme/render/MarkupResult.java
trunk/theme/src/main/org/jboss/portal/theme/render/ModifiableMarkupResult.java
Modified:
trunk/core/src/main/org/jboss/portal/core/aspects/controller/PageCustomizerInterceptor.java
trunk/core/src/main/org/jboss/portal/core/aspects/controller/PageNavigationInterceptor.java
trunk/core/src/main/org/jboss/portal/core/model/instance/command/InvokePortletInstanceRenderCommand.java
trunk/core/src/main/org/jboss/portal/core/model/portal/command/InvokePortletWindowRenderCommand.java
trunk/core/src/main/org/jboss/portal/core/model/portal/command/MoveWindowCommand.java
trunk/core/src/main/org/jboss/portal/core/model/portal/command/RenderPageCommand.java
trunk/core/src/main/org/jboss/portal/core/model/portal/command/RenderPortletWindowCommand.java
trunk/theme/src/main/org/jboss/portal/test/theme/TestHelper.java
trunk/theme/src/main/org/jboss/portal/test/theme/render/TestRenderedMarkup.java
trunk/theme/src/main/org/jboss/portal/test/theme/servlet/TestThemeServlet.java
trunk/theme/src/main/org/jboss/portal/theme/LayoutDispatcher.java
trunk/theme/src/main/org/jboss/portal/theme/LayoutServiceInfo.java
trunk/theme/src/main/org/jboss/portal/theme/PageRendition.java
trunk/theme/src/main/org/jboss/portal/theme/PortalLayout.java
trunk/theme/src/main/org/jboss/portal/theme/ServerRegistrationID.java
trunk/theme/src/main/org/jboss/portal/theme/impl/JSPLayout.java
trunk/theme/src/main/org/jboss/portal/theme/impl/LayoutServiceImpl.java
trunk/theme/src/main/org/jboss/portal/theme/impl/strategy/MaximizingStrategyImpl.java
trunk/theme/src/main/org/jboss/portal/theme/navigation/WindowNavigationalState.java
trunk/theme/src/main/org/jboss/portal/theme/page/PageResult.java
trunk/theme/src/main/org/jboss/portal/theme/page/WindowResult.java
trunk/theme/src/main/org/jboss/portal/theme/render/RenderContext.java
trunk/theme/src/main/org/jboss/portal/theme/strategy/StrategyContext.java
trunk/theme/src/main/org/jboss/portal/theme/strategy/StrategyResponse.java
Log:
removing usage of window nav state + simplify
Modified:
trunk/core/src/main/org/jboss/portal/core/aspects/controller/PageCustomizerInterceptor.java
===================================================================
---
trunk/core/src/main/org/jboss/portal/core/aspects/controller/PageCustomizerInterceptor.java 2006-11-27
21:36:52 UTC (rev 5728)
+++
trunk/core/src/main/org/jboss/portal/core/aspects/controller/PageCustomizerInterceptor.java 2006-11-28
01:46:21 UTC (rev 5729)
@@ -43,7 +43,6 @@
import org.jboss.portal.server.request.URLContext;
import org.jboss.portal.theme.PageRendition;
import org.jboss.portal.theme.ThemeConstants;
-import org.jboss.portal.theme.page.ModifiableWindowResult;
import org.jboss.portal.theme.page.Region;
import org.jboss.portal.theme.page.WindowContext;
import org.jboss.portal.theme.page.WindowResult;
@@ -104,7 +103,7 @@
windowProps.put(ThemeConstants.PORTAL_PROP_WINDOW_RENDERER,
"emptyRenderer");
windowProps.put(ThemeConstants.PORTAL_PROP_DECORATION_RENDERER,
"emptyRenderer");
windowProps.put(ThemeConstants.PORTAL_PROP_PORTLET_RENDERER,
"emptyRenderer");
- WindowResult res = new ModifiableWindowResult("",
tabbedNav.toString(), Collections.EMPTY_MAP, windowProps, null, null, WindowState.NORMAL,
Mode.VIEW);
+ WindowResult res = new WindowResult("", tabbedNav.toString(),
Collections.EMPTY_MAP, windowProps, null, null, WindowState.NORMAL, Mode.VIEW);
WindowContext blah = new WindowContext("BLAH", "BLAH",
"navigation", 0);
rendition.getPageResult().addWindowContext(blah);
rendition.getPageResult().addWindowResult("BLAH", res);
@@ -123,7 +122,7 @@
windowProps.put(ThemeConstants.PORTAL_PROP_WINDOW_RENDERER,
"emptyRenderer");
windowProps.put(ThemeConstants.PORTAL_PROP_DECORATION_RENDERER,
"emptyRenderer");
windowProps.put(ThemeConstants.PORTAL_PROP_PORTLET_RENDERER,
"emptyRenderer");
- WindowResult res = new ModifiableWindowResult("",
dashboardNav.toString(), Collections.EMPTY_MAP, windowProps, null, null,
WindowState.NORMAL, Mode.VIEW);
+ WindowResult res = new WindowResult("", dashboardNav.toString(),
Collections.EMPTY_MAP, windowProps, null, null, WindowState.NORMAL, Mode.VIEW);
WindowContext bluh = new WindowContext("BLUH", "BLUH",
"dashboardnav", 0);
rendition.getPageResult().addWindowContext(bluh);
rendition.getPageResult().addWindowResult("BLUH", res);
Modified:
trunk/core/src/main/org/jboss/portal/core/aspects/controller/PageNavigationInterceptor.java
===================================================================
---
trunk/core/src/main/org/jboss/portal/core/aspects/controller/PageNavigationInterceptor.java 2006-11-27
21:36:52 UTC (rev 5728)
+++
trunk/core/src/main/org/jboss/portal/core/aspects/controller/PageNavigationInterceptor.java 2006-11-28
01:46:21 UTC (rev 5729)
@@ -24,44 +24,10 @@
package org.jboss.portal.core.aspects.controller;
import org.apache.log4j.Logger;
-import org.jboss.portal.Mode;
-import org.jboss.portal.WindowState;
-import org.jboss.portal.common.invocation.AttributeResolver;
import org.jboss.portal.common.invocation.InvocationException;
import org.jboss.portal.core.controller.ControllerCommand;
-import org.jboss.portal.core.controller.ControllerContext;
import org.jboss.portal.core.controller.ControllerInterceptor;
-import org.jboss.portal.core.model.portal.command.PageCommand;
-import org.jboss.portal.core.model.portal.command.PortalObjectCommand;
-import org.jboss.portal.core.model.portal.command.RenderPageCommand;
-import org.jboss.portal.core.model.portal.command.WindowCommand;
-import org.jboss.portal.core.model.portal.Page;
-import org.jboss.portal.core.model.portal.Portal;
-import org.jboss.portal.core.model.portal.PortalObject;
-import org.jboss.portal.core.model.portal.Window;
-import org.jboss.portal.server.ServerInvocation;
-import org.jboss.portal.server.util.HTTPStreamInfo;
-import org.jboss.portal.theme.LayoutInfo;
-import org.jboss.portal.theme.LayoutService;
-import org.jboss.portal.theme.PortalLayout;
-import org.jboss.portal.theme.ThemeConstants;
-import org.jboss.portal.theme.navigation.PageNavigationalState;
-import org.jboss.portal.theme.navigation.WindowNavigationalState;
-import org.jboss.portal.theme.page.WindowContext;
-import org.jboss.portal.theme.strategy.LayoutStrategy;
-import org.jboss.portal.theme.strategy.NavigationalStateChangedEvent;
-import org.jboss.portal.theme.strategy.StrategyContext;
-import org.jboss.portal.theme.strategy.StrategyException;
-import org.jboss.portal.theme.strategy.StrategyResponse;
-import javax.servlet.http.HttpServletRequest;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
/**
* Ensure that the page navigational state holder is present.
*
@@ -75,380 +41,21 @@
public Object invoke(ControllerCommand cmd) throws Exception, InvocationException
{
- if (cmd instanceof WindowCommand || cmd instanceof PageCommand)
- {
- //
- PortalObject target = ((PortalObjectCommand)cmd).getTarget();
- while (target != null && PortalObject.TYPE_PAGE != target.getType()
&& target.getParent() != null)
- {
- target = target.getParent();
- }
-
- if (target == null || target.getType() != PortalObject.TYPE_PAGE)
- {
- throw new InvocationException("Could not determine the page of this
request");
- }
-
- Page page = (Page)target;
-
- try
- {
- ServerInvocation sinv =
((ControllerContext)cmd.getContext()).getServerInvocation();
- LayoutService layoutService =
((ControllerContext)cmd.getContext()).getController().getPageService().getLayoutService();
- AttributeResolver navCtx =
cmd.getContext().getAttributeResolver(ControllerCommand.NAVIGATIONAL_STATE_SCOPE);
- ensurePageNavigationalState(layoutService, navCtx, sinv, page);
- }
- catch (StrategyException e)
- {
- throw new InvocationException(e);
- }
- }
-
- return cmd.invokeNext();
- }
-
- public static void updatePageNavigationalState(LayoutService layoutService,
ControllerContext cmdContext,
- ServerInvocation sinv, Portal portal,
Page page, Window window,
- Mode mode, WindowState windowState)
throws StrategyException
- {
- if (window != null)
- {
- // First update the window navigational state
- AttributeResolver navCtx =
sinv.getContext().getAttributeResolver(ControllerCommand.NAVIGATIONAL_STATE_SCOPE);
-
- // now take care of the page navigational state (i.e. fire the layout strategy
with the window navigational state change,
- // and honor what the strategy has to say to the change (if anything)
- PageNavigationalState pageNavState = ensurePageNavigationalState(layoutService,
navCtx, sinv, page);
-
- // get the position of the portlet on the page, and other window location
related state
- WindowContext windowContext = pageNavState.getWindowContext(window.getId());
-
- PortalLayout layout = getLayout(layoutService, page);
-
- LayoutStrategy strategy = getLayoutStrategy(page, layout, sinv);
-
- HTTPStreamInfo streamInfo = sinv.getResponse().getStreamInfo();
- Set windowStates = portal.getSupportedWindowStates();
- Set portletModes = portal.getSupportedModes();
- HttpServletRequest httpRequest = sinv.getServerContext().getClientRequest();
- StrategyContext strategyContext = new StrategyContext(navCtx, pageNavState,
httpRequest, streamInfo, windowStates, portletModes,
layout.getLayoutInfo().getRegionNames());
-
- NavigationalStateChangedEvent event = new
NavigationalStateChangedEvent(windowContext, mode, windowState);
-
- StrategyResponse strategyResponse = strategy.stateChanged(event,
strategyContext);
-
- // and update the navigational state with the strategy response
- processResponse(navCtx, pageNavState, strategyResponse, layout);
- }
- }
-
- private static LayoutStrategy getLayoutStrategy(Page page, PortalLayout layout,
ServerInvocation sinv)
- {
- if (layout == null)
- {
- return null;
- }
-// LayoutStrategy strategy =
layout.getLayoutInfo().getStrategy(sinv.getResponse().getStreamInfo().getContentType());
- LayoutStrategy strategy = null;
-
- if (strategy == null)
- {
- String defaultStrategyName = "default";
- Portal portal = page.getPortal();
- Map portalProperties = portal.getDeclaredProperties();
- Map pageProperties = page.getDeclaredProperties();
-
- // not specified for this layout -> get it from portal
- String strategyName = getStrategyNameFromProperties(pageProperties);
-
- if (strategyName == null)
- {
- strategyName = getStrategyNameFromProperties(portalProperties);
- }
-
- if (strategyName == null)
- {
- log.warn("No strategy name found in portal and page properties. Using
'" + defaultStrategyName + "'");
- // default to the 'default' strategy
- strategyName = defaultStrategyName;
- }
- log.debug("looking for strategy with name: " + strategyName);
- strategy = layout.getServiceInfo().getStrategy(strategyName,
sinv.getResponse().getStreamInfo().getContentType());
- }
-
- return strategy;
- }
-
- private static PortalLayout getLayout(LayoutService layoutService, Page page)
- {
- return RenderPageCommand.getLayout(layoutService, page);
- }
-
- private static void processResponse(AttributeResolver navCtx, PageNavigationalState
pageNavState, StrategyResponse strategyResponse, PortalLayout layout)
- {
- // handle excluded portlets
- handleExcludedPortlets(pageNavState, strategyResponse);
- // handle changes in window state of one or more portlets
- handleWindowStateChanges(navCtx, pageNavState, strategyResponse);
- // handle changes of the portlet mode of one or more portlets
- handlePortletModeChanges(navCtx, pageNavState, strategyResponse);
- // handle changes in the region and order
-
-// transferPortletContexts(request, response);
-// // handle changes in the layout
- handleLayoutAndState(navCtx, pageNavState, strategyResponse, layout);
- }
-
- private static PageNavigationalState ensurePageNavigationalState(LayoutService
layoutService, AttributeResolver navCtx, ServerInvocation sinv, Page page) throws
StrategyException
- {
- PageNavigationalState pageNavState =
(PageNavigationalState)navCtx.getAttribute(page.getId());
-
- if (pageNavState != null)
- {
- return pageNavState;
- }
-
- // Create the page nav state
- Map windowContexts = createWindowContextMap(page);
-
- pageNavState = (PageNavigationalState)navCtx.getAttribute(page.getId());
- if (pageNavState == null)
- {
- //
- pageNavState = new PageNavigationalState();
- navCtx.setAttribute(page.getId(), pageNavState);
-
- // Initialize the window missing NS
-// for (Iterator i = windowContexts.values().iterator(); i.hasNext();)
+// if (cmd instanceof WindowCommand || cmd instanceof PageCommand)
+// {
+// //
+// PortalObject target = ((PortalObjectCommand)cmd).getTarget();
+// while (target != null && PortalObject.TYPE_PAGE != target.getType()
&& target.getParent() != null)
// {
-// WindowContext windowContext = (WindowContext)i.next();
-// if (navCtx.getNavigationalState(windowContext.getId()) == null)
-// {
-// navCtx.setNavigationalState(windowContext.getId(), new
JBossPortletNavigationalState());
-// }
+// target = target.getParent();
// }
- }
-
- //
- pageNavState.initialize(windowContexts);
-
- // evaluate the layout strategy
-
- // get the layout to use
- PortalLayout layout = getLayout(layoutService, page);
-
- if (layout == null)
- {
- throw new IllegalStateException("layout is null");
- }
-
- // get the strategy to use
- LayoutStrategy strategy = getLayoutStrategy(page, layout, sinv);
-
- // build the strategy context
- Portal portal = page.getPortal();
- HTTPStreamInfo streamInfo = sinv.getResponse().getStreamInfo();
- Set windowStates = portal.getSupportedWindowStates();
- Set portletModes = portal.getSupportedModes();
- HttpServletRequest httpRequest = sinv.getServerContext().getClientRequest();
- StrategyContext strategyContext = new StrategyContext(navCtx, pageNavState,
httpRequest, streamInfo, windowStates, portletModes,
layout.getLayoutInfo().getRegionNames());
-
- // call the strategy
- StrategyResponse strategyResponse = strategy.initialize(strategyContext);
-
- // update the navigational state from the strategy response (if requested therein)
- processResponse(navCtx, pageNavState, strategyResponse, layout);
-
- navCtx.setAttribute(page.getId(), pageNavState);
-
- return pageNavState;
- }
-
- /**
- * Create a Map of WindowContext instances, keyed by window id , of all portlet
windows on the requested page
- *
- * @param page the requested page
- * @return a Map of WindowID to WindowContext
- */
- private static Map createWindowContextMap(Page page)
- {
- Map windows = new HashMap();
- for (Iterator i = page.getChildren().iterator(); i.hasNext();)
- {
- PortalObject o = (PortalObject)i.next();
- if (o instanceof Window)
- {
- Window window = (Window)o;
- windows.put(window.getId(), createWindowContext(window));
- }
- }
- return windows;
- }
-
- /**
- * Create a window context for the given window
- *
- * @param window the window to create the context for
- * @return a new WindowContext
- * @see org.jboss.portal.theme.page.WindowContext
- */
- private static WindowContext createWindowContext(Window window)
- {
- String region;
- Integer order;
-// UserContext userCtx =
context.getServerInvocation().getRequest().getUser();
-// if (userCtx != null)
-// {
-// PreferenceStore store = userCtx.getPreferences();
-// String handle = registry.getHandle(window);
-// PreferenceSet prefs = store.get(handle, false);
//
-// //
-// if (prefs != null)
-// {
-// Value regionValue = prefs.getValue("region");
-// if (regionValue != null && !regionValue.isNull())
-// {
-// region = regionValue.asString();
-// }
-// }
-//
-// //
-//// Value orderValue = prefs.getValue("order");
-//// if (orderValue != null && !orderValue.isNull() &&
orderValue.isInstanceOf(Float.class))
-//// {
-//// order = new Integer(((Float)orderValue.asObject()).intValue());
-//// }
-// }
+// if (target == null || target.getType() != PortalObject.TYPE_PAGE)
+// {
+// throw new InvocationException("Could not determine the page of this
request");
+// }
+// }
- region = window.getDeclaredProperty(ThemeConstants.PORTAL_PROP_REGION);
- try
- {
- order = new
Integer(window.getDeclaredProperty(ThemeConstants.PORTAL_PROP_ORDER));
- }
- catch (NumberFormatException e)
- {
- log.error("Cannot get window " + window.getId() + "
coordinate", e);
- order = new Integer(99);
- }
-
- return new WindowContext(window.getName(), window.getId(), region,
order.intValue());
+ return cmd.invokeNext();
}
-
- private static String getStrategyNameFromProperties(Map properties)
- {
- if (properties != null)
- {
- return (String)properties.get(ThemeConstants.PORTAL_PROP_STRATEGY);
- }
- return null;
- }
-
- private static void handleLayoutAndState(AttributeResolver navCtx,
PageNavigationalState pageNavState, StrategyResponse strategyResponse, PortalLayout
layout)
- {
- pageNavState.setLayoutState(strategyResponse.getLayoutState());
-
- if (strategyResponse.getLayoutURI() == null)
- {
- LayoutInfo info = layout.getLayoutInfo();
- if (strategyResponse.getLayoutState() != null)
- {
- pageNavState.setLayoutURI(info.getURI(strategyResponse.getLayoutState()));
- }
- else
- {
- pageNavState.setLayoutURI(info.getURI());
- }
- }
- else
- {
- pageNavState.setLayoutURI(strategyResponse.getLayoutURI());
- }
-
- Map regionChangeMap = strategyResponse.getWindowRegionChangeMap();
- // move windows to other regions
- for (Iterator i = regionChangeMap.keySet().iterator(); i.hasNext();)
- {
- String windowID = (String)i.next();
- pageNavState.setWindowRegion(windowID, (String)regionChangeMap.get(windowID),
true);
- }
-
- // restore previous window context region and order
- Map idsToRestore = strategyResponse.getWindowIDsToRestore();
- for (Iterator i = idsToRestore.keySet().iterator(); i.hasNext();)
- {
- String windowId = (String)i.next();
- WindowContext ctx = pageNavState.getPreviousWindowContext(windowId, true);
- if (ctx != null)
- {
- pageNavState.setWindowRegion(windowId, ctx.getRegionName(), false);
- pageNavState.setWindowOrder(windowId, ctx.getOrder(), false);
- WindowNavigationalState windowNavState =
(WindowNavigationalState)navCtx.getAttribute(windowId + "_window");
- windowNavState.setWindowState((WindowState)idsToRestore.get(windowId));
- }
- }
- }
-
- /**
- * look for changed window states and portlet modes, and update the navigational state
of the portlet instance
- *
- * @param strategyResponse
- */
- private static void handleWindowStateChanges(AttributeResolver navCtx,
PageNavigationalState pageNavState, StrategyResponse strategyResponse)
- {
-
- Map changeMap = strategyResponse.getWindowStateChangeMap();
- Collection windowContexts = pageNavState.getWindowContexts();
- for (Iterator i = changeMap.keySet().iterator(); i.hasNext();)
- {
- WindowContext windowContext = (WindowContext)i.next();
-
- // only if the portlet is part of this request (and the portlet is still
registered) do we allow for the change
- if (windowContexts.contains(windowContext))
- {
- WindowNavigationalState state =
(WindowNavigationalState)navCtx.getAttribute(windowContext.getId() +
"_window");
- state.setWindowState((WindowState)changeMap.get(windowContext));
- }
- else
- {
- log.warn("changed portlet context not in list of portlet
windows");
- }
- }
- }
-
- private static void handlePortletModeChanges(AttributeResolver navCtx,
PageNavigationalState pageNavState, StrategyResponse strategyResponse)
- {
- Map changeMap = strategyResponse.getPortletModeChangeMap();
- Collection windowContexts = pageNavState.getWindowContexts();
- for (Iterator i = changeMap.keySet().iterator(); i.hasNext();)
- {
- WindowContext windowContext = (WindowContext)i.next();
-
- // only if the portlet is part of this request do we allow for the change
- if (windowContexts.contains(windowContext))
- {
- WindowNavigationalState state =
(WindowNavigationalState)navCtx.getAttribute(windowContext.getId() +
"_window");
- state.setMode((Mode)changeMap.get(windowContext));
- }
- else
- {
- log.warn("changed portlet context not in list of portlet
getWindows");
- }
- }
- }
-
- /**
- * look for excluded portlets for this request, and only propagate the allowed ones to
the page response
- *
- * @param strategyResponse
- */
- private static void handleExcludedPortlets(PageNavigationalState pageNavState,
StrategyResponse strategyResponse)
- {
- List excludedList = strategyResponse.getNoRenderList();
- for (Iterator i = pageNavState.getWindowContexts().iterator(); i.hasNext();)
- {
- WindowContext windowContext = (WindowContext)i.next();
- pageNavState.setWindowVisible(windowContext.getId(),
!excludedList.contains(windowContext));
- }
- }
}
Modified:
trunk/core/src/main/org/jboss/portal/core/model/instance/command/InvokePortletInstanceRenderCommand.java
===================================================================
---
trunk/core/src/main/org/jboss/portal/core/model/instance/command/InvokePortletInstanceRenderCommand.java 2006-11-27
21:36:52 UTC (rev 5728)
+++
trunk/core/src/main/org/jboss/portal/core/model/instance/command/InvokePortletInstanceRenderCommand.java 2006-11-28
01:46:21 UTC (rev 5729)
@@ -38,11 +38,9 @@
import org.jboss.portal.theme.LayoutService;
import org.jboss.portal.theme.PortalLayout;
import org.jboss.portal.theme.ThemeConstants;
-import org.jboss.portal.theme.navigation.PageNavigationalState;
import org.jboss.portal.theme.page.PageService;
-import org.jboss.portal.theme.page.ModifiablePageResult;
+import org.jboss.portal.theme.page.PageResult;
import org.jboss.portal.theme.page.WindowResult;
-import org.jboss.portal.theme.page.ModifiableWindowResult;
import org.jboss.portal.theme.page.WindowContext;
import org.jboss.portal.WindowState;
import org.jboss.portal.Mode;
@@ -103,7 +101,7 @@
portalProperties.put("theme.renderSetId", "divRenderer");
portalProperties.put("theme.id", "renaissance");
portalProperties.put("layout.strategyId",
"maximizedRegion");
- ModifiablePageResult result = new ModifiablePageResult("BILTO",
pageProperties, portalProperties);
+ PageResult result = new PageResult("BILTO", pageProperties,
portalProperties);
//
Map windowProps = new HashMap();
@@ -112,21 +110,17 @@
windowProps.put(ThemeConstants.PORTAL_PROP_PORTLET_RENDERER,
"emptyRenderer");
//
- WindowResult res = new ModifiableWindowResult("", content,
Collections.EMPTY_MAP, windowProps, null, null, WindowState.NORMAL, Mode.VIEW);
+ WindowResult res = new WindowResult("", content,
Collections.EMPTY_MAP, windowProps, null, null, WindowState.NORMAL, Mode.VIEW);
WindowContext blah = new WindowContext("BILTO", "BILTO",
"maximized", 0);
result.addWindowContext(blah);
result.addWindowResult("BILTO", res);
//
- PageNavigationalState pns = new PageNavigationalState();
- HashMap tmp = new HashMap();
- tmp.put("BILTO", blah);
- pns.initialize(tmp);
- pns.setLayoutURI("/layouts/generic/maximized.jsp");
- pns.setLayoutState("maximized");
+ result.setLayoutState("maximized");
+ result.setLayoutURI(layout.getLayoutInfo().getURI("maximized"));
//
- return new PageRendition(layout, pns, result, ps);
+ return new PageRendition(layout, result, ps);
}
catch (PortletInvokerException e)
{
Modified:
trunk/core/src/main/org/jboss/portal/core/model/portal/command/InvokePortletWindowRenderCommand.java
===================================================================
---
trunk/core/src/main/org/jboss/portal/core/model/portal/command/InvokePortletWindowRenderCommand.java 2006-11-27
21:36:52 UTC (rev 5728)
+++
trunk/core/src/main/org/jboss/portal/core/model/portal/command/InvokePortletWindowRenderCommand.java 2006-11-28
01:46:21 UTC (rev 5729)
@@ -26,16 +26,11 @@
import org.jboss.portal.WindowState;
import org.jboss.portal.common.invocation.InvocationContext;
import org.jboss.portal.common.invocation.InvocationException;
-import org.jboss.portal.core.aspects.controller.PageNavigationInterceptor;
-import org.jboss.portal.core.controller.ControllerContext;
import org.jboss.portal.core.controller.command.info.CommandInfo;
import org.jboss.portal.core.controller.command.info.ViewCommandInfo;
import org.jboss.portal.core.model.portal.command.response.UpdateWindowMarkupResponse;
import org.jboss.portal.portlet.StateString;
-import org.jboss.portal.server.ServerInvocation;
-import org.jboss.portal.theme.LayoutService;
import org.jboss.portal.theme.navigation.WindowNavigationalState;
-import org.jboss.portal.theme.strategy.StrategyException;
/**
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
@@ -106,18 +101,6 @@
windowNavState.setWindowState(windowState);
}
- // Udpate the page nav state
- try
- {
- ServerInvocation sinv =
((ControllerContext)getContext()).getServerInvocation();
- LayoutService layoutService =
((ControllerContext)getContext()).getController().getPageService().getLayoutService();
- PageNavigationInterceptor.updatePageNavigationalState(layoutService, context,
sinv, portal, page, window, getMode(), getWindowState());
- }
- catch (StrategyException e)
- {
- throw new InvocationException(e);
- }
-
//
return new UpdateWindowMarkupResponse(window.getId());
}
Modified:
trunk/core/src/main/org/jboss/portal/core/model/portal/command/MoveWindowCommand.java
===================================================================
---
trunk/core/src/main/org/jboss/portal/core/model/portal/command/MoveWindowCommand.java 2006-11-27
21:36:52 UTC (rev 5728)
+++
trunk/core/src/main/org/jboss/portal/core/model/portal/command/MoveWindowCommand.java 2006-11-28
01:46:21 UTC (rev 5729)
@@ -27,10 +27,7 @@
import org.jboss.portal.core.controller.command.info.CommandInfo;
import org.jboss.portal.core.model.portal.PortalObject;
import org.jboss.portal.core.model.portal.Window;
-import org.jboss.portal.core.model.portal.command.WindowCommand;
import org.jboss.portal.theme.ThemeConstants;
-import org.jboss.portal.theme.navigation.PageNavigationalState;
-import org.jboss.portal.theme.page.WindowContext;
import java.util.Iterator;
@@ -75,9 +72,10 @@
{
// For now just update the navigational state of the page
- PageNavigationalState pns =
(PageNavigationalState)getContext().getAttribute(NAVIGATIONAL_STATE_SCOPE, page.getId());
+// PageNavigationalState pns =
(PageNavigationalState)getContext().getAttribute(NAVIGATIONAL_STATE_SCOPE, page.getId());
//
+/*
for (Iterator i = pns.getWindowContexts().iterator(); i.hasNext();)
{
WindowContext windowCtx = (WindowContext)i.next();
@@ -96,6 +94,7 @@
windowCtx.setOrder(windowCtx.getOrder() + 1);
}
}
+*/
//
if (isDashboard())
Modified:
trunk/core/src/main/org/jboss/portal/core/model/portal/command/RenderPageCommand.java
===================================================================
---
trunk/core/src/main/org/jboss/portal/core/model/portal/command/RenderPageCommand.java 2006-11-27
21:36:52 UTC (rev 5728)
+++
trunk/core/src/main/org/jboss/portal/core/model/portal/command/RenderPageCommand.java 2006-11-28
01:46:21 UTC (rev 5729)
@@ -24,7 +24,6 @@
import org.jboss.portal.Mode;
import org.jboss.portal.WindowState;
-import org.jboss.portal.common.invocation.AttributeResolver;
import org.jboss.portal.common.invocation.InvocationException;
import org.jboss.portal.common.util.Exceptions;
import org.jboss.portal.common.NotYetImplemented;
@@ -41,7 +40,6 @@
import org.jboss.portal.core.model.portal.PortalObject;
import org.jboss.portal.core.model.portal.PortalObjectPermission;
import org.jboss.portal.core.model.portal.Window;
-import org.jboss.portal.core.model.portal.command.InvokePortletWindowRenderCommand;
import org.jboss.portal.identity.User;
import org.jboss.portal.portlet.Properties;
import org.jboss.portal.portlet.info.ModeInfo;
@@ -67,13 +65,11 @@
import org.jboss.portal.theme.ThemeConstants;
import org.jboss.portal.theme.ThemeResult;
import org.jboss.portal.theme.ThemeService;
-import org.jboss.portal.theme.navigation.PageNavigationalState;
import org.jboss.portal.theme.navigation.WindowNavigationalState;
-import org.jboss.portal.theme.page.ModifiablePageResult;
-import org.jboss.portal.theme.page.ModifiableWindowResult;
+import org.jboss.portal.theme.page.PageResult;
import org.jboss.portal.theme.page.PageService;
import org.jboss.portal.theme.page.WindowResult;
-import org.jboss.portal.theme.render.MarkupResult;
+import org.jboss.portal.theme.page.WindowContext;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
@@ -223,15 +219,6 @@
HttpServletRequest request = sinv.getServerContext().getClientRequest();
try
{
- // Ensure that the page nav state is in place
- AttributeResolver navCtx =
sinv.getContext().getAttributeResolver(NAVIGATIONAL_STATE_SCOPE);
- PageNavigationalState pageNavState =
(PageNavigationalState)navCtx.getAttribute(page.getId());
-
- if (pageNavState == null)
- {
- throw new InvocationException("PageNavigationalState not available in
NavigationalStateContext");
- }
-
//
PageService pageService = context.getController().getPageService();
PortalTheme theme = null;
@@ -259,8 +246,11 @@
// Call the portlet container to create the markup fragment(s) for each portlet
that needs to render itself
ServerConfig cfg = sinv.getRequest().getServer().getConfig();
- ModifiablePageResult renderResult = new
ModifiablePageResult(getPage().getName(), new HashMap(getPage().getDeclaredProperties()),
new HashMap(getPage().getPortal().getDeclaredProperties()));
+ PageResult pageResult = new PageResult(getPage().getName(), new
HashMap(getPage().getDeclaredProperties()), new
HashMap(getPage().getPortal().getDeclaredProperties()));
+ // Set the layout uri
+ pageResult.setLayoutURI(layout.getLayoutInfo().getURI());
+
// Render
for (Iterator i = windows.iterator(); i.hasNext();)
{
@@ -268,18 +258,22 @@
if (o instanceof Window)
{
Window window = (Window)o;
- if (pageNavState.isWindowVisible(window.getId()))
+ boolean visible = true;
+ if (visible)
{
Object res = renderPortletWindow(cfg, window);
if (res == null)
{
// Skip
}
- else if (res instanceof MarkupResult)
+ else if (res instanceof WindowResult)
{
- MarkupResult result = (MarkupResult)res;
-
renderResult.addWindowContext(pageNavState.getWindowContext(window.getId()));
- renderResult.addWindowResult(window.getId(), (WindowResult)result);
+ WindowResult result = (WindowResult)res;
+ String region =
window.getDeclaredProperty(ThemeConstants.PORTAL_PROP_REGION);
+ String order =
window.getDeclaredProperty(ThemeConstants.PORTAL_PROP_ORDER);
+ WindowContext wc = new WindowContext(window.getName(),
window.getId(), region, Integer.parseInt(order));
+ pageResult.addWindowContext(wc);
+ pageResult.addWindowResult(window.getId(), result);
}
else
{
@@ -289,16 +283,51 @@
}
}
+ // Take care of maximized window HERE
+ for (Iterator i = pageResult.getWindowIds().iterator();i.hasNext();)
+ {
+ String windowId = (String)i.next();
+ WindowResult res = pageResult.getWindowResult(windowId);
+ if (WindowState.MAXIMIZED.equals(res.getWindowState()))
+ {
+ PageResult newRes = new PageResult(
+ pageResult.getPageName(),
+ pageResult.getPageProperties(),
+ pageResult.getPortalProperties());
+
+ //
+ WindowContext ctx = pageResult.getWindowContext(windowId);
+
+ //
+ newRes.setLayoutState("maximized");
+
newRes.setLayoutURI(layout.getLayoutInfo().getURI("maximized"));
+
+ //
+ ctx.setRegionName("maximized");
+ ctx.setOrder(0);
+
+ //
+ newRes.addWindowContext(ctx);
+ newRes.addWindowResult(windowId, res);
+
+ //
+ pageResult = newRes;
+
+ break;
+ }
+ }
+
+
// Make the theme available as servlet request attribute (needed for CM)
if (theme != null)
{
- // render the theme markup and place it into the request so that the markup
assembler (theme tag) can pick it up there
+ // Render the theme markup and place it into the request so that the markup
assembler (theme tag) can pick it up there
ThemeResult themeResult = theme.assembleResponse(sinv.getRequest(),
sinv.getResponse());
- renderResult.setTheme(theme);
- renderResult.setThemeResult(themeResult);
+ pageResult.setTheme(theme);
+ pageResult.setThemeResult(themeResult);
//
- return new PageRendition(layout, pageNavState, renderResult, pageService);
+ return new PageRendition(layout, pageResult, pageService);
}
}
catch (Exception e)
@@ -397,8 +426,15 @@
Map actionMap = new HashMap();
Properties responseProps;
Map windowProps = window.getDeclaredProperties();
- WindowNavigationalState windowNavState =
(WindowNavigationalState)this.context.getAttribute(NAVIGATIONAL_STATE_SCOPE,
window.getId() + "_window");
+ String navStateKey = window.getId() + "_window";
+ WindowNavigationalState windowNavState =
(WindowNavigationalState)context.getAttribute(NAVIGATIONAL_STATE_SCOPE, navStateKey);
+ if (windowNavState == null)
+ {
+ windowNavState = new WindowNavigationalState();
+ context.setAttribute(NAVIGATIONAL_STATE_SCOPE, navStateKey, windowNavState);
+ }
+
try
{
RenderPortletWindowCommand renderCmd = new
RenderPortletWindowCommand(windowRef);
@@ -469,7 +505,7 @@
contentChars = fragment.getContent();
//
- return new ModifiableWindowResult(windowTitle, contentChars, actionMap,
windowProps, responseProps, headerChars, windowNavState.getWindowState(),
windowNavState.getMode());
+ return new WindowResult(windowTitle, contentChars, actionMap, windowProps,
responseProps, headerChars, windowNavState.getWindowState(), windowNavState.getMode());
}
else if (response instanceof ErrorResponse)
{
@@ -487,7 +523,7 @@
{
contentChars = Exceptions.toHTML(t, true);
}
- return new ModifiableWindowResult(windowTitle, contentChars, actionMap,
windowProps, responseProps, headerChars, windowNavState.getWindowState(),
windowNavState.getMode());
+ return new WindowResult(windowTitle, contentChars, actionMap, windowProps,
responseProps, headerChars, windowNavState.getWindowState(), windowNavState.getMode());
}
}
else if (response instanceof UnavailableResponse)
@@ -500,7 +536,7 @@
actionMap.put(WindowResult.MODES_KEY, Collections.EMPTY_LIST);
actionMap.put(WindowResult.WINDOWSTATES_KEY, Collections.EMPTY_LIST);
responseProps = new Properties();
- return new ModifiableWindowResult(windowTitle, contentChars, actionMap,
windowProps, responseProps, headerChars, windowNavState.getWindowState(),
windowNavState.getMode());
+ return new WindowResult(windowTitle, contentChars, actionMap, windowProps,
responseProps, headerChars, windowNavState.getWindowState(), windowNavState.getMode());
}
}
else if (response instanceof InsufficientPrivilegesResponse)
@@ -526,7 +562,7 @@
windowTitle = "Access denied";
contentChars = "Access denied";
responseProps = new Properties();
- return new ModifiableWindowResult(windowTitle, contentChars, actionMap,
windowProps, responseProps, headerChars, windowNavState.getWindowState(),
windowNavState.getMode());
+ return new WindowResult(windowTitle, contentChars, actionMap, windowProps,
responseProps, headerChars, windowNavState.getWindowState(), windowNavState.getMode());
}
}
catch (ResourceNotFoundException e)
@@ -542,7 +578,7 @@
windowTitle = "Cannot render";
contentChars = "Object not found " + e.getRef();
responseProps = new Properties();
- return new ModifiableWindowResult(windowTitle, contentChars, actionMap,
windowProps, responseProps, headerChars, windowNavState.getWindowState(),
windowNavState.getMode());
+ return new WindowResult(windowTitle, contentChars, actionMap, windowProps,
responseProps, headerChars, windowNavState.getWindowState(), windowNavState.getMode());
}
}
catch (ControllerException e)
@@ -559,7 +595,7 @@
windowTitle = "An internal error occured while rendering window
'" + window + "'";
responseProps = new Properties();
contentChars = Exceptions.toHTML(e, true);
- return new ModifiableWindowResult(windowTitle, contentChars, actionMap,
windowProps, responseProps, headerChars, windowNavState.getWindowState(),
windowNavState.getMode());
+ return new WindowResult(windowTitle, contentChars, actionMap, windowProps,
responseProps, headerChars, windowNavState.getWindowState(), windowNavState.getMode());
}
}
Modified:
trunk/core/src/main/org/jboss/portal/core/model/portal/command/RenderPortletWindowCommand.java
===================================================================
---
trunk/core/src/main/org/jboss/portal/core/model/portal/command/RenderPortletWindowCommand.java 2006-11-27
21:36:52 UTC (rev 5728)
+++
trunk/core/src/main/org/jboss/portal/core/model/portal/command/RenderPortletWindowCommand.java 2006-11-28
01:46:21 UTC (rev 5729)
@@ -64,11 +64,12 @@
StateString navigationalState = (StateString)getAttribute(NAVIGATIONAL_STATE_SCOPE,
window.getInstanceRef());
//
- WindowNavigationalState windowNavState =
(WindowNavigationalState)getAttribute(NAVIGATIONAL_STATE_SCOPE, targetId +
"_window");
+ String navStateKey = window.getId() + "_window";
+ WindowNavigationalState windowNavState =
(WindowNavigationalState)getAttribute(NAVIGATIONAL_STATE_SCOPE, navStateKey);
if (windowNavState == null)
{
windowNavState = new WindowNavigationalState();
- setAttribute(NAVIGATIONAL_STATE_SCOPE, window.getId() + "_window",
windowNavState);
+ setAttribute(NAVIGATIONAL_STATE_SCOPE, navStateKey, windowNavState);
}
// Get the mode
Modified: trunk/theme/src/main/org/jboss/portal/test/theme/TestHelper.java
===================================================================
--- trunk/theme/src/main/org/jboss/portal/test/theme/TestHelper.java 2006-11-27 21:36:52
UTC (rev 5728)
+++ trunk/theme/src/main/org/jboss/portal/test/theme/TestHelper.java 2006-11-28 01:46:21
UTC (rev 5729)
@@ -38,11 +38,10 @@
import org.jboss.portal.theme.metadata.PortalLayoutMetaData;
import org.jboss.portal.theme.metadata.RenderSetMetaData;
import org.jboss.portal.theme.navigation.WindowNavigationalState;
-import org.jboss.portal.theme.page.ModifiablePageResult;
-import org.jboss.portal.theme.page.ModifiableWindowResult;
import org.jboss.portal.theme.page.PageResult;
import org.jboss.portal.theme.page.PageService;
import org.jboss.portal.theme.page.WindowContext;
+import org.jboss.portal.theme.page.WindowResult;
import org.jboss.system.ServiceMBeanSupport;
import org.jboss.xb.binding.UnmarshallerFactory;
import org.xml.sax.SAXException;
@@ -118,19 +117,19 @@
return new RuntimeContext("TestAppId", new TestContext(),
"TestContextPath", loader);
}
- public static ModifiableWindowResult createWindowResult(String windowTitle, String
content)
+ public static WindowResult createWindowResult(String windowTitle, String content)
{
// setup the window result
return createWindowResult(windowTitle, content, Collections.EMPTY_MAP);
}
- public static ModifiableWindowResult createWindowResult(String title, String content,
Map windowProps)
+ public static WindowResult createWindowResult(String title, String content, Map
windowProps)
{
// setup the window result
Map actionsMap = Collections.EMPTY_MAP;
Properties responseProps = null;
String headerChars = null;
- return new ModifiableWindowResult(title, content, actionsMap, windowProps,
responseProps, headerChars, null, null);
+ return new WindowResult(title, content, actionsMap, windowProps, responseProps,
headerChars, null, null);
}
public static WindowNavigationalState createWindowNavigationalState()
@@ -201,7 +200,7 @@
public static PageResult createPageResult(AttributeResolver navCtx, String pageName,
Map pageProperties, Map portalProperties,
WindowContext[] windows)
{
- ModifiablePageResult pageResult = new ModifiablePageResult(pageName,
pageProperties, portalProperties);
+ PageResult pageResult = new PageResult(pageName, pageProperties,
portalProperties);
for (int i = 0; i < windows.length; i++)
{
pageResult.addWindowContext(windows[i]);
Deleted: trunk/theme/src/main/org/jboss/portal/test/theme/render/TestRenderContext.java
===================================================================
---
trunk/theme/src/main/org/jboss/portal/test/theme/render/TestRenderContext.java 2006-11-27
21:36:52 UTC (rev 5728)
+++
trunk/theme/src/main/org/jboss/portal/test/theme/render/TestRenderContext.java 2006-11-28
01:46:21 UTC (rev 5729)
@@ -1,289 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2006, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This is free software; you can redistribute it and/or modify it *
- * under the terms of the GNU Lesser General Public License as *
- * published by the Free Software Foundation; either version 2.1 of *
- * the License, or (at your option) any later version. *
- * *
- * This software is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org. *
- ******************************************************************************/
-
-package org.jboss.portal.test.theme.render;
-
-import junit.framework.TestCase;
-import org.jboss.portal.common.MediaType;
-import org.jboss.portal.common.invocation.AttributeResolver;
-import org.jboss.portal.server.ServerRequest;
-import org.jboss.portal.server.util.HTTPStreamInfo;
-import org.jboss.portal.test.theme.TestHelper;
-import org.jboss.portal.theme.LayoutService;
-import org.jboss.portal.theme.PortalLayout;
-import org.jboss.portal.theme.RuntimeContext;
-import org.jboss.portal.theme.ThemeConstants;
-import org.jboss.portal.theme.metadata.PortalLayoutMetaData;
-import org.jboss.portal.theme.metadata.RenderSetMetaData;
-import org.jboss.portal.theme.navigation.WindowNavigationalState;
-import org.jboss.portal.theme.page.ModifiablePageResult;
-import org.jboss.portal.theme.page.ModifiableWindowResult;
-import org.jboss.portal.theme.page.PageResult;
-import org.jboss.portal.theme.page.PageService;
-import org.jboss.portal.theme.page.Region;
-import org.jboss.portal.theme.page.RegionOrientation;
-import org.jboss.portal.theme.page.WindowContext;
-import org.jboss.portal.theme.render.PortalRenderSet;
-import org.jboss.portal.theme.render.RenderContext;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * @author <a href="mailto:mholzner@novell.com">Martin Holzner</a>
- * @version $Revision$
- */
-public class TestRenderContext extends TestCase
-{
- private ModifiableWindowResult markupResult;
- private RuntimeContext runtimeContext;
- private PortalRenderSet renderSet;
- private PortalLayout layout;
- private WindowContext windowContext;
- private int order = 0;
- private LayoutService layoutService;
- private PageService pageService;
- private HTTPStreamInfo streamInfo;
- private ServerRequest serverRequest;
- private AttributeResolver navCtx;
- private Map portalProps = new HashMap();
- private Map pageProps = new HashMap();
-// private ServerRequest request;
-
- protected void setUp() throws Exception
- {
- String regionName = "windowRegionID";
- pageService = TestHelper.createPageService();
- layoutService = pageService.getLayoutService();
- String windowID = "windowId";
- String windowName = "windowName";
- WindowNavigationalState windowNavigationalState =
TestHelper.createWindowNavigationalState();
- windowContext = new WindowContext(windowName, windowID, regionName, order);
- markupResult = TestHelper.createWindowResult("title",
"content");
-
-/*
- navCtx = new AttributeResolver()
- {
- public Set getKeys()
- {
- throw new UnsupportedOperationException();
- }
- public Object getAttribute(Object attrKey) throws IllegalArgumentException
- {
- throw new UnsupportedOperationException();
- }
- public void setAttribute(Object attrKey, Object attrValue) throws
IllegalArgumentException
- {
- throw new UnsupportedOperationException();
- }
- };
-
- navCtx.setAttribute(windowID + "_window", windowNavigationalState);
-*/
- markupResult.addWindowContext(windowContext);
- streamInfo = new HTTPStreamInfo(MediaType.HTML, "utf-8");
-// markupResult.setStreamInfo(streamInfo);
- portalProps.put(ThemeConstants.PORTAL_PROP_RENDERSET, "emptyRenderer");
- markupResult.setPortalProperties(portalProps);
- runtimeContext = TestHelper.createRuntimeContext();
- try
- {
- RenderSetMetaData renderSetMD = TestHelper.createRenderSetMD();
- layoutService.addRenderSet(runtimeContext, renderSetMD);
- }
- catch (Exception e)
- {
- e.printStackTrace();
- }
- renderSet = layoutService.getRenderSet("emptyRenderer", MediaType.HTML);
-
- PortalLayoutMetaData layoutMD = TestHelper.createLayoutMD();
- layout =
(PortalLayout)runtimeContext.getClassLoader().loadClass(layoutMD.getClassName()).newInstance();
- layoutService.addLayout(runtimeContext, layoutMD);
- layout = layoutService.getLayout("TestLayout", false);
-
- serverRequest = TestHelper.createServerRequest();
- }
-
- protected void tearDown() throws Exception
- {
- TestHelper.destroyPageService(pageService);
- }
-
- public void testConstructor()
- {
- try
- {
- RenderContext ctx = new RenderContext(layout, streamInfo, markupResult,
serverRequest);
- assertNotNull(ctx);
-// assertEquals(ctx.getContentType(),
markupResult.getStreamInfo().getContentType());
- assertNull(ctx.getRegionOrientation());
- assertNull(ctx.getRegionID());
- }
- catch (Exception e)
- {
- e.printStackTrace();
- assertFalse("unexpected exception occured", true);
- }
- }
-
- public void testConstructor2()
- {
- try
- {
- Region region1 = new Region("region1", "region1CSSID",
RegionOrientation.HORIZONTAL);
- Region region2 = new Region("region2", "region2CSSID",
RegionOrientation.VERTICAL);
-
- WindowContext wCtx1 = new WindowContext("window1",
"window1id", region1.getId(), 0);
- WindowContext wCtx2 = new WindowContext("window2",
"window2id", region1.getId(), 1);
- WindowContext wCtx3 = new WindowContext("window3",
"window3id", region2.getId(), 0);
-
- PageResult result = TestHelper.createPageResult(navCtx, "pageName",
pageProps, portalProps, new WindowContext[]{wCtx1, wCtx2, wCtx3});
- RenderContext ctx = new RenderContext(layout, streamInfo, result,
serverRequest);
- assertNotNull(ctx);
- RenderContext ctx2 = ctx.getContext(region1, "cssID",
RegionOrientation.VERTICAL);
- assertNotNull(ctx2);
- assertEquals("cssID", ctx2.getRegionID());
- assertEquals(ctx2.getRegionOrientation(), RegionOrientation.VERTICAL);
- assertEquals(ctx.getContentType(), ctx2.getContentType());
-
- ctx2 = ctx.getContext(wCtx3);
- assertNotNull(ctx2);
- assertEquals(ctx2.getCharset(), ctx.getCharset());
-
- ctx2 = ctx.getContext(region2, null, null);
- assertNotNull(ctx2);
- assertEquals("region2CSSID", ctx2.getRegionID());
- assertEquals(RegionOrientation.VERTICAL, ctx2.getRegionOrientation());
- }
- catch (Exception e)
- {
- e.printStackTrace();
- assertFalse("unexpected exception occured", true);
- }
- }
-
- public void testRenderContext()
- {
- RenderContext ctx = new RenderContext(layout, streamInfo, markupResult,
serverRequest);
- assertNotNull(ctx.getMarkupFragment());
- assertNotNull(ctx.getPageProperties());
- assertTrue(ctx.getPageProperties().isEmpty());
-// Mode portletMode = ctx.getPortletMode(windowContext);
-// assertNotNull(portletMode);
- assertNull(ctx.getRegionID());
-// assertEquals(WindowState.NORMAL, ctx.getWindowState(windowContext));
- assertEquals(ctx.getWindowRenderer(), ctx.getWindowRenderer(markupResult));
- assertEquals(ctx.getPortletRenderer(), ctx.getPortletRenderer(markupResult));
- assertEquals(ctx.getDecorationRenderer(),
ctx.getDecorationRenderer(markupResult));
- assertNotNull(ctx.getRegionRenderer());
- }
-
- public void testRenderContext2()
- {
- RenderContext ctx = new RenderContext(layout, streamInfo, markupResult,
serverRequest);
- String renderSetName = renderSet.getName();
- assertEquals(ctx.getRegionRenderer(), ctx.getRegionRenderer(renderSetName));
- assertEquals(ctx.getLayoutRegionNames(), layout.getLayoutInfo().getRegionNames());
- assertNull(ctx.getRegionOrientation());
- assertNull(ctx.getRegionID());
-
- assertNotNull(ctx.getRegionRenderer());
- assertNotNull(ctx.getWindowRenderer());
- assertNotNull(ctx.getDecorationRenderer());
- assertNotNull(ctx.getPortletRenderer());
- }
-
- /**
- * Test the overwrite behaviour of window properties Window Properties can
- */
- public void testRenderContext3()
- {
- Map windowProperties = new HashMap();
- //overwrite the decoration renderer with that from another render set
- try
- {
- // prepare a second renderSet and add it to the layout service so that the
render context can get the details about it from there
- List renderSetMDList = TestHelper.createRenderSetMDList();
- assertTrue(renderSetMDList.size() == 2);
- RenderSetMetaData renderSetMD = (RenderSetMetaData)renderSetMDList.get(1);
- layoutService.addRenderSet(runtimeContext, renderSetMD);
- PortalRenderSet renderSet2 = layoutService.getRenderSet("divRenderer",
MediaType.HTML);
- String renderSetName = renderSet2.getName();
- windowProperties.put(ThemeConstants.PORTAL_PROP_DECORATION_RENDERER,
renderSetName);
-
- ModifiableWindowResult markupResult =
TestHelper.createWindowResult("title", "content", windowProperties);
- Map portalProps = new HashMap();
- portalProps.put(ThemeConstants.PORTAL_PROP_RENDERSET,
"emptyRenderer");
- markupResult.setPortalProperties(portalProps);
-
- RenderContext ctx = new RenderContext(layout, streamInfo, markupResult,
serverRequest);
- assertNotNull(ctx.getProperty(markupResult,
ThemeConstants.PORTAL_PROP_DECORATION_RENDERER));
-
assertFalse(ctx.getRegionRenderer().equals(ctx.getRegionRenderer(renderSetName)));
- assertEquals(renderSet2.getDecorationRenderer(),
ctx.getDecorationRenderer(markupResult));
- assertEquals(renderSet.getPortletRenderer(), ctx.getPortletRenderer());
- assertEquals(renderSet.getPortletRenderer(),
ctx.getPortletRenderer(markupResult));
-
assertFalse(renderSet2.getPortletRenderer().equals(ctx.getPortletRenderer(markupResult)));
- }
- catch (Exception e)
- {
- e.printStackTrace();
- assertFalse("unexpected exception occured", true);
- }
- }
-
- public void testRenderContext4()
- {
- ModifiableWindowResult markupResult =
TestHelper.createWindowResult("title", "content", new HashMap());
-
- try
- {
- new RenderContext(layout, streamInfo, markupResult, serverRequest);
- assertFalse("expected exception did not occur", true);
- }
- catch (IllegalStateException e)
- {
- // expected : No render set can be determined
- // the result has no page or portal properties set, and the layout doesn't
define a render set either
- }
- }
-
- public void testRenderContext5()
- {
- ModifiablePageResult pageResult = new ModifiablePageResult("testPage",
pageProps, new HashMap());
- ModifiableWindowResult markupResult =
TestHelper.createWindowResult(windowContext.getWindowName(), "content", new
HashMap());
- pageResult.addWindowContext(windowContext);
- pageResult.addWindowResult(windowContext.getId(), markupResult);
- try
- {
- new RenderContext(layout, streamInfo, pageResult, serverRequest);
- assertFalse("expected exception did not occur", true);
- }
- catch (IllegalStateException e)
- {
- // expected : No render set can be determined
- // the result has no portal properties set, and the layout doesn't define a
render set either
- }
- }
-}
Modified: trunk/theme/src/main/org/jboss/portal/test/theme/render/TestRenderedMarkup.java
===================================================================
---
trunk/theme/src/main/org/jboss/portal/test/theme/render/TestRenderedMarkup.java 2006-11-27
21:36:52 UTC (rev 5728)
+++
trunk/theme/src/main/org/jboss/portal/test/theme/render/TestRenderedMarkup.java 2006-11-28
01:46:21 UTC (rev 5729)
@@ -39,22 +39,13 @@
import org.jboss.portal.theme.deployment.jboss.RenderSetMetaDataFactory;
import org.jboss.portal.theme.impl.LayoutServiceImpl;
import org.jboss.portal.theme.impl.ThemeServiceImpl;
-import org.jboss.portal.theme.impl.render.div.DivDecorationRenderer;
-import org.jboss.portal.theme.impl.render.div.DivPortletRenderer;
-import org.jboss.portal.theme.impl.render.div.DivRegionRenderer;
-import org.jboss.portal.theme.impl.render.div.DivWindowRenderer;
-import org.jboss.portal.theme.impl.render.dynamic.DynaDecorationRenderer;
-import org.jboss.portal.theme.impl.render.dynamic.DynaPortletRenderer;
-import org.jboss.portal.theme.impl.render.dynamic.DynaRegionRenderer;
-import org.jboss.portal.theme.impl.render.dynamic.DynaWindowRenderer;
import org.jboss.portal.theme.metadata.PortalLayoutMetaData;
import org.jboss.portal.theme.metadata.PortalThemeMetaData;
import org.jboss.portal.theme.metadata.RenderSetMetaData;
-import org.jboss.portal.theme.page.ModifiablePageResult;
-import org.jboss.portal.theme.page.ModifiableWindowResult;
import org.jboss.portal.theme.page.WindowContext;
+import org.jboss.portal.theme.page.WindowResult;
+import org.jboss.portal.theme.page.PageResult;
import org.jboss.portal.theme.render.PortalRenderSet;
-import org.jboss.portal.theme.render.RenderContext;
import org.jboss.xb.binding.Unmarshaller;
import org.jboss.xb.binding.UnmarshallerFactory;
@@ -79,7 +70,7 @@
private PortalTheme theme;
- private ModifiableWindowResult markupResult;
+ private WindowResult markupResult;
private static final String TEST_PAGE_NAME = "TestPage";
@@ -148,7 +139,7 @@
ServerRequest serverRequest = TestHelper.createServerRequest();
// pageresult obj
- ModifiablePageResult pageResult = new ModifiablePageResult(TEST_PAGE_NAME,
pageProps, portalProps);
+ PageResult pageResult = new PageResult(TEST_PAGE_NAME, pageProps, portalProps);
pageResult.setLayoutURI(layout.getLayoutInfo().getURI());
pageResult.setTheme(theme);
@@ -163,7 +154,6 @@
pageResult.addWindowResult(wCtx.getId(), createWindowMarkup(title, content,
wCtx, portalProps, pageProps));
markupResult = createWindowMarkup(title, content, wCtx, portalProps,
pageProps);
- markupResult.addWindowContext(wCtx);
assertEquals(markupResult.getContent(), content);
assertEquals(markupResult.getTitle(), title);
@@ -178,35 +168,33 @@
pageResult.addWindowResult(wCtx.getId(), createWindowMarkup(title, content,
wCtx, portalProps, pageProps));
markupResult = createWindowMarkup(title, content, wCtx, portalProps,
pageProps);
- markupResult.addWindowContext(wCtx);
assertEquals(markupResult.getContent(), content);
assertEquals(markupResult.getTitle(), title);
}
- markupResult.setPortalProperties(portalProps);
- RenderContext renderCtx = new RenderContext(layout, streamInfo, markupResult,
serverRequest);
-
- // test renderer
- assertEquals(renderCtx.getRegionRenderer(),
renderCtx.getRegionRenderer(renderSet.getName()));
- assertEquals(renderCtx.getLayoutRegionNames(),
layout.getLayoutInfo().getRegionNames());
- assertNull(renderCtx.getRegionOrientation());
- assertNull(renderCtx.getRegionID());
- assertTrue(renderSet.isAjaxEnabled());
- assertEquals(renderCtx.getDecorationRenderer().getClass(), new
DynaDecorationRenderer(new DivDecorationRenderer()).getClass());
- assertEquals(renderCtx.getPortletRenderer().getClass(), new DynaPortletRenderer(new
DivPortletRenderer()).getClass());
- assertEquals(renderCtx.getRegionRenderer().getClass(), new DynaRegionRenderer(new
DivRegionRenderer()).getClass());
- assertEquals(renderCtx.getWindowRenderer().getClass(), new DynaWindowRenderer(new
DivWindowRenderer()).getClass());
-
- // test fragment + page props
- assertNotNull(renderCtx.getMarkupFragment());
- assertNotNull(renderCtx.getPageProperties());
-
- // test window renderers
- assertEquals(renderCtx.getWindowRenderer(),
renderCtx.getWindowRenderer(markupResult));
- assertEquals(renderCtx.getPortletRenderer(),
renderCtx.getPortletRenderer(markupResult));
- assertEquals(renderCtx.getDecorationRenderer(),
renderCtx.getDecorationRenderer(markupResult));
- assertNotNull(renderCtx.getRegionRenderer());
+// RenderContext renderCtx = new RenderContext(layout, streamInfo, markupResult,
serverRequest);
+//
+// // test renderer
+// assertEquals(renderCtx.getRegionRenderer(),
renderCtx.getRegionRenderer(renderSet.getName()));
+// assertEquals(renderCtx.getLayoutRegionNames(),
layout.getLayoutInfo().getRegionNames());
+// assertNull(renderCtx.getRegionOrientation());
+// assertNull(renderCtx.getRegionID());
+// assertTrue(renderSet.isAjaxEnabled());
+// assertEquals(renderCtx.getDecorationRenderer().getClass(), new
DynaDecorationRenderer(new DivDecorationRenderer()).getClass());
+// assertEquals(renderCtx.getPortletRenderer().getClass(), new
DynaPortletRenderer(new DivPortletRenderer()).getClass());
+// assertEquals(renderCtx.getRegionRenderer().getClass(), new DynaRegionRenderer(new
DivRegionRenderer()).getClass());
+// assertEquals(renderCtx.getWindowRenderer().getClass(), new DynaWindowRenderer(new
DivWindowRenderer()).getClass());
+//
+// // test fragment + page props
+// assertNotNull(renderCtx.getMarkupFragment());
+// assertNotNull(renderCtx.getPageProperties());
+//
+// // test window renderers
+// assertEquals(renderCtx.getWindowRenderer(),
renderCtx.getWindowRenderer(markupResult));
+// assertEquals(renderCtx.getPortletRenderer(),
renderCtx.getPortletRenderer(markupResult));
+// assertEquals(renderCtx.getDecorationRenderer(),
renderCtx.getDecorationRenderer(markupResult));
+// assertNotNull(renderCtx.getRegionRenderer());
}
/**
@@ -217,15 +205,8 @@
* @param wCtx
* @return window markup result
*/
- private ModifiableWindowResult createWindowMarkup(String sTitle, String sContent,
WindowContext wCtx, Map portalProps, Map pageProps)
+ private WindowResult createWindowMarkup(String sTitle, String sContent, WindowContext
wCtx, Map portalProps, Map pageProps)
{
- ModifiableWindowResult markupResult = new ModifiableWindowResult(sTitle, sContent,
Collections.EMPTY_MAP, new HashMap(), null, null, null, null);
- markupResult.addWindowContext(wCtx);
- markupResult.setLayoutURI(layout.getLayoutInfo().getURI());
- markupResult.setTheme(theme);
- markupResult.setPortalProperties(portalProps);
- markupResult.setPageProperties(pageProps);
- markupResult.setPageName(TEST_PAGE_NAME);
- return markupResult;
+ return new WindowResult(sTitle, sContent, Collections.EMPTY_MAP, new HashMap(),
null, null, null, null);
}
}
Modified: trunk/theme/src/main/org/jboss/portal/test/theme/servlet/TestThemeServlet.java
===================================================================
---
trunk/theme/src/main/org/jboss/portal/test/theme/servlet/TestThemeServlet.java 2006-11-27
21:36:52 UTC (rev 5728)
+++
trunk/theme/src/main/org/jboss/portal/test/theme/servlet/TestThemeServlet.java 2006-11-28
01:46:21 UTC (rev 5729)
@@ -42,10 +42,10 @@
import org.jboss.portal.theme.metadata.PortalLayoutMetaData;
import org.jboss.portal.theme.metadata.PortalThemeMetaData;
import org.jboss.portal.theme.metadata.RenderSetMetaData;
-import org.jboss.portal.theme.page.ModifiablePageResult;
-import org.jboss.portal.theme.page.ModifiableWindowResult;
import org.jboss.portal.theme.page.PageService;
import org.jboss.portal.theme.page.WindowContext;
+import org.jboss.portal.theme.page.WindowResult;
+import org.jboss.portal.theme.page.PageResult;
import org.jboss.portal.theme.render.PortalRenderSet;
import org.jboss.portal.theme.render.RenderContext;
import org.jboss.xb.binding.Unmarshaller;
@@ -158,7 +158,7 @@
ServerRequest serverRequest = new ServerRequest();
// pageresult obj
- ModifiablePageResult pageResult = new ModifiablePageResult(TEST_PAGE_NAME,
pageProps, portalProps);
+ PageResult pageResult = new PageResult(TEST_PAGE_NAME, pageProps, portalProps);
pageResult.setLayoutURI(layout.getLayoutInfo().getURI());
pageResult.setTheme(theme);
@@ -208,15 +208,8 @@
* @param wCtx
* @return window markup result
*/
- private ModifiableWindowResult createWindowMarkup(String sTitle, String sContent,
WindowContext wCtx, Map portalProps, Map pageProps)
+ private WindowResult createWindowMarkup(String sTitle, String sContent, WindowContext
wCtx, Map portalProps, Map pageProps)
{
- ModifiableWindowResult markupResult = new ModifiableWindowResult(sTitle, sContent,
Collections.EMPTY_MAP, new HashMap(), null, null, null, null);
- markupResult.addWindowContext(wCtx);
- markupResult.setLayoutURI(layout.getLayoutInfo().getURI());
- markupResult.setTheme(theme);
- markupResult.setPortalProperties(portalProps);
- markupResult.setPageProperties(pageProps);
- markupResult.setPageName(TEST_PAGE_NAME);
- return markupResult;
+ return new WindowResult(sTitle, sContent, Collections.EMPTY_MAP, new HashMap(),
null, null, null, null);
}
}
Modified: trunk/theme/src/main/org/jboss/portal/theme/LayoutDispatcher.java
===================================================================
--- trunk/theme/src/main/org/jboss/portal/theme/LayoutDispatcher.java 2006-11-27 21:36:52
UTC (rev 5728)
+++ trunk/theme/src/main/org/jboss/portal/theme/LayoutDispatcher.java 2006-11-28 01:46:21
UTC (rev 5729)
@@ -26,7 +26,6 @@
import org.jboss.portal.common.util.Tools;
import org.jboss.portal.server.servlet.FilterCommand;
import org.jboss.portal.theme.page.PageResult;
-import org.jboss.portal.theme.render.MarkupResult;
import org.jboss.portal.theme.render.RenderContext;
import org.jboss.portal.theme.render.RenderException;
@@ -55,14 +54,14 @@
/** The layout */
private final HttpServletRequest request;
private final HttpServletResponse response;
- private final MarkupResult markupResult;
+ private final PageResult markupResult;
private final RenderContext renderContext;
/**
* @param renderContext
* @throws IllegalArgumentException if the layout is null
*/
- public LayoutDispatcher(RenderContext renderContext, HttpServletRequest request,
HttpServletResponse response, MarkupResult result)
+ public LayoutDispatcher(RenderContext renderContext, HttpServletRequest request,
HttpServletResponse response, PageResult result)
throws IllegalArgumentException
{
if (request == null)
Modified: trunk/theme/src/main/org/jboss/portal/theme/LayoutServiceInfo.java
===================================================================
--- trunk/theme/src/main/org/jboss/portal/theme/LayoutServiceInfo.java 2006-11-27 21:36:52
UTC (rev 5728)
+++ trunk/theme/src/main/org/jboss/portal/theme/LayoutServiceInfo.java 2006-11-28 01:46:21
UTC (rev 5729)
@@ -25,9 +25,9 @@
import org.jboss.portal.common.MediaType;
import org.jboss.portal.server.util.HTTPStreamInfo;
-import org.jboss.portal.theme.render.MarkupResult;
import org.jboss.portal.theme.render.PortalRenderSet;
import org.jboss.portal.theme.strategy.LayoutStrategy;
+import org.jboss.portal.theme.page.PageResult;
import java.util.Collection;
@@ -119,5 +119,5 @@
*/
Collection getRenderSets();
- PortalRenderSet getRenderSet(LayoutInfo info, HTTPStreamInfo streamInfo, MarkupResult
result);
+ PortalRenderSet getRenderSet(LayoutInfo info, HTTPStreamInfo streamInfo, PageResult
result);
}
Modified: trunk/theme/src/main/org/jboss/portal/theme/PageRendition.java
===================================================================
--- trunk/theme/src/main/org/jboss/portal/theme/PageRendition.java 2006-11-27 21:36:52 UTC
(rev 5728)
+++ trunk/theme/src/main/org/jboss/portal/theme/PageRendition.java 2006-11-28 01:46:21 UTC
(rev 5729)
@@ -23,9 +23,8 @@
package org.jboss.portal.theme;
import org.jboss.portal.server.ServerInvocation;
-import org.jboss.portal.theme.navigation.PageNavigationalState;
-import org.jboss.portal.theme.page.ModifiablePageResult;
import org.jboss.portal.theme.page.PageService;
+import org.jboss.portal.theme.page.PageResult;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
@@ -42,18 +41,14 @@
private PortalLayout layout;
/** . */
- private PageNavigationalState pageNavState;
+ private PageResult pageResult;
/** . */
- private ModifiablePageResult pageResult;
-
- /** . */
private PageService pageService;
- public PageRendition(PortalLayout layout, PageNavigationalState pageNavState,
ModifiablePageResult markupResult, PageService pageService)
+ public PageRendition(PortalLayout layout, PageResult markupResult, PageService
pageService)
{
this.layout = layout;
- this.pageNavState = pageNavState;
this.pageResult = markupResult;
this.pageService = pageService;
}
@@ -61,10 +56,6 @@
/** Performs the page rendition. */
public void render(ServerInvocation invocation) throws IOException, ServletException
{
- // If possible and needed, propagate the navigational state of the page into the
result
- pageResult.setLayoutURI(pageNavState.getLayoutURI());
- pageResult.setLayoutState(pageNavState.getLayoutState());
-
//
HttpServletRequest clientRequest =
invocation.getServerContext().getClientRequest();
@@ -85,7 +76,7 @@
}
}
- public ModifiablePageResult getPageResult()
+ public PageResult getPageResult()
{
return pageResult;
}
Modified: trunk/theme/src/main/org/jboss/portal/theme/PortalLayout.java
===================================================================
--- trunk/theme/src/main/org/jboss/portal/theme/PortalLayout.java 2006-11-27 21:36:52 UTC
(rev 5728)
+++ trunk/theme/src/main/org/jboss/portal/theme/PortalLayout.java 2006-11-28 01:46:21 UTC
(rev 5729)
@@ -25,8 +25,8 @@
import org.jboss.portal.server.ServerInvocation;
import org.jboss.portal.server.ServerRequest;
import org.jboss.portal.server.util.HTTPStreamInfo;
-import org.jboss.portal.theme.render.MarkupResult;
import org.jboss.portal.theme.render.RenderContext;
+import org.jboss.portal.theme.page.PageResult;
import javax.servlet.ServletException;
import java.io.IOException;
@@ -58,7 +58,7 @@
* @throws ServletException
* @throws IOException
*/
- public abstract void assembleResponse(ServerInvocation invocation, MarkupResult
markupResult)
+ public abstract void assembleResponse(ServerInvocation invocation, PageResult
markupResult)
throws ServletException, IOException;
/**
@@ -100,7 +100,7 @@
* @param markupResult the result of the portlet render process
* @return a new render context
*/
- public RenderContext getRenderContext(HTTPStreamInfo streamInfo, ServerRequest
request, MarkupResult markupResult)
+ public RenderContext getRenderContext(HTTPStreamInfo streamInfo, ServerRequest
request, PageResult markupResult)
{
return new RenderContext(this, streamInfo, markupResult, request);
}
Modified: trunk/theme/src/main/org/jboss/portal/theme/ServerRegistrationID.java
===================================================================
--- trunk/theme/src/main/org/jboss/portal/theme/ServerRegistrationID.java 2006-11-27
21:36:52 UTC (rev 5728)
+++ trunk/theme/src/main/org/jboss/portal/theme/ServerRegistrationID.java 2006-11-28
01:46:21 UTC (rev 5729)
@@ -50,19 +50,12 @@
{
return true;
}
- if (!(o instanceof Type))
+ if (o instanceof Type)
{
- return false;
+ Type that = (Type)o;
+ return this.type.equals(that.type);
}
-
- final Type type1 = (Type)o;
-
- if (!type.equals(type1.type))
- {
- return false;
- }
-
- return true;
+ return false;
}
public int hashCode()
Modified: trunk/theme/src/main/org/jboss/portal/theme/impl/JSPLayout.java
===================================================================
--- trunk/theme/src/main/org/jboss/portal/theme/impl/JSPLayout.java 2006-11-27 21:36:52
UTC (rev 5728)
+++ trunk/theme/src/main/org/jboss/portal/theme/impl/JSPLayout.java 2006-11-28 01:46:21
UTC (rev 5729)
@@ -26,7 +26,7 @@
import org.jboss.portal.server.ServerInvocation;
import org.jboss.portal.theme.LayoutDispatcher;
import org.jboss.portal.theme.PortalLayout;
-import org.jboss.portal.theme.render.MarkupResult;
+import org.jboss.portal.theme.page.PageResult;
import org.jboss.portal.theme.render.RenderContext;
import javax.servlet.ServletException;
@@ -43,8 +43,8 @@
*/
public final class JSPLayout extends PortalLayout
{
- /** @see
PortalLayout#assembleResponse(org.jboss.portal.server.ServerInvocation,org.jboss.portal.theme.render.MarkupResult)
*/
- public void assembleResponse(ServerInvocation invocation, MarkupResult markupResult)
+
+ public void assembleResponse(ServerInvocation invocation, PageResult markupResult)
throws ServletException, IOException
{
HttpServletRequest httpRequest = invocation.getServerContext().getClientRequest();
Modified: trunk/theme/src/main/org/jboss/portal/theme/impl/LayoutServiceImpl.java
===================================================================
--- trunk/theme/src/main/org/jboss/portal/theme/impl/LayoutServiceImpl.java 2006-11-27
21:36:52 UTC (rev 5728)
+++ trunk/theme/src/main/org/jboss/portal/theme/impl/LayoutServiceImpl.java 2006-11-28
01:46:21 UTC (rev 5729)
@@ -33,11 +33,11 @@
import org.jboss.portal.theme.RuntimeContext;
import org.jboss.portal.theme.ServerRegistrationID;
import org.jboss.portal.theme.ThemeConstants;
+import org.jboss.portal.theme.page.PageResult;
import org.jboss.portal.theme.metadata.LayoutStrategyMetaData;
import org.jboss.portal.theme.metadata.PortalLayoutMetaData;
import org.jboss.portal.theme.metadata.RenderSetMetaData;
import org.jboss.portal.theme.metadata.RendererSetMetaData;
-import org.jboss.portal.theme.render.MarkupResult;
import org.jboss.portal.theme.render.PortalRenderSet;
import org.jboss.portal.theme.strategy.LayoutStrategy;
import org.jboss.system.Service;
@@ -499,7 +499,7 @@
* @param result
* @return a renderSet to decorate the markup fragments on the page with
*/
- public PortalRenderSet getRenderSet(LayoutInfo info, HTTPStreamInfo streamInfo,
MarkupResult result)
+ public PortalRenderSet getRenderSet(LayoutInfo info, HTTPStreamInfo streamInfo,
PageResult result)
{
if (info == null || result == null || streamInfo == null)
{
Modified:
trunk/theme/src/main/org/jboss/portal/theme/impl/strategy/MaximizingStrategyImpl.java
===================================================================
---
trunk/theme/src/main/org/jboss/portal/theme/impl/strategy/MaximizingStrategyImpl.java 2006-11-27
21:36:52 UTC (rev 5728)
+++
trunk/theme/src/main/org/jboss/portal/theme/impl/strategy/MaximizingStrategyImpl.java 2006-11-28
01:46:21 UTC (rev 5729)
@@ -24,6 +24,7 @@
import org.jboss.logging.Logger;
import org.jboss.portal.WindowState;
+import org.jboss.portal.common.FixMe;
import org.jboss.portal.theme.page.WindowContext;
import org.jboss.portal.theme.strategy.LayoutStrategy;
import org.jboss.portal.theme.strategy.NavigationalStateChangedEvent;
@@ -133,7 +134,8 @@
{
newState = WindowState.NORMAL;
}
- response.restoreWindowLocation(targetWindowId, newState);
+// response.restoreWindowLocation(targetWindowId, newState);
+ throw new FixMe();
}
}
@@ -158,13 +160,17 @@
maximizedWindowId + " will be the only maximized one]");
// change the window state back to normal, and make sure the
// window is not rendered
- response.restoreWindowLocation(windowLocation.getWindowId(),
WindowState.NORMAL);
- response.addNoRender(windowLocation);
+
+ throw new FixMe();
+// response.addWindowStateChange(windowLocation.get);
+// response.restoreWindowLocation(windowLocation.getWindowId(),
WindowState.NORMAL);
+// response.addNoRender(windowLocation);
}
else
{
// move the maximized window to the maximized region
- response.changeRegion(windowLocation.getWindowId(),
WindowState.MAXIMIZED.toString());
+ throw new FixMe();
+// response.changeRegion(windowLocation.getWindowId(),
WindowState.MAXIMIZED.toString());
}
}
}
Deleted:
trunk/theme/src/main/org/jboss/portal/theme/navigation/PageNavigationalState.java
===================================================================
---
trunk/theme/src/main/org/jboss/portal/theme/navigation/PageNavigationalState.java 2006-11-27
21:36:52 UTC (rev 5728)
+++
trunk/theme/src/main/org/jboss/portal/theme/navigation/PageNavigationalState.java 2006-11-28
01:46:21 UTC (rev 5729)
@@ -1,157 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2006, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This is free software; you can redistribute it and/or modify it *
- * under the terms of the GNU Lesser General Public License as *
- * published by the Free Software Foundation; either version 2.1 of *
- * the License, or (at your option) any later version. *
- * *
- * This software is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org. *
- ******************************************************************************/
-
-package org.jboss.portal.theme.navigation;
-
-import org.jboss.portal.theme.page.WindowContext;
-
-import java.io.Serializable;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
-/**
- * A state provider for all the navigational state of the windows of one page.
- *
- * @author <a href="mailto:mholzner@novell.com">Martin Holzner</a>
- * @version $Revision$
- */
-public final class PageNavigationalState implements Serializable
-{
- private final Map windowContexts = new HashMap();
- private final Map previousWindowContexts = new HashMap();
- private String layoutState;
- private String uri;
-
- public PageNavigationalState()
- {
- }
-
- /**
- * Initialize the navigational state of all the windows on this page. <p>The
page navigational state also carries a
- * list of all the available regions on the page (as defined in the layout of the
page</p>
- *
- * @param windowContexts a Map (keyed by windowId) of WindowContext instances, one for
each window on the page
- */
-// public void initialize(Map windowContexts, PageInitialStateProvider
initialStateProvider)
- public void initialize(Map windowContexts)
- {
- this.layoutState = null;
- this.uri = null;
- this.windowContexts.clear();
- this.previousWindowContexts.clear();
- this.windowContexts.putAll(windowContexts);
- }
-
- public WindowContext getWindowContext(String windowId)
- {
- return (WindowContext)windowContexts.get(windowId);
- }
-
- public Collection getWindowContexts()
- {
- return windowContexts.values();
- }
-
- public Map getWindowContextMap()
- {
- return windowContexts;
- }
-
- public WindowContext getPreviousWindowContext(String windowID, boolean remove)
- {
- WindowContext ctx = (WindowContext)previousWindowContexts.get(windowID);
- if (ctx != null && remove)
- {
- previousWindowContexts.remove(windowID);
- }
- return ctx;
- }
-
- public void setWindowVisible(String windowId, boolean visible)
- {
- WindowContext windowCtx = (WindowContext)windowContexts.get(windowId);
- windowCtx.setVisible(visible);
- }
-
- public boolean isWindowVisible(String windowId)
- {
- WindowContext windowCtx = (WindowContext)windowContexts.get(windowId);
- if (windowCtx == null)
- {
- return false;
- }
- return windowCtx.isVisible();
- }
-
- public void setWindowRegion(String windowId, String regionName, boolean
rememberPrevious)
- {
- WindowContext windowCtx = (WindowContext)windowContexts.get(windowId);
- if (rememberPrevious)
- {
- WindowContext previous = (WindowContext)previousWindowContexts.get(windowId);
- if (previous == null)
- {
- previous = WindowContext.copy(windowCtx);
- previousWindowContexts.put(windowId, previous);
- }
- }
- windowCtx.setRegionName(regionName);
- }
-
- public void setWindowOrder(String windowId, int order, boolean rememberPrevious)
- {
- WindowContext windowCtx = (WindowContext)windowContexts.get(windowId);
- if (rememberPrevious)
- {
- WindowContext previous = (WindowContext)previousWindowContexts.get(windowId);
- if (previous == null)
- {
- previous = WindowContext.copy(windowCtx);
- previousWindowContexts.put(windowId, previous);
- }
- }
- windowCtx.setOrder(order);
- }
-
- public void setLayoutState(String state)
- {
- layoutState = state;
- }
-
- public void setLayoutURI(String uri)
- {
- this.uri = uri;
- }
-
- public String getLayoutState()
- {
- return layoutState;
- }
-
- public String getLayoutURI()
- {
- return uri;
- }
-}
Modified:
trunk/theme/src/main/org/jboss/portal/theme/navigation/WindowNavigationalState.java
===================================================================
---
trunk/theme/src/main/org/jboss/portal/theme/navigation/WindowNavigationalState.java 2006-11-27
21:36:52 UTC (rev 5728)
+++
trunk/theme/src/main/org/jboss/portal/theme/navigation/WindowNavigationalState.java 2006-11-28
01:46:21 UTC (rev 5729)
@@ -33,14 +33,11 @@
*/
public class WindowNavigationalState implements Serializable
{
- /**
- *
- */
+
+ /** . */
private WindowState windowState;
- /**
- *
- */
+ /** . */
private Mode mode;
public WindowNavigationalState()
Deleted: trunk/theme/src/main/org/jboss/portal/theme/page/ModifiablePageResult.java
===================================================================
--- trunk/theme/src/main/org/jboss/portal/theme/page/ModifiablePageResult.java 2006-11-27
21:36:52 UTC (rev 5728)
+++ trunk/theme/src/main/org/jboss/portal/theme/page/ModifiablePageResult.java 2006-11-28
01:46:21 UTC (rev 5729)
@@ -1,73 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2006, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This is free software; you can redistribute it and/or modify it *
- * under the terms of the GNU Lesser General Public License as *
- * published by the Free Software Foundation; either version 2.1 of *
- * the License, or (at your option) any later version. *
- * *
- * This software is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org. *
- ******************************************************************************/
-package org.jboss.portal.theme.page;
-
-import org.jboss.portal.theme.render.ModifiableMarkupResult;
-
-import java.util.Map;
-
-
-/**
- * @author <a href="mailto:mholzner@novell.com">Martin Holzner</a>
- * @version $Revision$
- */
-public final class ModifiablePageResult extends PageResult implements
ModifiableMarkupResult
-{
- public ModifiablePageResult(String pageName, Map pageProperties, Map
portalProperties)
- {
- super(pageName, pageProperties, portalProperties);
- }
-
- public void setLayoutURI(String uri)
- {
- layoutURI = uri;
- }
-
- public void setLayoutState(String layoutState)
- {
- this.layoutState = layoutState;
- }
-
- public void addWindowResult(String windowID, WindowResult result)
- {
- if (!portlets.keySet().contains(windowID))
- {
- throw new IllegalArgumentException("there was no window added for this
window:" + windowID);
- }
- results.put(windowID, result);
- }
-
- public void addWindowContext(WindowContext windowContext)
- {
- portlets.put(windowContext.getId(), windowContext);
-
- Region region = (Region)portletRegions.get(windowContext.getRegionName());
- if (region == null)
- {
- region = new Region(windowContext.getRegionName());
- }
- region.addWindowContext(windowContext);
-
- portletRegions.put(region.getId(), region);
- }
-}
Deleted: trunk/theme/src/main/org/jboss/portal/theme/page/ModifiableRegionResult.java
===================================================================
---
trunk/theme/src/main/org/jboss/portal/theme/page/ModifiableRegionResult.java 2006-11-27
21:36:52 UTC (rev 5728)
+++
trunk/theme/src/main/org/jboss/portal/theme/page/ModifiableRegionResult.java 2006-11-28
01:46:21 UTC (rev 5729)
@@ -1,66 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2006, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This is free software; you can redistribute it and/or modify it *
- * under the terms of the GNU Lesser General Public License as *
- * published by the Free Software Foundation; either version 2.1 of *
- * the License, or (at your option) any later version. *
- * *
- * This software is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org. *
- ******************************************************************************/
-package org.jboss.portal.theme.page;
-
-import org.jboss.portal.common.invocation.AttributeResolver;
-import org.jboss.portal.theme.render.ModifiableMarkupResult;
-
-import java.util.Map;
-
-/**
- * @author <a href="mailto:mholzner@novell.com">Martin Holzner</a>
- * @version $Revision$
- */
-public class ModifiableRegionResult extends RegionResult implements
ModifiableMarkupResult
-{
- public ModifiableRegionResult(AttributeResolver navCtx, String pageName,
- Region region, Map pageProperties, Map
portalProperties)
- {
- super(pageName, region, pageProperties, portalProperties);
- }
-
- public void setLayoutURI(String uri)
- {
- layoutURI = uri;
- }
-
- public void setLayoutState(String layoutState)
- {
- this.layoutState = layoutState;
- }
-
- public void addWindowResult(String windowID, WindowResult result)
- {
- if (!portlets.keySet().contains(windowID))
- {
- throw new IllegalArgumentException("this window Id is not part of this
result: " + windowID);
- }
- results.put(windowID, result);
- }
-
- public void addWindowContext(WindowContext windowContext)
- {
- portlets.put(windowContext.getId(), windowContext);
- region.addWindowContext(windowContext);
- }
-}
Deleted: trunk/theme/src/main/org/jboss/portal/theme/page/ModifiableWindowResult.java
===================================================================
---
trunk/theme/src/main/org/jboss/portal/theme/page/ModifiableWindowResult.java 2006-11-27
21:36:52 UTC (rev 5728)
+++
trunk/theme/src/main/org/jboss/portal/theme/page/ModifiableWindowResult.java 2006-11-28
01:46:21 UTC (rev 5729)
@@ -1,91 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2006, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This is free software; you can redistribute it and/or modify it *
- * under the terms of the GNU Lesser General Public License as *
- * published by the Free Software Foundation; either version 2.1 of *
- * the License, or (at your option) any later version. *
- * *
- * This software is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org. *
- ******************************************************************************/
-package org.jboss.portal.theme.page;
-
-import org.jboss.portal.Mode;
-import org.jboss.portal.WindowState;
-import org.jboss.portal.portlet.Properties;
-import org.jboss.portal.theme.render.ModifiableMarkupResult;
-
-import java.util.Map;
-
-/**
- * @author <a href="mailto:mholzner@novell.com">Martin Holzner</a>
- * @version $Revision$
- */
-public final class ModifiableWindowResult extends WindowResult implements
ModifiableMarkupResult
-{
- /**
- * Create a new WindowResult with the information about the renderered portlet.
<p>A window result contains the the
- * rendered markup fragment of the portlet, the title, a map of action urls to trigger
mode and state changes, and
- * the properties that were set as portlet response properties.</p>
- *
- * @param title the title to be displayed for this portlet in the
rendered page
- * @param content the rendered markup fragment of the portlet
- * @param actions a map of actions possible for this portlet
- * @param windowProperties the properties for this window
- * @param responseProperties the properties that were set as response properties
during the portlet's render or
- * action
- * @param headerChars content that needs to be injected into the header
- * @see org.jboss.portal.theme.page.WindowResult.Action
- */
- public ModifiableWindowResult(String title, String content, Map actions, Map
windowProperties, Properties responseProperties, String headerChars, WindowState
windowState, Mode mode)
- {
- super(title, content, actions, windowProperties, responseProperties, headerChars,
windowState, mode);
- }
-
- public void setLayoutURI(String uri)
- {
- layoutURI = uri;
- }
-
- public void setLayoutState(String layoutState)
- {
- this.layoutState = layoutState;
- }
-
- public void addWindowContext(WindowContext windowContext)
- {
- portlets.put(windowContext.getId(), windowContext);
- }
-
- public void addWindowResult(String windowID, WindowResult result)
- {
- throw new UnsupportedOperationException();
- }
-
- public void setPageName(String pageName)
- {
- this.pageName = pageName;
- }
-
- public void setPageProperties(Map pageProperties)
- {
- this.pageProperties = pageProperties;
- }
-
- public void setPortalProperties(Map portalProperties)
- {
- this.portalProperties = portalProperties;
- }
-}
Modified: trunk/theme/src/main/org/jboss/portal/theme/page/PageResult.java
===================================================================
--- trunk/theme/src/main/org/jboss/portal/theme/page/PageResult.java 2006-11-27 21:36:52
UTC (rev 5728)
+++ trunk/theme/src/main/org/jboss/portal/theme/page/PageResult.java 2006-11-28 01:46:21
UTC (rev 5729)
@@ -22,10 +22,13 @@
******************************************************************************/
package org.jboss.portal.theme.page;
-import org.jboss.portal.theme.render.MarkupResult;
+import org.jboss.portal.theme.render.PortalRenderSet;
+import org.jboss.portal.theme.ThemeResult;
+import org.jboss.portal.theme.PortalTheme;
import java.util.HashMap;
import java.util.Map;
+import java.util.Set;
/**
* Interface to represent the read only information of a rendered portal page.
<p>The page result allows access to all
@@ -34,17 +37,53 @@
* @author <a href="mailto:mholzner@novell.com">Martin Holzner</a>
* @version $Revision$
*/
-public class PageResult extends MarkupResult
+public class PageResult
{
+
/** . */
- protected final Map portletRegions;
+ protected final Map results;
+ protected final Map windowContexts;
+ protected String pageName;
+ protected Map portalProperties;
+ protected Map pageProperties;
+ protected String layoutURI;
+ protected String layoutState;
+ protected PortalRenderSet renderSet;
+ protected ThemeResult themeResult;
+ protected PortalTheme theme;
+ protected final Map regions;
public PageResult(String pageName, Map pageProperties, Map portalProperties)
{
- super(pageName, pageProperties, portalProperties);
- portletRegions = new HashMap(5);
+ this.pageName = pageName;
+ this.pageProperties = pageProperties == null ? new HashMap() : pageProperties;
+ this.portalProperties = portalProperties == null ? new HashMap() :
portalProperties;
+
+ results = new HashMap(5);
+ windowContexts = new HashMap(5);
+ regions = new HashMap(5);
}
+ public ThemeResult getThemeResult()
+ {
+ return themeResult;
+ }
+
+ public void setThemeResult(ThemeResult themeResult)
+ {
+ this.themeResult = themeResult;
+ }
+
+ public PortalTheme getTheme()
+ {
+ return theme;
+ }
+
+ public void setTheme(PortalTheme theme)
+ {
+ this.theme = theme;
+ }
+
/**
* Get a reference to the region object for the provided region name.
*
@@ -53,6 +92,144 @@
*/
public Region getRegion(String regionName)
{
- return (Region)portletRegions.get(regionName);
+ return (Region)regions.get(regionName);
}
+
+ /**
+ * Get the name of the requested page.
+ *
+ * @return the name of the page that is being rendered
+ */
+ public String getPageName()
+ {
+ return pageName;
+ }
+
+ /**
+ * Get the properties that were set for this page.
+ *
+ * @return a <code>java.util.Map</code> of the properties of this page
+ */
+ public Map getPageProperties()
+ {
+ return pageProperties;
+ }
+
+ /**
+ * Get the properties that were set for this page.
+ *
+ * @return a <code>java.util.Map</code> of the properties of this page
+ */
+ public Map getPortalProperties()
+ {
+ return portalProperties;
+ }
+
+ /**
+ * Get the uri of the layout that is used. <p>The uri is relative to the
application context that hosts the
+ * layout.</p>
+ *
+ * @return the uri of the used layout
+ */
+ public String getLayoutURI()
+ {
+ return layoutURI;
+ }
+
+ /**
+ * Get the state string of the layout. <p>The state is used to further sub
select a layout uri. One layout can
+ * contain a separate layout uri per state. The state has to match to string version
of one of the allowed window
+ * states.<p>
+ *
+ * @return a string representing the current window state to potentially further
select a more specific layout uri
+ */
+ public String getLayoutState()
+ {
+ return layoutState;
+ }
+
+ /**
+ * Get a Set of all window ids that are contained in this page.
+ *
+ * @return a set of all window ids on this page
+ */
+ public Set getWindowIds()
+ {
+ return windowContexts.keySet();
+ }
+
+ /**
+ * Get the <code>WindowResult</code> for a specific portlet window.
+ *
+ * @param windowId the window id identifying the portlet window to get the window
result for
+ * @return the window result for the provided window id
+ */
+ public WindowResult getWindowResult(String windowId)
+ {
+ return (WindowResult)results.get(windowId);
+ }
+
+ /**
+ * Get a map of <code>WindowResult</code>s keyed by window id
+ *
+ * @return a map of window results
+ */
+ public Map getWindowResultMap()
+ {
+ return results;
+ }
+
+ /**
+ * Get the <code>WindowContext</code> for the provided window id.
+ *
+ * @param windowId the window id identifying the portlet to get the context for
+ * @return the window context for the provided window id
+ */
+ public WindowContext getWindowContext(String windowId)
+ {
+ return (WindowContext)windowContexts.get(windowId);
+ }
+
+ /**
+ * Get a map of all <code>PortletContext</code>s on the page keyed by
window id
+ *
+ * @return a map of all portlet on the page
+ */
+ public Map getWindowContextMap()
+ {
+ return windowContexts;
+ }
+
+ public void setLayoutURI(String uri)
+ {
+ layoutURI = uri;
+ }
+
+ public void setLayoutState(String layoutState)
+ {
+ this.layoutState = layoutState;
+ }
+
+ public void addWindowResult(String windowId, WindowResult result)
+ {
+ if (!windowContexts.keySet().contains(windowId))
+ {
+ throw new IllegalArgumentException("there was no window added for this
window:" + windowId);
+ }
+ results.put(windowId, result);
+ }
+
+ public void addWindowContext(WindowContext windowContext)
+ {
+ windowContexts.put(windowContext.getId(), windowContext);
+
+ Region region = (Region)regions.get(windowContext.getRegionName());
+ if (region == null)
+ {
+ region = new Region(windowContext.getRegionName());
+ }
+ region.addWindowContext(windowContext);
+
+ regions.put(region.getId(), region);
+ }
}
Deleted: trunk/theme/src/main/org/jboss/portal/theme/page/RegionResult.java
===================================================================
--- trunk/theme/src/main/org/jboss/portal/theme/page/RegionResult.java 2006-11-27 21:36:52
UTC (rev 5728)
+++ trunk/theme/src/main/org/jboss/portal/theme/page/RegionResult.java 2006-11-28 01:46:21
UTC (rev 5729)
@@ -1,47 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2006, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This is free software; you can redistribute it and/or modify it *
- * under the terms of the GNU Lesser General Public License as *
- * published by the Free Software Foundation; either version 2.1 of *
- * the License, or (at your option) any later version. *
- * *
- * This software is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org. *
- ******************************************************************************/
-package org.jboss.portal.theme.page;
-
-import org.jboss.portal.theme.render.MarkupResult;
-
-import java.util.Map;
-
-/**
- * @author <a href="mailto:mholzner@novell.com">Martin Holzner</a>
- * @version $Revision$
- */
-public class RegionResult extends MarkupResult
-{
- protected final Region region;
-
- public RegionResult(String pageName, Region region, Map pageProperties, Map
portalProperties)
- {
- super(pageName, pageProperties, portalProperties);
- this.region = region;
- }
-
- public Region getRegion()
- {
- return region;
- }
-}
Modified: trunk/theme/src/main/org/jboss/portal/theme/page/WindowResult.java
===================================================================
--- trunk/theme/src/main/org/jboss/portal/theme/page/WindowResult.java 2006-11-27 21:36:52
UTC (rev 5728)
+++ trunk/theme/src/main/org/jboss/portal/theme/page/WindowResult.java 2006-11-28 01:46:21
UTC (rev 5729)
@@ -25,7 +25,6 @@
import org.jboss.portal.Mode;
import org.jboss.portal.WindowState;
import org.jboss.portal.portlet.Properties;
-import org.jboss.portal.theme.render.MarkupResult;
import java.util.Collection;
import java.util.Map;
@@ -37,8 +36,12 @@
* @author <a href="mailto:julien@jboss.org">Julien Viet</a>
* @version $Revision$
*/
-public class WindowResult extends MarkupResult
+public class WindowResult
{
+
+ public static final String MODES_KEY = "mode";
+ public static final String WINDOWSTATES_KEY = "windowstate";
+
private String title;
private String content;
private Map actions;
@@ -47,8 +50,6 @@
private final Map windowProperties;
private final WindowState windowState;
private final Mode mode;
- public static final String MODES_KEY = "mode";
- public static final String WINDOWSTATES_KEY = "windowstate";
/**
* Create a new WindowResult with the information about the renderered portlet.
<p>A window result contains the the
@@ -64,7 +65,15 @@
* @param headerChars content that needs to be injected into the header
* @see WindowResult.Action
*/
- public WindowResult(String title, String content, Map actions, Map windowProperties,
Properties responseProperties, String headerChars, WindowState windowState, Mode mode)
+ public WindowResult(
+ String title,
+ String content,
+ Map actions,
+ Map windowProperties,
+ Properties responseProperties,
+ String headerChars,
+ WindowState windowState,
+ Mode mode)
{
this.properties = responseProperties;
this.title = title;
@@ -123,24 +132,6 @@
return windowProperties;
}
- public WindowContext getWindowContext()
- {
- if (portlets.keySet().isEmpty())
- {
- return null;
- }
- return (WindowContext)portlets.get(portlets.keySet().iterator().next());
- }
-
- public WindowResult getWindowResult(String windowHandle)
- {
- if (portlets.keySet().isEmpty() || !(portlets.keySet().contains(windowHandle)))
- {
- return null;
- }
- return this;
- }
-
/**
* Represents an action that can be triggered.
* <p/>
Deleted: trunk/theme/src/main/org/jboss/portal/theme/render/FragmentAssembler.java
===================================================================
--- trunk/theme/src/main/org/jboss/portal/theme/render/FragmentAssembler.java 2006-11-27
21:36:52 UTC (rev 5728)
+++ trunk/theme/src/main/org/jboss/portal/theme/render/FragmentAssembler.java 2006-11-28
01:46:21 UTC (rev 5729)
@@ -1,63 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2006, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This is free software; you can redistribute it and/or modify it *
- * under the terms of the GNU Lesser General Public License as *
- * published by the Free Software Foundation; either version 2.1 of *
- * the License, or (at your option) any later version. *
- * *
- * This software is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org. *
- ******************************************************************************/
-
-package org.jboss.portal.theme.render;
-
-import org.jboss.portal.theme.page.PageService;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-
-/**
- * Express the capability to assemble the fragments presented by a markup result into a
markup response. <p>The markup
- * result is an abstraction ontop of page, window, portlet , etc. results, and contains
the markup fragments that were
- * produced by the portlet container. The fragment assemblers responsibility is to take
these fragments, and assemble
- * them into a markup response that can be sent back to the displaying device.
</p>
- *
- * @author <a href="mailto:mholzner@novell.com">Martin Holzner</a>
- * @version $Revision$
- */
-public interface FragmentAssembler
-{
- /**
- * Assemble the markup fragments from the individual component invocations into a
response, and write it out.
- *
- * @param request the client request
- * @param response the client response
- * @param markupResult the result (page, region, window) containing the markup
fragment(s) to assemble
- * @throws IOException
- * @throws ServletException
- */
- void assemble(HttpServletRequest request, HttpServletResponse response, MarkupResult
markupResult)
- throws IOException, ServletException;
-
- /**
- * provide a page service reference that can be used during the assembly to access the
page, layout, and theme
- * service
- *
- * @param pageService the page service to allow access to themes and layouts
- */
- void setPageService(PageService pageService);
-}
Deleted: trunk/theme/src/main/org/jboss/portal/theme/render/MarkupResult.java
===================================================================
--- trunk/theme/src/main/org/jboss/portal/theme/render/MarkupResult.java 2006-11-27
21:36:52 UTC (rev 5728)
+++ trunk/theme/src/main/org/jboss/portal/theme/render/MarkupResult.java 2006-11-28
01:46:21 UTC (rev 5729)
@@ -1,194 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2006, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This is free software; you can redistribute it and/or modify it *
- * under the terms of the GNU Lesser General Public License as *
- * published by the Free Software Foundation; either version 2.1 of *
- * the License, or (at your option) any later version. *
- * *
- * This software is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org. *
- ******************************************************************************/
-package org.jboss.portal.theme.render;
-
-import org.jboss.portal.theme.PortalTheme;
-import org.jboss.portal.theme.ThemeResult;
-import org.jboss.portal.theme.page.WindowContext;
-import org.jboss.portal.theme.page.WindowResult;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * The resulting markup fragment from a render process.
- *
- * @author <a href="mailto:mholzner@novell.com">Martin Holzner</a>
- * @version $Revision$
- */
-public abstract class MarkupResult
-{
- protected final Map results;
- protected final Map portlets;
- protected String pageName;
- protected Map portalProperties;
- protected Map pageProperties;
- protected String layoutURI;
- protected String layoutState;
- protected PortalRenderSet renderSet;
- protected ThemeResult themeResult;
- protected PortalTheme theme;
-
- public ThemeResult getThemeResult()
- {
- return themeResult;
- }
-
- public void setThemeResult(ThemeResult themeResult)
- {
- this.themeResult = themeResult;
- }
-
- public PortalTheme getTheme()
- {
- return theme;
- }
-
- public void setTheme(PortalTheme theme)
- {
- this.theme = theme;
- }
-
-
- public MarkupResult()
- {
- this(null, null, null);
- }
-
- public MarkupResult(String pageName, Map pageProperties, Map portalProperties)
- {
- this.pageName = pageName;
- this.pageProperties = pageProperties == null ? new HashMap() : pageProperties;
- this.portalProperties = portalProperties == null ? new HashMap() :
portalProperties;
-
- results = new HashMap(5);
- portlets = new HashMap(5);
- }
-
- /**
- * Get the name of the requested page.
- *
- * @return the name of the page that is being rendered
- */
- public String getPageName()
- {
- return pageName;
- }
-
- /**
- * Get the properties that were set for this page.
- *
- * @return a <code>java.util.Map</code> of the properties of this page
- */
- public Map getPageProperties()
- {
- return pageProperties;
- }
-
- /**
- * Get the properties that were set for this page.
- *
- * @return a <code>java.util.Map</code> of the properties of this page
- */
- public Map getPortalProperties()
- {
- return portalProperties;
- }
-
- /**
- * Get the uri of the layout that is used. <p>The uri is relative to the
application context that hosts the
- * layout.</p>
- *
- * @return the uri of the used layout
- */
- public String getLayoutURI()
- {
- return layoutURI;
- }
-
- /**
- * Get the state string of the layout. <p>The state is used to further sub
select a layout uri. One layout can
- * contain a separate layout uri per state. The state has to match to string version
of one of the allowed window
- * states.<p>
- *
- * @return a string representing the current window state to potentially further
select a more specific layout uri
- */
- public String getLayoutState()
- {
- return layoutState;
- }
-
- /**
- * Get a Set of all window ids that are contained in this page.
- *
- * @return a set of all window ids on this page
- */
- public Set getWindowIDs()
- {
- return Collections.unmodifiableSet(portlets.keySet());
- }
-
- /**
- * Get the <code>WindowResult</code> for a specific portlet window.
- *
- * @param windowHandle the window id identifying the portlet window to get the window
result for
- * @return the window result for the provided window id
- */
- public WindowResult getWindowResult(String windowHandle)
- {
- return (WindowResult)results.get(windowHandle);
- }
-
- /**
- * Get a map of <code>WindowResult</code>s keyed by window id
- *
- * @return a map of window results
- */
- public Map getWindowResultMap()
- {
- return Collections.unmodifiableMap(results);
- }
-
- /**
- * Get the <code>WindowContext</code> for the provided window id.
- *
- * @param windowId the window id identifying the portlet to get the context for
- * @return the window context for the provided window id
- */
- public WindowContext getWindowContext(String windowId)
- {
- return (WindowContext)portlets.get(windowId);
- }
-
- /**
- * Get a map of all <code>PortletContext</code>s on the page keyed by
window id
- *
- * @return a map of all portlet on the page
- */
- public Map getWindowContextMap()
- {
- return Collections.unmodifiableMap(portlets);
- }
-}
Deleted: trunk/theme/src/main/org/jboss/portal/theme/render/ModifiableMarkupResult.java
===================================================================
---
trunk/theme/src/main/org/jboss/portal/theme/render/ModifiableMarkupResult.java 2006-11-27
21:36:52 UTC (rev 5728)
+++
trunk/theme/src/main/org/jboss/portal/theme/render/ModifiableMarkupResult.java 2006-11-28
01:46:21 UTC (rev 5729)
@@ -1,41 +0,0 @@
-/******************************************************************************
- * JBoss, a division of Red Hat *
- * Copyright 2006, Red Hat Middleware, LLC, and individual *
- * contributors as indicated by the @authors tag. See the *
- * copyright.txt in the distribution for a full listing of *
- * individual contributors. *
- * *
- * This is free software; you can redistribute it and/or modify it *
- * under the terms of the GNU Lesser General Public License as *
- * published by the Free Software Foundation; either version 2.1 of *
- * the License, or (at your option) any later version. *
- * *
- * This software is distributed in the hope that it will be useful, *
- * but WITHOUT ANY WARRANTY; without even the implied warranty of *
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU *
- * Lesser General Public License for more details. *
- * *
- * You should have received a copy of the GNU Lesser General Public *
- * License along with this software; if not, write to the Free *
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA *
- * 02110-1301 USA, or see the FSF site:
http://www.fsf.org. *
- ******************************************************************************/
-package org.jboss.portal.theme.render;
-
-import org.jboss.portal.theme.page.WindowContext;
-import org.jboss.portal.theme.page.WindowResult;
-
-/**
- * @author <a href="mailto:mholzner@novell.com">Martin Holzner</a>
- * @version $Revision$
- */
-public interface ModifiableMarkupResult
-{
- void setLayoutURI(String layoutURI);
-
- void setLayoutState(String layoutState);
-
- void addWindowContext(WindowContext windowContext);
-
- void addWindowResult(String windowID, WindowResult result);
-}
Modified: trunk/theme/src/main/org/jboss/portal/theme/render/RenderContext.java
===================================================================
--- trunk/theme/src/main/org/jboss/portal/theme/render/RenderContext.java 2006-11-27
21:36:52 UTC (rev 5728)
+++ trunk/theme/src/main/org/jboss/portal/theme/render/RenderContext.java 2006-11-28
01:46:21 UTC (rev 5729)
@@ -30,9 +30,9 @@
import org.jboss.portal.theme.ThemeConstants;
import org.jboss.portal.theme.page.Region;
import org.jboss.portal.theme.page.RegionOrientation;
-import org.jboss.portal.theme.page.RegionResult;
import org.jboss.portal.theme.page.WindowContext;
import org.jboss.portal.theme.page.WindowResult;
+import org.jboss.portal.theme.page.PageResult;
import java.util.List;
import java.util.Locale;
@@ -48,9 +48,10 @@
*/
public final class RenderContext
{
+
private PortalRenderSet renderSet;
private ServerRequest request;
- private MarkupResult result;
+ private PageResult pageResult;
private PortalLayout layout;
private String regionCssId;
@@ -61,7 +62,7 @@
private HTTPStreamInfo streamInfo;
// initialize
- private void init(PortalLayout layout, Object fragment, HTTPStreamInfo streamInfo,
MarkupResult result, ServerRequest request)
+ private void init(PortalLayout layout, Object fragment, HTTPStreamInfo streamInfo,
PageResult result, ServerRequest request)
{
this.renderSet = layout.getServiceInfo().getRenderSet(layout.getLayoutInfo(),
streamInfo, result);
if (renderSet == null)
@@ -72,7 +73,7 @@
markup = new StringBuffer();
this.layout = layout;
- this.result = result;
+ this.pageResult = result;
this.request = request;
this.fragment = fragment;
this.streamInfo = streamInfo;
@@ -89,7 +90,7 @@
}
}
- private RenderContext(PortalLayout layout, Object markupContainer, HTTPStreamInfo
streamInfo, MarkupResult result, ServerRequest request)
+ private RenderContext(PortalLayout layout, Object markupContainer, HTTPStreamInfo
streamInfo, PageResult result, ServerRequest request)
{
init(layout, markupContainer, streamInfo, result, request);
}
@@ -103,7 +104,7 @@
* @param result the rendered result(s) from the portlet container (PageResult,
RegionResult, WindowResult)
* @param request the current server request
*/
- public RenderContext(PortalLayout layout, HTTPStreamInfo streamInfo, MarkupResult
result, ServerRequest request)
+ public RenderContext(PortalLayout layout, HTTPStreamInfo streamInfo, PageResult
result, ServerRequest request)
{
if (layout == null)
{
@@ -122,23 +123,8 @@
throw new IllegalArgumentException("no request provided");
}
- if (result instanceof RegionResult)
- {
- // create the context for this region
- Region region = ((RegionResult)result).getRegion();
- init(layout, region, streamInfo, result, request);
- }
- else if (result instanceof WindowResult)
- {
- // create the context for this window only
- WindowContext windowContext = ((WindowResult)result).getWindowContext();
- init(layout, windowContext, streamInfo, result, request);
- }
- else
- {
- // context for the entire page
- init(layout, null, streamInfo, result, request);
- }
+ // context for the entire page
+ init(layout, null, streamInfo, result, request);
}
/**
@@ -153,7 +139,7 @@
*/
public RenderContext getContext(Region region, String cssId, RegionOrientation
orientation)
{
- RenderContext context = new RenderContext(this.layout, region, this.streamInfo,
this.result, this.request);
+ RenderContext context = new RenderContext(this.layout, region, this.streamInfo,
this.pageResult, this.request);
if (cssId != null)
{
context.regionCssId = cssId;
@@ -174,7 +160,7 @@
*/
public RenderContext getContext(WindowContext windowContext)
{
- return new RenderContext(layout, windowContext, streamInfo, result, request);
+ return new RenderContext(layout, windowContext, streamInfo, pageResult, request);
}
/** @return a markup fragment */
@@ -262,7 +248,7 @@
if (result != null && renderSetName == null)
{
- renderSetName =
(String)result.getPageProperties().get(ThemeConstants.PORTAL_PROP_WINDOW_RENDERER);
+ renderSetName =
(String)pageResult.getPageProperties().get(ThemeConstants.PORTAL_PROP_WINDOW_RENDERER);
}
if (renderSetName != null)
@@ -304,7 +290,7 @@
if (result != null && renderSetName == null)
{
- renderSetName =
(String)result.getPageProperties().get(ThemeConstants.PORTAL_PROP_DECORATION_RENDERER);
+ renderSetName =
(String)pageResult.getPageProperties().get(ThemeConstants.PORTAL_PROP_DECORATION_RENDERER);
}
if (renderSetName != null)
@@ -350,7 +336,7 @@
if (result != null && renderSetName == null)
{
- renderSetName =
(String)result.getPageProperties().get(ThemeConstants.PORTAL_PROP_PORTLET_RENDERER);
+ renderSetName =
(String)pageResult.getPageProperties().get(ThemeConstants.PORTAL_PROP_PORTLET_RENDERER);
}
if (renderSetName != null)
@@ -375,7 +361,7 @@
/** @return the page properties */
public Map getPageProperties()
{
- return result.getPageProperties();
+ return pageResult.getPageProperties();
}
/** @return the names of all the regions as defined in the layout */
@@ -401,19 +387,17 @@
if (result != null && value == null)
{
- value = (String)result.getPageProperties().get(key);
+ value = (String)pageResult.getPageProperties().get(key);
}
return value;
}
- /** @return the prefered locale */
public Locale getLocale()
{
return request.getLocale();
}
- /** @return all locales allowed in the current request */
public Locale[] getLocales()
{
return request.getLocales();
@@ -435,13 +419,13 @@
{
// render the window
WindowContext wc = (WindowContext)fragment;
- WindowResult windowResult = result.getWindowResult(wc.getId());
+ WindowResult windowResult = pageResult.getWindowResult(wc.getId());
getWindowRenderer(windowResult).render(this, (WindowContext)fragment,
windowResult);
}
else if (fragment instanceof Region)
{
// render the region
- getRegionRenderer().render(this, (Region)fragment,
result.getWindowContextMap(), result.getWindowResultMap());
+ getRegionRenderer().render(this, (Region)fragment,
pageResult.getWindowContextMap(), pageResult.getWindowResultMap());
}
else
{
Modified: trunk/theme/src/main/org/jboss/portal/theme/strategy/StrategyContext.java
===================================================================
--- trunk/theme/src/main/org/jboss/portal/theme/strategy/StrategyContext.java 2006-11-27
21:36:52 UTC (rev 5728)
+++ trunk/theme/src/main/org/jboss/portal/theme/strategy/StrategyContext.java 2006-11-28
01:46:21 UTC (rev 5729)
@@ -28,7 +28,6 @@
import org.jboss.portal.common.MediaType;
import org.jboss.portal.common.invocation.AttributeResolver;
import org.jboss.portal.server.util.HTTPStreamInfo;
-import org.jboss.portal.theme.navigation.PageNavigationalState;
import org.jboss.portal.theme.navigation.WindowNavigationalState;
import org.jboss.portal.theme.page.WindowContext;
@@ -55,7 +54,6 @@
/** . */
private static Logger log = Logger.getLogger(StrategyContext.class);
- private final String[] regionNames;
private final HttpServletRequest httpRequest;
private final Set supportedWindowStates;
private final Set supportedPortletModes;
@@ -63,7 +61,7 @@
private final List localWindowContexts;
private final AttributeResolver navigationalStateContext;
- public StrategyContext(AttributeResolver navCtx, PageNavigationalState pageNavState,
+ public StrategyContext(AttributeResolver navCtx,
HttpServletRequest httpRequest, HTTPStreamInfo streamInfo,
Set windowStates, Set portletModes, List regionNames)
{
@@ -72,54 +70,34 @@
this.supportedPortletModes = portletModes;
this.streamInfo = streamInfo;
this.navigationalStateContext = navCtx;
- this.regionNames = new String[regionNames.size()];
- regionNames.toArray(this.regionNames);
-
-
- localWindowContexts = new ArrayList();
- for (Iterator i = pageNavState.getWindowContexts().iterator(); i.hasNext();)
- {
- localWindowContexts.add(new WindowLocation((WindowContext)i.next()));
- }
+ this.localWindowContexts = new ArrayList();
}
- /** @see org.jboss.portal.theme.strategy.StrategyContext#getLayoutRegions() */
- public String[] getLayoutRegions()
- {
- return regionNames;
- }
-
- /** @see org.jboss.portal.theme.strategy.StrategyContext#createResponse() */
public StrategyResponse createResponse()
{
return new StrategyResponse();
}
- /** @see org.jboss.portal.theme.strategy.StrategyContext#getHttpServletRequest() */
public HttpServletRequest getHttpServletRequest()
{
return httpRequest;
}
- /** @see org.jboss.portal.theme.strategy.StrategyContext#getMediaType() */
public MediaType getMediaType()
{
return streamInfo.getContentType();
}
- /** @see org.jboss.portal.theme.strategy.StrategyContext#getCharSet() */
public String getCharSet()
{
return streamInfo.getCharset();
}
- /** @see
org.jboss.portal.theme.strategy.StrategyContext#isSupportedWindowState(WindowState) */
public boolean isSupportedWindowState(WindowState state)
{
return supportedWindowStates.contains(state);
}
- /** @see org.jboss.portal.theme.strategy.StrategyContext#isSupportedPortletMode(Mode)
*/
public boolean isSupportedPortletMode(Mode mode)
{
return supportedPortletModes.contains(mode);
Modified: trunk/theme/src/main/org/jboss/portal/theme/strategy/StrategyResponse.java
===================================================================
--- trunk/theme/src/main/org/jboss/portal/theme/strategy/StrategyResponse.java 2006-11-27
21:36:52 UTC (rev 5728)
+++ trunk/theme/src/main/org/jboss/portal/theme/strategy/StrategyResponse.java 2006-11-28
01:46:21 UTC (rev 5729)
@@ -43,53 +43,40 @@
*/
public final class StrategyResponse
{
+
+ /** . */
private String state;
+
+ /** . */
private String layoutURI;
+
+ /** . */
private Map stateChangeMap;
+
+ /** . */
private Map modeChangeMap;
- private List noRenderList;
- private Map windowContextsToRestore;
- private Map windowRegionChangeMap;
- /** Create a new instance of a response. */
StrategyResponse()
{
this.stateChangeMap = new HashMap(5);
this.modeChangeMap = new HashMap(5);
- this.noRenderList = new ArrayList(5);
- this.windowContextsToRestore = new HashMap(5);
- this.windowRegionChangeMap = new HashMap(2);
}
- /** @see org.jboss.portal.theme.strategy.StrategyResponse#getLayoutURI() */
- public String getLayoutURI()
- {
- return layoutURI;
- }
-
- /** @see org.jboss.portal.theme.strategy.StrategyResponse#getWindowStateChangeMap()
*/
public Map getWindowStateChangeMap()
{
return Collections.unmodifiableMap(stateChangeMap);
}
- /** @see org.jboss.portal.theme.strategy.StrategyResponse#getNoRenderList() */
- public List getNoRenderList()
+ public void addPortletModeChange(WindowContext portlet, Mode mode)
{
- return Collections.unmodifiableList(noRenderList);
- }
-
- public void addNoRender(WindowLocation portlet)
- {
if (portlet == null)
{
- throw new NullPointerException("portlet reference is null");
+ throw new IllegalArgumentException("portlet reference is null");
}
- noRenderList.add(portlet);
- }
-
- public void addPortletModeChange(WindowContext portlet, Mode mode)
- {
+ if (mode == null)
+ {
+ throw new IllegalArgumentException("mode is null");
+ }
modeChangeMap.put(portlet, mode);
}
@@ -98,74 +85,36 @@
return Collections.unmodifiableMap(modeChangeMap);
}
- /** @see org.jboss.portal.theme.strategy.StrategyResponse#addWindowStateChange */
public void addWindowStateChange(WindowContext portlet, WindowState state)
{
- if (portlet == null || state == null)
+ if (portlet == null)
{
- throw new NullPointerException("portlet reference and/or state is
null");
+ throw new IllegalArgumentException("portlet reference is null");
}
+ if (state == null)
+ {
+ throw new IllegalArgumentException("state is null");
+ }
stateChangeMap.put(portlet, state);
}
- /** @see org.jboss.portal.theme.strategy.StrategyResponse#reset */
- public void reset()
+ public String getLayoutURI()
{
- stateChangeMap.clear();
- modeChangeMap.clear();
- noRenderList.clear();
- windowContextsToRestore.clear();
- windowRegionChangeMap.clear();
- layoutURI = null;
- state = null;
+ return layoutURI;
}
- /** @see org.jboss.portal.theme.strategy.StrategyResponse#setLayoutURI */
public void setLayoutURI(String layoutURI)
{
this.layoutURI = layoutURI;
}
- /** @see org.jboss.portal.theme.strategy.StrategyResponse#setLayoutState */
- public void setLayoutState(String state)
- {
- this.state = state;
- }
-
- /** @see org.jboss.portal.theme.strategy.StrategyResponse#getLayoutState */
public String getLayoutState()
{
return state;
}
- /**
- * Restore the previous (original?) state of this window context <p>This is a
cnvenience method for cases like the
- * maximized portlet that temporarily moves to another region while it is maximized.
Once the maximized state is
- * changed back, the portlet needs to move back to its original region and
order</p>
- *
- * @param windowID
- */
- public void restoreWindowLocation(String windowID, WindowState newState)
+ public void setLayoutState(String state)
{
- if (newState == null)
- {
- newState = WindowState.NORMAL;
- }
- windowContextsToRestore.put(windowID, newState);
+ this.state = state;
}
-
- public Map getWindowIDsToRestore()
- {
- return Collections.unmodifiableMap(windowContextsToRestore);
- }
-
- public void changeRegion(String windowID, String regionName)
- {
- windowRegionChangeMap.put(windowID, regionName);
- }
-
- public Map getWindowRegionChangeMap()
- {
- return Collections.unmodifiableMap(windowRegionChangeMap);
- }
}