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);
}