logo       

roller/src/org/roller/presentation/weblog/actions WeblogEntryFormAction.jav: msg#00178

Subject: roller/src/org/roller/presentation/weblog/actions WeblogEntryFormAction.java,1.51,1.52 CommentFormAction.java,1.36,1.37 BakeWeblogAction.java,1.13,1.14
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


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

Recently Viewed:
web.pylons.gene...    hurd.l4/2002-10...    kernel.commits....    user-groups.lin...    yellowdog.gener...    java.drools.use...    security.openva...    package-managem...    linux.debian.us...    qnx.openqnx.dev...    genealogy.gramp...    file-systems.if...    voip.wengophone...    tex.context/200...    ietf.smime/2003...    audio.csound.de...    culture.region....    xfree86.devel/2...    mobile.kannel.u...    distributed.con...    education.engli...    org.user-groups...    bug-tracking.gn...    recreation.bicy...   
Home | blog view | USPTO Patent Archive | advertise | OSDir is an inevitable website. super tiny logo

Free Magazines

Cisco News
Receive a free quarterly e-newsletter with exclusive articles on how Cisco IT uses its own products and solutions to enable the business.
subscribe

Systems Management News, the newspaper for IT systems administration and data center managers! Each issue of Systems Management News is chock-full of news and analysis to help you understand what's happening in your field.
subscribe

The Enterprise Newsweekly eWeek is the essential technology information source for builders of e-business.
subscribe

Oracle Magazine Oracle Magazine contains technology strategy articles, sample code, tips, Oracle and partner news, how to articles for developers and DBAs, and more. Oracle (NASDAQ: ORCL) is the world's largest enterprise software company.
subscribe

Total Telecom Total Telecom is "The Economist of the communications industry".
subscribe