package compbio.controllers;
-import java.security.Principal;
import java.util.List;
import java.util.Map;
* @author Natasha Sherstneva
*/
@Controller
-public class IPDataController {
+public class IPDataController extends BasicController {
@RequestMapping(value = "/admin/ip/counts/query", method = RequestMethod.GET)
- public String initStatisticsForm(Map<String, Object> model, Principal principal) {
- model.put("username", principal.getName());
+ public String initStatisticsForm(Map<String, Object> model) {
+ model.put("username", getPrincipalName());
model.put("value", 5);
- return "queryIPStatistics";
+ return "query/IPStatistics";
}
@RequestMapping(value = "/admin/ip/query", method = RequestMethod.GET)
- public String initOneIPForm(Map<String, Object> model, Principal principal) {
- model.put("username", principal.getName());
- model.put("value", "127.0.0.1");
- return "queryIP";
+ public String initOneIPForm(Map<String, Object> model) {
+ model.put("username", getPrincipalName());
+ CassandraRequester cr = new CassandraRequester();
+ model.put("value", cr.getExample("ip"));
+ return "query/IP";
}
-
+
@RequestMapping(value = "/admin/ip/counts/results", method = RequestMethod.GET)
- public String findIPwithCounter(@RequestParam("JobCounter") String counter, Map<String, Object> model, Principal principal) {
- model.put("username", principal.getName());
+ public String findIPwithCounter(@RequestParam("JobCounter") String counter, Map<String, Object> model) {
+ model.put("username", getPrincipalName());
if (counter.equals("")) {
model.put("error", "The value must not be empty");
model.put("value", counter);
- return "queryIPStatistics";
+ return "query/IPStatistics";
}
-
+
int realcounter;
try {
realcounter = Integer.parseInt(counter.trim());
} catch (NumberFormatException e) {
model.put("error", "The value must be an integer number");
model.put("value", counter);
- return "queryIPStatistics";
+ return "query/IPStatistics";
}
if (realcounter < 1) {
model.put("error", "The value must be greater than 0");
model.put("value", counter);
- return "queryIPStatistics";
+ return "query/IPStatistics";
}
final long startTime = System.currentTimeMillis();
CassandraRequester cr = new CassandraRequester();
List<TotalByCounterBean> r = cr.readIpByCounter(realcounter);
- model.put("results", r);
+ model.put("results", r);
model.put("njobs", 0);
+ String csvline = "";
if (null != r) {
model.put("njobs", r.size());
+ csvline = "\'Job%20 count\', \'IP\'%0A";
+ }
+ // form line for CSV file
+ for (TotalByCounterBean b : r) {
+ csvline += "\'" + b.getTotaljobs() + "\',\'" + b.getName() + "\'%0A";
}
- final long endTime = System.currentTimeMillis();
+ model.put("csvfile", csvline);
+ final long endTime = System.currentTimeMillis();
model.put("timeExecution", (endTime - startTime));
model.put("counter", realcounter);
return "reportIPstatistics";
}
@RequestMapping(value = "/admin/ip/results", method = RequestMethod.GET)
- public String findIP(@RequestParam("ip") String ip, Map<String, Object> model, Principal principal) {
- model.put("username", principal.getName());
+ public String findIP(@RequestParam("ip") String ip, Map<String, Object> model) {
+ model.put("username", getPrincipalName());
final long startTime = System.currentTimeMillis();
CassandraRequester cr = new CassandraRequester();
UserBean r = cr.readIp(ip);
- model.put("results", r);
+ model.put("results", r);
model.put("njobs", 0);
if (null != r) {
model.put("njobs", r.getMainInfo().size());
}
- final long endTime = System.currentTimeMillis();
+ final long endTime = System.currentTimeMillis();
model.put("timeExecution", (endTime - startTime));
model.put("ip", ip);
return "reportIP";