/*
*
*/
package org.smartly.packages.mongo.impl.db.entity;
import com.mongodb.DBObject;
import org.smartly.commons.util.RandomUtils;
import org.smartly.packages.mongo.impl.MongoObject;
import org.smartly.packages.mongo.impl.util.MongoUtils;
import java.util.Calendar;
import java.util.Date;
/**
* @author angelo.geminiani@gmail.com
*/
public class MongoAnalytics extends MongoObject {
// ------------------------------------------------------------------------
// Constants
// ------------------------------------------------------------------------
public static final String COLLECTION = "analytics";
//
//fields
//public static final String ID = IPeristenceConstants.ID;
public static final String DATETIME = IMongoEntityConstants.DATETIME;
public static final String YEAR = IMongoEntityConstants.YEAR;
public static final String MONTH = IMongoEntityConstants.MONTH;
public static final String DAY = IMongoEntityConstants.DAY;
public static final String HOUR = IMongoEntityConstants.HOUR;
public static final String MINUTE = IMongoEntityConstants.MINUTE;
public static final String USERID = IMongoEntityConstants.USER_ID;
public static final String LANG = IMongoEntityConstants.LANG;
public static final String SCREEN = IMongoEntityConstants.SCREEN;
public static final String IP = IMongoEntityConstants.IP;
public static final String USERAGENT = IMongoEntityConstants.USERAGENT;
public static final String LATITUDE = IMongoEntityConstants.LATITUDE;
public static final String LONGITUDE = IMongoEntityConstants.LONGITUDE;
public static final String ALTITUDE = IMongoEntityConstants.ALTITUDE;
public static final String ACCURACY = IMongoEntityConstants.ACCURACY;
public static final String STREET = IMongoEntityConstants.STREET;
public static final String HOUSE = IMongoEntityConstants.HOUSE;
public static final String ZIP = IMongoEntityConstants.ZIP;
public static final String CITY = IMongoEntityConstants.CITY;
public static final String COUNTY = IMongoEntityConstants.COUNTY;
public static final String STATE = IMongoEntityConstants.STATE;
public static final String COUNTRY_NAME = IMongoEntityConstants.COUNTRY_NAME;
public static final String COUNTRY_ID = IMongoEntityConstants.COUNTRY_ID;
// --------------------------------------------------------------------
// c o n s t r u c t o r
// --------------------------------------------------------------------
public MongoAnalytics() {
this.init();
}
// --------------------------------------------------------------------
// p r i v a t e
// --------------------------------------------------------------------
private void init() {
final Calendar calendar = Calendar.getInstance();
final Date now = calendar.getTime();
final int year = calendar.get(Calendar.YEAR);
final int month = calendar.get(Calendar.MONTH) + 1;
final int day = calendar.get(Calendar.DAY_OF_MONTH);
final int hour = calendar.get(Calendar.HOUR_OF_DAY);
final int minute = calendar.get(Calendar.MINUTE);
MongoAnalytics.setDateTime(this, now);
MongoAnalytics.setYear(this, year);
MongoAnalytics.setMonth(this, month);
MongoAnalytics.setDay(this, day);
MongoAnalytics.setHour(this, hour);
MongoAnalytics.setMinute(this, minute);
}
// ------------------------------------------------------------------------
// S T A T I C
// ------------------------------------------------------------------------
public static String getId(final DBObject item) {
return MongoUtils.getString(item, ID);
}
public static void setId(final DBObject item, final String value) {
final String id = value.concat("_").concat(RandomUtils.random(6, RandomUtils.CHARS_NUMBERS));
MongoUtils.put(item, ID, id);
}
public static Date getDateTime(final DBObject item) {
final long dt = MongoUtils.getLong(item, DATETIME);
return new Date(dt);
}
public static void setDateTime(final DBObject item, final Date value) {
MongoUtils.put(item, DATETIME, value.getTime());
}
public static int getYear(final DBObject item) {
return MongoUtils.getInt(item, YEAR);
}
public static void setYear(final DBObject item, final int value) {
MongoUtils.put(item, YEAR, value);
}
public static int getMonth(final DBObject item) {
return MongoUtils.getInt(item, MONTH);
}
public static void setMonth(final DBObject item, final int value) {
MongoUtils.put(item, MONTH, value);
}
public static int getDay(final DBObject item) {
return MongoUtils.getInt(item, DAY);
}
public static void setDay(final DBObject item, final int value) {
MongoUtils.put(item, DAY, value);
}
public static int getHour(final DBObject item) {
return MongoUtils.getInt(item, HOUR);
}
public static void setHour(final DBObject item, final int value) {
MongoUtils.put(item, HOUR, value);
}
public static int getMinute(final DBObject item) {
return MongoUtils.getInt(item, MINUTE);
}
public static void setMinute(final DBObject item, final int value) {
MongoUtils.put(item, MINUTE, value);
}
public static String getUserId(final DBObject item) {
return MongoUtils.getString(item, USERID);
}
public static void setUserId(final DBObject item, final String value) {
MongoUtils.put(item, USERID, value);
}
public static String getLang(final DBObject item) {
return MongoUtils.getString(item, LANG);
}
public static void setLang(final DBObject item, final String value) {
MongoUtils.put(item, LANG, value);
}
public static String getIP(final DBObject item) {
return MongoUtils.getString(item, IP);
}
public static void setIP(final DBObject item, final String value) {
MongoUtils.put(item, IP, value);
}
public static String getUserAgent(final DBObject item) {
return MongoUtils.getString(item, USERAGENT);
}
public static void setUserAgent(final DBObject item, final String value) {
MongoUtils.put(item, USERAGENT, value);
}
public static String getScreen(final DBObject item) {
return MongoUtils.getString(item, SCREEN);
}
public static void setScreen(final DBObject item, final String value) {
MongoUtils.put(item, SCREEN, value);
}
public static double getLatitude(final DBObject item) {
return MongoUtils.getDouble(item, LATITUDE);
}
public static void setLatitude(final DBObject item, final double value) {
MongoUtils.put(item, LATITUDE, value);
}
public static double getLongitude(final DBObject item) {
return MongoUtils.getDouble(item, LONGITUDE);
}
public static void setLongitude(final DBObject item, final double value) {
MongoUtils.put(item, LONGITUDE, value);
}
public static double getAltitude(final DBObject item) {
return MongoUtils.getDouble(item, ALTITUDE);
}
public static void setAltitude(final DBObject item, final double value) {
MongoUtils.put(item, ALTITUDE, value);
}
public static int getAccuracy(final DBObject item) {
return MongoUtils.getInt(item, ACCURACY);
}
public static void setAccuracy(final DBObject item, final int value) {
MongoUtils.put(item, ACCURACY, value);
}
public static String getStreet(final DBObject item) {
return MongoUtils.getString(item, STREET);
}
public static void setStreet(final DBObject item, final String value) {
MongoUtils.put(item, STREET, value);
}
public static String getHouse(final DBObject item) {
return MongoUtils.getString(item, HOUSE);
}
public static void setHouse(final DBObject item, final String value) {
MongoUtils.put(item, HOUSE, value);
}
public static String getZip(final DBObject item) {
return MongoUtils.getString(item, ZIP);
}
public static void setZip(final DBObject item, final String value) {
MongoUtils.put(item, ZIP, value);
}
public static String getCity(final DBObject item) {
return MongoUtils.getString(item, CITY);
}
public static void setCity(final DBObject item, final String value) {
MongoUtils.put(item, CITY, value);
}
public static String getCounty(final DBObject item) {
return MongoUtils.getString(item, COUNTY);
}
public static void setCounty(final DBObject item, final String value) {
MongoUtils.put(item, COUNTY, value);
}
public static String getState(final DBObject item) {
return MongoUtils.getString(item, STATE);
}
public static void setState(final DBObject item, final String value) {
MongoUtils.put(item, STATE, value);
}
public static String getCountryId(final DBObject item) {
return MongoUtils.getString(item, COUNTRY_ID);
}
public static void setCountryId(final DBObject item, final String value) {
MongoUtils.put(item, COUNTRY_ID, value);
}
public static String getCountryName(final DBObject item) {
return MongoUtils.getString(item, COUNTRY_NAME);
}
public static void setCountryName(final DBObject item, final String value) {
MongoUtils.put(item, COUNTRY_NAME, value);
}
}