1
14
15 package com.liferay.mail.util;
16
17 import com.liferay.mail.model.Filter;
18 import com.liferay.portal.googleapps.GEmailSettingsManager;
19 import com.liferay.portal.googleapps.GNicknameManager;
20 import com.liferay.portal.googleapps.GUserManager;
21 import com.liferay.portal.googleapps.GoogleAppsFactoryUtil;
22 import com.liferay.portal.kernel.log.Log;
23 import com.liferay.portal.kernel.log.LogFactoryUtil;
24 import com.liferay.portal.kernel.util.CharPool;
25 import com.liferay.portal.model.User;
26 import com.liferay.portal.security.auth.FullNameGenerator;
27 import com.liferay.portal.security.auth.FullNameGeneratorFactory;
28 import com.liferay.portal.service.UserLocalServiceUtil;
29
30 import java.util.List;
31
32
37 public class GoogleHook implements Hook {
38
39 public void addForward(
40 long companyId, long userId, List<Filter> filters,
41 List<String> emailAddresses, boolean leaveCopy) {
42 }
43
44 public void addUser(
45 long companyId, long userId, String password, String firstName,
46 String middleName, String lastName, String emailAddress) {
47
48 try {
49 String nickname = _getNickname(emailAddress);
50
51 GUserManager gUserManager = GoogleAppsFactoryUtil.getGUserManager(
52 companyId);
53
54 gUserManager.addGUser(userId, password, firstName, lastName);
55
56 GNicknameManager gNicknameManager =
57 GoogleAppsFactoryUtil.getGNicknameManager(
58 companyId);
59
60 gNicknameManager.addGNickname(userId, nickname);
61
62 GEmailSettingsManager gEmailSettingsManager =
63 GoogleAppsFactoryUtil.getGEmailSettingsManager(
64 companyId);
65
66 FullNameGenerator fullNameGenerator =
67 FullNameGeneratorFactory.getInstance();
68
69 gEmailSettingsManager.addSendAs(
70 userId,
71 fullNameGenerator.getFullName(firstName, middleName, lastName),
72 emailAddress);
73 }
74 catch (Exception e) {
75 _log.error(e, e);
76 }
77 }
78
79 public void addVacationMessage(
80 long companyId, long userId, String emailAddress,
81 String vacationMessage) {
82 }
83
84 public void deleteEmailAddress(long companyId, long userId) {
85 try {
86 User user = UserLocalServiceUtil.getUserById(userId);
87
88 String nickname = _getNickname(user.getEmailAddress());
89
90 GNicknameManager gNicknameManager =
91 GoogleAppsFactoryUtil.getGNicknameManager(
92 companyId);
93
94 gNicknameManager.deleteGNickname(nickname);
95 }
96 catch (Exception e) {
97 _log.error(e, e);
98 }
99 }
100
101 public void deleteUser(long companyId, long userId) {
102 try {
103 GUserManager gUserManager = GoogleAppsFactoryUtil.getGUserManager(
104 companyId);
105
106 gUserManager.deleteGUser(userId);
107 }
108 catch (Exception e) {
109 _log.error(e, e);
110 }
111 }
112
113 public void updateBlocked(
114 long companyId, long userId, List<String> blocked) {
115 }
116
117 public void updateEmailAddress(
118 long companyId, long userId, String emailAddress) {
119
120 try {
121 User user = UserLocalServiceUtil.getUserById(userId);
122
123 deleteEmailAddress(companyId, userId);
124
125 GNicknameManager gNicknameManager =
126 GoogleAppsFactoryUtil.getGNicknameManager(
127 companyId);
128
129 gNicknameManager.addGNickname(userId, emailAddress);
130
131 GEmailSettingsManager gEmailSettingsManager =
132 GoogleAppsFactoryUtil.getGEmailSettingsManager(
133 companyId);
134
135 gEmailSettingsManager.addSendAs(
136 userId, user.getFullName(), emailAddress);
137 }
138 catch (Exception e) {
139 _log.error(e, e);
140 }
141 }
142
143 public void updatePassword(long companyId, long userId, String password) {
144 try {
145 GUserManager gUserManager = GoogleAppsFactoryUtil.getGUserManager(
146 companyId);
147
148 gUserManager.updatePassword(userId, password);
149 }
150 catch (Exception e) {
151 _log.error(e, e);
152 }
153 }
154
155 private String _getNickname(String emailAddress) {
156 int pos = emailAddress.indexOf(CharPool.AT);
157
158 return emailAddress.substring(0, pos);
159 }
160
161 private static Log _log = LogFactoryUtil.getLog(GoogleHook.class);
162
163 }