Blame | Last modification | View Log | RSS feed
<%@ page import="java.util.Arrays"%><%@ page import="java.util.Calendar"%><%@ page import="java.text.ParseException"%><%@ page import="java.util.TimeZone"%><%@ page import="java.text.SimpleDateFormat"%><%@ page import="java.util.Date"%><%@ page import="com.google.appengine.api.datastore.Query.SortDirection"%><%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ page import="com.google.appengine.api.datastore.DatastoreServiceFactory" %><%@ page import="com.google.appengine.api.datastore.DatastoreService" %><%@ page import="com.google.appengine.api.datastore.Query" %><%@ page import="com.google.appengine.api.datastore.Entity" %><%@ page import="com.google.appengine.api.datastore.PreparedQuery" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Captcha Stats</title></head><% Date toDate = new Date();Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("IST"));cal.add(Calendar.DAY_OF_MONTH, -1);Date fromDate = cal.getTime();SimpleDateFormat iSdf = new SimpleDateFormat("yyyyMMdd");String toDateStr = request.getParameter("toDate");String fromDateStr = request.getParameter("fromDate");if (fromDateStr == null || fromDateStr.isEmpty()) {fromDateStr = iSdf.format(fromDate);}if (toDateStr == null || toDateStr.isEmpty()) {toDateStr = iSdf.format(toDate);}%><body><form id="searchfilter" name="searchfilter" method="post" action="/jsp/captcha-stats.jsp"><label>From Date(YYYYMMDD) : </label> <input type="text" name="fromDate" id="fromDate" value="<%= fromDateStr %>"/><label>To Date(YYYYMMDD) : </label> <input type="text" name="toDate" id="toDate" value="<%= toDateStr %>"/><input type="Submit" id="Submit" name="Submit" value="Submit" /></form><%try {if (fromDateStr != null) {fromDate = iSdf.parse(fromDateStr);}if (toDateStr != null) {toDate = iSdf.parse(toDateStr);}}catch (ParseException pe) {%><span>Invalid Date Format</span><%}SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");sdf.setTimeZone(TimeZone.getTimeZone("IST"));DatastoreService datastore = DatastoreServiceFactory.getDatastoreService();Query query = new Query("DataLog");query.addFilter("eventType", Query.FilterOperator.IN,Arrays.asList("CAPTCHA_SUCCESS","CAPTCHA_FAILED"));query.addFilter("date", Query.FilterOperator.GREATER_THAN_OR_EQUAL, fromDate);query.addFilter("date", Query.FilterOperator.LESS_THAN_OR_EQUAL, toDate);PreparedQuery pq = datastore.prepare(query);Integer captchaSuccessCount = 0;Integer captchaFailureCount = 0;for (Entity result : pq.asIterable()) {if(result.getProperty("eventType").equals("CAPTCHA_SUCCESS")){captchaSuccessCount++;}else{captchaFailureCount++;}}double captchaFailureRate = 0.0;if((captchaSuccessCount+captchaFailureCount)!=0){captchaFailureRate = ((double)((captchaFailureCount*100*100)/(captchaSuccessCount+captchaFailureCount)))/100.0;}%><h3> Captcha Success Count : <%=captchaSuccessCount%></h3><h3> Captcha Failure Count : <%=captchaFailureCount%></h3><h3> Captcha Failure Rate : <%=captchaFailureRate%>%</h3></body></html>