You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by sn...@apache.org on 2014/04/20 15:39:01 UTC

svn commit: r1588757 [11/25] - in /roller/branches/rome2/app/src: main/java/org/apache/roller/ main/java/org/apache/roller/planet/business/ main/java/org/apache/roller/planet/business/fetcher/ main/java/org/apache/roller/planet/business/jpa/ main/java/...

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/PreviewServlet.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/PreviewServlet.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/PreviewServlet.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/PreviewServlet.java Sun Apr 20 13:38:51 2014
@@ -18,6 +18,7 @@
 
 package org.apache.roller.weblogger.ui.rendering.servlets;
 
+import org.apache.roller.util.RollerConstants;
 import org.apache.roller.weblogger.pojos.Weblog;
 import org.apache.roller.weblogger.pojos.Theme;
 import org.apache.roller.weblogger.pojos.WeblogTheme;
@@ -208,7 +209,7 @@ public class PreviewServlet extends Http
         Map model = new HashMap();
         try {
             PageContext pageContext = JspFactory.getDefaultFactory().getPageContext(
-                    this, request, response,"", false, 8192, true);
+                    this, request, response,"", false, RollerConstants.EIGHT_KB_IN_BYTES, true);
             
             // special hack for menu tag
             request.setAttribute("pageRequest", previewRequest);
@@ -261,8 +262,8 @@ public class PreviewServlet extends Http
             return;
         }
         
