Clover coverage report - Prayer Portlets - 0.1-rc4-SNAPSHOT
Coverage timestamp: Thu Aug 19 2004 18:34:34 EDT
file stats: LOC: 189   Methods: 9
NCLOC: 142   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
SubmitRequestPortlet.java 0% 0% 0% 0%
coverage
 1   
 /*
 2   
  * Created on Jul 28, 2004
 3   
  */
 4   
 package org.marketchangers.prayer.portlet;
 5   
 
 6   
 import java.io.IOException;
 7   
 import java.util.Date;
 8   
 import java.util.Hashtable;
 9   
 import java.util.Iterator;
 10   
 import java.util.List;
 11   
 import java.util.Map;
 12   
 
 13   
 import javax.portlet.ActionRequest;
 14   
 import javax.portlet.ActionResponse;
 15   
 import javax.portlet.Portlet;
 16   
 import javax.portlet.PortletConfig;
 17   
 import javax.portlet.PortletContext;
 18   
 import javax.portlet.PortletException;
 19   
 import javax.portlet.PortletRequestDispatcher;
 20   
 import javax.portlet.RenderRequest;
 21   
 import javax.portlet.RenderResponse;
 22   
 
 23   
 import org.marketchangers.ServiceLocator;
 24   
 import org.marketchangers.prayer.DateUtil;
 25   
 import org.marketchangers.prayer.PrayerCategory;
 26   
 import org.marketchangers.prayer.PrayerRequest;
 27   
 import org.marketchangers.prayer.PrayerRequestManager;
 28   
 ;
 29   
 
 30   
 /**
 31   
  * @author jniu
 32   
  * @author jwilliams
 33   
  */
 34   
 public class SubmitRequestPortlet implements Portlet {
 35   
     private PortletContext context;
 36   
 
 37  0
     public void init(PortletConfig config) throws PortletException {
 38  0
         this.context = config.getPortletContext();
 39   
     }
 40   
 
 41  0
     public void processAction(ActionRequest request, ActionResponse response)
 42   
         throws PortletException, IOException {
 43   
 
 44  0
         PrayerRequestManager manager = getPrayerRequestManager();
 45   
 
 46  0
         String startdate = request.getParameter("startdate");
 47  0
         String enddate = request.getParameter("enddate");
 48  0
         String category = request.getParameter("category");
 49  0
         String newcategory = request.getParameter("newcategory");
 50  0
         String background = request.getParameter("background");
 51  0
         String content = request.getParameter("content");
 52  0
         String subject = request.getParameter("subject");
 53  0
         String remoteUser = request.getRemoteUser();
 54   
 
 55  0
         PrayerRequest prayerRequest = new PrayerRequest();
 56  0
         prayerRequest.setRequestorUserId(remoteUser);
 57   
 
 58  0
         Map messages = new Hashtable();
 59  0
         request.setAttribute("messages", messages);
 60   
 
 61  0
         if (startdate != null) {
 62   
 
 63  0
             Date startDate = DateUtil.validateDateField(startdate);
 64  0
             if (startDate == null) {
 65  0
                 messages.put("success", "false");
 66  0
                 messages.put("DateFormat", "false");
 67  0
                 response.setRenderParameters(request.getParameterMap());
 68  0
                 return;
 69   
             }
 70  0
             prayerRequest.setStartDate(startDate);
 71   
         }
 72   
 
 73  0
         if (enddate != null) {
 74   
 
 75  0
             Date endDate = DateUtil.validateDateField(enddate);
 76  0
             if (endDate == null) {
 77  0
                 messages.put("success", "false");
 78  0
                 messages.put("DateFormat", "false");
 79  0
                 response.setRenderParameters(request.getParameterMap());
 80  0
                 return;
 81   
             }
 82  0
             prayerRequest.setEndDate(endDate);
 83   
         }
 84   
 
 85  0
         PrayerCategory prayerCategory =
 86   
             getCategory(category, newcategory, remoteUser, manager);
 87  0
         prayerRequest.setCategory(prayerCategory);
 88   
 
 89  0
         if (background != null) {
 90  0
             prayerRequest.setBackground(background);
 91   
         }
 92   
 
 93  0
         if ((subject != null) && (subject.length() > 0)) {
 94  0
             prayerRequest.setSubject(subject);
 95   
         } else {
 96  0
             messages.put("success", "false");
 97  0
             messages.put("subjectValid", "false");
 98  0
             response.setRenderParameters(request.getParameterMap());
 99  0
             return;
 100   
         }
 101   
 
 102  0
         if ((content != null) && (content.length() > 0)) {
 103  0
             prayerRequest.setContent(content);
 104   
         } else {
 105  0
             messages.put("success", "false");
 106  0
             messages.put("detailsValid", "false");
 107  0
             response.setRenderParameters(request.getParameterMap());
 108  0
             return;
 109   
         }
 110   
 
 111  0
         prayerRequest.setStatus(PrayerRequest.OPEN);
 112   
 
 113  0
         manager.submitPrayerRequest(prayerRequest);
 114  0
         messages.put("success", "true");
 115   
     }
 116   
 
 117  0
     public void render(RenderRequest request, RenderResponse response)
 118   
         throws PortletException, IOException {
 119   
 
 120  0
         request.setAttribute(
 121   
             "categories",
 122   
             getCategoriesForRequestor(request.getRemoteUser()));
 123   
 
 124   
         // we don't want the messages to persist too long, so we're setting params
 125   
         //     in render and clearing the map that we used to hold the messages
 126  0
         Map messages = (Map) request.getAttribute("messages");
 127  0
         if (messages != null) {
 128  0
             Iterator iMessages = messages.keySet().iterator();
 129  0
             while (iMessages.hasNext()) {
 130  0
                 String sKey = (String) iMessages.next();
 131  0
                 String sValue = (String) messages.get(sKey);
 132  0
                 request.setAttribute(sKey, sValue);
 133   
             }
 134  0
             messages.clear();
 135   
         }
 136   
 
 137   
         // TODO JSP names should follow portlet camel-case naming style
 138  0
         getRequestDispatcher("/submitrequest.jsp").include(request, response);
 139   
     }
 140   
 
 141  0
     public void destroy() {
 142   
     }
 143   
 
 144   
     // -------------------------------------------------------- Private Methods
 145  0
     private List getCategoriesForRequestor(String user) {
 146  0
         return getPrayerRequestManager().getCategoriesForRequestor(user);
 147   
     }
 148   
 
 149  0
     private PrayerCategory getCategory(
 150   
         String category,
 151   
         String newcategory,
 152   
         String remoteUser,
 153   
         PrayerRequestManager manager) {
 154   
 
 155  0
         PrayerCategory prayerCategory = null;
 156   
 
 157  0
         if (category != null) {
 158  0
             if (!category.toLowerCase().startsWith("select a category")
 159   
                 && (!category.toLowerCase().startsWith("add a new category"))) {
 160   
                 //existing category
 161  0
                 prayerCategory = manager.getPrayerCategory(category);
 162   
             } else {
 163   
                 //new category
 164  0
                 if (newcategory != null) {
 165  0
                     prayerCategory = new PrayerCategory();
 166  0
                     prayerCategory.setName(newcategory);
 167  0
                     prayerCategory.setRequestorUserId(remoteUser);
 168  0
                     manager.createPrayerCategory(prayerCategory);
 169   
                 }
 170   
             }
 171   
         }
 172   
 
 173  0
         return prayerCategory;
 174   
     }
 175   
 
 176  0
     private PrayerRequestManager getPrayerRequestManager() {
 177  0
         return (PrayerRequestManager) getServiceLocator().get(
 178   
             PrayerRequestManager.class);
 179   
     }
 180   
 
 181  0
     private PortletRequestDispatcher getRequestDispatcher(String path) {
 182  0
         return context.getRequestDispatcher(path);
 183   
     }
 184   
 
 185  0
     private ServiceLocator getServiceLocator() {
 186  0
         return (ServiceLocator) context.getAttribute(ServiceLocator.KEY);
 187   
     }
 188   
 }
 189