dgraham 2003/08/16 11:15:17 Modified: src/tiles-documentation/org/apache/struts/webapp/tiles/portal UserMenuSettingsAction.java Log: Formatted and replaced hardcoded debugging with commons logging. Revision Changes Path 1.4 +107 -105 jakarta-struts/src/tiles-documentation/org/apache/struts/webapp/tiles/portal/UserMenuSettingsAction.java Index: UserMenuSettingsAction.java =================================================================== RCS file: /home/cvs/jakarta-struts/src/tiles-documentation/org/apache/struts/webapp/tiles/portal/UserMenuSettingsAction.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- UserMenuSettingsAction.java 21 Jul 2003 15:18:46 -0000 1.3 +++ UserMenuSettingsAction.java 16 Aug 2003 18:15:17 -0000 1.4 @@ -7,7 +7,7 @@ * * The Apache Software License, Version 1.1 * - * Copyright (c) 1999-2002 The Apache Software Foundation. All rights + * Copyright (c) 1999-2003 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without @@ -61,15 +61,15 @@ package org.apache.struts.webapp.tiles.portal; -import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; import java.util.List; -import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +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; @@ -77,23 +77,23 @@ import org.apache.struts.tiles.actions.TilesAction; import org.apache.struts.tiles.beans.MenuItem; - /** - * Tiles controller as Struts Action. - * This controller take a list of lists of MenuItems, and arrange them - * to be shown by appropriate jsp view. - * Create and set following attribute in Tile context : - * <ul> - * <li>names : list of names to display</li> - * <li>returnedValues : list of corresponding key, or values to return</li> - * <li>selecteds : list of boolean indicating whether or not a name is selected</li> - * </ul> +/** + * Tiles controller as Struts Action. + * This controller take a list of lists of MenuItems, and arrange them + * to be shown by appropriate jsp view. + * Create and set following attribute in Tile context : + * <ul> + * <li>names : list of names to display</li> + * <li>returnedValues : list of corresponding key, or values to return</li> + * <li>selecteds : list of boolean indicating whether or not a name is selected</li> + * </ul> * Tiles input attributes : * <ul> * <li>title : menu title</li> * <li>items : Menu entries used as default when user settings is created</li> * <li>defaultChoice : Menus or menu entries porposed as choice to user</li> * <li>storeUnderName : Store user settings under provided name in session context [optional]</li> - * <li></li> + * <li></li> * </ul> * Tiles output attributes : * <ul> @@ -101,107 +101,109 @@ * <li>userItems : List of user actual menu items</li> * </ul> * - */ -public class UserMenuSettingsAction extends TilesAction -{ - /** debug flag */ - public static boolean debug = false; - - /** - * Process the specified HTTP request, and create the corresponding HTTP - * response (or forward to another web component that will create it). - * Return an <code>ActionForward</code> instance describing where and how - * control should be forwarded, or <code>null</code> if the response has - * already been completed. - * - * @param context The current Tile context, containing Tile attributes. - * @param mapping The ActionMapping used to select this instance. - * @param form The optional ActionForm bean for this request (if any). - * @param request The HTTP request we are processing. - * @param response The HTTP response we are creating. - * - * @exception Exception if the application business logic throws - * an exception - * @since Struts 1.1 + */ +public class UserMenuSettingsAction extends TilesAction { + + /** + * Commons Logging instance. */ + private static Log log = LogFactory.getLog(UserMenuSettingsAction.class); + + /** + * Process the specified HTTP request, and create the corresponding HTTP + * response (or forward to another web component that will create it). + * Return an <code>ActionForward</code> instance describing where and how + * control should be forwarded, or <code>null</code> if the response has + * already been completed. + * + * @param context The current Tile context, containing Tile attributes. + * @param mapping The ActionMapping used to select this instance. + * @param form The optional ActionForm bean for this request (if any). + * @param request The HTTP request we are processing. + * @param response The HTTP response we are creating. + * + * @exception Exception if the application business logic throws + * an exception + * @since Struts 1.1 + */ public ActionForward execute( ComponentContext context, ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) - throws Exception - { - if(debug) - System.out.println("Enter action UserMenuSettingsAction"); + throws Exception { + + log.debug("Enter action UserMenuSettingsAction"); - MenuSettingsForm actionForm = (MenuSettingsForm)form; + MenuSettingsForm actionForm = (MenuSettingsForm) form; // Load user menu settings and available list of choices - MenuSettings settings = UserMenuAction.getUserSettings( request, context ); - List catalog = UserMenuAction.getCatalog( context, request, getServlet().getServletContext() ); + MenuSettings settings = UserMenuAction.getUserSettings(request, context); + List catalog = + UserMenuAction.getCatalog( + context, + request, + getServlet().getServletContext()); + + // Check if form is submitted + // If true, read, check and store new values submitted by user. + if (actionForm.isSubmitted()) { // read arrays + + log.debug("form submitted"); - // Check if form is submitted - // If true, read, check and store new values submitted by user. - if( actionForm.isSubmitted() ) - { // read arrays - if(debug) - System.out.println("form submitted"); - - settings.reset(); - settings.addItems( getItems(actionForm.getSelected(), catalog) ); - if(debug) - System.out.println( "settings : " +settings.toString() ); - actionForm.reset(); - //return null; // (mapping.findForward("viewPortal")); - } // end if - - // Prepare data for view tile - context.putAttribute( "userItems", settings.getItems() ); - context.putAttribute( "catalog", catalog ); - - if(debug) - System.out.println("Exit action UserMenuSettingsAction"); - return null; + settings.reset(); + settings.addItems(getItems(actionForm.getSelected(), catalog)); + + log.debug("settings : " + settings.toString()); + actionForm.reset(); + + } + + // Prepare data for view tile + context.putAttribute("userItems", settings.getItems()); + context.putAttribute("catalog", catalog); + + log.debug("Exit action UserMenuSettingsAction"); + return null; } - /** - * Check selected items, and return apppropriate list of items. - * For each item in selected list, check if it exist in catalog. - * Also check for double. - * @param selectedKey Key of selected items (generally, link url) - * @param catalog List of avalaible items to compare against. - */ - static protected List getItems( String[] selectedKey, List catalog ) - { - List selectedList = java.util.Arrays.asList( selectedKey ); - List result = new ArrayList(selectedList.size()); - - //////////////// - Iterator iter = selectedList.iterator(); - while( iter.hasNext() ) - { - MenuItem item = getItem( iter.next(), catalog); - if( item != null ) - result.add(item ); - } // end loop - return result; + /** + * Check selected items, and return apppropriate list of items. + * For each item in selected list, check if it exist in catalog. + * Also check for double. + * @param selectedKey Key of selected items (generally, link url) + * @param catalog List of avalaible items to compare against. + */ + protected static List getItems(String[] selectedKey, List catalog) { + List selectedList = java.util.Arrays.asList(selectedKey); + List result = new ArrayList(selectedList.size()); + + Iterator iter = selectedList.iterator(); + while (iter.hasNext()) { + MenuItem item = getItem(iter.next(), catalog); + if (item != null) { + result.add(item); + } + } + return result; } - /** - * Get item by its key in list of choices - * @param key Key of selected items (generally, link url) - * @param catalog List of avalaible items to compare against. - * @return corresponding item or null if not found. - */ - static protected MenuItem getItem( Object key, List catalog ) - { - Iterator iter = catalog.iterator(); - while( iter.hasNext() ) - { - MenuItem item = (MenuItem)iter.next(); - if( item.getLink().equals( key) ) - return item; - } // end loop - return null; + + /** + * Get item by its key in list of choices + * @param key Key of selected items (generally, link url) + * @param catalog List of avalaible items to compare against. + * @return corresponding item or null if not found. + */ + protected static MenuItem getItem(Object key, List catalog) { + Iterator iter = catalog.iterator(); + while (iter.hasNext()) { + MenuItem item = (MenuItem) iter.next(); + if (item.getLink().equals(key)) { + return item; + } + } + + return null; } }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]