KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > info > jtrac > web > AjaxMultiActionController


1 /*
2  * Copyright 2002-2005 the original author or authors.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

16
17 package info.jtrac.web;
18
19 import info.jtrac.domain.Space;
20 import info.jtrac.domain.State;
21 import info.jtrac.domain.User;
22 import info.jtrac.domain.UserSpaceRole;
23 import info.jtrac.util.SecurityUtils;
24 import info.jtrac.util.UserUtils;
25 import java.util.List JavaDoc;
26 import java.util.Map JavaDoc;
27 import java.util.TreeMap JavaDoc;
28 import javax.servlet.http.HttpServletRequest JavaDoc;
29 import javax.servlet.http.HttpServletResponse JavaDoc;
30 import org.springframework.web.servlet.ModelAndView;
31
32 /**
33  * Spring MultiActionController that handles Ajax requests
34  * we return HTML through a JSP as far as possible, to keep things simple
35  */

36 public class AjaxMultiActionController extends AbstractMultiActionController {
37     
38     public ModelAndView ajaxDashboardHandler(HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response) {
39         String JavaDoc spaceId = request.getParameter("spaceId");
40         Space space = jtrac.loadSpace(Long.parseLong(spaceId));
41         User user = SecurityUtils.getPrincipal();
42         ModelAndView mav = new ModelAndView("ajax_dashboard");
43         Map JavaDoc states = new TreeMap JavaDoc(space.getMetadata().getStates());
44         states.remove(State.NEW);
45         mav.addObject("states", states);
46         mav.addObject("stateCount", states.size());
47         mav.addObject("space", space);
48         mav.addObject("counts", jtrac.loadCountsForUserSpace(user, space));
49         applyCacheSeconds(response, 0, true);
50         return mav;
51     }
52     
53     public ModelAndView ajaxItemViewUsersHandler(HttpServletRequest JavaDoc request, HttpServletResponse JavaDoc response) {
54         String JavaDoc spaceId = request.getParameter("spaceId");
55         String JavaDoc toState = request.getParameter("toState");
56         String JavaDoc assignedTo = request.getParameter("assignedTo");
57         logger.debug("ajaxItemViewUsersHandler: spaceId = " + spaceId + ", toState = " + toState + ", assignedTo = " + assignedTo);
58         Space space = jtrac.loadSpace(Long.parseLong(spaceId));
59         ModelAndView mav = new ModelAndView("ajax_item_view_users");
60         List JavaDoc<UserSpaceRole> userSpaceRoles = jtrac.findUserRolesForSpace(space.getId());
61         mav.addObject("userSpaceRoles", UserUtils.filterUsersAbleToTransitionFrom(userSpaceRoles, space, Integer.parseInt(toState)));
62         if(assignedTo != null && assignedTo.trim().length() > 0) {
63             mav.addObject("selected", new Long JavaDoc(assignedTo));
64         }
65         applyCacheSeconds(response, 0, true);
66         return mav;
67     }
68     
69 }
70
Popular Tags