dgraham 2003/08/16 11:04:41
Modified: src/tiles-documentation/org/apache/struts/webapp/tiles/rssChannel
RssChannelsAction.java
Log:
Formatted and replaced hardcoded debugging with commons logging.
Revision Changes Path
1.5 +62 -125
jakarta-struts/src/tiles-documentation/org/apache/struts/webapp/tiles/rssChannel/RssChannelsAction.java
Index: RssChannelsAction.java
===================================================================
RCS file:
/home/cvs/jakarta-struts/src/tiles-documentation/org/apache/struts/webapp/tiles/rssChannel/RssChannelsAction.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- RssChannelsAction.java 21 Jul 2003 15:18:47 -0000 1.4
+++ RssChannelsAction.java 16 Aug 2003 18:04:41 -0000 1.5
@@ -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,16 +61,16 @@
package org.apache.struts.webapp.tiles.rssChannel;
-import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
-import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.digester.rss.Channel;
import org.apache.commons.digester.rss.RSSDigester;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import org.apache.struts.action.ActionError;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
@@ -99,25 +99,26 @@
*/
public final class RssChannelsAction extends TilesAction {
+ /**
+ * Commons Logging instance.
+ */
+ private static Log log = LogFactory.getLog(RssChannelsAction.class);
- /** Debug flag */
- public static final boolean debug = true;
/**
* Tile attribute key for saving Channel bean
*/
public static final String CHANNELS_KEY = "CHANNELS";
+
/**
* Tile attribute key for getting Channel urls list
*/
public static final String CHANNEL_URLS_KEY = "urls";
+
/**
* Tile attribute key for getting Channel url attribute
*/
public static final String CHANNEL_URL_KEY = "url";
- // --------------------------------------------------------- Instances Variables
- // --------------------------------------------------------- Public Methods
-
/**
* Main process of class. Reads, parses
* @param context The current Tile context, containing Tile attributes.
@@ -136,53 +137,46 @@
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
- throws Exception
- {
- //System.out.println("Enter action UserPortalAction");
- if(debug)
- System.out.println( "Enter Rss Channel Action" );
+ throws Exception {
+ log.debug("Enter Rss Channel Action");
ActionErrors errors = new ActionErrors();
- org.apache.commons.digester.rss.Channel channel = null;
// -- Retrieve parameters --
// Urls can come from a list, or from a single attribute.
- List channels = (List)context.getAttribute( CHANNEL_URLS_KEY );
- if( channels == null )
- {
- Object url = context.getAttribute( CHANNEL_URL_KEY );
- channels = new ArrayList(1);
- channels.add(url);
- }
- //channels.add("http://www.newsforge.com/newsforge.rss");
- //channels.add("http://xmlhack.com/rss.php");
- //channels.add("http://lwn.net/headlines/rss");
- // channels.trimToSize();
+ List channels = (List) context.getAttribute(CHANNEL_URLS_KEY);
+ if (channels == null) {
+ Object url = context.getAttribute(CHANNEL_URL_KEY);
+ channels = new ArrayList(1);
+ channels.add(url);
+ }
+
+ log.debug("urls count" + channels.size());
- if(debug)
- System.out.println( "urls count" + channels.size() ) ;
// -- Loop through channels --
List channelBeans = new ArrayList(channels.size());
try {
- for (int i=0; i<channels.size(); i++) {
+ for (int i = 0; i < channels.size(); i++) {
RSSDigester digester = new RSSDigester();
- String url = (String)channels.get(i);
- // Add application path if needed
- if( url.startsWith("/") )
- {
- url = toFullUrl( request, url );
- }
- if(debug) System.out.println( "Channel url=" + url) ;
- Channel obj = (Channel)digester.parse(url);
- if(debug) System.out.println( "Channel:" + obj) ;
- //System.out.println( "Channel.items:" + obj.getI) ;
+ String url = (String) channels.get(i);
+ // Add application path if needed
+ if (url.startsWith("/")) {
+ url = toFullUrl(request, url);
+ }
+
+ log.debug("Channel url=" + url);
+
+ Channel obj = (Channel) digester.parse(url);
+
+ log.debug("Channel:" + obj);
+
channelBeans.add(obj);
}
- }
- catch (Throwable t) {
- errors.add(ActionErrors.GLOBAL_ERROR,
+ } catch (Throwable t) {
+ errors.add(
+ ActionErrors.GLOBAL_ERROR,
new ActionError("rss.access.error"));
servlet.log(t.toString());
}
@@ -191,95 +185,38 @@
if (!errors.isEmpty()) {
saveErrors(request, errors);
// If no input page, use error forwarding
- if(debug)
- System.out.println( "Exit Rss Channel Action : error" );
- return null; //(mapping.findForward("error"));
+
+ log.debug("Exit Rss Channel Action : error");
+
+ return null;
}
// -- Save Bean, and Continue ---
- if(debug)
- System.out.println( "Exit Rss Channel Action" );
- // Use Tile context to pass channels
- context.putAttribute( CHANNELS_KEY,channelBeans);
- return null; //(mapping.findForward("continue"));
- } // ---- End perform ----
+ log.debug("Exit Rss Channel Action");
+
+ // Use Tile context to pass channels
+ context.putAttribute(CHANNELS_KEY, channelBeans);
+
+ return null;
+ }
/**
* Compute Full local url from an url starting with "/".
*/
- private String toFullUrl( HttpServletRequest request, String url )
- {
- StringBuffer buff = new StringBuffer();
-
- buff.append( request.getScheme() ) .append( "://" ) .
append(request.getServerName());
- if( request.getServerPort() != 80 )
- buff.append( ":" ).append( request.getServerPort() );
- buff.append( request.getContextPath()).append( url);
- return buff.toString();
- }
+ private String toFullUrl(HttpServletRequest request, String url) {
+ StringBuffer buff = new StringBuffer();
-} // ---- End Fetch ----
+ buff.append(request.getScheme()).append("://").append(
+ request.getServerName());
+ if (request.getServerPort() != 80) {
+ buff.append(":").append(request.getServerPort());
+ }
-/*
- * $Header$
- * $Revision$
- * $Date$
- *
- * ====================================================================
- *
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution, if
- * any, must include the following acknowlegement:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowlegement may appear in the software itself,
- * if and wherever such third-party acknowlegements normally appear.
- *
- * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software
- * Foundation" must not be used to endorse or promote products derived
- * from this software without prior written permission. For written
- * permission, please contact [EMAIL PROTECTED]
- *
- * 5. Products derived from this software may not be called "Apache"
- * nor may "Apache" appear in their names without prior written
- * permission of the Apache Group.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- *
- */
+ buff.append(request.getContextPath()).append(url);
+
+ return buff.toString();
+ }
+}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]