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