From a059a4e2e51ce5a28f79246bedfa092e9065c016 Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Sun, 4 May 2008 16:20:38 +0000 Subject: [PATCH] Introduce close tree test result request git-svn-id: https://svn.argeo.org/slc/trunk@1103 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../web/mvc/result/ResultListController.java | 24 ++++++++++++-- .../tree/CloseTreeTestResultRequestEp.java | 33 +++++++++++++++++++ 2 files changed, 55 insertions(+), 2 deletions(-) create mode 100644 org.argeo.slc.server/src/main/java/org/argeo/slc/ws/test/tree/CloseTreeTestResultRequestEp.java diff --git a/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/result/ResultListController.java b/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/result/ResultListController.java index 16de95840..a83653105 100644 --- a/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/result/ResultListController.java +++ b/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/result/ResultListController.java @@ -1,6 +1,8 @@ package org.argeo.slc.web.mvc.result; -import java.util.List; +import java.util.Comparator; +import java.util.SortedSet; +import java.util.TreeSet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; @@ -24,7 +26,25 @@ public class ResultListController extends ParameterizableViewController { ModelAndView modelAndView = new ModelAndView(); - List results = testResultDao.listTestResults(); + Comparator comparator = new Comparator() { + + public int compare(TreeTestResult arg0, TreeTestResult arg1) { + if (arg0.getCloseDate() != null && arg1.getCloseDate() != null) { + return -arg0.getCloseDate().compareTo(arg1.getCloseDate()); + } else if (arg0.getCloseDate() != null + && arg1.getCloseDate() == null) { + return 1; + } else if (arg0.getCloseDate() == null + && arg1.getCloseDate() != null) { + return -1; + } else { + return arg0.getUuid().compareTo(arg1.getUuid()); + } + } + }; + SortedSet results = new TreeSet( + comparator); + results.addAll(testResultDao.listTestResults()); modelAndView.addObject("results", results); modelAndView.setViewName(getViewName()); return modelAndView; diff --git a/org.argeo.slc.server/src/main/java/org/argeo/slc/ws/test/tree/CloseTreeTestResultRequestEp.java b/org.argeo.slc.server/src/main/java/org/argeo/slc/ws/test/tree/CloseTreeTestResultRequestEp.java new file mode 100644 index 000000000..bf9bb4e31 --- /dev/null +++ b/org.argeo.slc.server/src/main/java/org/argeo/slc/ws/test/tree/CloseTreeTestResultRequestEp.java @@ -0,0 +1,33 @@ +package org.argeo.slc.ws.test.tree; + +import org.springframework.ws.server.endpoint.AbstractMarshallingPayloadEndpoint; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +import org.argeo.slc.dao.test.tree.TreeTestResultDao; +import org.argeo.slc.msg.test.tree.CloseTreeTestResultRequest; + +public class CloseTreeTestResultRequestEp extends + AbstractMarshallingPayloadEndpoint { + + private Log log = LogFactory.getLog(getClass()); + + private final TreeTestResultDao treeTestResultDao; + + public CloseTreeTestResultRequestEp(TreeTestResultDao treeTestResultDao) { + this.treeTestResultDao = treeTestResultDao; + } + + @Override + protected Object invokeInternal(Object requestObject) throws Exception { + CloseTreeTestResultRequest msg = (CloseTreeTestResultRequest) requestObject; + treeTestResultDao.close(msg.getResultUuid(), msg.getCloseDate()); + + if (log.isDebugEnabled()) + log.debug("Close result with id " + msg.getResultUuid() + + " at date " + msg.getCloseDate()); + return null; + } + +} -- 2.39.2