1
0
ting.yin 4 жил өмнө
parent
commit
f1dc874710

+ 15 - 5
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/utils/TaskLock.java

@@ -1,8 +1,12 @@
 package cn.com.qmth.stmms.biz.utils;
 
-import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 
+import cn.com.qmth.stmms.common.utils.DateUtils;
+import net.sf.json.JSONArray;
+import net.sf.json.JSONObject;
+
 /**
  * 链表模式实现的任务互斥锁工具
  */
@@ -147,17 +151,23 @@ public class TaskLock {
         return count;
     }
 
+    @SuppressWarnings("unchecked")
     public List<LockNode> list() {
-        List<LockNode> list = new ArrayList<TaskLock.LockNode>();
+        JSONArray array = new JSONArray();
         LockNode node = head.next;
         while (node != null) {
-            list.add(node);
+            JSONObject obj = new JSONObject();
+            obj.accumulate("taskId", node.getId());
+            obj.accumulate("number", node.getNumber());
+            obj.accumulate("markerId", node.getOwner());
+            obj.accumulate("time", DateUtils.formatDateTime(new Date(node.getTime())));
+            array.add(obj);
             node = node.next;
         }
-        return list;
+        return array;
     }
 
-    public static class LockNode {
+    private static class LockNode {
 
         private LockNode previous;
 

+ 1 - 19
stmms-web/src/main/java/cn/com/qmth/stmms/monitor/TaskMonitorController.java

@@ -1,22 +1,14 @@
 package cn.com.qmth.stmms.monitor;
 
-import java.util.Date;
-import java.util.List;
-
 import javax.servlet.http.HttpServletRequest;
 
-import net.sf.json.JSONArray;
-import net.sf.json.JSONObject;
-
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.ResponseBody;
 
 import cn.com.qmth.stmms.biz.utils.TaskLock;
-import cn.com.qmth.stmms.biz.utils.TaskLock.LockNode;
 import cn.com.qmth.stmms.biz.utils.TaskLockUtil;
-import cn.com.qmth.stmms.common.utils.DateUtils;
 
 @Controller("taskMonitor")
 @RequestMapping("/monitor/task")
@@ -27,17 +19,7 @@ public class TaskMonitorController {
     public Object list(HttpServletRequest request, @RequestParam Integer examId, @RequestParam String subjectCode,
             @RequestParam Integer groupNumber) {
         TaskLock taskLock = TaskLockUtil.getFormalTask(examId + "_" + subjectCode + "_" + groupNumber);
-        JSONArray array = new JSONArray();
-        List<LockNode> list = taskLock.list();
-        for (LockNode node : list) {
-            JSONObject obj = new JSONObject();
-            obj.accumulate("taskId", node.getId());
-            obj.accumulate("number", node.getNumber());
-            obj.accumulate("markerId", node.getOwner());
-            obj.accumulate("time", DateUtils.formatDateTime(new Date(node.getTime())));
-            array.add(obj);
-        }
-        return array;
+        return taskLock.list();
     }
 
 }