- Help the clients make less requests, by returning the necessary object properties...
authorpastith <devnull@localhost>
Thu, 26 Feb 2009 14:02:49 +0000 (14:02 +0000)
committerpastith <devnull@localhost>
Thu, 26 Feb 2009 14:02:49 +0000 (14:02 +0000)
- Consistently name the subfolders of all folders as "folders" in the JSON response.

gss/src/gr/ebs/gss/server/rest/FilesHandler.java
gss/src/gr/ebs/gss/server/rest/OthersHandler.java
gss/src/gr/ebs/gss/server/rest/SharedHandler.java
gss/src/gr/ebs/gss/server/rest/TrashHandler.java

index 709341f..d11b920 100644 (file)
@@ -1237,15 +1237,28 @@ public class FilesHandler extends RequestHandler {
                        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));
index bf4f957..c80a2ca 100644 (file)
@@ -105,16 +105,29 @@ public class OthersHandler extends RequestHandler {
                                        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());
index 22228ca..ff2fdd1 100644 (file)
@@ -78,16 +78,29 @@ public class SharedHandler extends RequestHandler {
                                        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());
index 67777fc..b7cdb83 100644 (file)
@@ -98,13 +98,26 @@ public class TrashHandler extends RequestHandler {
                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);