package com.stacksync.syncservice.rpc.messages; import com.google.gson.JsonObject; import com.stacksync.commons.models.User; import com.stacksync.commons.models.Workspace; public class APIGetWorkspaceInfoResponse extends APIResponse { private Workspace workspace; public APIGetWorkspaceInfoResponse(Workspace workspace, Boolean success, int error, String description) { super(); this.success = success; this.description = description; this.errorCode = error; this.workspace = workspace; } public Workspace getWorkspace() { return workspace; } @Override public String toString() { JsonObject jResponse; if (!getSuccess()) { jResponse = new JsonObject(); jResponse.addProperty("description", getDescription()); jResponse.addProperty("error", getErrorCode()); } else { jResponse = this.parseWorkspace(); } return jResponse.toString(); } protected JsonObject parseWorkspace() { JsonObject jMetadata = new JsonObject(); if (workspace == null) { return jMetadata; } jMetadata.addProperty("id", workspace.getId().toString()); jMetadata.addProperty("name", workspace.getName()); jMetadata.addProperty("swift_container", workspace.getSwiftContainer()); jMetadata.addProperty("is_shared", workspace.isShared()); jMetadata.addProperty("owner", workspace.getOwner().getId().toString()); jMetadata.addProperty("latest_revision", workspace.getLatestRevision()); jMetadata.addProperty("parent_item_id", workspace.getParentItem().getId()); jMetadata.addProperty("is_encrypted", workspace.isEncrypted()); jMetadata.addProperty("quota_used", workspace.getOwner().getQuotaUsedLogical().toString()); jMetadata.addProperty("quota_limit", workspace.getOwner().getQuotaLimit().toString()); return jMetadata; } }