1 5 package com.dotmarketing.portlets.webevents.action; 6 7 import java.util.ArrayList ; 8 import java.util.Collections ; 9 import java.util.HashSet ; 10 import java.util.List ; 11 import java.util.Set ; 12 13 import javax.portlet.PortletConfig; 14 import javax.portlet.PortletRequest; 15 import javax.portlet.PortletResponse; 16 import javax.portlet.RenderRequest; 17 import javax.portlet.RenderResponse; 18 import javax.portlet.WindowState; 19 20 import org.apache.struts.action.ActionForm; 21 import org.apache.struts.action.ActionForward; 22 import org.apache.struts.action.ActionMapping; 23 24 import com.dotmarketing.util.UtilMethods; 25 import com.dotmarketing.util.WebKeys; 26 import com.liferay.portal.struts.PortletAction; 27 import com.dotmarketing.portlets.webevents.factories.WebEventFactory; 28 29 33 public class ViewEventsAction extends PortletAction { 34 public ActionForward render(ActionMapping mapping, ActionForm form, PortletConfig config, RenderRequest req, 35 RenderResponse res) throws Exception { 36 if (req.getWindowState().equals(WindowState.NORMAL)) { 37 _viewEvents(mapping, form, config, req, res); 38 return mapping.findForward("portlet.ext.webevents.view"); 39 } else { 40 _viewEvents(mapping, form, config, req, res); 41 return mapping.findForward("portlet.ext.webevents.view_events"); 42 } 43 } 44 45 private void _viewEvents(ActionMapping mapping, ActionForm form, PortletConfig config, PortletRequest req, 46 PortletResponse res) throws Exception { 47 48 String keywords = req.getParameter("keywords"); 49 String showPastEvents = req.getParameter("showPastEvents"); 50 List events = new ArrayList (); 51 List eventsNoLocations = new ArrayList (); 52 53 if ("true".equals(showPastEvents)) { 54 if (UtilMethods.isSet(keywords)) { 55 events = WebEventFactory.getAllWebEventsByKeywords(keywords); 57 } 58 else { 59 events = WebEventFactory.getAllWebEvents(); 61 } 62 } 63 else { 64 if (UtilMethods.isSet(keywords)) { 65 events = WebEventFactory.getUpcomingWebEventsByKeywords(keywords); 67 eventsNoLocations = WebEventFactory.getEventsWithNoLocationsByKeywords(keywords); 68 events.addAll(eventsNoLocations); 69 } 70 else { 71 events = WebEventFactory.getUpcomingWebEvents(); 73 eventsNoLocations = WebEventFactory.getEventsWithNoLocations(); 74 events.addAll(eventsNoLocations); 75 } 76 } 77 Set eventsSet = new HashSet (); 78 eventsSet.addAll(events); 79 events = new ArrayList (); 80 events.addAll(eventsSet); 81 Collections.sort(events); 82 req.setAttribute(WebKeys.WEBEVENTS_VIEW, events); 83 } 84 85 } 86 | Popular Tags |