Update of /cvsroot/roller/roller/src/org/roller/presentation/weblog/actions
In directory
sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29660/src/org/roller/presentation/weblog/actions
Modified Files:
WeblogEntryFormAction.java CommentFormAction.java
BakeWeblogAction.java
Log Message:
More I18N work and UI cleanup
Index: WeblogEntryFormAction.java
===================================================================
RCS file:
/cvsroot/roller/roller/src/org/roller/presentation/weblog/actions/WeblogEntryFormAction.java,v
retrieving revision 1.51
retrieving revision 1.52
diff -C2 -d -r1.51 -r1.52
*** WeblogEntryFormAction.java 8 Feb 2004 02:38:09 -0000 1.51
--- WeblogEntryFormAction.java 28 Feb 2004 23:23:24 -0000 1.52
***************
*** 9,12 ****
--- 9,13 ----
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;
+ import org.roller.RollerException;
import org.roller.model.RollerSpellCheck;
import org.roller.model.UserManager;
***************
*** 22,25 ****
--- 23,27 ----
import org.roller.presentation.pagecache.PageCache;
import org.roller.presentation.tags.calendar.CalendarModel;
+ import org.roller.presentation.velocity.PageModel;
import org.roller.presentation.weblog.formbeans.WeblogEntryFormEx;
import org.roller.presentation.weblog.search.IndexManager;
***************
*** 118,121 ****
--- 120,125 ----
List cd =
rreq.getRoller().getWeblogManager().getAllWeblogCategories(rreq.getWebsite());
request.setAttribute("categories",cd);
+
+ request.setAttribute("model", new WeblogEntryPageModel(rreq));
}
else
***************
*** 234,237 ****
--- 238,243 ----
sendWeblogsDotComPing(request, user, wf, entry);
+
+ request.setAttribute("model", new WeblogEntryPageModel(rreq));
}
else
***************
*** 354,357 ****
--- 360,365 ----
rreq.getRoller().commit();
+
+ request.setAttribute("model", new WeblogEntryPageModel(rreq));
}
else
***************
*** 426,429 ****
--- 434,439 ----
session.setAttribute("entryText", wf.getText());
session.setAttribute("spellCheckEvents", words);
+
+ request.setAttribute("model", new WeblogEntryPageModel(rreq));
}
else
***************
*** 469,472 ****
--- 479,484 ----
}
// else use predetermined ActionForward
+
+ request.setAttribute("model", new WeblogEntryPageModel(rreq));
}
catch (Exception e)
***************
*** 498,501 ****
--- 510,542 ----
return edit(mapping, actionForm, request, response);
}
+
+ //-----------------------------------------------------------------------
+ /**
+ * PageModel to be used in view.
+ */
+ public static class WeblogEntryPageModel
+ {
+ RollerRequest rreq = null;
+ public WeblogEntryPageModel(RollerRequest rreq)
+ {
+ this.rreq = rreq;
+ }
+
+ /**
+ * Get recent weblog entries using request parameters to determine
+ * username, date, and category name parameters.
+ * @return List of WeblogEntryData objects.
+ * @throws RollerException
+ */
+ public List getRecentWeblogEntries() throws RollerException
+ {
+ return rreq.getRoller().getWeblogManager()
+ .getRecentWeblogEntriesArray(
+ rreq.getUser().getUserName(),
+ rreq.getDate(),
+
rreq.getWeblogCategory()==null?null:rreq.getWeblogCategory().getPath(),
+ 10, false);
+ }
+ }
}
Index: CommentFormAction.java
===================================================================
RCS file:
/cvsroot/roller/roller/src/org/roller/presentation/weblog/actions/CommentFormAction.java,v
retrieving revision 1.36
retrieving revision 1.37
diff -C2 -d -r1.36 -r1.37
*** CommentFormAction.java 22 Feb 2004 22:50:11 -0000 1.36
--- CommentFormAction.java 28 Feb 2004 23:23:24 -0000 1.37
***************
*** 60,63 ****
--- 60,75 ----
private Blacklist blacklist = new Blacklist();
+
//------------------------------------------------------------------------
+
+ /**
+ * Done.
+ */
+ public ActionForward done(ActionMapping mapping, ActionForm actionForm,
+ HttpServletRequest req, HttpServletResponse res)
+ throws Exception
+ {
+ return mapping.findForward("editWeblog");
+ }
+
//-----------------------------------------------------------------------
/**
Index: BakeWeblogAction.java
===================================================================
RCS file:
/cvsroot/roller/roller/src/org/roller/presentation/weblog/actions/BakeWeblogAction.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -C2 -d -r1.13 -r1.14
*** BakeWeblogAction.java 1 Feb 2004 03:23:57 -0000 1.13
--- BakeWeblogAction.java 28 Feb 2004 23:23:24 -0000 1.14
***************
*** 1,237 ****
! package org.roller.presentation.weblog.actions;
!
! 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;
! import org.apache.struts.action.ActionForward;
! import org.apache.struts.action.ActionMapping;
! import org.apache.struts.actions.DispatchAction;
! import org.apache.velocity.VelocityContext;
! import org.apache.velocity.app.Velocity;
! import org.apache.velocity.exception.MethodInvocationException;
! import org.apache.velocity.exception.ParseErrorException;
! import org.apache.velocity.exception.ResourceNotFoundException;
! import org.roller.RollerException;
! import org.roller.model.UserManager;
! import org.roller.pojos.PageData;
! import org.roller.pojos.WebsiteData;
! import org.roller.presentation.RollerContext;
! import org.roller.presentation.RollerRequest;
! import org.roller.presentation.RollerSession;
! import org.roller.presentation.velocity.ContextLoader;
! import org.roller.presentation.weblog.tags.WeblogEntryMacros;
! import org.roller.util.DateUtil;
!
! import java.io.File;
! import java.io.FileOutputStream;
! import java.io.IOException;
! import java.io.OutputStream;
! import java.io.StringWriter;
! import java.text.SimpleDateFormat;
! import java.util.Date;
! import java.util.Iterator;
! import java.util.List;
! import java.util.Map;
!
! import javax.servlet.ServletException;
! import javax.servlet.http.HttpServletRequest;
! import javax.servlet.http.HttpServletResponse;
! import javax.servlet.jsp.JspFactory;
! import javax.servlet.jsp.PageContext;
!
! /////////////////////////////////////////////////////////////////////////////
! /**
! * Generates static pages for each day containing Weblog entries.
! * @struts.action name="bakeWeblogForm" path="/bake" scope="session"
! * parameter="method"
! *
! * @author llavandowska
! */
! public class BakeWeblogAction extends DispatchAction
! {
! private static Log mLogger =
! LogFactory.getFactory().getInstance(BakeWeblogAction.class);
!
! public ActionForward load(
! ActionMapping mapping,
! ActionForm actionForm,
! HttpServletRequest request,
! HttpServletResponse response)
! throws IOException, ServletException
! {
! RollerRequest rreq = RollerRequest.getRollerRequest(request);
! try {
! if ( !rreq.isUserAuthorizedToEdit() )
! {
! return mapping.findForward("access-denied");
! }
! }
! catch (Exception e)
! {
! return mapping.findForward("access-denied");
! }
! return mapping.findForward("baking.done");
! }
!
! public ActionForward bake(
! ActionMapping mapping,
! ActionForm actionForm,
! HttpServletRequest request,
! HttpServletResponse response)
! throws IOException, ServletException
! {
! ActionForward forward = mapping.findForward("baking.done");
! ActionErrors errors = new ActionErrors();
! try
! {
! PageContext pageContext =
! JspFactory.getDefaultFactory().getPageContext(
! this.getServlet(), request,
response,"", true, 8192, true);
! RollerRequest rreq =
RollerRequest.getRollerRequest(pageContext);
! if ( !rreq.isUserAuthorizedToEdit() )
! {
! return mapping.findForward("access-denied");
! }
!
! String pid = getDefaultPageId( rreq );
!
! VelocityContext context = new VelocityContext();
! ContextLoader.setupContext( context, rreq, response );
!
! // Get this months Entries
! Map entryMap = rreq.getWeblogEntryMonthMap(
! rreq.getDate(true), null, false, true );
!
! if (mLogger.isDebugEnabled())
! {
! mLogger.debug("Num Days to Bake: " +
entryMap.size());
! }
!
! Iterator iter = entryMap.keySet().iterator();
! if (iter.hasNext())
! {
! Date d = (Date)iter.next();
!
! if (mLogger.isDebugEnabled())
! {
! mLogger.debug("Bake Weblog for date:" + d);
! }
!
! // Do we need this to continue supporting
Macros?
! WeblogEntryMacros macros =
! new WeblogEntryMacros(
rreq.getPageContext(), d );
! context.put( "macros", macros );
!
! List entries = (List) entryMap.get( d );
! String content = transformTemplate(pid,
entries, context, rreq);
!
! String fileName = writeToFile(content, d, rreq);
! request.getSession().setAttribute(
! RollerSession.STATUS_MESSAGE,
! "Weblog baked to :" +
fileName);
! }
!
! /** put some user message **/
! String message = (String)
request.getSession().getAttribute(
! RollerSession.STATUS_MESSAGE);
! if (message == null) message = "No Files Written";
! request.getSession().setAttribute(
! RollerSession.STATUS_MESSAGE,
! message);
! }
! catch (Exception e)
! {
! forward = mapping.findForward("error");
!
! errors.add(ActionErrors.GLOBAL_ERROR,
! new ActionError("error.bake.weblog",
e.toString()));
! saveErrors(request,errors);
!
!
mLogger.error(getResources(request).getMessage("error.bake.weblog")
! + e.toString(),e);
! }
!
! return forward;
! }
!
! /**
! * Write the content generated by transformTemplate to a file in the
Upload
! * directory, where the user can reach it.
! *
! * @param content
! * @param d
! * @param rreq
! */
! private String writeToFile(String content, Date d, RollerRequest rreq)
! throws IOException
! {
! if (mLogger.isDebugEnabled())
! {
! mLogger.debug("Write file for:" + d);
! }
!
! String dir = RollerContext.getUploadDir(
rreq.getServletContext() );
! String username = rreq.getUser().getUserName();
! File dirF = new File(dir + username + File.separator + "baked");
! if (!dirF.exists())
! {
! dirF.mkdirs();
! }
!
! SimpleDateFormat mFmt = DateUtil.get8charDateFormat();
! String dString = mFmt.format( d ) + ".html";
! File pFile = new File(dirF, dString);
!
! OutputStream bos = new FileOutputStream(pFile);
! bos.write( content.getBytes() );
! bos.close();
!
! return pFile.getName();
! }
!
! /**
! * Transform the Page specified by the pageId using Velocity. Return the
! * resulting String.
! *
! * @param pid
! * @param context
! * @throws ResourceNotFoundException
! * @throws ParseErrorException
! * @throws MethodInvocationException
! * @throws Exception
! */
! private String transformTemplate(String pid, List entries,
! VelocityContext context, RollerRequest rreq)
! throws
! ResourceNotFoundException,
! ParseErrorException,
! MethodInvocationException,
! Exception
! {
!
! context.put( "entries", entries );
!
! StringWriter sw = new StringWriter();
! Velocity.mergeTemplate(pid, Velocity.ENCODING_DEFAULT, context,
sw );
! return sw.toString();
! }
!
! /**
! * Get the default pageId for this Website, this is assumed to be the
Weblog
! * page since we have no other way of declaring it.
! *
! * @param rreq
! * @return String
! * @throws RollerException
! */
! private String getDefaultPageId(RollerRequest rreq) throws
RollerException
! {
! UserManager userMgr = rreq.getRoller().getUserManager();
! WebsiteData wd = rreq.getWebsite();
! PageData pd = userMgr.retrievePage(wd.getDefaultPageId());
! return pd.getId();
! }
!
! }
--- 1,243 ----
! package org.roller.presentation.weblog.actions;
!
! 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;
! import org.apache.struts.action.ActionForward;
! import org.apache.struts.action.ActionMapping;
! import org.apache.struts.actions.DispatchAction;
! import org.apache.velocity.VelocityContext;
! import org.apache.velocity.app.Velocity;
! import org.apache.velocity.exception.MethodInvocationException;
! import org.apache.velocity.exception.ParseErrorException;
! import org.apache.velocity.exception.ResourceNotFoundException;
! import org.roller.RollerException;
! import org.roller.model.UserManager;
! import org.roller.model.WeblogManager;
! import org.roller.pojos.PageData;
! import org.roller.pojos.WebsiteData;
! import org.roller.presentation.RollerContext;
! import org.roller.presentation.RollerRequest;
! import org.roller.presentation.RollerSession;
! import org.roller.presentation.velocity.ContextLoader;
! import org.roller.presentation.weblog.tags.WeblogEntryMacros;
! import org.roller.util.DateUtil;
!
! import java.io.File;
! import java.io.FileOutputStream;
! import java.io.IOException;
! import java.io.OutputStream;
! import java.io.StringWriter;
! import java.text.SimpleDateFormat;
! import java.util.Date;
! import java.util.Iterator;
! import java.util.List;
! import java.util.Map;
!
! import javax.servlet.ServletException;
! import javax.servlet.http.HttpServletRequest;
! import javax.servlet.http.HttpServletResponse;
! import javax.servlet.jsp.JspFactory;
! import javax.servlet.jsp.PageContext;
!
! /////////////////////////////////////////////////////////////////////////////
! /**
! * Generates static pages for each day containing Weblog entries.
! * @struts.action name="bakeWeblogForm" path="/bake" scope="session"
! * parameter="method"
! *
! * @author llavandowska
! */
! public class BakeWeblogAction extends DispatchAction
! {
! private static Log mLogger =
! LogFactory.getFactory().getInstance(BakeWeblogAction.class);
!
! public ActionForward load(
! ActionMapping mapping,
! ActionForm actionForm,
! HttpServletRequest request,
! HttpServletResponse response)
! throws IOException, ServletException
! {
! RollerRequest rreq = RollerRequest.getRollerRequest(request);
! try {
! if ( !rreq.isUserAuthorizedToEdit() )
! {
! return mapping.findForward("access-denied");
! }
! }
! catch (Exception e)
! {
! return mapping.findForward("access-denied");
! }
! return mapping.findForward("baking.done");
! }
!
! public ActionForward bake(
! ActionMapping mapping,
! ActionForm actionForm,
! HttpServletRequest request,
! HttpServletResponse response)
! throws IOException, ServletException
! {
! ActionForward forward = mapping.findForward("baking.done");
! ActionErrors errors = new ActionErrors();
! try
! {
! PageContext pageContext =
! JspFactory.getDefaultFactory().getPageContext(
! this.getServlet(), request,
response,"", true, 8192, true);
! RollerRequest rreq =
RollerRequest.getRollerRequest(pageContext);
! if ( !rreq.isUserAuthorizedToEdit() )
! {
! return mapping.findForward("access-denied");
! }
!
! String pid = getDefaultPageId( rreq );
!
! VelocityContext context = new VelocityContext();
! ContextLoader.setupContext( context, rreq, response );
!
! // Get this months Entries
! WeblogManager mgr = rreq.getRoller().getWeblogManager();
! Map entryMap = mgr.getWeblogEntryMonthMap(
! rreq.getUser().getUserName(),
! rreq.getDate(true),
! null,
! false,
! true );
!
! if (mLogger.isDebugEnabled())
! {
! mLogger.debug("Num Days to Bake: " +
entryMap.size());
! }
!
! Iterator iter = entryMap.keySet().iterator();
! if (iter.hasNext())
! {
! Date d = (Date)iter.next();
!
! if (mLogger.isDebugEnabled())
! {
! mLogger.debug("Bake Weblog for date:" + d);
! }
!
! // Do we need this to continue supporting
Macros?
! WeblogEntryMacros macros =
! new WeblogEntryMacros(
rreq.getPageContext(), d );
! context.put( "macros", macros );
!
! List entries = (List) entryMap.get( d );
! String content = transformTemplate(pid,
entries, context, rreq);
!
! String fileName = writeToFile(content, d, rreq);
! request.getSession().setAttribute(
! RollerSession.STATUS_MESSAGE,
! "Weblog baked to :" +
fileName);
! }
!
! /** put some user message **/
! String message = (String)
request.getSession().getAttribute(
! RollerSession.STATUS_MESSAGE);
! if (message == null) message = "No Files Written";
! request.getSession().setAttribute(
! RollerSession.STATUS_MESSAGE,
! message);
! }
! catch (Exception e)
! {
! forward = mapping.findForward("error");
!
! errors.add(ActionErrors.GLOBAL_ERROR,
! new ActionError("error.bake.weblog",
e.toString()));
! saveErrors(request,errors);
!
!
mLogger.error(getResources(request).getMessage("error.bake.weblog")
! + e.toString(),e);
! }
!
! return forward;
! }
!
! /**
! * Write the content generated by transformTemplate to a file in the
Upload
! * directory, where the user can reach it.
! *
! * @param content
! * @param d
! * @param rreq
! */
! private String writeToFile(String content, Date d, RollerRequest rreq)
! throws IOException
! {
! if (mLogger.isDebugEnabled())
! {
! mLogger.debug("Write file for:" + d);
! }
!
! String dir = RollerContext.getUploadDir(
rreq.getServletContext() );
! String username = rreq.getUser().getUserName();
! File dirF = new File(dir + username + File.separator + "baked");
! if (!dirF.exists())
! {
! dirF.mkdirs();
! }
!
! SimpleDateFormat mFmt = DateUtil.get8charDateFormat();
! String dString = mFmt.format( d ) + ".html";
! File pFile = new File(dirF, dString);
!
! OutputStream bos = new FileOutputStream(pFile);
! bos.write( content.getBytes() );
! bos.close();
!
! return pFile.getName();
! }
!
! /**
! * Transform the Page specified by the pageId using Velocity. Return the
! * resulting String.
! *
! * @param pid
! * @param context
! * @throws ResourceNotFoundException
! * @throws ParseErrorException
! * @throws MethodInvocationException
! * @throws Exception
! */
! private String transformTemplate(String pid, List entries,
! VelocityContext context, RollerRequest rreq)
! throws
! ResourceNotFoundException,
! ParseErrorException,
! MethodInvocationException,
! Exception
! {
!
! context.put( "entries", entries );
!
! StringWriter sw = new StringWriter();
! Velocity.mergeTemplate(pid, Velocity.ENCODING_DEFAULT, context,
sw );
! return sw.toString();
! }
!
! /**
! * Get the default pageId for this Website, this is assumed to be the
Weblog
! * page since we have no other way of declaring it.
! *
! * @param rreq
! * @return String
! * @throws RollerException
! */
! private String getDefaultPageId(RollerRequest rreq) throws
RollerException
! {
! UserManager userMgr = rreq.getRoller().getUserManager();
! WebsiteData wd = rreq.getWebsite();
! PageData pd = userMgr.retrievePage(wd.getDefaultPageId());
! return pd.getId();
! }
!
! }
-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
|