From adc56ce79f30decca17815cb8a28ee78856e501c Mon Sep 17 00:00:00 2001 From: Mark Pollack Date: Thu, 19 May 2011 14:04:21 -0400 Subject: [PATCH] DATADOC-83 - Review dependencies Removed dependency on spring mvc in data-document-core to spring-data-document-examples\mongodb-myrestaurants-analytics --- spring-data-document-core/pom.xml | 4 - .../document/analytics/ControllerCounter.java | 43 --- .../data/document/analytics/MvcEvent.java | 83 ------ .../data/document/analytics/Parameters.java | 35 --- .../mongodb/analytics/MvcAnalyticsTests.java | 246 ------------------ 5 files changed, 411 deletions(-) delete mode 100644 spring-data-document-core/src/main/java/org/springframework/data/document/analytics/ControllerCounter.java delete mode 100644 spring-data-document-core/src/main/java/org/springframework/data/document/analytics/MvcEvent.java delete mode 100644 spring-data-document-core/src/main/java/org/springframework/data/document/analytics/Parameters.java delete mode 100644 spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/analytics/MvcAnalyticsTests.java diff --git a/spring-data-document-core/pom.xml b/spring-data-document-core/pom.xml index 53724ff82..8ef23b8b5 100644 --- a/spring-data-document-core/pom.xml +++ b/spring-data-document-core/pom.xml @@ -21,10 +21,6 @@ org.springframework spring-tx - - org.springframework - spring-web - javax.annotation diff --git a/spring-data-document-core/src/main/java/org/springframework/data/document/analytics/ControllerCounter.java b/spring-data-document-core/src/main/java/org/springframework/data/document/analytics/ControllerCounter.java deleted file mode 100644 index 77c2696b8..000000000 --- a/spring-data-document-core/src/main/java/org/springframework/data/document/analytics/ControllerCounter.java +++ /dev/null @@ -1,43 +0,0 @@ -package org.springframework.data.document.analytics; - -import java.util.Map; - -public class ControllerCounter { - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public double getCount() { - return count; - } - - public void setCount(double count) { - this.count = count; - } - - public Map getMethods() { - return methods; - } - - - public void setMethods(Map methods) { - this.methods = methods; - } - - private String name; - - private double count; - - private Map methods; - - @Override - public String toString() { - return "ControllerCounter [name=" + name + ", count=" + count - + ", methods=" + methods + "]"; - } -} diff --git a/spring-data-document-core/src/main/java/org/springframework/data/document/analytics/MvcEvent.java b/spring-data-document-core/src/main/java/org/springframework/data/document/analytics/MvcEvent.java deleted file mode 100644 index fea3bc4e5..000000000 --- a/spring-data-document-core/src/main/java/org/springframework/data/document/analytics/MvcEvent.java +++ /dev/null @@ -1,83 +0,0 @@ -package org.springframework.data.document.analytics; - -import java.util.Date; - -public class MvcEvent { - - private String controller; - - private String action; - - private Parameters parameters; - - private Date date; - - private String requestUri; - - private String requestAddress; - - private String remoteUser; - - private String view; - - public String getController() { - return controller; - } - - public void setController(String controller) { - this.controller = controller; - } - - public String getAction() { - return action; - } - - public void setAction(String action) { - this.action = action; - } - - public Parameters getParameters() { - return parameters; - } - - public void setParameters(Parameters parameters) { - this.parameters = parameters; - } - - public Date getDate() { - return date; - } - - public void setDate(Date date) { - this.date = date; - } - - public String getRequestUri() { - return requestUri; - } - - public void setRequestUri(String requestUri) { - this.requestUri = requestUri; - } - - public String getRequestAddress() { - return requestAddress; - } - - public void setRequestAddress(String requestAddress) { - this.requestAddress = requestAddress; - } - - public String getRemoteUser() { - return remoteUser; - } - - public void setRemoteUser(String remoteUser) { - this.remoteUser = remoteUser; - } - - //TODO - //Map sessionAttributes - - -} diff --git a/spring-data-document-core/src/main/java/org/springframework/data/document/analytics/Parameters.java b/spring-data-document-core/src/main/java/org/springframework/data/document/analytics/Parameters.java deleted file mode 100644 index 0fe1a4f71..000000000 --- a/spring-data-document-core/src/main/java/org/springframework/data/document/analytics/Parameters.java +++ /dev/null @@ -1,35 +0,0 @@ -package org.springframework.data.document.analytics; - -public class Parameters { - - private String p1; - - private String p2; - - private String p3; - - public String getP1() { - return p1; - } - - public void setP1(String p1) { - this.p1 = p1; - } - - public String getP2() { - return p2; - } - - public void setP2(String p2) { - this.p2 = p2; - } - - public String getP3() { - return p3; - } - - public void setP3(String p3) { - this.p3 = p3; - } - -} diff --git a/spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/analytics/MvcAnalyticsTests.java b/spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/analytics/MvcAnalyticsTests.java deleted file mode 100644 index 98b3320d9..000000000 --- a/spring-data-mongodb/src/test/java/org/springframework/data/document/mongodb/analytics/MvcAnalyticsTests.java +++ /dev/null @@ -1,246 +0,0 @@ -package org.springframework.data.document.mongodb.analytics; - -import java.util.Calendar; -import java.util.Date; -import java.util.List; - -import com.mongodb.BasicDBList; -import com.mongodb.BasicDBObject; -import com.mongodb.DBCollection; -import com.mongodb.DBObject; -import com.mongodb.Mongo; -import com.mongodb.QueryBuilder; -import com.mongodb.WriteResult; -import org.bson.types.ObjectId; -import org.junit.Assert; -import org.junit.Before; -import org.junit.Test; -import org.springframework.data.document.analytics.ControllerCounter; -import org.springframework.data.document.analytics.MvcEvent; -import org.springframework.data.document.analytics.Parameters; -import org.springframework.data.document.mongodb.MongoTemplate; -import org.springframework.data.document.mongodb.convert.AbstractMongoConverter; -import org.springframework.data.document.mongodb.mapping.MongoPersistentEntity; -import org.springframework.data.document.mongodb.mapping.MongoPersistentProperty; -import org.springframework.data.document.mongodb.query.BasicQuery; -import org.springframework.data.mapping.model.MappingContext; - -public class MvcAnalyticsTests { - - private MongoTemplate mongoTemplate; - private MongoTemplate mongoDummyTemplate; - - @Before - public void setUp() throws Exception { - Mongo m = new Mongo(); - mongoTemplate = new MongoTemplate(m, "mvc"); - mongoDummyTemplate = new MongoTemplate(mongoTemplate.getDbFactory(), new AbstractMongoConverter() { - public void write(Object t, DBObject dbo) { - } - - public S read(Class clazz, DBObject dbo) { - return null; - } - - public T convertObjectId(ObjectId id, Class targetType) { - return null; - } - - public ObjectId convertObjectId(Object id) { - return null; - } - - public MappingContext, MongoPersistentProperty> getMappingContext() { - return null; - } - - }); - } - - @Test - public void clean() { - mongoTemplate.dropCollection("mvc"); - mongoTemplate.createCollection("mvc"); - mongoTemplate.dropCollection("counters"); - mongoTemplate.createCollection("counters"); - } - - @Test - public void loadMvcEventData() { - - mongoTemplate.dropCollection("mvc"); - mongoTemplate.createCollection("mvc"); - // datasize, favoriteRestId - createAndStoreMvcEvent(5, 1); - createAndStoreMvcEvent(6, 2); - createAndStoreMvcEvent(3, 3); - createAndStoreMvcEvent(8, 4); - - List mvcEvents = mongoTemplate.getCollection("mvc", MvcEvent.class); - Assert.assertEquals(22, mvcEvents.size()); - - mongoDummyTemplate.getCollection("mvc", MvcEvent.class); - - } - - @Test - public void loadCounterData() { - for (int i = 0; i < 10; i++) { - storeCounterData("SignUpController", "createForm"); - storeCounterData("SignUpController", "create"); - storeCounterData("SignUpController", "show"); - storeCounterData("RestaurantController", "addFavoriteRestaurant"); - } - for (int i = 0; i < 5; i++) { - storeCounterData("RestaurantController", "list"); - storeCounterData("SignUpController", "show"); - } - - } - - @Test - public void queryCounterData() { - DBObject query = QueryBuilder.start("name").is("SignUpController").get(); - for (DBObject dbo : mongoTemplate.getCollection("counters").find(query)) { - System.out.println(dbo); - } - List counters = mongoTemplate.find("counters", - new BasicQuery("{ 'name' : 'SignUpController'} "), ControllerCounter.class); - for (ControllerCounter controllerCounter : counters) { - System.out.println(controllerCounter); - } - } - - /* - * - * var start = new Date(2010,9,1); var end = new Date(2010,11,1); - * db.mvc.group( { cond: {"action": "addFavoriteRestaurant", "date": {$gte: - * start, $lt: end}} , key: {"parameters.p1": true} , initial: {count: 0} , - * reduce: function(doc, out){ out.count++; } } ); - */ - - @Test - public void listAllMvcEvents() { - List mvcEvents = mongoTemplate.getCollection("mvc", MvcEvent.class); - for (MvcEvent mvcEvent : mvcEvents) { - System.out.println(mvcEvent.getDate()); - } - } - - @Test - public void groupQuery() { - // This circumvents exception translation - DBCollection collection = mongoTemplate.getDb().getCollection("mvc"); - - // QueryBuilder qb = new QueryBuilder(); - // qb.start("date").greaterThan(object) - Calendar startDate = Calendar.getInstance(); - startDate.clear(); - startDate.set(Calendar.YEAR, 2010); - startDate.set(Calendar.MONTH, 5); - Calendar endDate = Calendar.getInstance(); - endDate.clear(); - endDate.set(Calendar.YEAR, 2010); - endDate.set(Calendar.MONTH, 12); - - /* - * QueryBuilder qb = new QueryBuilder(); Query q = - * qb.find("date").gte(startDate - * .getTime()).lt(endDate.getTime()).and("action" - * ).is("addFavoriteRestaurant").build(); DBObject cond2 = - * q.getQueryObject(); - */ - DBObject cond = QueryBuilder.start("date").greaterThanEquals(startDate.getTime()).lessThan(endDate.getTime()) - .and("action").is("addFavoriteRestaurant").get(); - DBObject key = new BasicDBObject("parameters.p1", true); - /* - * DBObject dateQ = new BasicDBObject(); dateQ.put("$gte", - * startDate.getTime()); dateQ.put("$lt", endDate.getTime()); DBObject - * cond = new BasicDBObject(); cond.put("action", - * "addFavoriteRestaurant"); cond.put("date", dateQ); - */ - - DBObject intitial = new BasicDBObject("count", 0); - DBObject result = collection.group(key, cond, intitial, "function(doc, out){ out.count++; }"); - if (result instanceof BasicDBList) { - BasicDBList dbList = (BasicDBList) result; - for (Object element : dbList) { - DBObject dbo = (DBObject) element; - System.out.println(dbo); - } - } - System.out.println(result); - } - - @Test - public void storeControllerCounterInfo() { - - BasicDBObject query = new BasicDBObject("name", "controller1"); - - BasicDBObject changes = new BasicDBObject(); - changes.put("$set", new BasicDBObject("name", "controller1")); - changes.put("$inc", new BasicDBObject("count", 1)); - - // mongoTemplate.upsertAndModify(dbo("key","value"), inc("count",1)); - // dbo(set("name","controller"), inc("count", 1)); - - // /mongoTemplate.update(collection("counters") - - WriteResult r = mongoTemplate.getCollection("counters").update(query, changes, true, false); - // { "err" : "Modifiers and non-modifiers cannot be mixed" , "code" : 10154 , "n" : 0 , "ok" : 1.0} - // { "err" : null , "updatedExisting" : false , "upserted" : { "$oid" : "4cba814a5a4900000000495d"} , "n" : 1 , "ok" - // : 1.0} - // { "err" : null , "updatedExisting" : true , "n" : 1 , "ok" : 1.0} - System.out.println(r); - - // changes = new BasicDBObject("methods", new BasicDBObject("find", 1)); - // mongoTemplate.getCollection("counters").update(query, changes, true, - // false); - } - - @Test - public void updateMethodCounter() { - DBObject query = new BasicDBObject("name", "controller1"); - DBObject changes = new BasicDBObject("$inc", new BasicDBObject("methods.find", 1)); - mongoTemplate.getDb().getCollection("counters").update(query, changes, true, false); - } - - public void storeCounterData(String controllerName, String methodName) { - BasicDBObject query = new BasicDBObject("name", controllerName); - - BasicDBObject changes = new BasicDBObject(); - changes.put("$set", new BasicDBObject("name", controllerName)); - changes.put("$inc", new BasicDBObject("count", 1)); - - WriteResult r = mongoTemplate.getCollection("counters").update(query, changes, true, false); - System.out.println(r); - - changes = new BasicDBObject("$inc", new BasicDBObject("methods." + methodName, 1)); - r = mongoTemplate.getDb().getCollection("counters").update(query, changes, true, false); - System.out.println(r); - } - - private void createAndStoreMvcEvent(int dataSize, int p1) { - for (int i = 0; i < dataSize; i++) { - MvcEvent event = generateEvent(p1); - mongoTemplate.save("mvc", event); - } - } - - private MvcEvent generateEvent(Integer p1) { - MvcEvent event = new MvcEvent(); - - event.setController("RestaurantController"); - event.setAction("addFavoriteRestaurant"); - event.setDate(new Date()); - event.setRemoteUser("mpollack"); - event.setRequestAddress("127.0.0.1"); - event.setRequestUri("/myrestaurants-analytics/restaurants"); - Parameters params = new Parameters(); - params.setP1(p1.toString()); - params.setP2("2"); - event.setParameters(params); - - return event; - } -}