You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by ap...@apache.org on 2006/11/30 14:02:14 UTC

svn commit: r480914 - in /struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase: portal/ rssChannel/ skin/

Author: apetrelli
Date: Thu Nov 30 05:02:13 2006
New Revision: 480914

URL: http://svn.apache.org/viewvc?view=rev&rev=480914
Log:
SB-91
First group of modifications to make the code compile.

Modified:
    struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserMenuAction.java
    struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserMenuSettingsAction.java
    struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserPortalAction.java
    struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserPortalSettingsAction.java
    struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/rssChannel/Channels.java
    struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/rssChannel/RssChannelsAction.java
    struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/DefinitionCatalog.java
    struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/LayoutSettingsAction.java
    struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/LayoutSwitchAction.java
    struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/SimpleSwitchLayoutAction.java

Modified: struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserMenuAction.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserMenuAction.java?view=diff&rev=480914&r1=480913&r2=480914
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserMenuAction.java (original)
+++ struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserMenuAction.java Thu Nov 30 05:02:13 2006
@@ -24,26 +24,25 @@
 
 import java.io.IOException;
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.List;
 
 import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import javax.servlet.http.HttpSession;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.tiles.actions.TilesAction;
+import org.apache.tiles.ComponentAttribute;
 import org.apache.tiles.ComponentContext;
-import org.apache.tiles.ComponentDefinition;
-import org.apache.tiles.Controller;
-import org.apache.tiles.DefinitionsUtil;
-import org.apache.tiles.actions.TilesAction;
-import org.apache.tiles.beans.MenuItem;
+import org.apache.tiles.TilesApplicationContext;
+import org.apache.tiles.context.TilesRequestContext;
+import org.apache.tiles.context.servlet.ServletTilesRequestContext;
+import org.apache.tiles.preparer.ViewPreparer;
 
 /**
  * This controller load user menu settings and put them in tile context.
@@ -71,7 +70,7 @@
  *
  * @version $Rev$ $Date$
  */
