KickJava   Java API By Example, From Geeks To Geeks.

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


1 package com.dotmarketing.portlets.mailinglists.factories;
2
3
4 import java.util.List JavaDoc;
5
6 import com.dotmarketing.db.DotHibernate;
7 import com.dotmarketing.factories.InodeFactory;
8 import com.dotmarketing.portlets.mailinglists.model.MailingList;
9 import com.dotmarketing.portlets.mailinglists.model.Subscriber;
10 import com.liferay.portal.PortalException;
11 import com.liferay.portal.SystemException;
12 import com.liferay.portal.model.Address;
13 import com.liferay.portal.model.User;
14
15 /**
16  * Description of the Class
17  *
18  *@author nan
19  *@created September 21, 2002
20  */

21 public class SubscriberFactory {
22
23     public static final Subscriber getSubscribersByEmail(String JavaDoc email) {
24         DotHibernate dh = new DotHibernate(Subscriber.class);
25         dh.setQuery("from inode in class com.dotmarketing.portlets.mailinglists.model.Subscriber where email like ? ");
26         dh.setParam(email);
27         Subscriber s = (Subscriber) dh.load();
28         if(s.getInode() ==0){
29             s = newInstance();
30         }
31         return s;
32     }
33     
34     public static final Subscriber getSubscriberByUser (User webUser) throws PortalException, SystemException {
35         List JavaDoc addresses = webUser.getAddresses();
36         Address address = null;
37         if (addresses.size() > 0) {
38             address = (Address) addresses.get(0);
39         }
40         Subscriber s = SubscriberFactory.getSubscribersByEmail(webUser.getEmailAddress());
41         s.setEmail(webUser.getEmailAddress());
42         s.setName(webUser.getFirstName());
43         s.setMiddleName(webUser.getMiddleName());
44         s.setLastName(webUser.getLastName());
45         if (address != null) {
46             s.setAddress1(address.getStreet1());
47             s.setAddress2(address.getStreet2());
48             s.setCity(address.getCity());
49             s.setState(address.getState());
50             s.setZip(address.getZip());
51             s.setCountry(address.getCountry());
52             s.setPhone(address.getPhone());
53         } else {
54             s.setAddress1("");
55             s.setAddress2("");
56             s.setCity("");
57             s.setState("");
58             s.setZip("");
59             s.setCountry("");
60             s.setPhone("");
61         }
62         return s;
63     }
64
65     public static final Subscriber getSubscriber(String JavaDoc id) {
66         // Subscriber nl = null;
67
try {
68             return getSubscriber(Long.parseLong(id));
69         } catch (Exception JavaDoc e) {
70             return newInstance();
71         }
72
73         // return nl;
74
}
75     /**
76      * Gets the Subscriber attribute of the SubscriberFactory class
77      *
78      *@param id Description of the Parameter
79      *@return The Subscriber value
80      */

81     public static final Subscriber getSubscriber(long id) {
82
83         DotHibernate dh = new DotHibernate(Subscriber.class);
84
85         Subscriber s = (Subscriber) dh.load(id);
86         if(s.getInode() ==0){
87             s = newInstance();
88         }
89         return s;
90     }
91
92     /**
93      * Gets the Subscribers attribute of the SubscriberFactory class
94      *
95      *@return The Subscribers value
96      */

97     public static final java.util.List JavaDoc getSubscribersByList(MailingList l, String JavaDoc orderby) {
98         List JavaDoc subs = InodeFactory.getChildrenClass(l, Subscriber.class, orderby);
99         return subs;
100     }
101
102     public static final java.util.List JavaDoc getSubscribersByList(MailingList l) {
103         return InodeFactory.getChildrenClass(l, Subscriber.class);
104     }
105
106     public static Subscriber save(Subscriber x) {
107         DotHibernate.saveOrUpdate(x);
108         return x;
109     }
110
111  
112     public static boolean isBlocked(String JavaDoc email){
113         
114         MailingList ml = MailingListFactory.getUnsubscribersMailingList();
115         Subscriber s = SubscriberFactory.getSubscriber(email);
116         return isSubscribed(ml,s);
117
118     }
119
120     public static final boolean isSubscribed(MailingList list, Subscriber s){
121         
122         
123         Subscriber sub = (Subscriber) InodeFactory.getChildOfClassbyCondition(list, Subscriber.class, "email like '" + s.getEmail() + "'");
124         
125
126         return (sub.getInode() > 0);
127
128     }
129     public static Subscriber newInstance(){
130         Subscriber s = new Subscriber();
131         s.setLastResult(0);
132         return s;
133     }
134
135     public static void deleteSubscriber(MailingList ml, String JavaDoc sub){
136
137         Subscriber s = (Subscriber) InodeFactory.getInode(sub,Subscriber.class);
138         ml.deleteChild(s);
139
140     }
141
142 }
143
Popular Tags