KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > dotmarketing > portlets > mailinglists > action > ViewMailingListsAction


1 /**
2  * Copyright (c) 2000-2004 Liferay, LLC. All rights reserved.
3  *
4  * Permission is hereby granted, free of charge, to any person obtaining a copy
5  * of this software and associated documentation files (the "Software"), to deal
6  * in the Software without restriction, including without limitation the rights
7  * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
8  * copies of the Software, and to permit persons to whom the Software is
9  * furnished to do so, subject to the following conditions:
10  *
11  * The above copyright notice and this permission notice shall be included in
12  * all copies or substantial portions of the Software.
13  *
14  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15  * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16  * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17  * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18  * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19  * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20  * SOFTWARE.
21  */

22
23 package com.dotmarketing.portlets.mailinglists.action;
24
25 import java.util.Iterator JavaDoc;
26 import java.util.List JavaDoc;
27
28 import javax.portlet.PortletConfig;
29 import javax.portlet.RenderRequest;
30 import javax.portlet.RenderResponse;
31 import javax.portlet.WindowState;
32 import javax.servlet.jsp.PageContext JavaDoc;
33
34 import org.apache.struts.action.ActionForm;
35 import org.apache.struts.action.ActionForward;
36 import org.apache.struts.action.ActionMapping;
37
38 import com.dotmarketing.factories.RoleFactory;
39 import com.dotmarketing.portlets.mailinglists.factories.MailingListFactory;
40 import com.dotmarketing.util.Config;
41 import com.dotmarketing.util.Logger;
42 import com.dotmarketing.util.WebKeys;
43 import com.liferay.portal.model.Role;
44 import com.liferay.portal.model.User;
45 import com.liferay.portal.struts.PortletAction;
46 import com.liferay.portal.util.Constants;
47
48 /**
49  * <a HREF="ViewQuestionsAction.java.htm"><b><i>View Source</i></b></a>
50  *
51  * @author Brian Wing Shun Chan
52  * @version $Revision: 1.4 $
53  *
54  */

55 public class ViewMailingListsAction extends PortletAction {
56
57     public ActionForward render(
58             ActionMapping mapping, ActionForm form, PortletConfig config,
59             RenderRequest req, RenderResponse res)
60         throws Exception JavaDoc {
61
62         Logger.debug(this, "Running ViewMailingListsAction");
63         
64         try {
65             //get the user
66
User user = com.liferay.portal.util.PortalUtil.getUser(req);
67
68             //get their lists
69
List JavaDoc list = null;
70             List JavaDoc roles = RoleFactory.getAllRolesForUser(user.getUserId());
71             Iterator JavaDoc rolesIt = roles.iterator();
72             boolean isMarketingAdmin = false;
73             while (rolesIt.hasNext()) {
74                 Role role = (Role) rolesIt.next();
75                 if (role.getName().equals(Config.getStringProperty("MAILINGLISTS_ADMIN_ROLE"))) {
76                     isMarketingAdmin = true;
77                     break;
78                 }
79             }
80             if (isMarketingAdmin)
81                 list = MailingListFactory.getAllMailingLists();
82             else {
83                 list = MailingListFactory.getMailingListsByUser(user);
84                 list.add(MailingListFactory.getUnsubscribersMailingList());
85             }
86             
87             if (req.getWindowState().equals(WindowState.NORMAL)) {
88                 req.setAttribute(WebKeys.MAILING_LIST_VIEW_PORTLET, list);
89                 return mapping.findForward("portlet.ext.mailinglists.view");
90             }
91             else {
92                 req.setAttribute(WebKeys.MAILING_LIST_VIEW, list);
93                 return mapping.findForward("portlet.ext.mailinglists.view_mailinglists");
94             }
95         }
96         catch (Exception JavaDoc e) {
97             req.setAttribute(PageContext.EXCEPTION, e);
98             return mapping.findForward(Constants.COMMON_ERROR);
99         }
100     }
101
102 }
Popular Tags