]> jfr.im git - irc/rizon/bncbot.git/commitdiff
Add in result limiting.
authorN Lum <redacted>
Mon, 3 May 2010 21:56:30 +0000 (21:56 +0000)
committerN Lum <redacted>
Mon, 3 May 2010 21:56:30 +0000 (21:56 +0000)
--HG--
extra : convert_revision : svn%3Aafccd9b4-69c3-4f67-9d0d-5b27f80d3d7c/trunk%40132

src/net/rizon/bncbot/handler/LogGrepHandler.java

index bdc296294bae72388aa47e90064cf6cb0bce744b..afa87ffab52bcba5394958f4fd0b0494d373174f 100644 (file)
@@ -17,15 +17,19 @@ public class LogGrepHandler extends AbstractSimpleHandler {
 \r
        public void handle() {\r
                // Check if we have a starting number.\r
-               int start = -1;\r
-               boolean haveStart = false;\r
+               int start = -1, num = 10;\r
+               boolean haveStart = true;\r
                try {\r
-                       start = Integer.parseInt(args[4]);\r
+                       String[] s = args[4].split(",");\r
+                       start = Integer.parseInt(s[0]);\r
+                       num = Integer.parseInt(s[1]);\r
                } catch (NumberFormatException nfe) {\r
                        haveStart = false;\r
                } finally {\r
                        if (start < 0)\r
                                start = 0;\r
+                       if (num < 0)\r
+                               num = 10;\r
                }\r
 \r
                try {\r
@@ -34,15 +38,15 @@ public class LogGrepHandler extends AbstractSimpleHandler {
                        PreparedStatement ps = conn.prepareStatement(String.format(q, "COUNT(*)"));\r
                        ps.setString(1, haveStart ? argsv[5] : argsv[4]);\r
                        ResultSet rs = ps.executeQuery(); rs.next();\r
-                       int num = rs.getInt(1);\r
+                       int total = rs.getInt(1);\r
                        rs.close(); ps.close();\r
-                       \r
-                       ps = conn.prepareStatement(String.format(q, "`event_text`, `event_time`") + " LIMIT " + start + ",10;");\r
+\r
+                       ps = conn.prepareStatement(String.format(q, "`event_text`, `event_time`") + " LIMIT " + start + "," + num);\r
                        ps.setString(1, haveStart ? argsv[5] : argsv[4]);\r
                        rs = ps.executeQuery();\r
-                       \r
-                       bot.privmsg(bot.getAdminChannel(), bot.getString("adminLogGrepHeader", start + 1, Math.min(start + 10, num), num, haveStart ? argsv[5] : argsv[4]));\r
-                       while(rs.next()) {\r
+\r
+                       bot.privmsg(bot.getAdminChannel(), bot.getString("adminLogGrepHeader", start + 1, Math.min(start + num, total), total, haveStart ? argsv[5] : argsv[4]));\r
+                       while (rs.next()) {\r
                                bot.privmsg(bot.getAdminChannel(), bot.getString("adminLogGrepEntry", new Date(rs.getTimestamp("event_time").getTime()), rs.getString("event_text")));\r
                        }\r
                        rs.close(); ps.close();\r