Introduce reference list
authorMathieu Baudier <mbaudier@argeo.org>
Mon, 8 Dec 2008 16:36:15 +0000 (16:36 +0000)
committerMathieu Baudier <mbaudier@argeo.org>
Mon, 8 Dec 2008 16:36:15 +0000 (16:36 +0000)
ASSIGNED - bug 71: Extend capabilities of web services
https://www.argeo.org/bugzilla/show_bug.cgi?id=71

git-svn-id: https://svn.argeo.org/slc/trunk@1960 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/result/AddResultToCollectionController.java
runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/result/RemoveResultFromCollectionController.java
runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/result/ResultCollectionReferencesController.java [new file with mode: 0644]
runtime/org.argeo.slc.server/src/main/resources/org/argeo/slc/server/spring/slc-service-servlet.xml
runtime/org.argeo.slc.support.castor/src/main/resources/org/argeo/slc/castor/msg.xml
runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/msg/ReferenceList.java [new file with mode: 0644]

index a61101a100dd4f3c80ece7dbfc62dd3bb0018f02..cc47a8d16a5af23918e44caf8814501293bc474a 100644 (file)
@@ -4,28 +4,23 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;\r
 \r
 import org.argeo.slc.services.test.TestManagerService;\r
+import org.argeo.slc.web.mvc.AbstractServiceController;\r
 import org.springframework.web.servlet.ModelAndView;\r
-import org.springframework.web.servlet.mvc.ParameterizableViewController;\r
 \r
