KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > com > dotmarketing > portlets > user > factories > UserPreferencesFactory


1 package com.dotmarketing.portlets.user.factories;
2
3 import java.util.HashMap JavaDoc;
4 import java.util.Iterator JavaDoc;
5 import java.util.List JavaDoc;
6
7 import com.dotmarketing.db.DotHibernate;
8 import com.dotmarketing.portlets.user.model.UserPreference;
9 import com.dotmarketing.util.Logger;
10
11 /**
12  *
13  * @author maria
14  */

15 public class UserPreferencesFactory {
16
17     private static HashMap JavaDoc usersPreferences = new HashMap JavaDoc ();
18     
19     public static UserPreference getUserPreference(String JavaDoc x) {
20         try {
21             return ( UserPreference ) new DotHibernate(UserPreference.class).load(Long.parseLong(x));
22         } catch (Exception JavaDoc e) {
23             return ( UserPreference ) new DotHibernate(UserPreference.class).load(x);
24         }
25     }
26
27     public static java.util.List JavaDoc getUserPreferences(String JavaDoc userId) {
28         try {
29             Logger.debug(UserPreferencesFactory.class, "Retrieving user preferences from DB.");
30             DotHibernate dh = new DotHibernate(UserPreference.class);
31             dh.setQuery("from user_preferences in class com.dotmarketing.portlets.user.model.UserPreference where user_id = ?");
32             dh.setParam(userId);
33
34             List JavaDoc list = dh.list();
35             HashMap JavaDoc preferences = getUserPreferencesMap(userId);
36             Iterator JavaDoc it = list.iterator();
37             while (it.hasNext()) {
38                 UserPreference pref = (UserPreference)it.next();
39                 preferences.put(pref.getPreference(), pref);
40             }
41             return list;
42         } catch (Exception JavaDoc e) {
43             Logger.warn(UserPreferencesFactory.class, "getUserPreferences failed:" + e, e);
44         }
45         return new java.util.ArrayList JavaDoc();
46     }
47
48     public static UserPreference getUserPreferenceValue(String JavaDoc userId, String JavaDoc preference) {
49         HashMap JavaDoc preferences = getUserPreferencesMap(userId);
50         if (preferences.containsKey(preference))
51             return (UserPreference) preferences.get(preference);
52         else {
53             try {
54                 Logger.debug(UserPreferencesFactory.class, "Retrieving preference from DB.");
55                 DotHibernate dh = new DotHibernate(UserPreference.class);
56                 dh.setQuery("from user_preferences in class com.dotmarketing.portlets.user.model.UserPreference where user_id = ? and preference = ?");
57                 dh.setParam(userId);
58                 dh.setParam(preference);
59     
60                 UserPreference up = (UserPreference) dh.load();
61                 preferences.put(preference, up);
62                 return up;
63     
64             } catch (Exception JavaDoc e) {
65                 Logger.warn(UserPreferencesFactory.class, "getUserPreferenceValue failed:" + e, e);
66             }
67             return new UserPreference();
68         }
69     }
70
71     public static void deleteUserPreference(UserPreference u) {
72         HashMap JavaDoc preferences = getUserPreferencesMap(u.getUserId());
73         if (preferences.containsKey(u.getPreference()))
74             preferences.remove(u.getPreference());
75         
76         DotHibernate.delete(u);
77     }
78
79     public static void deleteUserPreference(String JavaDoc userId, String JavaDoc preference) {
80
81         UserPreference up = getUserPreferenceValue(userId, preference);
82
83         HashMap JavaDoc preferences = getUserPreferencesMap(userId);
84         if (preferences.containsKey(up.getPreference()))
85             preferences.remove(up.getPreference());
86
87         DotHibernate.delete(up);
88     }
89
90     public static void saveUserPreference(UserPreference u) {
91         
92         HashMap JavaDoc preferences = getUserPreferencesMap(u.getUserId());
93         if (preferences.containsKey(u.getPreference()))
94             preferences.remove(u.getPreference());
95         preferences.put(u.getPreference(), u);
96
97         DotHibernate.saveOrUpdate(u);
98     }
99
100     public static void addUserPreference(String JavaDoc userId, String JavaDoc preference, String JavaDoc value) {
101         try {
102             //creates new permission to read
103
UserPreference u = new UserPreference();
104             u.setUserId(userId);
105             u.setPreference(preference);
106             u.setValue(value);
107             saveUserPreference(u);
108         }
109         catch (Exception JavaDoc e) {
110
111         }
112     }
113
114     private static HashMap JavaDoc getUserPreferencesMap (String JavaDoc userId) {
115         HashMap JavaDoc preferences = (HashMap JavaDoc)usersPreferences.get(userId);
116         if (preferences == null) {
117             preferences = new HashMap JavaDoc ();
118             usersPreferences.put (userId, preferences);
119         }
120         return preferences;
121     }
122
123
124 }
125
Popular Tags