-public final class UserMenuAction extends TilesAction implements Controller {
+public final class UserMenuAction extends TilesAction implements ViewPreparer {
 
 	/** 
 	 * Commons Logging instance.
@@ -138,12 +137,11 @@
 		HttpServletRequest request,
 		HttpServletResponse response)
 		throws Exception {
+        
+        TilesRequestContext tilesContext = new ServletTilesRequestContext(
+                request.getSession().getServletContext(), request, response);
 
-		this.execute(
-			context,
-			request,
-			response,
-			getServlet().getServletContext());
+		this.execute(tilesContext, context);
 
 		return null;
 	}
@@ -165,10 +163,15 @@
 		log.debug("Enter action UserMenuAction");
 
 		// Load user settings from user context
-		MenuSettings settings = getUserSettings(request, context);
+        
+        TilesRequestContext tilesContext = new ServletTilesRequestContext(
+                request.getSession().getServletContext(), request, response);
+        
+		MenuSettings settings = getUserSettings(tilesContext, context);
 
 		// Set parameters for rendering page
-		context.putAttribute(USER_ITEMS_ATTRIBUTE, settings.getItems());
+		context.putAttribute(USER_ITEMS_ATTRIBUTE, new ComponentAttribute(
+                settings.getItems()));
 
 		log.debug("settings=" + settings);
 		log.debug("Exit action UserMenuAction");
@@ -183,16 +186,14 @@
 	 * If settings are not found, initialized them.
 	 */
 	public static MenuSettings getUserSettings(
-		HttpServletRequest request,
+		TilesRequestContext tilesContext,
 		ComponentContext context)
 		throws ServletException {
 
-		// Get current session.
-		HttpSession session = request.getSession();
-
 		// Retrieve attribute name used to store settings.
 		String userSettingsName =
-			(String) context.getAttribute(USER_SETTINGS_NAME_ATTRIBUTE);
+			(String) context.getAttribute(USER_SETTINGS_NAME_ATTRIBUTE)
+            .getValue();
 
 		if (userSettingsName == null) {
 			userSettingsName = DEFAULT_USER_SETTINGS_NAME;
@@ -200,7 +201,7 @@
 
 		// Get user list from user context
 		MenuSettings settings =
-			(MenuSettings) session.getAttribute(userSettingsName);
+			(MenuSettings) tilesContext.getSessionScope().get(userSettingsName);
 
 		// If settings don't exist, create and initialize them
 		// Initialization is done from context attribute denoted by ITEMS
@@ -215,7 +216,7 @@
 			}
 
 			// Save user settings in session
-			session.setAttribute(userSettingsName, settings);
+			tilesContext.getSessionScope().put(userSettingsName, settings);
 		}
 
 		return settings;
@@ -228,21 +229,23 @@
 	 */
 	public static List getCatalog(
 		ComponentContext context,
-		HttpServletRequest request,
-		ServletContext servletContext)
+		TilesRequestContext tilesContext,
+        TilesApplicationContext applicationContext)
 		throws ServletException {
 
 		// Retrieve name used to store catalog in application context.
 		// If not found, use default name
 		String catalogName =
-			(String) context.getAttribute(MENU_CATALOG_NAME_ATTRIBUTE);
+			(String) context.getAttribute(MENU_CATALOG_NAME_ATTRIBUTE)
+            .getValue();
 
 		if (catalogName == null) {
 			catalogName = DEFAULT_MENU_CATALOG_NAME;
 		}
 
 		// Get catalog from context
-		List catalog = (List) servletContext.getAttribute(catalogName);
+		List catalog = (List) applicationContext.getApplicationScope()
+                .get(catalogName);
 
 		// If not found, initialize it from provided default menu
 		if (catalog == null) {
@@ -255,13 +258,14 @@
 			}
 
 			catalog = new ArrayList();
-			extractItems(catalog, menuBar, request, servletContext);
+			extractItems(catalog, menuBar, context, tilesContext,
+                    applicationContext);
 			if (catalog.size() == 0) {
 				throw new ServletException("Can't initialize menu items catalog");
 			}
 
 			// save it for future use
-			servletContext.setAttribute(catalogName, catalog);
+			applicationContext.getApplicationScope().put(catalogName, catalog);
 		}
 
 		return catalog;
@@ -287,18 +291,17 @@
 	private static void extractItems(
 		List result,
 		Object object,
-		HttpServletRequest request,
-		ServletContext servletContext) {
+        ComponentContext context,
+		TilesRequestContext tilesContext,
+		TilesApplicationContext applicationContext) {
 
 		log.debug("Extract menu item from '" + object + "'");
-
+        
+        // FIXME This method should be completely rewritten. For the moment
+        // I am commenting it.
+/*
 		if (object instanceof String) { // definition name
 			try {
-				ComponentDefinition def =
-					DefinitionsUtil.getDefinition(
-						(String) object,
-						request,
-						servletContext);
 
 				extractItems(result, def, request, servletContext);
 
@@ -327,30 +330,27 @@
 
 		} else if (object instanceof MenuItem) {
 			result.add(object);
-		}
+		} */
 	}
 
 	/**
 	 * @see org.apache.tiles.Controller#execute(org.apache.tiles.ComponentContext, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.ServletContext)
 	 */
-	public void execute(
-		ComponentContext tileContext,
-		HttpServletRequest request,
-		HttpServletResponse response,
-		ServletContext servletContext)
+	public void execute(TilesRequestContext tilesContext,
+		ComponentContext tileContext)
 		throws Exception {
             
 		log.debug("Enter action UserMenuAction");
 
 		// Load user settings from user context
-		MenuSettings settings = getUserSettings(request, tileContext);
+		MenuSettings settings = getUserSettings(tilesContext, tileContext);
 
 		// Set parameters for rendering page
-		tileContext.putAttribute(USER_ITEMS_ATTRIBUTE, settings.getItems());
+		tileContext.putAttribute(USER_ITEMS_ATTRIBUTE, new ComponentAttribute(
+                settings.getItems()));
 
 		log.debug("settings=" + settings);
 		log.debug("Exit action UserMenuAction");
 
 	}
-
 }

Modified: struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserMenuSettingsAction.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserMenuSettingsAction.java?view=diff&rev=480914&r1=480913&r2=480914
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserMenuSettingsAction.java (original)
+++ struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserMenuSettingsAction.java Thu Nov 30 05:02:13 2006
@@ -26,6 +26,7 @@
 import java.util.Iterator;
 import java.util.List;
 
