TaskServletUtils.java
4.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
/*
* Decompiled with CFR 0_118.
*
* Could not load the following classes:
* com.adobe.granite.taskmanagement.Task
* com.adobe.granite.taskmanagement.TaskAction
* com.adobe.granite.workflow.exec.Status
* org.apache.jackrabbit.util.ISO8601
* org.apache.sling.commons.json.JSONException
* org.apache.sling.commons.json.io.JSONWriter
*/
package com.adobe.granite.taskmanagement.impl.servlet;
import com.adobe.granite.taskmanagement.Task;
import com.adobe.granite.taskmanagement.TaskAction;
import com.adobe.granite.taskmanagement.impl.TaskImpl;
import com.adobe.granite.taskmanagement.impl.servlet.TaskJSONField;
import com.adobe.granite.workflow.exec.Status;
import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import org.apache.jackrabbit.util.ISO8601;
import org.apache.sling.commons.json.JSONException;
import org.apache.sling.commons.json.io.JSONWriter;
public class TaskServletUtils {
private TaskServletUtils() {
}
static String getFormattedDate(Date date) {
Calendar cal = Calendar.getInstance();
String dateString = "";
if (date != null) {
cal.setTime(date);
dateString = ISO8601.format((Calendar)cal);
}
return dateString;
}
public static void writeTaskInfo(JSONWriter w, Task task) throws JSONException {
w.object();
w.key(TaskJSONField.TASK_ID.getValue()).value((Object)task.getId());
w.key(TaskJSONField.PARENT_TASK_ID.getValue()).value((Object)task.getParentId());
w.key(TaskJSONField.ACTION_NAMES.getValue());
w.array();
List taskActions = task.getActions();
if (taskActions != null) {
for (TaskAction action : taskActions) {
w.value((Object)action.getActionID());
}
}
w.endArray();
w.key(TaskJSONField.UPDATE_TIME.getValue()).value((Object)TaskServletUtils.getFormattedDate(task.getLastModified()));
w.key(TaskJSONField.CREATE_TIME.getValue()).value((Object)TaskServletUtils.getFormattedDate(task.getTimeStarted()));
w.key(TaskJSONField.COMPLETE_TIME.getValue()).value((Object)TaskServletUtils.getFormattedDate(task.getTimeEnded()));
w.key(TaskJSONField.DESCRIPTION.getValue()).value((Object)task.getDescription());
w.key(TaskJSONField.INSTRUCTIONS.getValue()).value((Object)task.getInstructions());
w.key(TaskJSONField.CONTENT_PATH.getValue()).value((Object)task.getContentPath());
w.key(TaskJSONField.IS_PARENT_TASK.getValue()).value(task.hasSubTasks());
w.key(TaskJSONField.NAME.getValue()).value((Object)task.getName());
w.key(TaskJSONField.OWNER_ID.getValue()).value((Object)task.getCurrentAssignee());
w.key(TaskJSONField.CREATED_BY.getValue()).value((Object)task.getCreatedBy());
w.key(TaskJSONField.NAME_HIERARCHY.getValue()).value((Object)("/tasks/" + ((TaskImpl)task).getNameHierarchy()));
String selectedActionId = null;
if (task.getSelectedAction() != null) {
selectedActionId = task.getSelectedAction().getActionID();
}
w.key(TaskJSONField.SELECTED_ACTION.getValue()).value((Object)selectedActionId);
w.key(TaskJSONField.PROPERTIES.getValue());
w.object();
Iterator propertyNameIterator = task.getPropertyNames();
if (propertyNameIterator != null) {
while (propertyNameIterator.hasNext()) {
String key = (String)propertyNameIterator.next();
Object propertyValue = task.getProperty(key);
if (propertyValue == null) continue;
w.key(key).value(propertyValue);
}
}
w.endObject();
w.key(TaskJSONField.STATUS.getValue()).value((Object)task.getStatus());
w.key(TaskJSONField.TASK_TYPE_NAME.getValue()).value((Object)task.getTaskTypeName());
w.key(TaskJSONField.SUBTASKS.getValue());
w.array();
if (task.getSubTasks() != null) {
for (Task subTask : task.getSubTasks()) {
TaskServletUtils.writeTaskInfo(w, subTask);
}
}
w.endArray();
w.endObject();
}
}