-public class AddResultToCollectionController extends\r
-               ParameterizableViewController {\r
+public class AddResultToCollectionController extends AbstractServiceController {\r
        private final TestManagerService testManagerService;\r
 \r
        public AddResultToCollectionController(TestManagerService testManagerService) {\r
                this.testManagerService = testManagerService;\r
        }\r
 \r
-       @Override\r
-       protected ModelAndView handleRequestInternal(HttpServletRequest request,\r
-                       HttpServletResponse response) throws Exception {\r
+       protected void handleServiceRequest(HttpServletRequest request,\r
+                       HttpServletResponse response, ModelAndView modelAndView)\r
+                       throws Exception {\r
 \r
                String collectionId = request.getParameter("collectionId");\r
                String resultUuid = request.getParameter("resultUuid");\r
 \r
                testManagerService.addResultToCollection(collectionId, resultUuid);\r
-\r
-               ModelAndView modelAndView = new ModelAndView();\r
-               modelAndView.setViewName(getViewName());\r
-               return modelAndView;\r
        }\r
 }\r
index 1ab784e1fdb6ba6477d8b6287d2da23ee700fc8c..8b655bd1baff62fdf756a371be2e1d322885a856 100644 (file)
@@ -4,11 +4,11 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;\r
 \r
 import org.argeo.slc.services.test.TestManagerService;\r
+import org.argeo.slc.web.mvc.AbstractServiceController;\r
 import org.springframework.web.servlet.ModelAndView;\r
-import org.springframework.web.servlet.mvc.ParameterizableViewController;\r
 \r
 public class RemoveResultFromCollectionController extends\r
-               ParameterizableViewController {\r
+               AbstractServiceController {\r
        private final TestManagerService testManagerService;\r
 \r
        public RemoveResultFromCollectionController(\r
@@ -16,17 +16,13 @@ public class RemoveResultFromCollectionController extends
                this.testManagerService = testManagerService;\r
        }\r
 \r
-       @Override\r
-       protected ModelAndView handleRequestInternal(HttpServletRequest request,\r
-                       HttpServletResponse response) throws Exception {\r
+       protected void handleServiceRequest(HttpServletRequest request,\r
+                       HttpServletResponse response, ModelAndView modelAndView)\r
+                       throws Exception {\r
 \r
                String collectionId = request.getParameter("collectionId");\r
                String resultUuid = request.getParameter("resultUuid");\r
 \r
                testManagerService.removeResultFromCollection(collectionId, resultUuid);\r
-\r
-               ModelAndView modelAndView = new ModelAndView();\r
-               modelAndView.setViewName(getViewName());\r
-               return modelAndView;\r
        }\r
 }\r
diff --git a/runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/result/ResultCollectionReferencesController.java b/runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/result/ResultCollectionReferencesController.java
new file mode 100644 (file)
index 0000000..d16188c
--- /dev/null
@@ -0,0 +1,36 @@
+package org.argeo.slc.web.mvc.result;\r
+\r
+import java.util.SortedSet;\r
+\r
+import javax.servlet.http.HttpServletRequest;\r
+import javax.servlet.http.HttpServletResponse;\r
+\r
+import org.argeo.slc.core.test.tree.TreeTestResultCollection;\r
+import org.argeo.slc.dao.test.tree.TreeTestResultCollectionDao;\r
+import org.argeo.slc.msg.ReferenceList;\r
+import org.argeo.slc.web.mvc.AbstractServiceController;\r
+import org.springframework.web.servlet.ModelAndView;\r
+\r
+public class ResultCollectionReferencesController extends\r
+               AbstractServiceController {\r
+       private final TreeTestResultCollectionDao testResultCollectionDao;\r
+\r
+       public ResultCollectionReferencesController(\r
+                       TreeTestResultCollectionDao testResultCollectionDao) {\r
+               this.testResultCollectionDao = testResultCollectionDao;\r
+       }\r
+\r
+       protected void handleServiceRequest(HttpServletRequest request,\r
+                       HttpServletResponse response, ModelAndView modelAndView)\r
+                       throws Exception {\r
+               SortedSet<TreeTestResultCollection> results = testResultCollectionDao\r
+                               .listCollections();\r
+\r
+               ReferenceList referenceList = new ReferenceList();\r
+               for (TreeTestResultCollection collection : results) {\r
+                       referenceList.getReferences().add(collection.getId());\r
+               }\r
+\r
+               modelAndView.addObject("referenceList", referenceList);\r
+       }\r
+}\r
index 0e30401c86bdd5ff7b3d6f5236440a91089255c2..adf1bfafcfa3e1d44dfd2837acad3528f73a2ddc 100644 (file)
@@ -5,39 +5,36 @@
 
        <import resource="classpath:/org/argeo/slc/castor/spring/applicationContext.xml" />
 
-       <bean name="/resultList.service" class="org.argeo.slc.web.mvc.result.ResultListController">
-               <constructor-arg ref="testResultDao" />
-               <property name="viewName" value="resultList" />
-       </bean>
-
        <bean name="/getResult.service" class="org.argeo.slc.web.mvc.result.GetResultController">
                <constructor-arg ref="testResultDao" />
        </bean>
 
-       <bean name="/resultCollectionList.service"
-               class="org.argeo.slc.web.mvc.result.ResultCollectionListController">
-               <constructor-arg ref="testResultCollectionDao" />
-               <property name="viewName" value="resultCollectionList" />
-       </bean>
-
-       <bean name="/resultCollectionView.service"
-               class="org.argeo.slc.web.mvc.result.ResultCollectionViewController">
-               <constructor-arg ref="testResultCollectionDao" />
-               <property name="viewName" value="resultCollectionView" />
-       </bean>
-
        <bean name="/addResultToCollection.service"
                class="org.argeo.slc.web.mvc.result.AddResultToCollectionController">
                <constructor-arg ref="testManagerService" />
-               <property name="viewName" value="addResultToCollectionS" />
        </bean>
 
        <bean name="/removeResultFromCollection.service"
                class="org.argeo.slc.web.mvc.result.RemoveResultFromCollectionController">
                <constructor-arg ref="testManagerService" />
-               <property name="viewName" value="removeResultFromCollectionS" />
        </bean>
 
+       <bean name="/listCollectionRefs.service"
+               class="org.argeo.slc.web.mvc.result.ResultCollectionReferencesController">
+               <constructor-arg ref="testResultCollectionDao" />
+       </bean>
+
+<!--
+       <bean name="/resultList.service" class="org.argeo.slc.web.mvc.result.ResultListController">
+               <constructor-arg ref="testResultDao" />
+       </bean>
+
+
+       <bean name="/resultCollectionView.service"
+               class="org.argeo.slc.web.mvc.result.ResultCollectionViewController">
+               <constructor-arg ref="testResultCollectionDao" />
+       </bean>
+  -->
        <bean id="handlerMapping"
                class="org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping">
                <property name="interceptors">
index de723df742f250cfc7e097e3b39deb705a8c5907..9f598cd503b13fceb62008cabde929d58f35a71f 100644 (file)
                <field name="message" />
        </class>
 
+       <class name="org.argeo.slc.msg.ReferenceList">
+               <map-to ns-uri="http://argeo.org/projects/slc/schemas"
+                       ns-prefix="slc" />
+               <field name="references" collection="vector" type="string">
+                       <bind-xml name="ref" />
+               </field>
+       </class>
+
        <!-- TESTS -->
        <class name="org.argeo.slc.msg.test.tree.CreateTreeTestResultRequest">
                <map-to ns-uri="http://argeo.org/projects/slc/schemas"
diff --git a/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/msg/ReferenceList.java b/runtime/org.argeo.slc.support.simple/src/main/java/org/argeo/slc/msg/ReferenceList.java
new file mode 100644 (file)
index 0000000..5750f2d
--- /dev/null
@@ -0,0 +1,17 @@
+package org.argeo.slc.msg;
+
+import java.util.List;
+import java.util.Vector;
+
+public class ReferenceList {
+       private List<String> references = new Vector<String>();
+
+       public List<String> getReferences() {
+               return references;
+       }
+
+       public void setReferences(List<String> refs) {
+               this.references = refs;
+       }
+
+}