+import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
@@ -34,9 +35,14 @@
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.tiles.actions.TilesAction;
+import org.apache.tiles.ComponentAttribute;
 import org.apache.tiles.ComponentContext;
-import org.apache.tiles.actions.TilesAction;
+import org.apache.tiles.TilesApplicationContext;
+import org.apache.tiles.access.TilesAccess;
 import org.apache.tiles.beans.MenuItem;
+import org.apache.tiles.context.TilesRequestContext;
+import org.apache.tiles.context.servlet.ServletTilesRequestContext;
 
 /**
  * Tiles controller as Struts Action.
@@ -99,14 +105,24 @@
         log.debug("Enter action UserMenuSettingsAction");
 
         MenuSettingsForm actionForm = (MenuSettingsForm) form;
+        
+        ServletContext servletContext = request.getSession()
+                .getServletContext();
+        
+        TilesApplicationContext applicationContext = TilesAccess
+                .getApplicationContext(servletContext);
+        
+        TilesRequestContext tilesContext = new ServletTilesRequestContext(
+                servletContext, request, response);
 
         // Load user menu settings and available list of choices
-        MenuSettings settings = UserMenuAction.getUserSettings(request, context);
+        MenuSettings settings = UserMenuAction.getUserSettings(tilesContext,
+                context);
         List catalog =
             UserMenuAction.getCatalog(
                 context,
-                request,
-                getServlet().getServletContext());
+                tilesContext,
+                applicationContext);
 
         // Check if form is submitted
         // If true, read, check and store new values submitted by user.
@@ -123,8 +139,9 @@
         }
 
         // Prepare data for view tile
-        context.putAttribute("userItems", settings.getItems());
-        context.putAttribute("catalog", catalog);
+        context.putAttribute("userItems", new ComponentAttribute(settings
+                .getItems()));
+        context.putAttribute("catalog", new ComponentAttribute(catalog));
 
         log.debug("Exit action UserMenuSettingsAction");
         return null;

Modified: struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserPortalAction.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserPortalAction.java?view=diff&rev=480914&r1=480913&r2=480914
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserPortalAction.java (original)
+++ struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserPortalAction.java Thu Nov 30 05:02:13 2006
@@ -32,8 +32,9 @@
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.tiles.actions.TilesAction;
+import org.apache.tiles.ComponentAttribute;
 import org.apache.tiles.ComponentContext;
-import org.apache.tiles.actions.TilesAction;
 
 /**
  * This controller load user portal settings and put them in tile context.
@@ -105,10 +106,12 @@
         PortalSettings settings = getSettings(request, context);
 
         // Set parameters for tiles
-        context.putAttribute("numCols", Integer.toString(settings.getNumCols()));
+        context.putAttribute("numCols", new ComponentAttribute(Integer
+                .toString(settings.getNumCols())));
 
         for (int i = 0; i < settings.getNumCols(); i++) {
-            context.putAttribute("list" + i, settings.getListAt(i));
+            context.putAttribute("list" + i, new ComponentAttribute(settings
+                    .getListAt(i)));
         }
 
         return null;
@@ -127,7 +130,8 @@
 
         // Retrieve user context id used to store settings
         String userSettingsId =
-            (String) context.getAttribute(USER_SETTINGS_NAME_ATTRIBUTE);
+            (String) context.getAttribute(USER_SETTINGS_NAME_ATTRIBUTE)
+                    .getValue();
 
         if (userSettingsId == null) {
             userSettingsId = DEFAULT_USER_SETTINGS_NAME;
@@ -140,7 +144,8 @@
         if (settings == null) {
             // List doesn't exist, create it and initialize it from Tiles parameters
             settings = new PortalSettings();
-            settings.setNumCols((String) context.getAttribute(NUMCOLS_ATTRIBUTE));
+            settings.setNumCols((String) context.getAttribute(NUMCOLS_ATTRIBUTE)
+                    .getValue());
 
             for (int i = 0; i < settings.getNumCols(); i++) {
                 List tiles =
@@ -170,7 +175,8 @@
         if (catalog == null) { // Initialize catalog
             catalog = new PortalCatalog();
             int numCols =
-                Integer.parseInt((String) context.getAttribute(NUMCOLS_ATTRIBUTE));
+                Integer.parseInt((String) context.getAttribute(
+                        NUMCOLS_ATTRIBUTE).getValue());
 
             for (int i = 0; i < numCols; i++) {
                 List tiles =

Modified: struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserPortalSettingsAction.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserPortalSettingsAction.java?view=diff&rev=480914&r1=480913&r2=480914
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserPortalSettingsAction.java (original)
+++ struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserPortalSettingsAction.java Thu Nov 30 05:02:13 2006
@@ -28,8 +28,8 @@
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.tiles.actions.TilesAction;
 import org.apache.tiles.ComponentContext;
-import org.apache.tiles.actions.TilesAction;
 
 /**
  * Implementation of <strong>Action</strong> that populates an instance of

Modified: struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/rssChannel/Channels.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/rssChannel/Channels.java?view=diff&rev=480914&r1=480913&r2=480914
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/rssChannel/Channels.java (original)
+++ struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/rssChannel/Channels.java Thu Nov 30 05:02:13 2006
@@ -37,9 +37,10 @@
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
-import org.apache.struts.action.ActionMessage;
 import org.apache.struts.action.ActionMessages;
+import org.apache.tiles.ComponentAttribute;
 import org.apache.tiles.ComponentContext;
+import org.apache.tiles.access.TilesAccess;
 
 /**
  * Read and parse RSS files found at on a given
@@ -84,7 +85,9 @@
         log.debug("Enter Rss Channel Action");
 
         // Try to retrieve tile context
-        ComponentContext context = ComponentContext.getContext(request);
+        ComponentContext context = TilesAccess.getContainer(request
+                .getSession().getServletContext()).getComponentContext(request,
+                response);
         if (context == null) {
             throw new ServletException("This action must be called by a Tile, not directly");
         }
@@ -150,7 +153,8 @@
         log.debug("Exit Rss Channel Action");
 
         // Use Tile context to pass channels
-        context.putAttribute(CHANNELS_KEY, channelBeans);
+        context.putAttribute(CHANNELS_KEY, new ComponentAttribute(
+                channelBeans));
 
         return mapping.findForward("continue");
     }

Modified: struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/rssChannel/RssChannelsAction.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/rssChannel/RssChannelsAction.java?view=diff&rev=480914&r1=480913&r2=480914
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/rssChannel/RssChannelsAction.java (original)
+++ struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/rssChannel/RssChannelsAction.java Thu Nov 30 05:02:13 2006
@@ -35,10 +35,10 @@
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
-import org.apache.struts.action.ActionMessage;
 import org.apache.struts.action.ActionMessages;
+import org.apache.struts.tiles.actions.TilesAction;
+import org.apache.tiles.ComponentAttribute;
 import org.apache.tiles.ComponentContext;
-import org.apache.tiles.actions.TilesAction;
 
 /**
  * Read and parse RSS files found at on a given
@@ -157,7 +157,8 @@
         log.debug("Exit Rss Channel Action");
 
         // Use Tile context to pass channels
-        context.putAttribute(CHANNELS_KEY, channelBeans);
+        context.putAttribute(CHANNELS_KEY, new ComponentAttribute(
+                channelBeans));
 
         return null;
     }

Modified: struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/DefinitionCatalog.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/DefinitionCatalog.java?view=diff&rev=480914&r1=480913&r2=480914
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/DefinitionCatalog.java (original)
+++ struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/DefinitionCatalog.java Thu Nov 30 05:02:13 2006
@@ -31,11 +31,11 @@
 import javax.servlet.ServletContext;
 import javax.servlet.http.HttpServletRequest;
 
-import org.apache.tiles.ComponentDefinition;
-import org.apache.tiles.DefinitionsFactoryException;
-import org.apache.tiles.DefinitionsUtil;
-import org.apache.tiles.FactoryNotFoundException;
-import org.apache.tiles.NoSuchDefinitionException;
+import org.apache.struts.tiles.DefinitionsUtil;
+import org.apache.tiles.definition.ComponentDefinition;
+import org.apache.tiles.definition.DefinitionsFactoryException;
+import org.apache.tiles.definition.FactoryNotFoundException;
+import org.apache.tiles.definition.NoSuchDefinitionException;
 
 /**
  * A catalog of available definitions.
@@ -81,7 +81,9 @@
      throws FactoryNotFoundException, DefinitionsFactoryException
    {
      // Get definition containing list of definitions
-   ComponentDefinition catalogDef = DefinitionsUtil.getDefinition( catalogName, request, context);
+     // FIXME Currently I don't know how to get a definition.
+   ComponentDefinition catalogDef = null; 
+//   ComponentDefinition catalogDef = DefinitionsUtil.getDefinition( catalogName, request, context);
    if(debug)
      System.out.println( "Got definition " + catalogDef );
      // Get list of definition names
@@ -91,7 +93,9 @@
      {
      String name = (String)i.next();
      System.out.println( "add " + name );
-     ComponentDefinition def = DefinitionsUtil.getDefinition(name, request, context);
+     ComponentDefinition def = null;
+     // FIXME Currently I don't know how to get a definition.
+//     ComponentDefinition def = DefinitionsUtil.getDefinition(name, request, context);
      if(def==null)
        throw new NoSuchDefinitionException("Can't find definition '" + name + "'" );
      add( name, def );

Modified: struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/LayoutSettingsAction.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/LayoutSettingsAction.java?view=diff&rev=480914&r1=480913&r2=480914
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/LayoutSettingsAction.java (original)
+++ struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/LayoutSettingsAction.java Thu Nov 30 05:02:13 2006
@@ -27,8 +27,9 @@
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.tiles.actions.TilesAction;
+import org.apache.tiles.ComponentAttribute;
 import org.apache.tiles.ComponentContext;
-import org.apache.tiles.actions.TilesAction;
 
 /**
  * Action used to set user skin.
@@ -95,8 +96,8 @@
       } // end if
 
       // Prepare data for view tile
-    context.putAttribute( "selected", selected );
-    context.putAttribute( "catalog", catalog );
+    context.putAttribute("selected", new ComponentAttribute(selected));
+    context.putAttribute("catalog", new ComponentAttribute(catalog));
 
     if(debug)
       System.out.println("Exit action LayoutSettingAction");

Modified: struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/LayoutSwitchAction.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/LayoutSwitchAction.java?view=diff&rev=480914&r1=480913&r2=480914
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/LayoutSwitchAction.java (original)
+++ struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/LayoutSwitchAction.java Thu Nov 30 05:02:13 2006
@@ -28,13 +28,14 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
+
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.tiles.actions.TilesAction;
 import org.apache.tiles.ComponentContext;
-import org.apache.tiles.ComponentDefinition;
-import org.apache.tiles.DefinitionsFactoryException;
-import org.apache.tiles.actions.TilesAction;
+import org.apache.tiles.definition.ComponentDefinition;
+import org.apache.tiles.definition.DefinitionsFactoryException;
 
   /**
    * Customize layouts according to predefined "skin"
@@ -101,7 +102,8 @@
     if(debug)
       System.out.println( "EnterLayoutSwitchAction"  );
       // Get attribute value indicating which layout we want
-    String layoutKey = (String)context.getAttribute( LAYOUT_ATTRIBUTE );
+    String layoutKey = (String)context.getAttribute(LAYOUT_ATTRIBUTE)
+            .getValue();
     if(layoutKey==null)
       throw new ServletException( "Error - CustomSkinAction : attribute '"
                                   + LAYOUT_ATTRIBUTE
@@ -146,7 +148,8 @@
     return null;
 
     // Retrieve attribute name used to store settings.
-  String userSettingsName = (String)context.getAttribute( USER_SETTINGS_NAME_ATTRIBUTE );
+  String userSettingsName = (String)context.getAttribute(
+          USER_SETTINGS_NAME_ATTRIBUTE).getValue();
   if( userSettingsName == null )
     userSettingsName = DEFAULT_USER_SETTINGS_NAME;
 
@@ -163,7 +166,8 @@
   HttpSession session = request.getSession();
 
     // Retrieve attribute name used to store settings.
-  String userSettingsName = (String)context.getAttribute( USER_SETTINGS_NAME_ATTRIBUTE );
+  String userSettingsName = (String)context.getAttribute(
+          USER_SETTINGS_NAME_ATTRIBUTE).getValue();
   if( userSettingsName == null )
     userSettingsName = DEFAULT_USER_SETTINGS_NAME;
 
@@ -195,7 +199,8 @@
   {
     // Retrieve name used to store catalog in application context.
     // If not found, use default name
-  String catalogName = (String)context.getAttribute( CATALOG_NAME_ATTRIBUTE );
+  String catalogName = (String)context.getAttribute(CATALOG_NAME_ATTRIBUTE)
+          .getValue();
   if(catalogName == null)
     catalogName = DEFAULT_CATALOG_NAME;
 
@@ -208,7 +213,8 @@
       { // create catalog
       if(debug)
         System.out.println( "Create catalog" );
-      String catalogSettings = (String)context.getAttribute( CATALOG_SETTING_ATTRIBUTE );
+      String catalogSettings = (String)context.getAttribute(
+              CATALOG_SETTING_ATTRIBUTE).getValue();
       if(catalogSettings == null)
         throw new ServletException( "Error - CustomSkinAction : attribute '"
                                   + CATALOG_SETTING_ATTRIBUTE

Modified: struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/SimpleSwitchLayoutAction.java
URL: http://svn.apache.org/viewvc/struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/SimpleSwitchLayoutAction.java?view=diff&rev=480914&r1=480913&r2=480914
==============================================================================
--- struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/SimpleSwitchLayoutAction.java (original)
+++ struts/sandbox/trunk/tiles/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/SimpleSwitchLayoutAction.java Thu Nov 30 05:02:13 2006
@@ -28,12 +28,13 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
+
 import org.apache.struts.action.ActionForm;
 import org.apache.struts.action.ActionForward;
 import org.apache.struts.action.ActionMapping;
+import org.apache.struts.tiles.actions.TilesAction;
 import org.apache.tiles.ComponentContext;
-import org.apache.tiles.DefinitionsFactoryException;
-import org.apache.tiles.actions.TilesAction;
+import org.apache.tiles.definition.DefinitionsFactoryException;
 
 /**
  * Simple Switch Layout
@@ -92,7 +93,7 @@
     String layoutDir = "/layouts/";
     String userSelection = getUserSetting( context, request );
     //String layout = "classicLayout.jsp";
-    String layout = (String)context.getAttribute( LAYOUT_ATTRIBUTE );
+    String layout = (String)context.getAttribute(LAYOUT_ATTRIBUTE).getValue();
     if(layout==null)
       throw new ServletException( "Attribute '" + LAYOUT_ATTRIBUTE + "' is required." );
 
@@ -125,7 +126,8 @@
     return null;
 
     // Retrieve attribute name used to store settings.
-  String userSettingsName = (String)context.getAttribute( USER_SETTINGS_NAME_ATTRIBUTE );
+  String userSettingsName = (String)context.getAttribute(
+          USER_SETTINGS_NAME_ATTRIBUTE).getValue();
   if( userSettingsName == null )
     userSettingsName = DEFAULT_USER_SETTINGS_NAME;
 
@@ -142,7 +144,8 @@
   HttpSession session = request.getSession();
 
     // Retrieve attribute name used to store settings.
-  String userSettingsName = (String)context.getAttribute( USER_SETTINGS_NAME_ATTRIBUTE );
+  String userSettingsName = (String)context.getAttribute(
+          USER_SETTINGS_NAME_ATTRIBUTE).getValue();
   if( userSettingsName == null )
     userSettingsName = DEFAULT_USER_SETTINGS_NAME;
 
@@ -157,7 +160,8 @@
   {
     // Retrieve name used to store catalog in application context.
     // If not found, use default name
-  String catalogName = (String)context.getAttribute( CATALOG_NAME_ATTRIBUTE );
+  String catalogName = (String)context.getAttribute(
+          CATALOG_NAME_ATTRIBUTE).getValue();
   if(catalogName == null)
     catalogName = DEFAULT_CATALOG_NAME;
 
@@ -170,7 +174,8 @@
       { // create catalog
       if(debug)
         System.out.println( "Create catalog" );
-      String catalogSettings = (String)context.getAttribute( CATALOG_SETTING_ATTRIBUTE );
+      String catalogSettings = (String)context.getAttribute(
+              CATALOG_SETTING_ATTRIBUTE).getValue();
       if(catalogSettings == null)
         throw new ServletException( "Error - CustomSkinAction : attribute '"
                                   + CATALOG_SETTING_ATTRIBUTE