
com.jelastic.api.system.persistence.Reseller Maven / Gradle / Ivy
/*Server class MD5: 9e7a610b7a7d60f21bff90f385196b39*/
package com.jelastic.api.system.persistence;
import com.jelastic.api.billing.response.interfaces.ArrayItem;
import com.jelastic.api.core.utils.DateUtils;
import com.jelastic.api.system.persistence.RegionReseller;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import java.io.Serializable;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* Created by doba on 11/3/15.
*/
/**
* @name Jelastic API Client
* @version 8.11.2
* @copyright Jelastic, Inc.
*/
public class Reseller extends ArrayItem implements Serializable {
private String name;
private String domain = "";
private String comment;
private ResellerStatus status;
private int ownerUid;
private Distributor distributor;
private List regions = new ArrayList();
private String certKey;
private String intermediate;
private String cert;
private Date sslExpireDate;
private Boolean sslEnabled;
private String sslType;
private Date createdOn;
private Date deletedOn;
private boolean isDeleted;
public static final String ID = "id";
public static final String NAME = "name";
public static final String DOMAIN = "domain";
public static final String COMMENT = "comment";
public static final String STATUS = "status";
public static final String OWNER_UID = "ownerUid";
public static final String CREATED_ON = "createdOn";
public static final String REGIONS = "regions";
public static final String RESELLER_ID = "resellerId";
public static final String REGION_ID = "regionId";
public static final String PLATFORM = "platform";
public static final String SSL_EXPIRE_DATE = "sslExpireDate";
public static final String SSL_ENABLED = "sslEnabled";
public static final String SSL_TYPE = "sslType";
public static final String DISTRIBUTOR = "distributor";
public static final int PLATFORM_REGION_ID = -1;
public Reseller() {
}
public void updateSsl(Reseller newReseller) {
setCertKey(newReseller.getCertKey());
setCert(newReseller.getCert());
setIntermediate(newReseller.getIntermediate());
setSslType(newReseller.getSslType());
}
@Override
public Reseller _fromJSON(JSONObject json) throws JSONException {
if (json.has(ID)) {
this.id = json.getInt(ID);
}
if (json.has(NAME)) {
this.name = json.getString(NAME).toLowerCase();
}
if (json.has(PLATFORM)) {
JSONObject platform = json.getJSONObject(PLATFORM);
this.domain = platform.getString(DOMAIN);
if (json.has(SSL_EXPIRE_DATE)) {
try {
this.sslExpireDate = DateUtils.parseSqlDate(platform.getString(SSL_EXPIRE_DATE));
} catch (ParseException e) {
e.printStackTrace();
}
}
}
if (json.has(SSL_ENABLED)) {
this.sslEnabled = json.getBoolean(SSL_ENABLED);
}
if (json.has(COMMENT)) {
this.comment = json.getString(COMMENT);
}
if (json.has(STATUS)) {
this.status = ResellerStatus.valueOf(json.getString(STATUS).toUpperCase());
}
if (json.has(REGIONS)) {
JSONArray array = json.getJSONArray(REGIONS);
for (int i = 0; i < array.length(); i++) {
JSONObject resellerRegion = array.getJSONObject(i);
this.regions.add(new RegionReseller(resellerRegion.has(RESELLER_ID) ? resellerRegion.getInt(RESELLER_ID) : 0, resellerRegion.getInt(REGION_ID), resellerRegion.getString(DOMAIN)));
}
}
if (json.has(OWNER_UID)) {
this.ownerUid = json.getInt(OWNER_UID);
}
if (json.has(CREATED_ON)) {
try {
this.createdOn = DateUtils.parseSqlDateTime(json.getString(CREATED_ON));
} catch (ParseException e) {
throw new JSONException(e);
}
}
if (json.has(DISTRIBUTOR)) {
this.distributor = (Distributor) new Distributor()._fromJSON(json.getJSONObject(DISTRIBUTOR));
}
return this;
}
@Override
public JSONObject _toJSON() throws JSONException {
JSONObject json = new JSONObject();
json.put(ID, id);
json.put(NAME, name);
json.put(COMMENT, comment);
json.put(STATUS, status);
json.put(OWNER_UID, ownerUid);
if (createdOn != null) {
json.put(CREATED_ON, DateUtils.formatSqlDateTime(createdOn));
}
if (regions != null) {
JSONArray array = new JSONArray();
for (RegionReseller regionReseller : regions) {
array.put(regionReseller._toJSON());
}
json.put(REGIONS, array);
}
if (domain != null) {
JSONObject platform = new JSONObject();
platform.put(DOMAIN, domain);
if (sslExpireDate != null) {
platform.put(SSL_EXPIRE_DATE, DateUtils.formatSqlDateTime(sslExpireDate));
}
platform.put(SSL_ENABLED, sslEnabled != null ? sslEnabled : false);
platform.put(SSL_TYPE, sslType);
platform.put(REGION_ID, PLATFORM_REGION_ID);
json.put(PLATFORM, platform);
}
if (distributor != null) {
json.put(DISTRIBUTOR, distributor._toJSON(false));
}
return json;
}
@Override
public boolean equals(Object reseller) {
if (reseller == null) {
return false;
}
if (reseller == this) {
return true;
}
if (!(reseller instanceof Reseller)) {
return false;
}
if (((Reseller) reseller).getName().equals(getName())) {
return true;
} else {
return false;
}
}
public Boolean isSslEnabled() {
return sslEnabled;
}
public void setSslEnabled(Boolean setSslEnabled) {
this.sslEnabled = setSslEnabled;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDomain() {
return domain;
}
public void setDomain(String domain) {
this.domain = domain;
}
public String getComment() {
return comment;
}
public void setComment(String comment) {
this.comment = comment;
}
public ResellerStatus getStatus() {
return status;
}
public void setStatus(ResellerStatus status) {
this.status = status;
}
public int getOwnerUid() {
return ownerUid;
}
public void setOwnerUid(int ownerUid) {
this.ownerUid = ownerUid;
}
public Distributor getDistributor() {
return distributor;
}
public void setDistributor(Distributor distributor) {
this.distributor = distributor;
}
public Date getCreatedOn() {
return createdOn;
}
public void setCreatedOn(Date createdOn) {
this.createdOn = createdOn;
}
public Date getDeletedOn() {
return deletedOn;
}
public void setDeletedOn(Date deletedOn) {
this.deletedOn = deletedOn;
}
public boolean isDeleted() {
return isDeleted;
}
public void setIsDeleted(boolean isDeleted) {
this.isDeleted = isDeleted;
}
public List getRegions() {
return regions;
}
public void setRegions(List regions) {
this.regions = regions;
}
public String getCertKey() {
return certKey;
}
public void setCertKey(String certKey) {
this.certKey = certKey;
}
public String getIntermediate() {
return intermediate;
}
public void setIntermediate(String intermediate) {
this.intermediate = intermediate;
}
public String getCert() {
return cert;
}
public void setCert(String cert) {
this.cert = cert;
}
public Date getSslExpireDate() {
return sslExpireDate;
}
public void setSslExpireDate(Date sslExpireDate) {
this.sslExpireDate = sslExpireDate;
}
public String getSslType() {
return sslType;
}
public void setSslType(String sslType) {
this.sslType = sslType;
}
public Boolean getSslEnabled() {
return sslEnabled;
}
@Override
public String toString() {
return "Reseller{" + "name='" + name + '\'' + ", domain='" + domain + '\'' + ", comment='" + comment + '\'' + ", status=" + status + ", ownerUid=" + ownerUid + ", regions=" + regions + ", certKey='" + certKey + '\'' + ", intermediate='" + intermediate + '\'' + ", cert='" + cert + '\'' + ", sslExpireDate=" + sslExpireDate + ", sslEnabled=" + sslEnabled + ", sslType='" + sslType + '\'' + ", createdOn=" + createdOn + ", deletedOn=" + deletedOn + ", isDeleted=" + isDeleted + '}';
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy