EMMA Coverage Report (generated Fri Sep 15 10:32:43 EDT 2006)
[all classes][edu.iu.uis.sit.portal.portlet.web]

COVERAGE SUMMARY FOR SOURCE FILE [MultiActionController.java]

nameclass, %method, %block, %line, %
MultiActionController.java100% (1/1)33%  (1/3)2%   (3/144)5%   (1/21)

COVERAGE BREAKDOWN BY CLASS AND METHOD

nameclass, %method, %block, %line, %
     
class MultiActionController100% (1/1)33%  (1/3)2%   (3/144)5%   (1/21)
handleActionRequestInternal (ActionRequest, ActionResponse): void 0%   (0/1)0%   (0/74)0%   (0/11)
handleRenderRequestInternal (RenderRequest, RenderResponse): ModelAndView 0%   (0/1)0%   (0/67)0%   (0/9)
MultiActionController (): void 100% (1/1)100% (3/3)100% (1/1)

1package edu.iu.uis.sit.portal.portlet.web;
2 
3import java.lang.reflect.Method;
4 
5import javax.portlet.ActionRequest;
6import javax.portlet.ActionResponse;
7import javax.portlet.PortletException;
8import javax.portlet.RenderRequest;
9import javax.portlet.RenderResponse;
10 
11import org.springframework.web.portlet.ModelAndView;
12import org.springframework.web.portlet.mvc.AbstractController;
13 
14public abstract class MultiActionController extends AbstractController {
15 
16        protected void handleActionRequestInternal(ActionRequest request, ActionResponse response) throws Exception {
17                String dispatch = request.getParameter("_dispatch");
18                if (dispatch == null) {
19                        throw new PortletException("Must provide _dispatch for multi action controller");
20                }
21                Method[] methods = this.getClass().getMethods();
22 
23                for (int i = 0; i < methods.length; i++) {
24                        Method method = methods[i];
25                        if (method.getName().equals(dispatch) && method.getReturnType().getName().equals("void") && method.getParameterTypes().length == 2) {
26                                method.invoke(this, new Object[] { request, response });
27                                response.setRenderParameter("_dispatch", dispatch);
28                                return;
29                        }
30                }
31                throw new PortletException("Could not find method: " + dispatch);
32        }
33 
34        protected ModelAndView handleRenderRequestInternal(RenderRequest request, RenderResponse response) throws Exception {
35                String dispatch = request.getParameter("_dispatch");
36                if (dispatch == null) {
37                        dispatch = "start";
38                        // throw new PortletException("Must provide _dispatch for multi action controller");
39                }
40                Method[] methods = this.getClass().getMethods();
41 
42                for (int i = 0; i < methods.length; i++) {
43                        Method method = methods[i];
44                        if (method.getName().equals(dispatch) && method.getReturnType().getName().equals("org.springframework.web.portlet.ModelAndView") && method.getParameterTypes().length == 2) {
45                                return (ModelAndView) method.invoke(this, new Object[] { request, response });
46                        }
47                }
48                throw new PortletException("Could not find method: " + dispatch);
49        }
50 
51        public abstract ModelAndView start(RenderRequest request, RenderResponse response) throws Exception;
52}

[all classes][edu.iu.uis.sit.portal.portlet.web]
EMMA 2.0.5312 (C) Vladimir Roubtsov