package models; import com.mongodb.BasicDBObject; import net.vz.mongodb.jackson.Id; import net.vz.mongodb.jackson.JacksonDBCollection; import net.vz.mongodb.jackson.MongoCollection; import net.vz.mongodb.jackson.ObjectId; import net.vz.mongodb.jackson.WriteResult; import play.modules.mongodb.jackson.MongoDB; @MongoCollection(name = "tracked_action") public class TrackedAction { public static JacksonDBCollection<TrackedAction.Model, String> coll = MongoDB.getCollection("tracked_action", TrackedAction.Model.class, String.class); public static class Model { @Id @ObjectId public String _id; @ObjectId public String sessionId; @ObjectId public String recLocId; //recorded location id //event number { 'init': 0, 'mousedown': 1, 'mousemove': 2, 'resize': 3, 'scroll': 4, 'locationChange': 5 } public Byte e; public String location;//location public String d;//direction public Long ts; public Short x, //X coord (click, move) y, //Y coord (click, move) w, //width (resize) h, //height (resize) t, //top scroll l; //left scroll } public static WriteResult<TrackedAction.Model, String> save(TrackedAction.Model ob) { WriteResult<TrackedAction.Model, String> tmp = coll.save( ob ); coll.ensureIndex( new BasicDBObject("sessionId", 1) ); coll.ensureIndex( new BasicDBObject("recLocId", 1) ); return tmp; } }