You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@roller.apache.org by el...@apache.org on 2006/11/02 01:49:10 UTC

svn commit: r470149 - /incubator/roller/trunk/src/org/apache/roller/webservices/json/TagStatsServlet.java

Author: eliast
Date: Wed Nov  1 16:49:10 2006
New Revision: 470149

URL: http://svn.apache.org/viewvc?view=rev&rev=470149
Log:
- Added configurable limit to TagStatsServlet.

Modified:
    incubator/roller/trunk/src/org/apache/roller/webservices/json/TagStatsServlet.java

Modified: incubator/roller/trunk/src/org/apache/roller/webservices/json/TagStatsServlet.java
URL: http://svn.apache.org/viewvc/incubator/roller/trunk/src/org/apache/roller/webservices/json/TagStatsServlet.java?view=diff&rev=470149&r1=470148&r2=470149
==============================================================================
--- incubator/roller/trunk/src/org/apache/roller/webservices/json/TagStatsServlet.java (original)
+++ incubator/roller/trunk/src/org/apache/roller/webservices/json/TagStatsServlet.java Wed Nov  1 16:49:10 2006
@@ -26,27 +26,27 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-import org.apache.commons.lang.StringUtils;
 import org.apache.roller.RollerException;
 import org.apache.roller.business.Roller;
 import org.apache.roller.business.RollerFactory;
 import org.apache.roller.business.UserManager;
 import org.apache.roller.business.WeblogManager;
+import org.apache.roller.config.RollerConfig;
 import org.apache.roller.pojos.TagStat;
-import org.apache.roller.pojos.UserData;
 import org.apache.roller.pojos.WebsiteData;
-import org.apache.roller.util.Utilities;
 
 /**
  * Return list of tags matching a startsWith strings. <br />
  * 
  * @web.servlet name="TagStatsServlet" 
  * @web.servlet-mapping url-pattern="/roller-services/json/tags/*"
+ * 
  * @author Elias Torres (<a href="mailto:eliast@us.ibm.com">eliast@us.ibm.com</a>)
  */
 public class TagStatsServlet extends HttpServlet {
     
-    private final int MAX_LENGTH = 100;
+    // this allows for -1 for no limits.
+    private final int MAX_LENGTH = RollerConfig.getIntProperty("services.json.tags.max", 100);
     
     protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
         doGet(request, response);
@@ -56,9 +56,17 @@
             throws ServletException, IOException {    
         
         int limit = MAX_LENGTH;       
-        try { 
-            limit = Integer.parseInt(request.getParameter("limit"));
+        try {
+            // only change limit, if specified.
+            if(request.getParameter("limit") != null) {
+              limit = Integer.parseInt(request.getParameter("limit"));
+            }
         } catch (Throwable ignored) {}
+        
+        // if we didn't specify no limit and user is abusing, kill it.
+        if(MAX_LENGTH > -1 && limit > MAX_LENGTH) {
+          limit = MAX_LENGTH;
+        }
         
         String pathInfo = request.getPathInfo();
         String handle = null;