package org.smartly.packages.mongo.impl.db.service.tasks.analytics; import org.json.JSONObject; import org.smartly.commons.util.JsonWrapper; /** * User: angelo.geminiani */ public class AnalyticsData { private final JSONObject _data; private static final String TARGETID = "targetid"; private static final String USERID = "userid"; private static final String USERLANG = "userlang"; private static final String USERIP = "userip"; private static final String USERAGENT = "useragent"; private static final String SCREEN = "screen"; private static final String LOCATION = "location"; private static final String LATITUDE = "latitude"; private static final String LONGITUDE = "longitude"; private static final String ACCURACY = "accuracy"; private static final String ALTITUDE = "altitude"; private static final String SPEED = "speed"; private static final String HEADING = "heading"; public AnalyticsData() { _data = new JSONObject(); } public AnalyticsData(final String jsondata) { _data = JsonWrapper.wrap(jsondata).getJSONObject(); } @Override public String toString() { return _data.toString(); } // ------------------------------------------------------------------------ // p u b l i c // ------------------------------------------------------------------------ public String getTargetId() { final String targetid = _data.optString(TARGETID); return targetid; } public void setTargetId(final String value) { JsonWrapper.put(_data, TARGETID, value); } public String getUserId() { return _data.optString(USERID); } public void setUserId(final String value) { JsonWrapper.put(_data, USERID, value); } public String getUserLang() { return JsonWrapper.getString(_data, USERLANG); } public void setUserLang(final String value) { JsonWrapper.put(_data, USERLANG, value); } public String getUserIp() { return JsonWrapper.getString(_data, USERIP); } public void setUserIp(final String value) { JsonWrapper.put(_data, USERIP, value); } public String getUserAgent() { return JsonWrapper.getString(_data, USERAGENT); } public void setUserAgent(final String value) { JsonWrapper.put(_data, USERAGENT, value); } public String getScreen() { return JsonWrapper.getString(_data, SCREEN); } public void setScreen(final String value) { JsonWrapper.put(_data, SCREEN, value); } public int getAccuracy() { return JsonWrapper.getInt(this.getLocation(), ACCURACY); } public void setAccuracy(final int value) { JsonWrapper.put(this.getLocation(), ACCURACY, value); } public double getLatitude() { return JsonWrapper.getDouble(this.getLocation(), LATITUDE); } public void setLatitude(final double value) { JsonWrapper.put(this.getLocation(), LATITUDE, value); } public double getLongitude() { return JsonWrapper.getDouble(this.getLocation(), LONGITUDE); } public void setLongitude(final double value) { JsonWrapper.put(this.getLocation(), LONGITUDE, value); } public double getAltitude() { return JsonWrapper.getDouble(this.getLocation(), ALTITUDE); } public void setAltitude(final double value) { JsonWrapper.put(this.getLocation(), ALTITUDE, value); } public double getSpeed() { return JsonWrapper.getDouble(this.getLocation(), SPEED); } public void setSpeed(final double value) { JsonWrapper.put(this.getLocation(), SPEED, value); } public double getHeading() { return JsonWrapper.getDouble(this.getLocation(), HEADING); } public void setHeading(final double value) { JsonWrapper.put(this.getLocation(), HEADING, value); } // ------------------------------------------------------------------------ // p r i v a t e // ------------------------------------------------------------------------ private JSONObject getLocation() { return JsonWrapper.getJSON(_data, LOCATION); } }