-        // render content.  use default size of about 24K for a standard page
-        CachedContent rendererOutput = new CachedContent(24567);
+        // render content
+        CachedContent rendererOutput = new CachedContent(RollerConstants.TWENTYFOUR_KB_IN_BYTES);
         try {
             log.debug("Doing rendering");
             renderer.render(model, rendererOutput.getCachedWriter());

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/PreviewThemeImageServlet.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/PreviewThemeImageServlet.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/PreviewThemeImageServlet.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/PreviewThemeImageServlet.java Sun Apr 20 13:38:51 2014
@@ -29,6 +29,7 @@ import javax.servlet.http.HttpServletReq
 import javax.servlet.http.HttpServletResponse;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.roller.util.RollerConstants;
 import org.apache.roller.weblogger.business.WebloggerFactory;
 import org.apache.roller.weblogger.business.themes.SharedTheme;
 import org.apache.roller.weblogger.business.themes.ThemeManager;
@@ -108,11 +109,11 @@ public class PreviewThemeImageServlet ex
         // set the content type based on whatever is in our web.xml mime defs
         response.setContentType(this.context.getMimeType(previewImagePath));
         
-        OutputStream out = null;
+        OutputStream out;
         try {
             // ok, lets serve up the file
-            byte[] buf = new byte[8192];
-            int length = 0;
+            byte[] buf = new byte[RollerConstants.EIGHT_KB_IN_BYTES];
+            int length;
             out = response.getOutputStream();
             while((length = resourceStream.read(buf)) > 0) {
                 out.write(buf, 0, length);

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/RSDServlet.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/RSDServlet.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/RSDServlet.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/RSDServlet.java Sun Apr 20 13:38:51 2014
@@ -27,6 +27,7 @@ import javax.servlet.http.HttpServletReq
 import javax.servlet.http.HttpServletResponse;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.roller.util.RollerConstants;
 import org.apache.roller.weblogger.WebloggerException;
 import org.apache.roller.weblogger.config.WebloggerRuntimeConfig;
 import org.apache.roller.weblogger.pojos.StaticTemplate;
@@ -70,10 +71,9 @@ public class RSDServlet extends HttpServ
             throws ServletException, IOException {
 
         log.debug("Entering");
+        Weblog weblog;
+        WeblogRequest weblogRequest;
 
-        Weblog weblog = null;
-
-        WeblogRequest weblogRequest = null;
         try {
             weblogRequest = new WeblogRequest(request);
 
@@ -109,12 +109,12 @@ public class RSDServlet extends HttpServ
         response.setContentType("application/rsd+xml; charset=utf-8");
 
         // populate the model
-        HashMap model = new HashMap();
+        HashMap<String, Object> model = new HashMap<String, Object>();
         model.put("website", weblog);
         model.put("absBaseURL", WebloggerRuntimeConfig.getAbsoluteContextURL());
 
         // lookup Renderer we are going to use
-        Renderer renderer = null;
+        Renderer renderer;
         try {
             log.debug("Looking up renderer");
             Template template = new StaticTemplate("weblog/rsd.vm", "velocity");
@@ -132,7 +132,7 @@ public class RSDServlet extends HttpServ
         }
 
         // render content
-        CachedContent rendererOutput = new CachedContent(4096);
+        CachedContent rendererOutput = new CachedContent(RollerConstants.FOUR_KB_IN_BYTES);
         try {
             log.debug("Doing rendering");
             renderer.render(model, rendererOutput.getCachedWriter());

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/ResourceServlet.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/ResourceServlet.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/ResourceServlet.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/ResourceServlet.java Sun Apr 20 13:38:51 2014
@@ -21,21 +21,24 @@ package org.apache.roller.weblogger.ui.r
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
+
 import javax.servlet.ServletConfig;
 import javax.servlet.ServletContext;
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 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.roller.util.RollerConstants;
 import org.apache.roller.weblogger.WebloggerException;
 import org.apache.roller.weblogger.business.MediaFileManager;
 import org.apache.roller.weblogger.business.WebloggerFactory;
 import org.apache.roller.weblogger.pojos.MediaFile;
 import org.apache.roller.weblogger.pojos.ThemeResource;
-import org.apache.roller.weblogger.pojos.WeblogTheme;
 import org.apache.roller.weblogger.pojos.Weblog;
+import org.apache.roller.weblogger.pojos.WeblogTheme;
 import org.apache.roller.weblogger.ui.rendering.util.ModDateHeaderUtil;
 import org.apache.roller.weblogger.ui.rendering.util.WeblogResourceRequest;
 
@@ -45,6 +48,8 @@ import org.apache.roller.weblogger.ui.re
  */
 public class ResourceServlet extends HttpServlet {
 
+    private static final long serialVersionUID = 1350679411381917714L;
+
     private static Log log = LogFactory.getLog(ResourceServlet.class);
 
     private ServletContext context = null;
@@ -64,12 +69,12 @@ public class ResourceServlet extends Htt
     public void doGet(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
 
-        Weblog weblog = null;
-        String ctx = request.getContextPath();
-        String servlet = request.getServletPath();
-        String reqURI = request.getRequestURI();
+        Weblog weblog;
+        //String ctx = request.getContextPath();
+        //String servlet = request.getServletPath();
+        //String reqURI = request.getRequestURI();
 
-        WeblogResourceRequest resourceRequest = null;
+        WeblogResourceRequest resourceRequest;
         try {
             // parse the incoming request and extract the relevant data
             resourceRequest = new WeblogResourceRequest(request);
@@ -82,6 +87,9 @@ public class ResourceServlet extends Htt
 
         } catch (Exception e) {
             // invalid resource request or weblog doesn't exist
+            if (!response.isCommitted()) {
+                response.reset();
+            }
             log.debug("error creating weblog resource request", e);
             response.sendError(HttpServletResponse.SC_NOT_FOUND);
             return;
@@ -106,6 +114,9 @@ public class ResourceServlet extends Htt
             }
         } catch (Exception ex) {
             // hmmm, some kind of error getting theme. that's an error.
+            if (!response.isCommitted()) {
+                response.reset();
+            }
             response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
             return;
         }
@@ -122,6 +133,9 @@ public class ResourceServlet extends Htt
 
             } catch (Exception ex) {
                 // still not found? then we don't have it, 404.
+                if (!response.isCommitted()) {
+                    response.reset();
+                }
                 log.debug("Unable to get resource", ex);
                 response.sendError(HttpServletResponse.SC_NOT_FOUND);
                 return;
@@ -142,11 +156,11 @@ public class ResourceServlet extends Htt
         response.setContentType(this.context.getMimeType(resourceRequest
                 .getResourcePath()));
 
-        OutputStream out = null;
+        OutputStream out;
         try {
             // ok, lets serve up the file
-            byte[] buf = new byte[8192];
-            int length = 0;
+            byte[] buf = new byte[RollerConstants.EIGHT_KB_IN_BYTES];
+            int length;
             out = response.getOutputStream();
             while ((length = resourceStream.read(buf)) > 0) {
                 out.write(buf, 0, length);
@@ -158,8 +172,8 @@ public class ResourceServlet extends Htt
         } catch (Exception ex) {
             if (!response.isCommitted()) {
                 response.reset();
-                response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
             }
+            response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
         } finally {
             // make sure stream to resource file is closed
             resourceStream.close();

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/SearchServlet.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/SearchServlet.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/SearchServlet.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/SearchServlet.java Sun Apr 20 13:38:51 2014
@@ -32,6 +32,7 @@ import javax.servlet.jsp.PageContext;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.roller.util.RollerConstants;
 import org.apache.roller.weblogger.WebloggerException;
 import org.apache.roller.weblogger.business.WebloggerFactory;
 import org.apache.roller.weblogger.business.themes.ThemeManager;
@@ -110,9 +111,7 @@ public class SearchServlet extends HttpS
         // Development only. Reload if theme has been modified
         if (themeReload
                 && !weblog.getEditorTheme()
-                        .equals(WeblogTemplate.ACTION_CUSTOM)
-                && (searchRequest.getPathInfo() == null || searchRequest
-                        .getPathInfo() != null)) {
+                        .equals(WeblogTemplate.ACTION_CUSTOM)) {
 
             try {
                 ThemeManager manager = WebloggerFactory.getWeblogger()
@@ -180,7 +179,7 @@ public class SearchServlet extends HttpS
         Map model = new HashMap();
         try {
             PageContext pageContext = JspFactory.getDefaultFactory()
-                    .getPageContext(this, request, response, "", false, 8192,
+                    .getPageContext(this, request, response, "", false, RollerConstants.EIGHT_KB_IN_BYTES,
                             true);
 
             // populate the rendering model
@@ -256,7 +255,7 @@ public class SearchServlet extends HttpS
         }
 
         // render content
-        CachedContent rendererOutput = new CachedContent(4096);
+        CachedContent rendererOutput = new CachedContent(RollerConstants.FOUR_KB_IN_BYTES);
         try {
             log.debug("Doing rendering");
             renderer.render(model, rendererOutput.getCachedWriter());

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/TrackbackServlet.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/TrackbackServlet.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/TrackbackServlet.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/servlets/TrackbackServlet.java Sun Apr 20 13:38:51 2014
@@ -29,6 +29,7 @@ import javax.servlet.http.HttpServletReq
 import javax.servlet.http.HttpServletResponse;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.roller.util.RollerConstants;
 import org.apache.roller.weblogger.WebloggerException;
 import org.apache.roller.weblogger.config.WebloggerRuntimeConfig;
 import org.apache.roller.weblogger.business.WebloggerFactory;
@@ -109,8 +110,9 @@ public class TrackbackServlet extends Ht
                 
                 if (trackbackRequest.getExcerpt() == null) {
                     trackbackRequest.setExcerpt("");
-                } else if (trackbackRequest.getExcerpt().length() >= 255) {
-                    trackbackRequest.setExcerpt(trackbackRequest.getExcerpt().substring(0, 252)+"...");
+                } else if (trackbackRequest.getExcerpt().length() >= RollerConstants.TEXTWIDTH_255) {
+                    trackbackRequest.setExcerpt(trackbackRequest.getExcerpt().substring(0,
+                            RollerConstants.TEXTWIDTH_255 - 3)+"...");
                 }
                 
                 // lookup weblog specified by comment request
@@ -162,10 +164,10 @@ public class TrackbackServlet extends Ht
                 int validationScore = commentValidationManager.validateComment(comment, messages);
                 logger.debug("Comment Validation score: " + validationScore);
                 
-                if (validationScore == 100 && weblog.getCommentModerationRequired()) {
+                if (validationScore == RollerConstants.PERCENT_100 && weblog.getCommentModerationRequired()) {
                     // Valid comments go into moderation if required
                     comment.setStatus(WeblogEntryComment.PENDING);
-                } else if (validationScore == 100) {
+                } else if (validationScore == RollerConstants.PERCENT_100) {
                     // else they're approved
                     comment.setStatus(WeblogEntryComment.APPROVED);
                 } else {
@@ -190,7 +192,7 @@ public class TrackbackServlet extends Ht
                     // Send email notifications
                     MailUtil.sendEmailNotification(comment, messages, 
                             I18nMessages.getMessages(trackbackRequest.getLocaleInstance()),
-                            validationScore == 100);
+                            validationScore == RollerConstants.PERCENT_100);
                     
                     if(WeblogEntryComment.PENDING.equals(comment.getStatus())) {
                         pw.println(this.getSuccessResponse("Trackback submitted to moderator"));

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/ModDateHeaderUtil.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/ModDateHeaderUtil.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/ModDateHeaderUtil.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/ModDateHeaderUtil.java Sun Apr 20 13:38:51 2014
@@ -26,13 +26,14 @@ import javax.servlet.http.HttpServletRes
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.roller.util.RollerConstants;
 import org.apache.roller.util.DateUtil;
 import org.apache.roller.weblogger.ui.rendering.mobile.MobileDeviceRepository;
 
 /**
  * Utility class to localize the modification date header-related logic.
  */
-public class ModDateHeaderUtil {
+public final class ModDateHeaderUtil {
 
 	private static Log log = LogFactory.getLog(ModDateHeaderUtil.class);
 
@@ -65,7 +66,7 @@ public class ModDateHeaderUtil {
 			HttpServletResponse response, long lastModifiedTimeMillis,
 			MobileDeviceRepository.DeviceType deviceType) {
 
-		long sinceDate = 0;
+		long sinceDate;
 		try {
 			sinceDate = request.getDateHeader("If-Modified-Since");
 		} catch (IllegalArgumentException ex) {
@@ -75,7 +76,7 @@ public class ModDateHeaderUtil {
 		}
 
 		// truncate to seconds
-		lastModifiedTimeMillis -= (lastModifiedTimeMillis % 1000);
+		lastModifiedTimeMillis -= (lastModifiedTimeMillis % RollerConstants.SEC_IN_MS);
 
 		if (log.isDebugEnabled()) {
 			SimpleDateFormat dateFormat = new SimpleDateFormat(

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogEntryCommentForm.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogEntryCommentForm.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogEntryCommentForm.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogEntryCommentForm.java Sun Apr 20 13:38:51 2014
@@ -18,7 +18,7 @@
 
 package org.apache.roller.weblogger.ui.rendering.util;
 
-import org.apache.commons.lang.StringEscapeUtils;
+import org.apache.commons.lang3.StringEscapeUtils;
 import org.apache.roller.weblogger.pojos.WeblogEntryComment;
 import org.apache.roller.weblogger.pojos.wrapper.WeblogEntryCommentWrapper;
 
@@ -72,7 +72,7 @@ public class WeblogEntryCommentForm {
     }
     
     public String getName() {
-        return StringEscapeUtils.escapeHtml(name);
+        return StringEscapeUtils.escapeHtml4(name);
     }
 
     public void setName(String name) {
@@ -80,7 +80,7 @@ public class WeblogEntryCommentForm {
     }
 
     public String getEmail() {
-        return StringEscapeUtils.escapeHtml(email);
+        return StringEscapeUtils.escapeHtml4(email);
     }
 
     public void setEmail(String email) {
@@ -88,7 +88,7 @@ public class WeblogEntryCommentForm {
     }
 
     public String getUrl() {
-        return StringEscapeUtils.escapeHtml(url);
+        return StringEscapeUtils.escapeHtml4(url);
     }
 
     public void setUrl(String url) {
@@ -96,7 +96,7 @@ public class WeblogEntryCommentForm {
     }
 
     public String getContent() {
-        return StringEscapeUtils.escapeHtml(content);
+        return StringEscapeUtils.escapeHtml4(content);
     }
 
     public void setContent(String content) {

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogFeedRequest.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogFeedRequest.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogFeedRequest.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogFeedRequest.java Sun Apr 20 13:38:51 2014
@@ -122,11 +122,6 @@ public class WeblogFeedRequest extends W
         if(request.getParameter("cat") != null) {
             this.weblogCategoryName =
                     URLUtilities.decode(request.getParameter("cat"));
-            
-            // all categories must start with a /
-            if(!this.weblogCategoryName.startsWith("/")) {
-                this.weblogCategoryName = "/"+this.weblogCategoryName;
-            }
         }
         
         if(request.getParameter("tags") != null) {
@@ -213,7 +208,7 @@ public class WeblogFeedRequest extends W
         if(weblogCategory == null && weblogCategoryName != null) {
             try {
                 WeblogEntryManager wmgr = WebloggerFactory.getWeblogger().getWeblogEntryManager();
-                weblogCategory = wmgr.getWeblogCategoryByPath(getWeblog(), weblogCategoryName);
+                weblogCategory = wmgr.getWeblogCategoryByName(getWeblog(), weblogCategoryName);
             } catch (WebloggerException ex) {
                 log.error("Error getting weblog category "+weblogCategoryName, ex);
             }

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogMediaResourceRequest.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogMediaResourceRequest.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogMediaResourceRequest.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogMediaResourceRequest.java Sun Apr 20 13:38:51 2014
@@ -51,8 +51,6 @@ public class WeblogMediaResourceRequest 
         // parent determines weblog handle and locale if specified
         super(request);
         
-        String servlet = request.getServletPath();
-        
         // we only want the path info left over from after our parents parsing
         String pathInfo = this.getPathInfo();
         

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogPageRequest.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogPageRequest.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogPageRequest.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogPageRequest.java Sun Apr 20 13:38:51 2014
@@ -18,7 +18,7 @@
 
 package org.apache.roller.weblogger.ui.rendering.util;
 
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.roller.weblogger.WebloggerException;
@@ -108,7 +108,7 @@ public class WeblogPageRequest extends W
          */
         if(pathInfo != null && pathInfo.trim().length() > 0) {
             
-            // all views use 2 path elements, except category
+            // all views use 2 path elements
             String[] pathElements = pathInfo.split("/", 2);
             
             // the first part of the path always represents the context
@@ -130,12 +130,6 @@ public class WeblogPageRequest extends W
                     
                 } else if("category".equals(this.context)) {
                     this.weblogCategoryName = URLUtilities.decode(pathElements[1]);
-                    
-                    // all categories must start with a /
-                    if(!this.weblogCategoryName.startsWith("/")) {
-                        this.weblogCategoryName = "/"+this.weblogCategoryName;
-                    }
-                    
                 } else if("page".equals(this.context)) {
                     this.weblogPageName = pathElements[1];
                     String tagsString = request.getParameter("tags");
@@ -207,11 +201,6 @@ public class WeblogPageRequest extends W
                 if(request.getParameter("cat") != null) {
                     this.weblogCategoryName =
                             URLUtilities.decode(request.getParameter("cat"));
-                    
-                    // all categories must start with a /
-                    if(!this.weblogCategoryName.startsWith("/")) {
-                        this.weblogCategoryName = "/"+this.weblogCategoryName;
-                    }
                 }
             }
         }
@@ -365,7 +354,7 @@ public class WeblogPageRequest extends W
         if(weblogCategory == null && weblogCategoryName != null) {
             try {
                 WeblogEntryManager wmgr = WebloggerFactory.getWeblogger().getWeblogEntryManager();
-                weblogCategory = wmgr.getWeblogCategoryByPath(getWeblog(), weblogCategoryName);
+                weblogCategory = wmgr.getWeblogCategoryByName(getWeblog(), weblogCategoryName);
             } catch (WebloggerException ex) {
                 log.error("Error getting weblog category "+weblogCategoryName, ex);
             }

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogResourceRequest.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogResourceRequest.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogResourceRequest.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogResourceRequest.java Sun Apr 20 13:38:51 2014
@@ -50,8 +50,6 @@ public class WeblogResourceRequest exten
         // parent determines weblog handle and locale if specified
         super(request);
         
-        String servlet = request.getServletPath();
-        
         // we only want the path info left over from after our parents parsing
         String pathInfo = this.getPathInfo();
         

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogSearchRequest.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogSearchRequest.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogSearchRequest.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/WeblogSearchRequest.java Sun Apr 20 13:38:51 2014
@@ -97,13 +97,8 @@ public class WeblogSearchRequest extends
         
         if(request.getParameter("cat") != null &&
                 request.getParameter("cat").trim().length() > 0) {
-            this.weblogCategoryName = 
+            this.weblogCategoryName =
                     URLUtilities.decode(request.getParameter("cat"));
-            
-            // all categories must start with a /
-            if(!this.weblogCategoryName.startsWith("/")) {
-                this.weblogCategoryName = "/"+this.weblogCategoryName;
-            }
         }
     }
 
@@ -136,9 +131,9 @@ public class WeblogSearchRequest extends
         if(weblogCategory == null && weblogCategoryName != null) {
             try {
                 WeblogEntryManager wmgr = WebloggerFactory.getWeblogger().getWeblogEntryManager();
-                weblogCategory = wmgr.getWeblogCategoryByPath(getWeblog(), weblogCategoryName);
+                weblogCategory = wmgr.getWeblogCategoryByName(getWeblog(), weblogCategoryName);
             } catch (WebloggerException ex) {
-                log.error("Error getting weblog category "+weblogCategoryName, ex);
+                log.error("Error getting weblog category " + weblogCategoryName, ex);
             }
         }
         

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/cache/PlanetCache.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/cache/PlanetCache.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/cache/PlanetCache.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/cache/PlanetCache.java Sun Apr 20 13:38:51 2014
@@ -24,6 +24,7 @@ import java.util.HashMap;
 import java.util.Map;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.roller.util.RollerConstants;
 import org.apache.roller.weblogger.config.WebloggerConfig;
 import org.apache.roller.weblogger.ui.rendering.util.PlanetRequest;
 import org.apache.roller.weblogger.util.cache.Cache;
@@ -48,24 +49,24 @@ public final class PlanetCache {
     
     // keep a cached version of last expired time
     private ExpiringCacheEntry lastUpdateTime = null;
-    private long timeout = 15 * 60 * 1000;
+    private long timeout = RollerConstants.FIFTEEN_MIN_IN_MS;
     
     // reference to our singleton instance
     private static PlanetCache singletonInstance = new PlanetCache();
 
     private PlanetCache() {
         
-        cacheEnabled = WebloggerConfig.getBooleanProperty(CACHE_ID+".enabled");
+        cacheEnabled = WebloggerConfig.getBooleanProperty(CACHE_ID + ".enabled");
         
-        Map cacheProps = new HashMap();
+        Map<String, String> cacheProps = new HashMap<String, String>();
         cacheProps.put("id", CACHE_ID);
         Enumeration allProps = WebloggerConfig.keys();
-        String prop = null;
+        String prop;
         while(allProps.hasMoreElements()) {
             prop = (String) allProps.nextElement();
             
             // we are only interested in props for this cache
-            if(prop.startsWith(CACHE_ID+".")) {
+            if (prop.startsWith(CACHE_ID + ".")) {
                 cacheProps.put(prop.substring(CACHE_ID.length()+1), 
                         WebloggerConfig.getProperty(prop));
             }
@@ -83,7 +84,7 @@ public final class PlanetCache {
         String timeoutString = WebloggerConfig.getProperty("cache.planet.timeout");
         try {
             long timeoutSecs = Long.parseLong(timeoutString);
-            this.timeout = timeoutSecs * 1000;
+            this.timeout = timeoutSecs * RollerConstants.SEC_IN_MS;
         } catch(Exception e) {
             // ignored ... illegal value
         }
@@ -159,8 +160,8 @@ public final class PlanetCache {
         // still null, we need to get a fresh value
         if(lastModified == null) {
             
-            // TODO: ROLLER40 last updated for planet
-            lastModified = null; // WebloggerFactory.getWeblogger().getWebloggerManager().getLastUpdated();
+            // TODO: create a WeblogManager.getLastUpdated() method to use below
+            lastModified = null;
             
             if (lastModified == null) {
                 lastModified = new Date();
@@ -193,7 +194,7 @@ public final class PlanetCache {
         
         StringBuilder key = new StringBuilder();
         
-        key.append(this.CACHE_ID).append(":");
+        key.append(CACHE_ID).append(":");
         key.append(planetRequest.getContext());
         key.append("/");
         key.append(planetRequest.getType());

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/cache/SaltCache.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/cache/SaltCache.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/cache/SaltCache.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/cache/SaltCache.java Sun Apr 20 13:38:51 2014
@@ -23,6 +23,7 @@ import java.util.HashMap;
 import java.util.Map;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.roller.util.RollerConstants;
 import org.apache.roller.weblogger.config.WebloggerConfig;
 import org.apache.roller.weblogger.util.cache.Cache;
 import org.apache.roller.weblogger.util.cache.CacheManager;
@@ -34,7 +35,7 @@ import org.apache.roller.weblogger.util.
  * by Roller. If you're running distributed, then you must use a distributed 
  * cache, e.g. memcached
  */
-public class SaltCache {
+public final class SaltCache {
     private static Log log = LogFactory.getLog(SaltCache.class);
     
     // a unique identifier for this cache, this is used as the prefix for
@@ -97,7 +98,7 @@ public class SaltCache {
     
     public void put(String key, Object value) {
 		// expire after 60 minutes
-        contentCache.put(key, new ExpiringCacheEntry(value, 60 * 60 * 1000));
+        contentCache.put(key, new ExpiringCacheEntry(value, RollerConstants.HOUR_IN_MS));
         log.debug("PUT "+key);
     }
     

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/cache/SiteWideCache.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/cache/SiteWideCache.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/cache/SiteWideCache.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/cache/SiteWideCache.java Sun Apr 20 13:38:51 2014
@@ -23,12 +23,12 @@ import java.net.URLEncoder;
 import java.util.Date;
 import java.util.Enumeration;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.roller.util.RollerConstants;
 import org.apache.roller.weblogger.config.WebloggerConfig;
 import org.apache.roller.weblogger.config.WebloggerRuntimeConfig;
 import org.apache.roller.weblogger.pojos.WeblogBookmark;
@@ -66,7 +66,7 @@ public class SiteWideCache implements Ca
     
     // keep a cached version of last expired time
     private ExpiringCacheEntry lastUpdateTime = null;
-    private long timeout = 15 * 60 * 1000;
+    private long timeout = RollerConstants.FIFTEEN_MIN_IN_MS;
     
     // reference to our singleton instance
     private static SiteWideCache singletonInstance = new SiteWideCache();
@@ -76,7 +76,7 @@ public class SiteWideCache implements Ca
         
         cacheEnabled = WebloggerConfig.getBooleanProperty(CACHE_ID+".enabled");
         
-        Map cacheProps = new HashMap();
+        Map<String, String> cacheProps = new HashMap<String, String>();
         cacheProps.put("id", CACHE_ID);
         Enumeration allProps = WebloggerConfig.keys();
         String prop = null;
@@ -197,7 +197,7 @@ public class SiteWideCache implements Ca
         
         StringBuilder key = new StringBuilder();
         
-        key.append(this.CACHE_ID).append(":");
+        key.append(CACHE_ID).append(":");
         key.append("page/");
         key.append(pageRequest.getWeblogHandle());
         
@@ -369,8 +369,8 @@ public class SiteWideCache implements Ca
      * A folder has changed.
      */
     public void invalidate(WeblogBookmarkFolder folder) {
-        if(WebloggerRuntimeConfig.isSiteWideWeblog(folder.getWebsite().getHandle())) {
-            invalidate(folder.getWebsite());
+        if(WebloggerRuntimeConfig.isSiteWideWeblog(folder.getWeblog().getHandle())) {
+            invalidate(folder.getWeblog());
         }
     }
     
@@ -405,8 +405,8 @@ public class SiteWideCache implements Ca
      * A category has changed.
      */
     public void invalidate(WeblogCategory category) {
-        if(WebloggerRuntimeConfig.isSiteWideWeblog(category.getWebsite().getHandle())) {
-            invalidate(category.getWebsite());
+        if(WebloggerRuntimeConfig.isSiteWideWeblog(category.getWeblog().getHandle())) {
+            invalidate(category.getWeblog());
         }
     }
     
@@ -421,23 +421,17 @@ public class SiteWideCache implements Ca
     }
     
     
-    private String paramsToString(Map map) {
+    private String paramsToString(Map<String, String[]> map) {
         
-        if(map == null) {
+        if (map == null) {
             return null;
         }
         
         StringBuilder string = new StringBuilder();
         
-        String key = null;
-        String[] value = null;
-        Iterator keys = map.keySet().iterator();
-        while(keys.hasNext()) {
-            key = (String) keys.next();
-            value = (String[]) map.get(key);
-            
-            if(value != null) {
-                string.append(",").append(key).append("=").append(value[0]);
+        for (Map.Entry<String, String[]> entry : map.entrySet()) {
+            if(entry.getValue() != null) {
+                string.append(",").append(entry.getKey()).append("=").append(entry.getValue()[0]);
             }
         }
         

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/cache/WeblogCacheWarmupJob.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/cache/WeblogCacheWarmupJob.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/cache/WeblogCacheWarmupJob.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/cache/WeblogCacheWarmupJob.java Sun Apr 20 13:38:51 2014
@@ -19,11 +19,11 @@
 package org.apache.roller.weblogger.ui.rendering.util.cache;
 
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.roller.util.RollerConstants;
 import org.apache.roller.weblogger.business.runnable.Job;
 import org.apache.roller.weblogger.config.WebloggerConfig;
 import org.apache.roller.weblogger.pojos.StaticTemplate;
@@ -50,7 +50,7 @@ public class WeblogCacheWarmupJob implem
     private static Log log = LogFactory.getLog(WeblogCacheWarmupJob.class);
     
     // inputs from the user
-    private Map inputs = null;
+    private Map<String, Object> inputs = null;
     
     
     public void execute() {
@@ -61,18 +61,18 @@ public class WeblogCacheWarmupJob implem
         if(inputs != null) {
             
             // what weblogs will we handle?
-            List weblogs = (List) inputs.get("weblogs");
+            List<String> weblogs = (List<String>) inputs.get("weblogs");
             if(weblogs == null) {
                 return;
             }
             
             // should we do rss entries feeds?
-            if("true".equals((String) inputs.get("feed-entries-rss"))) {
+            if("true".equals(inputs.get("feed-entries-rss"))) {
                 this.warmupFeedCache(weblogs, "entries", "rss");
             }
             
             // should we do atom entries feeds?
-            if("true".equals((String) inputs.get("feed-entries-atom"))) {
+            if("true".equals(inputs.get("feed-entries-atom"))) {
                 this.warmupFeedCache(weblogs, "entries", "atom");
             }
         }
@@ -81,17 +81,17 @@ public class WeblogCacheWarmupJob implem
     }
     
     
-    public Map output() {
+    public Map<String, Object> output() {
        return null; 
     }
     
     
-    public void input(Map input) {
+    public void input(Map<String, Object> input) {
         this.inputs = input;
     }
     
     
-    private void warmupFeedCache(List weblogs, String type, String format) {
+    private void warmupFeedCache(List<String> weblogs, String type, String format) {
         
         if(weblogs == null) {
             return;
@@ -99,13 +99,9 @@ public class WeblogCacheWarmupJob implem
         
         // we are working on the feed cache
         WeblogFeedCache feedCache = WeblogFeedCache.getInstance();
-        
         long start = System.currentTimeMillis();
         
-        Iterator allWeblogs = weblogs.iterator();
-        String weblogHandle = null;
-        while(allWeblogs.hasNext()) {
-            weblogHandle = (String) allWeblogs.next();
+        for (String weblogHandle : weblogs) {
             log.debug("doing weblog "+weblogHandle);
             
             try {
@@ -117,15 +113,15 @@ public class WeblogCacheWarmupJob implem
                 
                 
                 // populate the rendering model
-                HashMap model = new HashMap();
-                Map initData = new HashMap();
+                Map<String, Object> modelMap = new HashMap<String, Object>();
+                Map<String, WeblogFeedRequest> initData = new HashMap<String, WeblogFeedRequest>();
                 initData.put("request", null);
                 initData.put("feedRequest", feedRequest);
                 initData.put("weblogRequest", feedRequest);
                 
                 // Load models for feeds
                 String feedModels = WebloggerConfig.getProperty("rendering.feedModels");
-                ModelLoader.loadModels(feedModels, model, initData, true);
+                ModelLoader.loadModels(feedModels, modelMap, initData, true);
                 
                 // TODO: re-enable custom models when they are actually used
                 // Load weblog custom models
@@ -133,15 +129,15 @@ public class WeblogCacheWarmupJob implem
                 
                 
                 // lookup Renderer we are going to use
-                Renderer renderer = null;
+                Renderer renderer;
                 Template template = new StaticTemplate(
 					"weblog-"+type+"-"+format+".vm", "velocity");
                 renderer = RendererManager.getRenderer(template, DeviceType.standard);
                 
                 
                 // render content.  use default size of about 24K for a standard page
-                CachedContent rendererOutput = new CachedContent(24567);
-                renderer.render(model, rendererOutput.getCachedWriter());
+                CachedContent rendererOutput = new CachedContent(RollerConstants.TWENTYFOUR_KB_IN_BYTES);
+                renderer.render(modelMap, rendererOutput.getCachedWriter());
                 
                 
                 // flush rendered output and close
@@ -159,7 +155,7 @@ public class WeblogCacheWarmupJob implem
         }
         
         long end = System.currentTimeMillis();
-        long time = (end-start)*1000;
+        long time = (end-start) * RollerConstants.SEC_IN_MS;
         
         log.info("Completed warmup for "+type+"/"+format+" in "+time+" secs.");
         

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/cache/WeblogPageCache.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/cache/WeblogPageCache.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/cache/WeblogPageCache.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/util/cache/WeblogPageCache.java Sun Apr 20 13:38:51 2014
@@ -22,7 +22,6 @@ import java.io.UnsupportedEncodingExcept
 import java.net.URLEncoder;
 import java.util.Enumeration;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.Map;
 import java.util.Set;
 import java.util.TreeSet;
@@ -242,28 +241,20 @@ public final class WeblogPageCache {
         return key.toString();
     }
     
-    
-    private String paramsToString(Map map) {
-        
+    private String paramsToString(Map<String, String[]> map) {
+
         if (map == null) {
             return null;
         }
-        
+
         StringBuilder string = new StringBuilder();
-        
-        String key = null;
-        String[] value = null;
-        Iterator keys = map.keySet().iterator();
-        while (keys.hasNext()) {
-            key = (String) keys.next();
-            value = (String[]) map.get(key);
-            
-            if(value != null) {
-                string.append(",").append(key).append("=").append(value[0]);
+
+        for (Map.Entry<String, String[]> entry : map.entrySet()) {
+            if(entry.getKey() != null) {
+                string.append(",").append(entry.getKey()).append("=").append(entry.getValue()[0]);
             }
         }
-        
+
         return Utilities.toBase64(string.toString().substring(1).getBytes());
     }
-    
 }

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/velocity/RollerResourceLoader.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/velocity/RollerResourceLoader.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/velocity/RollerResourceLoader.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/velocity/RollerResourceLoader.java Sun Apr 20 13:38:51 2014
@@ -57,9 +57,9 @@ public class RollerResourceLoader extend
 	 * @param name
 	 *            name of template
 	 * @return InputStream containing template
+     * @throws ResourceNotFoundException
 	 */
-	public InputStream getResourceStream(String name)
-			throws ResourceNotFoundException {
+	public InputStream getResourceStream(String name) {
 
 		logger.debug("Looking for: " + name);
 

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/velocity/RollerVelocity.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/velocity/RollerVelocity.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/velocity/RollerVelocity.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/velocity/RollerVelocity.java Sun Apr 20 13:38:51 2014
@@ -28,8 +28,6 @@ import org.apache.roller.weblogger.ui.co
 import org.apache.roller.weblogger.ui.rendering.mobile.MobileDeviceRepository;
 import org.apache.velocity.Template;
 import org.apache.velocity.app.VelocityEngine;
-import org.apache.velocity.exception.ParseErrorException;
-import org.apache.velocity.exception.ResourceNotFoundException;
 
 
 /**
@@ -97,35 +95,39 @@ public class RollerVelocity {
     
     /**
      * Convenience static method for looking up a template.
+     * @throws org.apache.velocity.exception.ResourceNotFoundException,
+     *       org.apache.velocity.exception.ParseErrorException
      */
-    public static Template getTemplate(String name)
-            throws ResourceNotFoundException, ParseErrorException, Exception {
+    public static Template getTemplate(String name) {
         return velocityEngine.getTemplate(name + "|standard");
     }
 
     /**
      * Convenience static method for looking up a template.
+     * @throws org.apache.velocity.exception.ResourceNotFoundException,
+     *       org.apache.velocity.exception.ParseErrorException
      */
     public static Template getTemplate(String name, 
-			MobileDeviceRepository.DeviceType deviceType)
-            throws ResourceNotFoundException, ParseErrorException, Exception {
+			MobileDeviceRepository.DeviceType deviceType) {
         return velocityEngine.getTemplate(name + "|" + deviceType);
     }
     
     /**
      * Convenience static method for looking up a template.
+     * @throws org.apache.velocity.exception.ResourceNotFoundException,
+     *       org.apache.velocity.exception.ParseErrorException
      */
-    public static Template getTemplate(String name, String encoding)
-            throws ResourceNotFoundException, ParseErrorException, Exception {
+    public static Template getTemplate(String name, String encoding) {
         return velocityEngine.getTemplate(name + "|standard", encoding);
     }
 	
     /**
      * Convenience static method for looking up a template.
+     * @throws org.apache.velocity.exception.ResourceNotFoundException,
+     *       org.apache.velocity.exception.ParseErrorException
      */
     public static Template getTemplate(String name, 
-			MobileDeviceRepository.DeviceType deviceType, String encoding)
-            throws ResourceNotFoundException, ParseErrorException, Exception {
+			MobileDeviceRepository.DeviceType deviceType, String encoding) {
         return velocityEngine.getTemplate(name + "|" + deviceType, encoding);
     }
 }

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/velocity/ThemeResourceLoader.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/velocity/ThemeResourceLoader.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/velocity/ThemeResourceLoader.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/velocity/ThemeResourceLoader.java Sun Apr 20 13:38:51 2014
@@ -54,8 +54,10 @@ public class ThemeResourceLoader extends
         logger.debug(configuration);
     }
 
-    public InputStream getResourceStream(String name)
-            throws ResourceNotFoundException {
+    /**
+     * @throws ResourceNotFoundException
+     */
+    public InputStream getResourceStream(String name) {
 
         if (log.isDebugEnabled()) {
             logger.debug("Looking for: " + name);

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/velocity/VelocityRenderer.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/velocity/VelocityRenderer.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/velocity/VelocityRenderer.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/velocity/VelocityRenderer.java Sun Apr 20 13:38:51 2014
@@ -24,6 +24,7 @@ import java.util.Map;
 
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
+import org.apache.roller.util.RollerConstants;
 import org.apache.roller.weblogger.pojos.Template;
 import org.apache.roller.weblogger.pojos.ThemeTemplate;
 import org.apache.roller.weblogger.ui.rendering.Renderer;
@@ -177,7 +178,7 @@ public class VelocityRenderer implements
             }
 
             long endTime = System.currentTimeMillis();
-            long renderTime = (endTime - startTime) / 1000;
+            long renderTime = (endTime - startTime) / RollerConstants.SEC_IN_MS;
 
             log.debug("Rendered [" + renderTemplate.getId() + "] in "
                     + renderTime + " secs");
@@ -191,9 +192,6 @@ public class VelocityRenderer implements
             // need to lookup parse error template
             renderException(model, out, "error-parse.vm");
 
-            // and we're done
-            return;
-
         } catch (MethodInvocationException ex) {
 
             // in the case of a parsing error including a page we want to render
@@ -203,9 +201,6 @@ public class VelocityRenderer implements
             // need to lookup parse error template
             renderException(model, out, "error-parse.vm");
 
-            // and we're done
-            return;
-
         } catch (VelocityException ex) {
 
             // in the case of a parsing error including a macro we want to
@@ -215,9 +210,6 @@ public class VelocityRenderer implements
             // need to lookup parse error template
             renderException(model, out, "error-parse.vm");
 
-            // and we're done
-            return;
-
         } catch (Exception ex) {
             // wrap and rethrow so caller can deal with it
             throw new RenderingException("Error during rendering", ex);
@@ -257,9 +249,6 @@ public class VelocityRenderer implements
             // render output to Writer
             velocityTemplate.merge(ctx, out);
 
-            // and we're done
-            return;
-
         } catch (Exception e) {
             // wrap and rethrow so caller can deal with it
             throw new RenderingException("Error during rendering", e);

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/velocity/WebappResourceLoader.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/velocity/WebappResourceLoader.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/velocity/WebappResourceLoader.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/rendering/velocity/WebappResourceLoader.java Sun Apr 20 13:38:51 2014
@@ -121,11 +121,10 @@ public class WebappResourceLoader extend
 	 * @param name
 	 *            name of template to get
 	 * @return InputStream containing the template
-	 * @throws ResourceNotFoundException
-	 *             if template not found in classpath.
+	 * @throws ResourceNotFoundException if template not found in classpath.
+	 *
 	 */
-	public InputStream getResourceStream(String name)
-			throws ResourceNotFoundException {
+	public InputStream getResourceStream(String name) {
 
 		InputStream result = null;
 		Exception exception = null;
@@ -143,7 +142,7 @@ public class WebappResourceLoader extend
 			throw new ResourceNotFoundException("Invalid ThemeRL key " + name);
 		}
 
-		String savedPath = (String) templatePaths.get(name);
+		String savedPath = templatePaths.get(name);
 		if (savedPath != null) {
 			result = servletContext.getResourceAsStream(savedPath + split[0]);
 		}
@@ -214,7 +213,7 @@ public class WebappResourceLoader extend
 			fileName = fileName.substring(1);
 		}
 
-		String savedPath = (String) templatePaths.get(fileName);
+		String savedPath = templatePaths.get(fileName);
 
 		// names are <template>|<deviceType>
 		// loading weblog.vm etc will not have the type so only check for

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/CacheInfo.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/CacheInfo.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/CacheInfo.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/CacheInfo.java Sun Apr 20 13:38:51 2014
@@ -21,8 +21,6 @@ package org.apache.roller.weblogger.ui.s
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.roller.weblogger.pojos.GlobalPermission;
 import org.apache.roller.weblogger.ui.struts2.util.UIAction;
 import org.apache.roller.weblogger.util.cache.CacheManager;
@@ -33,8 +31,6 @@ import org.apache.roller.weblogger.util.
  */
 public class CacheInfo extends UIAction {
     
-    private static Log log = LogFactory.getLog(CacheInfo.class);
-    
     // map of stats to display
     private Map stats = Collections.EMPTY_MAP;
     

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/CommonPingTargetAdd.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/CommonPingTargetAdd.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/CommonPingTargetAdd.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/CommonPingTargetAdd.java Sun Apr 20 13:38:51 2014
@@ -63,7 +63,6 @@ public class CommonPingTargetAdd extends
                 null, 
                 getBean().getName(), 
                 getBean().getPingUrl(), 
-                null, 
                 false);
     }
     

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/CreateUser.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/CreateUser.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/CreateUser.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/CreateUser.java Sun Apr 20 13:38:51 2014
@@ -22,8 +22,8 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Locale;
 import java.util.TimeZone;
-import org.apache.commons.lang.CharSetUtils;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.CharSetUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.roller.weblogger.WebloggerException;
@@ -64,16 +64,19 @@ public class CreateUser extends UIAction
         return false;
     }
     
-    
+    private void initializeBean() {
+        // defaults for locale and timezone
+        getBean().setLocale(Locale.getDefault().toString());
+        getBean().setTimeZone(TimeZone.getDefault().getID());
+    }
+
+
     /**
      * Show admin user creation form.
      */
     public String execute() {
         
-        // defaults for locale and timezone
-        getBean().setLocale(Locale.getDefault().toString());
-        getBean().setTimeZone(TimeZone.getDefault().getID());
-        
+        initializeBean();
         return INPUT;
     }
     
@@ -111,10 +114,11 @@ public class CreateUser extends UIAction
                 WebloggerFactory.getWeblogger().flush();
 
                 // TODO: i18n
-                addMessage("New user created");
-
+                addMessage("User " + getBean().getUserName() + " created.  If desired, create another new user below or" +
+                        " select Cancel to return to User Administration.");
+                setBean(new CreateUserBean());
+                initializeBean();
                 return INPUT;
-
             } catch (WebloggerException e) {
                 log.error("Error adding new user", e);
                 // TODO: i18n

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalCommentManagement.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalCommentManagement.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalCommentManagement.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalCommentManagement.java Sun Apr 20 13:38:51 2014
@@ -22,16 +22,16 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import javax.servlet.http.HttpServletRequest;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.roller.weblogger.WebloggerException;
 import org.apache.roller.weblogger.business.WebloggerFactory;
 import org.apache.roller.weblogger.business.WeblogEntryManager;
+import org.apache.roller.weblogger.pojos.CommentSearchCriteria;
 import org.apache.roller.weblogger.pojos.GlobalPermission;
 import org.apache.roller.weblogger.pojos.Weblog;
 import org.apache.roller.weblogger.pojos.WeblogEntryComment;
@@ -94,31 +94,32 @@ public class GlobalCommentManagement ext
     
     public void loadComments() {
         
-        List comments = Collections.EMPTY_LIST;
+        List<WeblogEntryComment> comments = Collections.emptyList();
         boolean hasMore = false;
         try {
             WeblogEntryManager wmgr = WebloggerFactory.getWeblogger().getWeblogEntryManager();
-            List rawComments = wmgr.getComments(
-                    null,
-                    null,
-                    getBean().getSearchString(),
-                    getBean().getStartDate(),
-                    getBean().getEndDate(),
-                    getBean().getStatus(),
-                    true, // reverse  chrono order
-                    getBean().getPage() * COUNT,
-                    COUNT + 1);
-            comments = new ArrayList();
+
+            CommentSearchCriteria csc = new CommentSearchCriteria();
+            csc.setSearchText(getBean().getSearchString());
+            csc.setStartDate(getBean().getStartDate());
+            csc.setEndDate(getBean().getEndDate());
+            csc.setStatus(getBean().getStatus());
+            csc.setReverseChrono(true);
+            csc.setOffset(getBean().getPage() * COUNT);
+            csc.setMaxResults(COUNT+1);
+
+            List<WeblogEntryComment> rawComments = wmgr.getComments(csc);
+            comments = new ArrayList<WeblogEntryComment>();
             comments.addAll(rawComments);   
             
-            if(comments != null && comments.size() > 0) {
+            if(comments.size() > 0) {
                 if(comments.size() > COUNT) {
                     comments.remove(comments.size()-1);
                     hasMore = true;
                 }
                 
-                setFirstComment((WeblogEntryComment)comments.get(0));
-                setLastComment((WeblogEntryComment)comments.get(comments.size()-1));
+                setFirstComment(comments.get(0));
+                setLastComment(comments.get(comments.size()-1));
             }
         } catch (WebloggerException ex) {
             log.error("Error looking up comments", ex);
@@ -134,7 +135,7 @@ public class GlobalCommentManagement ext
     // use the action data to build a url representing this action, including query data
     private String buildBaseUrl() {
         
-        Map<String, String> params = new HashMap();
+        Map<String, String> params = new HashMap<String, String>();
         
         if(!StringUtils.isEmpty(getBean().getSearchString())) {
             params.put("bean.searchString", getBean().getSearchString());
@@ -183,17 +184,16 @@ public class GlobalCommentManagement ext
         
         try {
             WeblogEntryManager wmgr = WebloggerFactory.getWeblogger().getWeblogEntryManager();
-            List allMatchingComments = wmgr.getComments(
-                    null,
-                    null,
-                    getBean().getSearchString(),
-                    getBean().getStartDate(),
-                    getBean().getEndDate(),
-                    getBean().getStatus(),
-                    true, // reverse  chrono order
-                    0,
-                    -1);
-            
+
+            CommentSearchCriteria csc = new CommentSearchCriteria();
+            csc.setSearchText(getBean().getSearchString());
+            csc.setStartDate(getBean().getStartDate());
+            csc.setEndDate(getBean().getEndDate());
+            csc.setStatus(getBean().getStatus());
+            csc.setReverseChrono(true);
+
+            List allMatchingComments = wmgr.getComments(csc);
+
             if(allMatchingComments.size() > COUNT) {
                 setBulkDeleteCount(allMatchingComments.size());
             }
@@ -253,11 +253,11 @@ public class GlobalCommentManagement ext
             
             // delete all comments with delete box checked
             List<String> deletes = Arrays.asList(getBean().getDeleteComments());
-            if(deletes != null && deletes.size() > 0) {
+            if (deletes.size() > 0) {
                 log.debug("Processing deletes - "+deletes.size());
                 
-                WeblogEntryComment deleteComment = null;
-                for(String deleteId : deletes) {
+                WeblogEntryComment deleteComment;
+                for (String deleteId : deletes) {
                     deleteComment = wmgr.getComment(deleteId);
                     flushList.add(deleteComment.getWeblogEntry().getWebsite());
                     wmgr.removeComment(deleteComment);
@@ -269,19 +269,19 @@ public class GlobalCommentManagement ext
             log.debug(spamIds.size()+" comments marked as spam");
             
             String[] ids = Utilities.stringToStringArray(getBean().getIds(),",");
-            for (int i=0; i < ids.length; i++) {
-                log.debug("processing id - "+ ids[i]);
+            for (String id : ids) {
+                log.debug("processing id - "+ id);
                 
                 // if we already deleted it then skip forward
-                if(deletes.contains(ids[i])) {
-                    log.debug("Already deleted, skipping - "+ids[i]);
+                if(deletes.contains(id)) {
+                    log.debug("Already deleted, skipping - "+id);
                     continue;
                 }
                 
-                WeblogEntryComment comment = wmgr.getComment(ids[i]);
+                WeblogEntryComment comment = wmgr.getComment(id);
                 
                 // mark/unmark spam
-                if (spamIds.contains(ids[i]) && 
+                if (spamIds.contains(id) &&
                         !WeblogEntryComment.SPAM.equals(comment.getStatus())) {
                     log.debug("Marking as spam - "+comment.getId());
                     comment.setStatus(WeblogEntryComment.SPAM);
@@ -300,8 +300,8 @@ public class GlobalCommentManagement ext
             WebloggerFactory.getWeblogger().flush();
             
             // notify caches of changes, flush weblogs affected by changes
-            for (Iterator sites = flushList.iterator(); sites.hasNext();) {
-                CacheManager.invalidate((Weblog)sites.next());
+            for (Weblog weblog : flushList) {
+                CacheManager.invalidate(weblog);
             }
             
             addMessage("commentManagement.updateSuccess");
@@ -320,9 +320,9 @@ public class GlobalCommentManagement ext
     }
     
     
-    public List getCommentStatusOptions() {
+    public List<KeyValueObject> getCommentStatusOptions() {
         
-        List opts = new ArrayList();
+        List<KeyValueObject> opts = new ArrayList<KeyValueObject>();
         
         opts.add(new KeyValueObject("ALL", getText("commentManagement.all")));
         opts.add(new KeyValueObject("ONLY_PENDING", getText("commentManagement.onlyPending")));
@@ -332,9 +332,9 @@ public class GlobalCommentManagement ext
         return opts;
     }
     
-    public List getSpamStatusOptions() {
+    public List<KeyValueObject> getSpamStatusOptions() {
         
-        List opts = new ArrayList();
+        List<KeyValueObject> opts = new ArrayList<KeyValueObject>();
         
         opts.add(new KeyValueObject("ALL", getText("commentManagement.all")));
         opts.add(new KeyValueObject("NO_SPAM", getText("commentManagement.noSpam")));

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalCommentManagementBean.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalCommentManagementBean.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalCommentManagementBean.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalCommentManagementBean.java Sun Apr 20 13:38:51 2014
@@ -22,9 +22,8 @@ import java.text.DateFormat;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
-import java.util.Iterator;
 import java.util.List;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.roller.util.DateUtil;
 import org.apache.roller.weblogger.pojos.WeblogEntryComment;
 import org.apache.roller.weblogger.util.Utilities;
@@ -49,26 +48,23 @@ public class GlobalCommentManagementBean
     private String ids = null;
     
     
-    public void loadCheckboxes(List comments) {
+    public void loadCheckboxes(List<WeblogEntryComment> comments) {
         
-        List<String> allComments = new ArrayList();
-        List<String> spamList = new ArrayList();
+        List<String> allComments = new ArrayList<String>();
+        List<String> spamList = new ArrayList<String>();
         
-        Iterator it = comments.iterator();
-        while (it.hasNext()) {
-            WeblogEntryComment comment = (WeblogEntryComment)it.next();
+        for (WeblogEntryComment comment : comments) {
             allComments.add(comment.getId());
-            
+
             if (WeblogEntryComment.SPAM.equals(comment.getStatus())) {
                 spamList.add(comment.getId());
             }
         }
-        
-        String[] idArray = (String[]) allComments.toArray(new String[allComments.size()]);
+
+        String[] idArray = allComments.toArray(new String[allComments.size()]);
         this.setIds(Utilities.stringArrayToString(idArray,","));
         
-        spamComments = (String[])spamList.toArray(
-            new String[spamList.size()]);
+        spamComments = spamList.toArray(new String[spamList.size()]);
     }
     
     

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalConfig.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalConfig.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalConfig.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/GlobalConfig.java Sun Apr 20 13:38:51 2014
@@ -20,12 +20,10 @@ package org.apache.roller.weblogger.ui.s
 
 import java.util.Collection;
 import java.util.Collections;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
-import java.util.Set;
 import javax.servlet.http.HttpServletRequest;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.roller.weblogger.WebloggerException;
@@ -52,17 +50,17 @@ public class GlobalConfig extends UIActi
     
     private static Log log = LogFactory.getLog(GlobalConfig.class);
     
-    // the request parameters as <String, String[]>
-    private Map params = Collections.EMPTY_MAP;
+    // the request parameters
+    private Map<String, String[]> params = Collections.emptyMap();
     
     // map of config properties
-    private Map properties = Collections.EMPTY_MAP;
+    private Map<String, RuntimeConfigProperty> properties = Collections.emptyMap();
     
     // the runtime config def used to populate the display
     private ConfigDef globalConfigDef = null;
     
     // list of comment plugins
-    private List<WeblogEntryCommentPlugin> pluginsList = Collections.EMPTY_LIST;
+    private List<WeblogEntryCommentPlugin> pluginsList = Collections.emptyList();
     
     // comment plugins that are enabled.  this is what the html form submits to
     private String[] commentPlugins = new String[0];
@@ -119,8 +117,8 @@ public class GlobalConfig extends UIActi
         // set config def used to draw the view
         RuntimeConfigDefs defs = WebloggerRuntimeConfig.getRuntimeConfigDefs();
         List<ConfigDef> configDefs = defs.getConfigDefs();
-        for(ConfigDef configDef : configDefs) {
-            if("global-properties".equals(configDef.getName())) {
+        for (ConfigDef configDef : configDefs) {
+            if ("global-properties".equals(configDef.getName())) {
                 setGlobalConfigDef(configDef);
             }
         }
@@ -155,13 +153,10 @@ public class GlobalConfig extends UIActi
         }
         
         // only set values for properties that are already defined
-        String propName = null;
-        RuntimeConfigProperty updProp = null;
-        String incomingProp = null;
-        Iterator propsIT = getProperties().keySet().iterator();
-        while (propsIT.hasNext()) {
-            propName = (String) propsIT.next();
-            updProp = (RuntimeConfigProperty) getProperties().get(propName);
+        RuntimeConfigProperty updProp;
+        String incomingProp;
+        for (String propName : getProperties().keySet()) {
+            updProp = getProperties().get(propName);
             incomingProp = this.getParameter(updProp.getName());
             
             log.debug("Checking property ["+propName+"]");
@@ -171,7 +166,8 @@ public class GlobalConfig extends UIActi
             // this is a bit hacky since we are assuming that any prop
             // with a value of "true" or "false" is meant to be a boolean
             // it may not always be the case, but we should be okay for now
-            if( updProp.getValue() != null // null check needed w/Oracle
+            // null check below needed w/Oracle
+            if( updProp.getValue() != null
                     && (updProp.getValue().equals("true") || updProp.getValue().equals("false"))) {
                 
                 if(incomingProp == null || !incomingProp.equals("on")) {
@@ -196,8 +192,7 @@ public class GlobalConfig extends UIActi
         if(getCommentPlugins().length > 0) {
             enabledPlugins = StringUtils.join(getCommentPlugins(), ",");
         }
-        RuntimeConfigProperty prop = 
-                    (RuntimeConfigProperty) getProperties().get("users.comments.plugins");
+        RuntimeConfigProperty prop = getProperties().get("users.comments.plugins");
         prop.setValue(enabledPlugins);
             
         try {
@@ -219,14 +214,14 @@ public class GlobalConfig extends UIActi
     }
     
     
-    public void setParameters(Map parameters) {
+    public void setParameters(Map<String, String[]> parameters) {
         this.params = parameters;
         
         if (log.isDebugEnabled()) {
             log.debug("Parameter map:");
-            Set<String> keys = parameters.keySet();
-            for(String key : keys) {
-                log.debug(key+" = "+parameters.get(key));
+
+            for (Map.Entry<String, String[]> entry : parameters.entrySet()) {
+                log.debug(entry.getKey() + " = " + entry.getValue());
             }
         }
     }
@@ -234,7 +229,7 @@ public class GlobalConfig extends UIActi
     // convenience method for getting a single parameter as a String
     private String getParameter(String key) {
         
-        String[] p = (String[]) this.params.get(key);
+        String[] p = this.params.get(key);
         if(p != null && p.length > 0) {
             return p[0];
         }
@@ -242,11 +237,11 @@ public class GlobalConfig extends UIActi
     }
     
     
-    public Map getProperties() {
+    public Map<String, RuntimeConfigProperty> getProperties() {
         return properties;
     }
 
-    public void setProperties(Map properties) {
+    public void setProperties(Map<String, RuntimeConfigProperty> properties) {
         this.properties = properties;
     }
 

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/ModifyUser.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/ModifyUser.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/ModifyUser.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/admin/ModifyUser.java Sun Apr 20 13:38:51 2014
@@ -21,7 +21,7 @@ package org.apache.roller.weblogger.ui.s
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
-import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.roller.weblogger.WebloggerException;
@@ -42,7 +42,7 @@ public class ModifyUser extends UIAction
     
     private static Log log = LogFactory.getLog(ModifyUser.class);
 
-    private static final boolean isCMA = WebloggerConfig.getBooleanProperty("authentication.cma.enabled");
+    private static final boolean IS_CMA = WebloggerConfig.getBooleanProperty("authentication.cma.enabled");
     
     // user we are modifying
     private User user = new User();
@@ -164,7 +164,7 @@ public class ModifyUser extends UIAction
                     
                 }
             
-                if (!isCMA) {
+                if (!IS_CMA) {
                     RollerContext.flushAuthenticationUserCache(getUser().getUserName());
                 }
 
@@ -178,7 +178,6 @@ public class ModifyUser extends UIAction
                 
             } catch (WebloggerException ex) {
                 log.error("ERROR in action", ex);
-                // TODO: i18n
                 addError("userAdmin.error.unexpectedError");
             }
             
@@ -187,7 +186,6 @@ public class ModifyUser extends UIAction
         return INPUT;
     }
     
-    
     // TODO: replace with struts2 validation
     private void myValidate() {
         
@@ -198,8 +196,7 @@ public class ModifyUser extends UIAction
             addError("error.add.user.missingEmailAddress");
         }
     }
-    
-    
+
     public CreateUserBean getBean() {
         return bean;
     }

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/ajax/CommentDataServlet.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/ajax/CommentDataServlet.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/ajax/CommentDataServlet.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/ajax/CommentDataServlet.java Sun Apr 20 13:38:51 2014
@@ -23,8 +23,8 @@ import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
-import org.apache.commons.lang.StringEscapeUtils;
-import org.apache.commons.lang.WordUtils;
+import org.apache.commons.lang3.StringEscapeUtils;
+import org.apache.commons.lang3.text.WordUtils;
 import org.apache.roller.weblogger.business.Weblogger;
 import org.apache.roller.weblogger.business.WebloggerFactory;
 import org.apache.roller.weblogger.business.WeblogEntryManager;
@@ -66,7 +66,7 @@ public class CommentDataServlet extends 
                 if (weblog.hasUserPermission(rses.getAuthenticatedUser(), WeblogPermission.POST)) {
                     String content = Utilities.escapeHTML(c.getContent());
                     content = WordUtils.wrap(content, 72);
-                    content = StringEscapeUtils.escapeJavaScript(content);
+                    content = StringEscapeUtils.escapeEcmaScript(content);
                     String json = "{ id: \"" + c.getId() + "\"," + "content: \"" + content + "\" }";
                     response.setStatus(HttpServletResponse.SC_OK);
                     response.setContentType("text/html; charset=utf-8");
@@ -113,7 +113,7 @@ public class CommentDataServlet extends 
                     c = wmgr.getComment(request.getParameter("id"));
                     content = Utilities.escapeHTML(c.getContent());
                     content = WordUtils.wrap(content, 72);
-                    content = StringEscapeUtils.escapeJavaScript(content);
+                    content = StringEscapeUtils.escapeEcmaScript(content);
                     String json = "{ id: \"" + c.getId() + "\"," + "content: \"" + content + "\" }";
                     response.setStatus(HttpServletResponse.SC_OK);
                     response.setContentType("text/html; charset=utf-8");

Modified: roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/ajax/UserDataServlet.java
URL: http://svn.apache.org/viewvc/roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/ajax/UserDataServlet.java?rev=1588757&r1=1588756&r2=1588757&view=diff
==============================================================================
--- roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/ajax/UserDataServlet.java (original)
+++ roller/branches/rome2/app/src/main/java/org/apache/roller/weblogger/ui/struts2/ajax/UserDataServlet.java Sun Apr 20 13:38:51 2014
@@ -19,40 +19,70 @@
 package org.apache.roller.weblogger.ui.struts2.ajax;
 
 import java.io.IOException;
-import java.util.Iterator;
 import java.util.List;
+
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
+
 import org.apache.roller.weblogger.WebloggerException;
 import org.apache.roller.weblogger.business.Weblogger;
 import org.apache.roller.weblogger.business.WebloggerFactory;
 import org.apache.roller.weblogger.business.UserManager;
 import org.apache.roller.weblogger.pojos.User;
-
+import org.apache.roller.weblogger.ui.rendering.util.WeblogRequest;
 
 /**
  * Return list of users matching a startsWith strings. <br />
  * Accepts request params (none required):<br />
- *     startsWith: string to be matched against username and email address<br />
- *     enabled: true include only enabled users (default: no restriction<br />
- *     offset: offset into results (for paging)<br />
- *     length: number of users to return (max is 50)<br /><br />
+ * startsWith: string to be matched against username and email address<br />
+ * enabled: true include only enabled users (default: no restriction<br />
+ * offset: offset into results (for paging)<br />
+ * length: number of users to return (max is 50)<br />
+ * <br />
  * List format:<br />
- *     username0, emailaddress0 <br/>
- *     username1, emailaddress1 <br/>
- *     username2, emailaddress2 <br/>
- *     usernameN, emailaddressN <br/>
+ * username0, emailaddress0 <br/>
+ * username1, emailaddress1 <br/>
+ * username2, emailaddress2 <br/>
+ * usernameN, emailaddressN <br/>
+ * 
+ * web.xml: <url-pattern>/roller-ui/authoring/userdata/*</url-pattern>
+ * security.xml: <intercept-url pattern="/roller-ui/authoring/**"
+ * access="admin,editor"/>
  */
 public class UserDataServlet extends HttpServlet {
-    
+
+    private static final long serialVersionUID = -7596671919118637768L;
     private static final int MAX_LENGTH = 50;
-    
-    public void doGet(HttpServletRequest request, 
-                      HttpServletResponse response)
+
+    public void doGet(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
-        
+
+        boolean admin = false;
+
+        // This user check can be removed as we protected by spring (see above).
+        WeblogRequest weblogRequest = null;
+        try {
+            weblogRequest = new WeblogRequest(request);
+
+            // Make sure we have the correct authority
+            User user = weblogRequest.getUser();
+            if (user == null) {
+                // user not found
+                response.sendError(HttpServletResponse.SC_NOT_FOUND);
+                return;
+            } else if (user.hasGlobalPermission("admin")) {
+                // admin
+                admin = true;
+            }
+
+        } catch (Exception e) {
+            // some kind of error just return
+            response.sendError(HttpServletResponse.SC_NOT_FOUND);
+            return;
+        }
+
         String startsWith = request.getParameter("startsWith");
         Boolean enabledOnly = null;
         int offset = 0;
@@ -65,27 +95,32 @@ public class UserDataServlet extends Htt
         }
         try {
             offset = Integer.parseInt(request.getParameter("offset"));
-        } catch (Exception ignored) {}
+        } catch (Exception ignored) {
+        }
         try {
             length = Integer.parseInt(request.getParameter("length"));
-        } catch (Exception ignored) {}
-        
+        } catch (Exception ignored) {
+        }
+
         Weblogger roller = WebloggerFactory.getWeblogger();
         try {
             UserManager umgr = roller.getUserManager();
-            List users =
-                    umgr.getUsersStartingWith(startsWith, enabledOnly, offset, length);
-            Iterator userIter = users.iterator();
-            while (userIter.hasNext()) {
-                User user = (User)userIter.next();
+            List<User> users = umgr.getUsersStartingWith(startsWith,
+                    enabledOnly, offset, length);
+            for (User user : users) {
                 response.getWriter().print(user.getUserName());
-                response.getWriter().print(",");
-                response.getWriter().println(user.getEmailAddress());
+                if (admin) {
+                    response.getWriter().print(",");
+                    response.getWriter().println(user.getEmailAddress());
+                } else{
+                    response.getWriter().print(",");
+                    response.getWriter().println(user.getScreenName());
+                }
             }
             response.flushBuffer();
         } catch (WebloggerException e) {
             throw new ServletException(e.getMessage());
         }
     }
-    
+
 }