]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/result/ListResultsController.java
Use ObjectList everywhere
[gpl/argeo-slc.git] / runtime / org.argeo.slc.server / src / main / java / org / argeo / slc / web / mvc / result / ListResultsController.java
1 package org.argeo.slc.web.mvc.result;
2
3 import java.util.HashMap;
4 import java.util.List;
5 import java.util.Map;
6
7 import javax.servlet.http.HttpServletRequest;
8 import javax.servlet.http.HttpServletResponse;
9
10 import org.argeo.slc.core.test.tree.TreeTestResult;
11 import org.argeo.slc.dao.test.tree.TreeTestResultCollectionDao;
12 import org.argeo.slc.msg.ObjectList;
13 import org.argeo.slc.web.mvc.AbstractServiceController;
14 import org.springframework.web.servlet.ModelAndView;
15
16 /** Lists results possibly filtering them. */
17 public class ListResultsController extends AbstractServiceController {
18 private final TreeTestResultCollectionDao testResultCollectionDao;
19
20 public ListResultsController(
21 TreeTestResultCollectionDao testResultCollectionDao) {
22 this.testResultCollectionDao = testResultCollectionDao;
23 }
24
25 @Override
26 @SuppressWarnings(value={"unchecked"})
27 protected void handleServiceRequest(HttpServletRequest request,
28 HttpServletResponse response, ModelAndView modelAndView)
29 throws Exception {
30 String collectionId = request.getParameter("collectionId");
31
32 Map<String, String[]> parameterMap = request.getParameterMap();
33
34 Map<String, String> attributes = new HashMap<String, String>();
35 for (String parameter : parameterMap.keySet()) {
36 if (parameter.startsWith("attr.")) {
37 String key = parameter.substring("attr.".length());
38 attributes.put(key, parameterMap.get(parameter)[0]);
39 }
40 }
41
42 List<TreeTestResult> resultAttributes = testResultCollectionDao
43 .listResults(collectionId, attributes);
44
45 modelAndView.addObject("resultList", new ObjectList(
46 resultAttributes));
47 }
48 }