- Consistently name the subfolders of all folders as "folders" in the JSON response.
if (folder.getAuditInfo().getModifiedBy() != null)
json.put("modifiedBy", folder.getAuditInfo().getModifiedBy().getUsername()).
put("modificationDate", folder.getAuditInfo().getModificationDate().getTime());
- List<String> subfolders = new ArrayList<String>();
+ List<JSONObject> subfolders = new ArrayList<JSONObject>();
for (FolderDTO f: folder.getSubfolders())
- if (!f.isDeleted())
- subfolders.add(folderUrl + URLEncoder.encode(f.getName(), "UTF-8"));
- json.put("subfolders", subfolders);
- List<String> files = new ArrayList<String>();
+ if (!f.isDeleted()) {
+ JSONObject j = new JSONObject();
+ j.put("name", f.getName()).
+ put("uri", folderUrl + URLEncoder.encode(f.getName(), "UTF-8"));
+ subfolders.add(j);
+ }
+ json.put("folders", subfolders);
+ List<JSONObject> files = new ArrayList<JSONObject>();
List<FileHeaderDTO> fileHeaders = getService().getFiles(user.getId(), folder.getId());
- for (FileHeaderDTO f: fileHeaders)
- files.add(folderUrl + URLEncoder.encode(f.getName(), "UTF-8"));
+ for (FileHeaderDTO f: fileHeaders) {
+ JSONObject j = new JSONObject();
+ j.put("name", f.getName()).
+ put("owner", f.getOwner().getName()).
+ put("deleted", f.isDeleted()).
+ put("version", f.getVersion()).
+ put("size", f.getFileSize()).
+ put("creationDate", f.getAuditInfo().getCreationDate().getTime()).
+ put("uri", folderUrl + URLEncoder.encode(f.getName(), "UTF-8"));
+ files.add(j);
+ }
json.put("files", files);
Set<PermissionDTO> perms = getService().getFolderPermissions(user.getId(), folder.getId());
json.put("permissions", renderJson(perms));
parentUrl += "/";
parentUrl = parentUrl + path + PATH_FILES;
- List<String> subfolders = new ArrayList<String>();
+ List<JSONObject> subfolders = new ArrayList<JSONObject>();
List<FolderDTO> folders = getService().getSharedRootFolders(other.getId(), owner.getId());
- for (FolderDTO f: folders)
- subfolders.add(parentUrl + f.getPath());
+ for (FolderDTO f: folders) {
+ JSONObject j = new JSONObject();
+ j.put("name", f.getName()).
+ put("uri", parentUrl + f.getPath());
+ subfolders.add(j);
+ }
json.put("folders", subfolders);
- List<String> files = new ArrayList<String>();
+ List<JSONObject> files = new ArrayList<JSONObject>();
List<FileHeaderDTO> fileHeaders = getService().getSharedFiles(other.getId(), owner.getId());
- for (FileHeaderDTO f: fileHeaders)
- files.add(parentUrl + f.getPath());
+ for (FileHeaderDTO f: fileHeaders) {
+ JSONObject j = new JSONObject();
+ j.put("name", f.getName()).
+ put("owner", f.getOwner().getName()).
+ put("deleted", f.isDeleted()).
+ put("version", f.getVersion()).
+ put("size", f.getFileSize()).
+ put("creationDate", f.getAuditInfo().getCreationDate().getTime()).
+ put("uri", parentUrl + f.getPath());
+ files.add(j);
+ }
json.put("files", files);
sendJson(req, resp, json.toString());
parentUrl += "/";
parentUrl = parentUrl + owner.getUsername() + PATH_FILES;
- List<String> subfolders = new ArrayList<String>();
+ List<JSONObject> subfolders = new ArrayList<JSONObject>();
List<FolderDTO> folders = getService().getSharedFolders(owner.getId());
- for (FolderDTO f: folders)
- subfolders.add(parentUrl + f.getPath());
+ for (FolderDTO f: folders) {
+ JSONObject j = new JSONObject();
+ j.put("name", f.getName()).
+ put("uri", parentUrl + f.getPath());
+ subfolders.add(j);
+ }
json.put("folders", subfolders);
- List<String> files = new ArrayList<String>();
List<FileHeaderDTO> fileHeaders = getService().getSharedFilesNotInSharedFolders(owner.getId());
- for (FileHeaderDTO f: fileHeaders)
- files.add(parentUrl + f.getPath());
+ List<JSONObject> files = new ArrayList<JSONObject>();
+ for (FileHeaderDTO f: fileHeaders) {
+ JSONObject j = new JSONObject();
+ j.put("name", f.getName()).
+ put("owner", f.getOwner().getName()).
+ put("deleted", f.isDeleted()).
+ put("version", f.getVersion()).
+ put("size", f.getFileSize()).
+ put("creationDate", f.getAuditInfo().getCreationDate().getTime()).
+ put("uri", parentUrl + f.getPath());
+ files.add(j);
+ }
json.put("files", files);
sendJson(req, resp, json.toString());
parentUrl = parentUrl.replaceFirst(pathInfo, "") + owner.getUsername() + PATH_FILES;
JSONObject json = new JSONObject();
try {
- List<String> trashFolders = new ArrayList<String>();
- for (FolderDTO f: folders)
- trashFolders.add(parentUrl + f.getPath());
- json.put("subfolders", trashFolders);
- List<String> trashFiles = new ArrayList<String>();
- for (FileHeaderDTO f: files)
- trashFiles.add(parentUrl + f.getPath());
+ List<JSONObject> trashFolders = new ArrayList<JSONObject>();
+ for (FolderDTO f: folders) {
+ JSONObject j = new JSONObject();
+ j.put("name", f.getName()).
+ put("uri", parentUrl + f.getPath());
+ trashFolders.add(j);
+ }
+ json.put("folders", trashFolders);
+ List<JSONObject> trashFiles = new ArrayList<JSONObject>();
+ for (FileHeaderDTO f: files) {
+ JSONObject j = new JSONObject();
+ j.put("name", f.getName()).
+ put("owner", f.getOwner().getName()).
+ put("deleted", f.isDeleted()).
+ put("version", f.getVersion()).
+ put("size", f.getFileSize()).
+ put("creationDate", f.getAuditInfo().getCreationDate().getTime()).
+ put("uri", parentUrl + f.getPath());
+ trashFiles.add(j);
+ }
json.put("files", trashFiles);
} catch (JSONException e) {
logger.error("", e);