@@ -0,0 +1,2185 @@
+package com.growthbeat.analytics.model;%0A%0Aimport java.util.Date;%0A%0Aimport org.json.JSONException;%0Aimport org.json.JSONObject;%0A%0Aimport com.growthbeat.model.Model;%0Aimport com.growthbeat.utils.DateUtils;%0Aimport com.growthbeat.utils.JSONObjectUtils;%0A%0Apublic class ClientTag extends Model %7B%0A%0A%09private String id;%0A%0A%09private String clientId;%0A%0A%09private String tagId;%0A%0A%09private String value;%0A%0A%09private Date created;%0A%0A%09public ClientTag() %7B%0A%09%7D%0A%0A%09public String getId() %7B%0A%09%09return id;%0A%09%7D%0A%0A%09public void setId(String id) %7B%0A%09%09this.id = id;%0A%09%7D%0A%0A%09public String getClientId() %7B%0A%09%09return clientId;%0A%09%7D%0A%0A%09public void setClientId(String clientId) %7B%0A%09%09this.clientId = clientId;%0A%09%7D%0A%0A%09public String getTagId() %7B%0A%09%09return tagId;%0A%09%7D%0A%0A%09public void setTagId(String tagId) %7B%0A%09%09this.tagId = tagId;%0A%09%7D%0A%0A%09public String getValue() %7B%0A%09%09return value;%0A%09%7D%0A%0A%09public void setValue(String value) %7B%0A%09%09this.value = value;%0A%09%7D%0A%0A%09public Date getCreated() %7B%0A%09%09return created;%0A%09%7D%0A%0A%09public void setCreated(Date created) %7B%0A%09%09this.created = created;%0A%09%7D%0A%0A%09@Override%0A%09public JSONObject getJsonObject() %7B%0A%0A%09%09JSONObject jsonObject = new JSONObject();%0A%09%09try %7B%0A%09%09%09jsonObject.put(%22id%22, getId());%0A%09%09%09jsonObject.put(%22clientId%22, clientId);%0A%09%09%09jsonObject.put(%22tagId%22, tagId);%0A%09%09%09jsonObject.put(%22value%22, value);%0A%09%09%09jsonObject.put(%22created%22, DateUtils.formatToDateTimeString(getCreated()));%0A%09%09%7D catch (JSONException e) %7B%0A%09%09%09return null;%0A%09%09%7D%0A%0A%09%09return jsonObject;%0A%0A%09%7D%0A%0A%09@Override%0A%09public void setJsonObject(JSONObject jsonObject) %7B%0A%0A%09%09if (jsonObject == null)%0A%09%09%09return;%0A%0A%09%09try %7B%0A%09%09%09if (JSONObjectUtils.hasAndIsNotNull(jsonObject, %22id%22))%0A%09%09%09%09setId(jsonObject.getString(%22id%22));%0A%09%09%09if (JSONObjectUtils.hasAndIsNotNull(jsonObject, %22clientId%22))%0A%09%09%09%09setClientId(jsonObject.getString(%22clientId%22));%0A%09%09%09if (JSONObjectUtils.hasAndIsNotNull(jsonObject, %22tagId%22))%0A%09%09%09%09setTagId(jsonObject.getString(%22tagId%22));%0A%09%09%09if (JSONObjectUtils.hasAndIsNotNull(jsonObject, %22value%22))%0A%09%09%09%09setValue(jsonObject.getString(%22value%22));%0A%09%09%09if (JSONObjectUtils.hasAndIsNotNull(jsonObject, %22created%22))%0A%09%09%09%09setCreated(DateUtils.parseFromDateTimeString(jsonObject.getString(%22created%22)));%0A%09%09%7D catch (JSONException e) %7B%0A%09%09%09throw new IllegalArgumentException(%22Failed to parse JSON.%22);%0A%09%09%7D%0A%0A%09%7D%0A%7D%0A

Add ClientTag class