You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tiles.apache.org by ap...@apache.org on 2007/02/12 12:25:19 UTC

svn commit: r506419 - in /tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase: channel/ dynPortal/ portal/ skin/ test/

Author: apetrelli
Date: Mon Feb 12 03:25:17 2007
New Revision: 506419

URL: http://svn.apache.org/viewvc?view=rev&rev=506419
Log:
TILES-12
A bit of corrections and null checking.

Added:
    tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/channel/AttributeUtils.java
Modified:
    tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/dynPortal/RetrievePortalAction.java
    tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserMenuAction.java
    tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserPortalAction.java
    tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/LayoutSwitchAction.java
    tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/SimpleSwitchLayoutAction.java
    tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/test/TestActionTileAction.java
    tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/test/TestTileController.java

Added: tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/channel/AttributeUtils.java
URL: http://svn.apache.org/viewvc/tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/channel/AttributeUtils.java?view=auto&rev=506419
==============================================================================
--- tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/channel/AttributeUtils.java (added)
+++ tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/channel/AttributeUtils.java Mon Feb 12 03:25:17 2007
@@ -0,0 +1,43 @@
+/*
+ * $Id: UserMenuAction.java 493466 2007-01-06 13:00:16Z apetrelli $
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.tiles.showcase.channel;
+
+import org.apache.tiles.ComponentAttribute;
+
+/**
+ * @version $Rev$ $Date$
+ */
+public class AttributeUtils {
+
+    private AttributeUtils() {
+    }
+    
+    public static String getAttributeValueAsString(ComponentAttribute attribute) {
+        String retValue = null;
+        
+        if (attribute != null) {
+            retValue = (String) attribute.getValue();
+        }
+        
+        return retValue;
+    }
+}

Modified: tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/dynPortal/RetrievePortalAction.java
URL: http://svn.apache.org/viewvc/tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/dynPortal/RetrievePortalAction.java?view=diff&rev=506419&r1=506418&r2=506419
==============================================================================
--- tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/dynPortal/RetrievePortalAction.java (original)
+++ tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/dynPortal/RetrievePortalAction.java Mon Feb 12 03:25:17 2007
@@ -34,6 +34,7 @@
 import org.apache.tiles.ComponentAttribute;
 import org.apache.tiles.ComponentContext;
 import org.apache.tiles.access.TilesAccess;
