Clover coverage report - Prayer Portlets - 0.1-rc4-SNAPSHOT
Coverage timestamp: Thu Aug 19 2004 18:34:34 EDT
file stats: LOC: 99   Methods: 9
NCLOC: 73   Classes: 1
30 day Evaluation Version distributed via the Maven Jar Repository. Clover is not free. You have 30 days to evaluate it. Please visit http://www.thecortex.net/clover to obtain a licensed version of Clover
 
 Source file Conditionals Statements Methods TOTAL
RoleSelectionPortlet.java 100% 100% 88.9% 97.7%
coverage coverage
 1   
 package org.marketchangers.prayer.portlet;
 2   
 
 3   
 import java.io.IOException;
 4   
 import java.util.Arrays;
 5   
 import java.util.Collection;
 6   
 import java.util.Hashtable;
 7   
 import java.util.Iterator;
 8   
 import java.util.Map;
 9   
 
 10   
 import javax.portlet.ActionRequest;
 11   
 import javax.portlet.ActionResponse;
 12   
 import javax.portlet.Portlet;
 13   
 import javax.portlet.PortletConfig;
 14   
 import javax.portlet.PortletContext;
 15   
 import javax.portlet.PortletException;
 16   
 import javax.portlet.PortletRequest;
 17   
 import javax.portlet.PortletRequestDispatcher;
 18   
 import javax.portlet.RenderRequest;
 19   
 import javax.portlet.RenderResponse;
 20   
 
 21   
 import org.marketchangers.PortalUserManager;
 22   
 import org.marketchangers.ServiceLocator;
 23   
 
 24   
 /**
 25   
  * @author <a href="mailto:mtodd@wc-group.com">Matthew Todd</a>
 26   
  */
 27   
 public class RoleSelectionPortlet implements Portlet {
 28   
     private PortletContext context;
 29   
 
 30   
     // ------------------------------------------------------------ Portlet API
 31  4
     public void init(PortletConfig config) {
 32  4
         this.context = config.getPortletContext();
 33   
     }
 34   
 
 35  2
     public void processAction(ActionRequest request, ActionResponse response) {
 36  2
         PortalUserManager manager = getUserRoleManager();
 37  2
         String user = request.getRemoteUser();
 38   
 
 39  2
         Iterator configuredRoles = getConfiguredRoles(request).iterator();
 40  2
         while (configuredRoles.hasNext()) {
 41  6
             String role = (String) configuredRoles.next();
 42  6
             String action = (String) request.getParameter(role);
 43   
 
 44  6
             if ("Add".equals(action)) {
 45  2
                 manager.addRole(user, role);
 46   
             }
 47   
 
 48  6
             if ("Remove".equals(action)) {
 49  2
                 manager.removeRole(user, role);
 50   
             }
 51   
         }
 52   
     }
 53   
 
 54  2
     public void render(RenderRequest request, RenderResponse response)
 55   
         throws PortletException, IOException {
 56  2
         request.setAttribute("roleActions", buildRoleActionMap(request));
 57  2
         getRequestDispatcher("/roleSelection.jsp").include(request, response);
 58   
     }
 59   
 
 60  0
     public void destroy() {
 61   
     }
 62   
 
 63   
     // -------------------------------------------------------- Private Methods
 64  2
     private Map buildRoleActionMap(RenderRequest request) {
 65  2
         Map actionMap = new Hashtable();
 66   
 
 67  2
         PortalUserManager manager = getUserRoleManager();
 68  2
         String user = request.getRemoteUser();
 69   
 
 70  2
         Iterator configuredRoles = getConfiguredRoles(request).iterator();
 71   
 
 72  2
         while (configuredRoles.hasNext()) {
 73  4
             String role = configuredRoles.next().toString();
 74  4
             actionMap.put(
 75   
                 role,
 76  4
                 manager.isUserInRole(user, role) ? "Remove" : "Add");
 77   
         }
 78   
 
 79  2
         return actionMap;
 80   
     }
 81   
 
 82  4
     private Collection getConfiguredRoles(PortletRequest request) {
 83  4
         return Arrays.asList(request.getPreferences().getValues("roles", null));
 84   
     }
 85   
 
 86  2
     private PortletRequestDispatcher getRequestDispatcher(String path) {
 87  2
         return context.getRequestDispatcher(path);
 88   
     }
 89   
 
 90  4
     private ServiceLocator getServiceLocator() {
 91  4
         return (ServiceLocator) context.getAttribute(
 92   
             ServiceLocator.KEY);
 93   
     }
 94   
 
 95  4
     private PortalUserManager getUserRoleManager() {
 96  4
         return (PortalUserManager) getServiceLocator().get(PortalUserManager.class);
 97   
     }
 98   
 }
 99