You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by tr...@apache.org on 2014/07/14 20:40:05 UTC

svn commit: r1610481 - in /jackrabbit/commons/filevault/trunk/vault-rcp/src/main/java/org/apache/jackrabbit/vault/rcp/impl: RcpServlet.java RcpTaskManager.java RcpTaskManagerImpl.java

Author: tripod
Date: Mon Jul 14 18:40:05 2014
New Revision: 1610481

URL: http://svn.apache.org/r1610481
Log:
JCRVLT-54 - [vault-rcp] Allow single task retrieval
- add RcpTaskManager#getTask method and impl
- enhanced RcpServlet to check whether request suffix is present and use that to fetch task

Modified:
    jackrabbit/commons/filevault/trunk/vault-rcp/src/main/java/org/apache/jackrabbit/vault/rcp/impl/RcpServlet.java
    jackrabbit/commons/filevault/trunk/vault-rcp/src/main/java/org/apache/jackrabbit/vault/rcp/impl/RcpTaskManager.java
    jackrabbit/commons/filevault/trunk/vault-rcp/src/main/java/org/apache/jackrabbit/vault/rcp/impl/RcpTaskManagerImpl.java

Modified: jackrabbit/commons/filevault/trunk/vault-rcp/src/main/java/org/apache/jackrabbit/vault/rcp/impl/RcpServlet.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-rcp/src/main/java/org/apache/jackrabbit/vault/rcp/impl/RcpServlet.java?rev=1610481&r1=1610480&r2=1610481&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-rcp/src/main/java/org/apache/jackrabbit/vault/rcp/impl/RcpServlet.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-rcp/src/main/java/org/apache/jackrabbit/vault/rcp/impl/RcpServlet.java Mon Jul 14 18:40:05 2014
@@ -73,16 +73,31 @@ public class RcpServlet extends SlingAll
 
         response.setContentType("application/json");
         response.setCharacterEncoding("utf-8");
+
+        String taskId = request.getRequestPathInfo().getSuffix();
         try {
             JSONWriter w = new JSONWriter(response.getWriter());
             w.setTidy(true);
-            w.object();
-            w.key("tasks").array();
-            for (RcpTask task: taskMgr.getTasks().values()) {
-                task.write(w);
+
+            if (taskId != null) {
+                taskId = taskId.substring(1);
+                RcpTask task = taskMgr.getTask(taskId);
+
+                if (task != null) {
+                    task.write(w);
+                } else {
+                    // return empty object
+                    w.object().endObject();
+                }
+            } else {
+                w.object();
+                w.key("tasks").array();
+                for (RcpTask task: taskMgr.getTasks().values()) {
+                    task.write(w);
+                }
+                w.endArray();
+                w.endObject();
             }
-            w.endArray();
-            w.endObject();
         } catch (JSONException e) {
             throw new IOException(e.toString());
         }

Modified: jackrabbit/commons/filevault/trunk/vault-rcp/src/main/java/org/apache/jackrabbit/vault/rcp/impl/RcpTaskManager.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-rcp/src/main/java/org/apache/jackrabbit/vault/rcp/impl/RcpTaskManager.java?rev=1610481&r1=1610480&r2=1610481&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-rcp/src/main/java/org/apache/jackrabbit/vault/rcp/impl/RcpTaskManager.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-rcp/src/main/java/org/apache/jackrabbit/vault/rcp/impl/RcpTaskManager.java Mon Jul 14 18:40:05 2014
@@ -25,9 +25,10 @@ import org.apache.jackrabbit.vault.fs.ap
  */
 public interface RcpTaskManager {
 
+    RcpTask getTask(String taskId);
+
     Map<String, RcpTask> getTasks();
 
     RcpTask addTask(RepositoryAddress src, String dst, String id);
 
-
 }
\ No newline at end of file

Modified: jackrabbit/commons/filevault/trunk/vault-rcp/src/main/java/org/apache/jackrabbit/vault/rcp/impl/RcpTaskManagerImpl.java
URL: http://svn.apache.org/viewvc/jackrabbit/commons/filevault/trunk/vault-rcp/src/main/java/org/apache/jackrabbit/vault/rcp/impl/RcpTaskManagerImpl.java?rev=1610481&r1=1610480&r2=1610481&view=diff
==============================================================================
--- jackrabbit/commons/filevault/trunk/vault-rcp/src/main/java/org/apache/jackrabbit/vault/rcp/impl/RcpTaskManagerImpl.java (original)
+++ jackrabbit/commons/filevault/trunk/vault-rcp/src/main/java/org/apache/jackrabbit/vault/rcp/impl/RcpTaskManagerImpl.java Mon Jul 14 18:40:05 2014
@@ -55,6 +55,10 @@ public class RcpTaskManagerImpl implemen
         log.info("RcpTaskManager deactivated. Stopping running tasks...done.");
     }
 
+    public RcpTask getTask(String taskId) {
+        return tasks.get(taskId);
+    }
+
     public Map<String, RcpTask> getTasks() {
         return Collections.unmodifiableMap(tasks);
     }