+import org.apache.tiles.showcase.channel.AttributeUtils;
 
 
 /**
@@ -115,8 +116,8 @@
     if( settings == null )
       { // List doesn't exist, create it and initialize it from Tiles parameters
       settings = new PortalSettings();
-      settings.setNumCols( (String)context.getAttribute( PARAM_NUMCOLS )
-              .getValue() );
+      settings.setNumCols(AttributeUtils.getAttributeValueAsString(
+              context.getAttribute( PARAM_NUMCOLS )));
       for( int i=0; i<settings.getNumCols(); i++ )
         {
         List col = (List)context.getAttribute( ((String)PARAM_LIST+i) );

Modified: tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserMenuAction.java
URL: http://svn.apache.org/viewvc/tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserMenuAction.java?view=diff&rev=506419&r1=506418&r2=506419
==============================================================================
--- tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserMenuAction.java (original)
+++ tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserMenuAction.java Mon Feb 12 03:25:17 2007
@@ -40,9 +40,11 @@
 import org.apache.tiles.ComponentAttribute;
 import org.apache.tiles.ComponentContext;
 import org.apache.tiles.TilesApplicationContext;
+import org.apache.tiles.context.ComponentListAttribute;
 import org.apache.tiles.context.TilesRequestContext;
 import org.apache.tiles.context.servlet.ServletTilesRequestContext;
 import org.apache.tiles.preparer.ViewPreparer;
+import org.apache.tiles.showcase.channel.AttributeUtils;
 
 /**
  * This controller load user menu settings and put them in tile context.
@@ -191,9 +193,8 @@
 		throws ServletException {
 
 		// Retrieve attribute name used to store settings.
-		String userSettingsName =
-			(String) context.getAttribute(USER_SETTINGS_NAME_ATTRIBUTE)
-            .getValue();
+		String userSettingsName = AttributeUtils.getAttributeValueAsString(
+                context.getAttribute(USER_SETTINGS_NAME_ATTRIBUTE));
 
 		if (userSettingsName == null) {
 			userSettingsName = DEFAULT_USER_SETTINGS_NAME;
@@ -209,8 +210,9 @@
 			// List doesn't exist, create it and initialize it from Tiles parameters
 			settings = new MenuSettings();
 			try {
-				settings.addItems(
-					(List) context.getAttribute(USER_ITEMS_ATTRIBUTE));
+                ComponentListAttribute settingsAttribute =
+                    (ComponentListAttribute) context.getAttribute(USER_ITEMS_ATTRIBUTE);  
+				settings.addItems((List) settingsAttribute.getValue());
 			} catch (ClassCastException ex) {
 				throw new ServletException("Can't initialize user menu : default items must be a list of items");
 			}
@@ -235,9 +237,8 @@
 
 		// Retrieve name used to store catalog in application context.
 		// If not found, use default name
-		String catalogName =
-			(String) context.getAttribute(MENU_CATALOG_NAME_ATTRIBUTE)
-            .getValue();
+		String catalogName =AttributeUtils.getAttributeValueAsString(
+                context.getAttribute(MENU_CATALOG_NAME_ATTRIBUTE));
 
 		if (catalogName == null) {
 			catalogName = DEFAULT_MENU_CATALOG_NAME;

Modified: tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserPortalAction.java
URL: http://svn.apache.org/viewvc/tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserPortalAction.java?view=diff&rev=506419&r1=506418&r2=506419
==============================================================================
--- tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserPortalAction.java (original)
+++ tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/portal/UserPortalAction.java Mon Feb 12 03:25:17 2007
@@ -35,6 +35,8 @@
 import org.apache.struts.tiles2.actions.TilesAction;
 import org.apache.tiles.ComponentAttribute;
 import org.apache.tiles.ComponentContext;
+import org.apache.tiles.context.ComponentListAttribute;
+import org.apache.tiles.showcase.channel.AttributeUtils;
 
 /**
  * This controller load user portal settings and put them in tile context.
@@ -130,8 +132,8 @@
 
         // Retrieve user context id used to store settings
         String userSettingsId =
-            (String) context.getAttribute(USER_SETTINGS_NAME_ATTRIBUTE)
-                    .getValue();
+            AttributeUtils.getAttributeValueAsString(
+                    context.getAttribute(USER_SETTINGS_NAME_ATTRIBUTE));
 
         if (userSettingsId == null) {
             userSettingsId = DEFAULT_USER_SETTINGS_NAME;
@@ -149,7 +151,8 @@
 
             for (int i = 0; i < settings.getNumCols(); i++) {
                 List tiles =
-                    (List) context.getAttribute(((String) LIST_ATTRIBUTE + i));
+                    (List) ((ComponentListAttribute)
+                            context.getAttribute(((String) LIST_ATTRIBUTE + i))).getValue();
 
                 settings.setListAt(i, tiles);
             }
@@ -175,8 +178,8 @@
         if (catalog == null) { // Initialize catalog
             catalog = new PortalCatalog();
             int numCols =
-                Integer.parseInt((String) context.getAttribute(
-                        NUMCOLS_ATTRIBUTE).getValue());
+                Integer.parseInt(AttributeUtils.getAttributeValueAsString(
+                        context.getAttribute(NUMCOLS_ATTRIBUTE)));
 
             for (int i = 0; i < numCols; i++) {
                 List tiles =

Modified: tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/LayoutSwitchAction.java
URL: http://svn.apache.org/viewvc/tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/LayoutSwitchAction.java?view=diff&rev=506419&r1=506418&r2=506419
==============================================================================
--- tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/LayoutSwitchAction.java (original)
+++ tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/LayoutSwitchAction.java Mon Feb 12 03:25:17 2007
@@ -36,6 +36,7 @@
 import org.apache.tiles.ComponentContext;
 import org.apache.tiles.definition.ComponentDefinition;
 import org.apache.tiles.definition.DefinitionsFactoryException;
+import org.apache.tiles.showcase.channel.AttributeUtils;
 
   /**
    * Customize layouts according to predefined "skin"
@@ -102,8 +103,8 @@
     if(debug)
       System.out.println( "EnterLayoutSwitchAction"  );
       // Get attribute value indicating which layout we want
-    String layoutKey = (String)context.getAttribute(LAYOUT_ATTRIBUTE)
-            .getValue();
+    String layoutKey = AttributeUtils.getAttributeValueAsString(
+            context.getAttribute(LAYOUT_ATTRIBUTE));
     if(layoutKey==null)
       throw new ServletException( "Error - CustomSkinAction : attribute '"
                                   + LAYOUT_ATTRIBUTE
@@ -148,8 +149,8 @@
     return null;
 
     // Retrieve attribute name used to store settings.
-  String userSettingsName = (String)context.getAttribute(
-          USER_SETTINGS_NAME_ATTRIBUTE).getValue();
+  String userSettingsName = AttributeUtils.getAttributeValueAsString(
+          context.getAttribute(USER_SETTINGS_NAME_ATTRIBUTE));
   if( userSettingsName == null )
     userSettingsName = DEFAULT_USER_SETTINGS_NAME;
 
@@ -166,8 +167,8 @@
   HttpSession session = request.getSession();
 
     // Retrieve attribute name used to store settings.
-  String userSettingsName = (String)context.getAttribute(
-          USER_SETTINGS_NAME_ATTRIBUTE).getValue();
+  String userSettingsName = AttributeUtils.getAttributeValueAsString(
+          context.getAttribute(USER_SETTINGS_NAME_ATTRIBUTE));
   if( userSettingsName == null )
     userSettingsName = DEFAULT_USER_SETTINGS_NAME;
 
@@ -199,8 +200,8 @@
   {
     // Retrieve name used to store catalog in application context.
     // If not found, use default name
-  String catalogName = (String)context.getAttribute(CATALOG_NAME_ATTRIBUTE)
-          .getValue();
+  String catalogName = AttributeUtils.getAttributeValueAsString(
+          context.getAttribute(CATALOG_NAME_ATTRIBUTE));
   if(catalogName == null)
     catalogName = DEFAULT_CATALOG_NAME;
 

Modified: tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/SimpleSwitchLayoutAction.java
URL: http://svn.apache.org/viewvc/tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/SimpleSwitchLayoutAction.java?view=diff&rev=506419&r1=506418&r2=506419
==============================================================================
--- tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/SimpleSwitchLayoutAction.java (original)
+++ tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/skin/SimpleSwitchLayoutAction.java Mon Feb 12 03:25:17 2007
@@ -35,6 +35,7 @@
 import org.apache.struts.tiles2.actions.TilesAction;
 import org.apache.tiles.ComponentContext;
 import org.apache.tiles.definition.DefinitionsFactoryException;
+import org.apache.tiles.showcase.channel.AttributeUtils;
 
 /**
  * Simple Switch Layout
@@ -93,7 +94,8 @@
     String layoutDir = "/layouts/";
     String userSelection = getUserSetting( context, request );
     //String layout = "classicLayout.jsp";
-    String layout = (String)context.getAttribute(LAYOUT_ATTRIBUTE).getValue();
+    String layout = AttributeUtils.getAttributeValueAsString(
+            context.getAttribute(LAYOUT_ATTRIBUTE));
     if(layout==null)
       throw new ServletException( "Attribute '" + LAYOUT_ATTRIBUTE + "' is required." );
 
@@ -126,8 +128,8 @@
     return null;
 
     // Retrieve attribute name used to store settings.
-  String userSettingsName = (String)context.getAttribute(
-          USER_SETTINGS_NAME_ATTRIBUTE).getValue();
+  String userSettingsName = AttributeUtils.getAttributeValueAsString(
+          context.getAttribute(USER_SETTINGS_NAME_ATTRIBUTE));
   if( userSettingsName == null )
     userSettingsName = DEFAULT_USER_SETTINGS_NAME;
 
@@ -144,8 +146,8 @@
   HttpSession session = request.getSession();
 
     // Retrieve attribute name used to store settings.
-  String userSettingsName = (String)context.getAttribute(
-          USER_SETTINGS_NAME_ATTRIBUTE).getValue();
+  String userSettingsName = AttributeUtils.getAttributeValueAsString(
+          context.getAttribute(USER_SETTINGS_NAME_ATTRIBUTE));
   if( userSettingsName == null )
     userSettingsName = DEFAULT_USER_SETTINGS_NAME;
 
@@ -160,8 +162,8 @@
   {
     // Retrieve name used to store catalog in application context.
     // If not found, use default name
-  String catalogName = (String)context.getAttribute(
-          CATALOG_NAME_ATTRIBUTE).getValue();
+  String catalogName = AttributeUtils.getAttributeValueAsString(
+          context.getAttribute(CATALOG_NAME_ATTRIBUTE));
   if(catalogName == null)
     catalogName = DEFAULT_CATALOG_NAME;
 
@@ -174,8 +176,8 @@
       { // create catalog
       if(debug)
         System.out.println( "Create catalog" );
-      String catalogSettings = (String)context.getAttribute(
-              CATALOG_SETTING_ATTRIBUTE).getValue();
+      String catalogSettings = AttributeUtils.getAttributeValueAsString(
+              context.getAttribute(CATALOG_SETTING_ATTRIBUTE));
       if(catalogSettings == null)
         throw new ServletException( "Error - CustomSkinAction : attribute '"
                                   + CATALOG_SETTING_ATTRIBUTE

Modified: tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/test/TestActionTileAction.java
URL: http://svn.apache.org/viewvc/tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/test/TestActionTileAction.java?view=diff&rev=506419&r1=506418&r2=506419
==============================================================================
--- tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/test/TestActionTileAction.java (original)
+++ tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/test/TestActionTileAction.java Mon Feb 12 03:25:17 2007
@@ -31,6 +31,7 @@
 import org.apache.struts.action.ActionMapping;
 import org.apache.tiles.ComponentContext;
 import org.apache.tiles.access.TilesAccess;
+import org.apache.tiles.showcase.channel.AttributeUtils;
 
 
 /**
@@ -75,7 +76,8 @@
     String param;
 
       // Set a definition in this action
-    param = (String) context.getAttribute("set-definition-name").getValue();
+    param = AttributeUtils.getAttributeValueAsString(
+            context.getAttribute("set-definition-name"));
     if( param != null )
       {
         // FIXME Currently I don't know how to get a definition!
@@ -104,7 +106,8 @@
 //      }
 
       // Overload a parameter
-    param = (String) context.getAttribute("set-attribute").getValue();
+    param = AttributeUtils.getAttributeValueAsString(
+            context.getAttribute("set-attribute"));
     if( param != null )
       {
       context.putAttribute( param, context.getAttribute( "set-attribute-value" ));

Modified: tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/test/TestTileController.java
URL: http://svn.apache.org/viewvc/tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/test/TestTileController.java?view=diff&rev=506419&r1=506418&r2=506419
==============================================================================
--- tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/test/TestTileController.java (original)
+++ tiles/examples/trunk/tiles-showcase/src/main/java/org/apache/tiles/showcase/test/TestTileController.java Mon Feb 12 03:25:17 2007
@@ -32,6 +32,7 @@
 import org.apache.tiles.ComponentAttribute;
 import org.apache.tiles.ComponentContext;
 import org.apache.tiles.preparer.ViewPreparerSupport;
+import org.apache.tiles.showcase.channel.AttributeUtils;
 
 
   /**
@@ -61,7 +62,8 @@
    System.out.println( "Controller called" );
 
 
-   String title = (String) tileContext.getAttribute("title").getValue();
+   String title = AttributeUtils.getAttributeValueAsString(
+           tileContext.getAttribute("title"));
    title += "- controller called";
    tileContext.putAttribute("title", new ComponentAttribute(title));
    }