use of org.springframework.data.document.analytics.ControllerCounter in project spring-data-document-examples by spring-projects.
the class ChartController method getControllerData.
private DefaultCategoryDataset getControllerData(String controllerName) {
MongoTemplate mongoTemplate;
DefaultCategoryDataset ds = null;
try {
Mongo m = new Mongo();
mongoTemplate = new MongoTemplate(m, "mvc");
List<ControllerCounter> counters;
ds = new DefaultCategoryDataset();
if (controllerName != null) {
counters = mongoTemplate.find(new Query(where("name").is(controllerName)), ControllerCounter.class, "counters");
for (ControllerCounter controllerCounter : counters) {
Map<String, Double> methodInvocations = controllerCounter.getMethods();
Set<Entry<String, Double>> es = methodInvocations.entrySet();
for (Entry<String, Double> entry : es) {
ds.addValue(entry.getValue(), "invoked", entry.getKey());
}
}
} else {
counters = mongoTemplate.findAll(ControllerCounter.class, "counters");
for (ControllerCounter controllerCounter : counters) {
ds.addValue(controllerCounter.getCount(), "invoked (aggregate)", controllerCounter.getName());
}
}
/*
if (result instanceof BasicDBList) {
BasicDBList dbList = (BasicDBList) result;
for (Iterator iterator = dbList.iterator(); iterator.hasNext();) {
DBObject dbo = (DBObject) iterator.next();
System.out.println(dbo);
Restaurant r = restaurantDao.findRestaurant(Long.parseLong(dbo.get("parameters.p1").toString()));
ds.addValue(Double.parseDouble(dbo.get("count").toString()), "recommended", r.getName());
}
}*/
return ds;
} catch (Exception e) {
e.printStackTrace();
}
return ds;
}
use of org.springframework.data.document.analytics.ControllerCounter in project spring-data-document-examples by spring-projects.
the class MvcAnalyticsTest method queryCounterData.
@Test
public void queryCounterData() {
DBObject query = QueryBuilder.start("name").is("SignUpController").get();
for (DBObject dbo : operations.getCollection("counters").find(query)) {
System.out.println(dbo);
}
List<ControllerCounter> counters = operations.find(new BasicQuery("{ 'name' : 'SignUpController'} "), ControllerCounter.class, "counters");
for (ControllerCounter controllerCounter : counters) {
System.out.println(controllerCounter);
}
}
Aggregations