91 lines
3.1 KiB
Java
Executable File
91 lines
3.1 KiB
Java
Executable File
/*
|
|
* Copyright (C) 2002-2004 Red Hat Inc. All Rights Reserved.
|
|
*
|
|
* This library 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 library 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 library; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*
|
|
*/
|
|
package com.arsdigita.forum;
|
|
|
|
import com.arsdigita.bebop.Page;
|
|
import com.arsdigita.bebop.page.BebopApplicationServlet;
|
|
// unused import
|
|
// import com.arsdigita.bebop.parameters.BigDecimalParameter;
|
|
import com.arsdigita.forum.ui.Constants;
|
|
|
|
import java.util.Iterator;
|
|
// unused import
|
|
//import java.util.Map;
|
|
import javax.servlet.ServletException;
|
|
|
|
import org.apache.log4j.Logger;
|
|
|
|
/**
|
|
*
|
|
* @author Justin Ross <<a href="mailto:jross@redhat.com">jross@redhat.com</a>>
|
|
*
|
|
* @author Chris Gilbert (chris.gilbert@westsussex.gov.uk) updated to make use of
|
|
* PageFactory and to enable disablement of client/middleware
|
|
* caching
|
|
* @version $Id: ForumServlet.java 1628 2007-09-17 08:10:40Z chrisg23 $
|
|
*/
|
|
public class ForumServlet extends BebopApplicationServlet
|
|
implements Constants {
|
|
|
|
/** Private logger instance for debugging purpose */
|
|
private static final Logger s_log = Logger.getLogger(ForumServlet.class);
|
|
|
|
/**
|
|
*
|
|
* @throws ServletException
|
|
*/
|
|
@Override
|
|
public void init() throws ServletException {
|
|
super.init();
|
|
s_log.debug("creating forum page");
|
|
|
|
final Page forum = ForumPageFactory.getPage(ForumPageFactory.FORUM_PAGE);
|
|
s_log.debug("creating thread page");
|
|
final Page thread = ForumPageFactory.getPage(ForumPageFactory.THREAD_PAGE);
|
|
|
|
put("/", forum);
|
|
put("/index.jsp", forum);
|
|
put("/thread.jsp", thread);
|
|
if (Forum.getConfig().disableClientPageCaching()) {
|
|
s_log.debug("caching disabled");
|
|
disableClientCaching("/");
|
|
disableClientCaching("/index.jsp");
|
|
disableClientCaching("/thread.jsp");
|
|
}
|
|
|
|
// allow other pages to be added
|
|
// eg - allows categorised forum to add load-category page
|
|
// for AJAX category asignment
|
|
Iterator it = ForumPageFactory.getPages();
|
|
while (it.hasNext()) {
|
|
Object key = (Object)it.next();
|
|
if (!key.equals(ForumPageFactory.FORUM_PAGE) &&
|
|
!key.equals(ForumPageFactory.THREAD_PAGE)) {
|
|
put("/" + key, ForumPageFactory.getPage((String)key));
|
|
if (Forum.getConfig().disableClientPageCaching()) {
|
|
disableClientCaching("/" + key);
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}
|