KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > dotmarketing > portlets > mailinglists > factories > MailingListFactory


1 package com.dotmarketing.portlets.mailinglists.factories;
2
3 import java.util.Iterator JavaDoc;
4 import java.util.List JavaDoc;
5
6 import com.dotmarketing.db.DotHibernate;
7 import com.dotmarketing.factories.InodeFactory;
8 import com.dotmarketing.factories.RoleFactory;
9 import com.dotmarketing.portlets.mailinglists.model.MailingList;
10 import com.dotmarketing.util.Config;
11 import com.dotmarketing.util.WebKeys;
12 import com.liferay.portal.PortalException;
13 import com.liferay.portal.SystemException;
14 import com.liferay.portal.model.Role;
15 import com.liferay.portal.model.User;
16 /**
17  *
18  * @author will
19  */

20 public class MailingListFactory {
21
22     public static boolean isMailingListManager (User user) throws PortalException, SystemException {
23         List JavaDoc roles = RoleFactory.getAllRolesForUser(user.getUserId());
24         Iterator JavaDoc rolesIt = roles.iterator();
25         boolean isMailingListAdmin = false;
26         while (rolesIt.hasNext()) {
27             Role role = (Role) rolesIt.next();
28             if (role.getName().equals(Config.getStringProperty("MAILINGLISTS_ADMIN_ROLE"))) {
29                 isMailingListAdmin = true;
30                 break;
31             }
32         }
33         return isMailingListAdmin;
34     }
35     
36     
37     public static java.util.List JavaDoc getMailingListsByUser(User u) {
38         DotHibernate dh = new DotHibernate(MailingList.class);
39         dh.setQuery(
40             "from inode in class com.dotmarketing.portlets.mailinglists.model.MailingList where user_id = ? order by title");
41         dh.setParam(u.getUserId());
42         return dh.list();
43     }
44     
45     public static java.util.List JavaDoc getMailingListsByUser(User u, String JavaDoc orderby) {
46         DotHibernate dh = new DotHibernate(MailingList.class);
47         dh.setQuery(
48             "from inode in class com.dotmarketing.portlets.mailinglists.model.MailingList where user_id = ? order by " + orderby);
49         dh.setParam(u.getUserId());
50         return dh.list();
51     }
52
53     public static java.util.List JavaDoc getAllMailingLists() {
54         DotHibernate dh = new DotHibernate(MailingList.class);
55         dh.setQuery(
56             "from inode in class com.dotmarketing.portlets.mailinglists.model.MailingList order by title");
57         return dh.list();
58     }
59     public static java.util.List JavaDoc getAllMailingLists(String JavaDoc orderby) {
60         DotHibernate dh = new DotHibernate(MailingList.class);
61         dh.setQuery(
62             "from inode in class com.dotmarketing.portlets.mailinglists.model.MailingList order by " + orderby);
63         return dh.list();
64     }
65     
66
67     public static java.util.List JavaDoc getAllPublicLists() {
68         DotHibernate dh = new DotHibernate(MailingList.class);
69         dh.setQuery(
70             "from inode in class com.dotmarketing.portlets.mailinglists.model.MailingList where public_list = " + com.dotmarketing.db.DbConnectionFactory.getDBTrue());
71         return dh.list();
72     }
73
74     public static MailingList newInstance() {
75         MailingList m = new MailingList();
76         m.setPublicList(false);
77         m.setSubscriberCount(0);
78         return m;
79
80     }
81
82
83     public static MailingList getUnsubscribersMailingList() {
84         DotHibernate dh = new DotHibernate(MailingList.class);
85         dh.setQuery(
86             "from inode in class com.dotmarketing.portlets.mailinglists.model.MailingList where title = ? and user_id=? and public_list = " + com.dotmarketing.db.DbConnectionFactory.getDBTrue());
87         dh.setParam(WebKeys.MAILING_LIST_UNSUBSCRIBERS);
88         dh.setParam(WebKeys.MAILING_LIST_SYSTEM);
89         MailingList ml = (MailingList) dh.load();
90
91         if(ml.getInode() ==0){
92             ml = newInstance();
93             ml.setUserId(WebKeys.MAILING_LIST_SYSTEM);
94             ml.setTitle(WebKeys.MAILING_LIST_UNSUBSCRIBERS);
95             ml.setPublicList(true);
96         }
97
98         InodeFactory.saveInode(ml);
99
100         return ml;
101     }
102
103
104
105 }
106
Popular Tags