1
14
15 package com.liferay.portlet;
16
17 import com.liferay.portal.kernel.exception.PortalException;
18 import com.liferay.portal.kernel.exception.SystemException;
19 import com.liferay.portal.kernel.util.StringPool;
20 import com.liferay.portal.model.Address;
21 import com.liferay.portal.model.User;
22
23 import java.util.Calendar;
24 import java.util.GregorianCalendar;
25
26
31 public class UserAttributes {
32
33
35 public static final String LIFERAY_COMPANY_ID = "liferay.company.id";
36
37 public static final String LIFERAY_USER_ID = "liferay.user.id";
38
39 public static final String USER_NAME_FULL = "user.name.full";
40
41
43 public static final String USER_BDATE = "user.bdate";
44
45 public static final String USER_BDATE_DAY = "user.bdate.ymd.day";
46
47 public static final String USER_BDATE_FRACTIONSECOND = "user.bdate.fractionsecond";
48
49 public static final String USER_BDATE_HOUR = "user.bdate.hms.hour";
50
51 public static final String USER_BDATE_MINUTE = "user.bdate.hms.minute";
52
53 public static final String USER_BDATE_MONTH = "user.bdate.ymd.month";
54
55 public static final String USER_BDATE_SECOND = "user.bdate.hms.second";
56
57 public static final String USER_BDATE_TIMEZONE = "user.bdate.timezone";
58
59 public static final String USER_BDATE_YEAR = "user.bdate.ymd.year";
60
61 public static final String USER_GENDER = "user.gender";
62
63 public static final String USER_EMPLOYER = "user.employer";
64
65 public static final String USER_DEPARTMENT = "user.department";
66
67 public static final String USER_JOBTITLE = "user.jobtitle";
68
69 public static final String USER_NAME_PREFIX = "user.name.prefix";
70
71 public static final String USER_NAME_GIVEN = "user.name.given";
72
73 public static final String USER_NAME_FAMILY = "user.name.family";
74
75 public static final String USER_NAME_MIDDLE = "user.name.middle";
76
77 public static final String USER_NAME_SUFFIX = "user.name.suffix";
78
79 public static final String USER_NAME_NICKNAME = "user.name.nickName";
80
81 public static final String USER_HOME_INFO_POSTAL_NAME = "user.home-info.postal.name";
82
83 public static final String USER_HOME_INFO_POSTAL_STREET = "user.home-info.postal.street";
84
85 public static final String USER_HOME_INFO_POSTAL_CITY = "user.home-info.postal.city";
86
87 public static final String USER_HOME_INFO_POSTAL_STATEPROV = "user.home-info.postal.stateprov";
88
89 public static final String USER_HOME_INFO_POSTAL_POSTALCODE = "user.home-info.postal.postalcode";
90
91 public static final String USER_HOME_INFO_POSTAL_COUNTRY = "user.home-info.postal.country";
92
93 public static final String USER_HOME_INFO_POSTAL_ORGANIZATION = "user.home-info.postal.organization";
94
95 public static final String USER_HOME_INFO_TELECOM_TELEPHONE_INTCODE = "user.home-info.telecom.telephone.intcode";
96
97 public static final String USER_HOME_INFO_TELECOM_TELEPHONE_LOCCODE = "user.home-info.telecom.telephone.loccode";
98
99 public static final String USER_HOME_INFO_TELECOM_TELEPHONE_NUMBER = "user.home-info.telecom.telephone.number";
100
101 public static final String USER_HOME_INFO_TELECOM_TELEPHONE_EXT = "user.home-info.telecom.telephone.ext";
102
103 public static final String USER_HOME_INFO_TELECOM_TELEPHONE_COMMENT = "user.home-info.telecom.telephone.comment";
104
105 public static final String USER_HOME_INFO_TELECOM_FAX_INTCODE = "user.home-info.telecom.fax.intcode";
106
107 public static final String USER_HOME_INFO_TELECOM_FAX_LOCCODE = "user.home-info.telecom.fax.loccode";
108
109 public static final String USER_HOME_INFO_TELECOM_FAX_NUMBER = "user.home-info.telecom.fax.number";
110
111 public static final String USER_HOME_INFO_TELECOM_FAX_EXT = "user.home-info.telecom.fax.ext";
112
113 public static final String USER_HOME_INFO_TELECOM_FAX_COMMENT = "user.home-info.telecom.fax.comment";
114
115 public static final String USER_HOME_INFO_TELECOM_MOBILE_INTCODE = "user.home-info.telecom.mobile.intcode";
116
117 public static final String USER_HOME_INFO_TELECOM_MOBILE_LOCCODE = "user.home-info.telecom.mobile.loccode";
118
119 public static final String USER_HOME_INFO_TELECOM_MOBILE_NUMBER = "user.home-info.telecom.mobile.number";
120
121 public static final String USER_HOME_INFO_TELECOM_MOBILE_EXT = "user.home-info.telecom.mobile.ext";
122
123 public static final String USER_HOME_INFO_TELECOM_MOBILE_COMMENT = "user.home-info.telecom.mobile.comment";
124
125 public static final String USER_HOME_INFO_TELECOM_PAGER_INTCODE = "user.home-info.telecom.pager.intcode";
126
127 public static final String USER_HOME_INFO_TELECOM_PAGER_LOCCODE = "user.home-info.telecom.pager.loccode";
128
129 public static final String USER_HOME_INFO_TELECOM_PAGER_NUMBER = "user.home-info.telecom.pager.number";
130
131 public static final String USER_HOME_INFO_TELECOM_PAGER_EXT = "user.home-info.telecom.pager.ext";
132
133 public static final String USER_HOME_INFO_TELECOM_PAGER_COMMENT = "user.home-info.telecom.pager.comment";
134
135 public static final String USER_HOME_INFO_ONLINE_EMAIL = "user.home-info.online.email";
136
137 public static final String USER_HOME_INFO_ONLINE_URI = "user.home-info.online.uri";
138
139 public static final String USER_BUSINESS_INFO_POSTAL_NAME = "user.business-info.postal.name";
140
141 public static final String USER_BUSINESS_INFO_POSTAL_STREET = "user.business-info.postal.street";
142
143 public static final String USER_BUSINESS_INFO_POSTAL_CITY = "user.business-info.postal.city";
144
145 public static final String USER_BUSINESS_INFO_POSTAL_STATEPROV = "user.business-info.postal.stateprov";
146
147 public static final String USER_BUSINESS_INFO_POSTAL_POSTALCODE = "user.business-info.postal.postalcode";
148
149 public static final String USER_BUSINESS_INFO_POSTAL_COUNTRY = "user.business-info.postal.country";
150
151 public static final String USER_BUSINESS_INFO_POSTAL_ORGANIZATION = "user.business-info.postal.organization";
152
153 public static final String USER_BUSINESS_INFO_TELECOM_TELEPHONE_INTCODE = "user.business-info.telecom.telephone.intcode";
154
155 public static final String USER_BUSINESS_INFO_TELECOM_TELEPHONE_LOCCODE = "user.business-info.telecom.telephone.loccode";
156
157 public static final String USER_BUSINESS_INFO_TELECOM_TELEPHONE_NUMBER = "user.business-info.telecom.telephone.number";
158
159 public static final String USER_BUSINESS_INFO_TELECOM_TELEPHONE_EXT = "user.business-info.telecom.telephone.ext";
160
161 public static final String USER_BUSINESS_INFO_TELECOM_TELEPHONE_COMMENT = "user.business-info.telecom.telephone.comment";
162
163 public static final String USER_BUSINESS_INFO_TELECOM_FAX_INTCODE = "user.business-info.telecom.fax.intcode";
164
165 public static final String USER_BUSINESS_INFO_TELECOM_FAX_LOCCODE = "user.business-info.telecom.fax.loccode";
166
167 public static final String USER_BUSINESS_INFO_TELECOM_FAX_NUMBER = "user.business-info.telecom.fax.number";
168
169 public static final String USER_BUSINESS_INFO_TELECOM_FAX_EXT = "user.business-info.telecom.fax.ext";
170
171 public static final String USER_BUSINESS_INFO_TELECOM_FAX_COMMENT = "user.business-info.telecom.fax.comment";
172
173 public static final String USER_BUSINESS_INFO_TELECOM_MOBILE_INTCODE = "user.business-info.telecom.mobile.intcode";
174
175 public static final String USER_BUSINESS_INFO_TELECOM_MOBILE_LOCCODE = "user.business-info.telecom.mobile.loccode";
176
177 public static final String USER_BUSINESS_INFO_TELECOM_MOBILE_NUMBER = "user.business-info.telecom.mobile.number";
178
179 public static final String USER_BUSINESS_INFO_TELECOM_MOBILE_EXT = "user.business-info.telecom.mobile.ext";
180
181 public static final String USER_BUSINESS_INFO_TELECOM_MOBILE_COMMENT = "user.business-info.telecom.mobile.comment";
182
183 public static final String USER_BUSINESS_INFO_TELECOM_PAGER_INTCODE = "user.business-info.telecom.pager.intcode";
184
185 public static final String USER_BUSINESS_INFO_TELECOM_PAGER_LOCCODE = "user.business-info.telecom.pager.loccode";
186
187 public static final String USER_BUSINESS_INFO_TELECOM_PAGER_NUMBER = "user.business-info.telecom.pager.number";
188
189 public static final String USER_BUSINESS_INFO_TELECOM_PAGER_EXT = "user.business-info.telecom.pager.ext";
190
191 public static final String USER_BUSINESS_INFO_TELECOM_PAGER_COMMENT = "user.business-info.telecom.pager.comment";
192
193 public static final String USER_BUSINESS_INFO_ONLINE_EMAIL = "user.business-info.online.email";
194
195 public static final String USER_BUSINESS_INFO_ONLINE_URI = "user.business-info.online.uri";
196
197 public static final String USER_LOGIN_ID = "user.login.id";
198
199 public UserAttributes(User user) {
200 _user = user;
201
202
214 }
215
216 public String getValue(String name)
217 throws PortalException, SystemException {
218
219 if (name == null) {
220 return null;
221 }
222
223 if (name.equals(LIFERAY_COMPANY_ID)) {
224 return String.valueOf(_user.getCompanyId());
225 }
226 else if (name.equals(LIFERAY_USER_ID)) {
227 return String.valueOf(_user.getUserId());
228 }
229 else if (name.equals(USER_NAME_FULL)) {
230 return _user.getFullName();
231 }
232 else if (name.equals(USER_BDATE)) {
233 return _user.getBirthday().toString();
234 }
235 else if (name.equals(USER_BDATE_DAY)) {
236 String returnValue = null;
237
238 if (_user.getBirthday() != null) {
239 _calendar.setTime(_user.getBirthday());
240
241 returnValue = String.valueOf(_calendar.get(Calendar.DATE));
242 }
243
244 return returnValue;
245 }
246 else if (name.equals(USER_BDATE_FRACTIONSECOND)) {
247 String returnValue = null;
248
249 if (_user.getBirthday() != null) {
250 _calendar.setTime(_user.getBirthday());
251
252 returnValue = String.valueOf(
253 _calendar.get(Calendar.MILLISECOND));
254 }
255
256 return returnValue;
257 }
258 else if (name.equals(USER_BDATE_HOUR)) {
259 String returnValue = null;
260
261 if (_user.getBirthday() != null) {
262 _calendar.setTime(_user.getBirthday());
263
264 returnValue = String.valueOf(_calendar.get(Calendar.HOUR));
265 }
266
267 return returnValue;
268 }
269 else if (name.equals(USER_BDATE_MINUTE)) {
270 String returnValue = null;
271
272 if (_user.getBirthday() != null) {
273 _calendar.setTime(_user.getBirthday());
274
275 returnValue = String.valueOf(_calendar.get(Calendar.MINUTE));
276 }
277
278 return returnValue;
279 }
280 else if (name.equals(USER_BDATE_MONTH)) {
281 String returnValue = null;
282
283 if (_user.getBirthday() != null) {
284 _calendar.setTime(_user.getBirthday());
285
286 returnValue = String.valueOf(_calendar.get(Calendar.MONTH) + 1);
287 }
288
289 return returnValue;
290 }
291 else if (name.equals(USER_BDATE_SECOND)) {
292 String returnValue = null;
293
294 if (_user.getBirthday() != null) {
295 _calendar.setTime(_user.getBirthday());
296
297 returnValue = String.valueOf(_calendar.get(Calendar.SECOND));
298 }
299
300 return returnValue;
301 }
302 else if (name.equals(USER_BDATE_TIMEZONE)) {
303 String returnValue = null;
304
305 if (_user.getBirthday() != null) {
306 _calendar.setTime(_user.getBirthday());
307
308 returnValue = String.valueOf(
309 _calendar.get(Calendar.ZONE_OFFSET));
310 }
311 return returnValue;
312 }
313 else if (name.equals(USER_BDATE_YEAR)) {
314 String returnValue = null;
315
316 if (_user.getBirthday() != null) {
317 _calendar.setTime(_user.getBirthday());
318
319 returnValue = String.valueOf(_calendar.get(Calendar.YEAR));
320 }
321
322 return returnValue;
323 }
324 else if (name.equals(USER_GENDER)) {
325 return _user.isMale() ? "male" : "female";
326 }
327 else if (name.equals(USER_EMPLOYER)) {
328 return StringPool.BLANK;
329 }
330 else if (name.equals(USER_DEPARTMENT)) {
331 return StringPool.BLANK;
332 }
333 else if (name.equals(USER_JOBTITLE)) {
334 return _user.getJobTitle();
335 }
336 else if (name.equals(USER_NAME_PREFIX)) {
337 return StringPool.BLANK;
338 }
339 else if (name.equals(USER_NAME_GIVEN)) {
340 return _user.getFirstName();
341 }
342 else if (name.equals(USER_NAME_FAMILY)) {
343 return _user.getLastName();
344 }
345 else if (name.equals(USER_NAME_MIDDLE)) {
346 return _user.getMiddleName();
347 }
348 else if (name.equals(USER_NAME_SUFFIX)) {
349 return StringPool.BLANK;
350 }
351 else if (name.equals(USER_NAME_NICKNAME)) {
352 return _user.getScreenName();
353 }
354 else if (name.equals(USER_LOGIN_ID)) {
355 return _user.getScreenName();
356 }
357 else if (name.equals(USER_HOME_INFO_POSTAL_NAME)) {
358 return StringPool.BLANK;
359 }
360 else if (name.equals(USER_HOME_INFO_POSTAL_STREET)) {
361 if (_homeAddress != null) {
362 return _homeAddress.getStreet1();
363 }
364 else {
365 return StringPool.BLANK;
366 }
367 }
368 else if (name.equals(USER_HOME_INFO_POSTAL_CITY)) {
369 if (_homeAddress != null) {
370 return _homeAddress.getCity();
371 }
372 else {
373 return StringPool.BLANK;
374 }
375 }
376 else if (name.equals(USER_HOME_INFO_POSTAL_STATEPROV)) {
377 return StringPool.BLANK;
378 }
379 else if (name.equals(USER_HOME_INFO_POSTAL_POSTALCODE)) {
380 if (_homeAddress != null) {
381 return _homeAddress.getZip();
382 }
383 else {
384 return StringPool.BLANK;
385 }
386 }
387 else if (name.equals(USER_HOME_INFO_POSTAL_COUNTRY)) {
388 return StringPool.BLANK;
389 }
390 else if (name.equals(USER_HOME_INFO_POSTAL_ORGANIZATION)) {
391 return StringPool.BLANK;
392 }
393 else if (name.equals(USER_HOME_INFO_TELECOM_TELEPHONE_INTCODE)) {
394 return StringPool.BLANK;
395 }
396 else if (name.equals(USER_HOME_INFO_TELECOM_TELEPHONE_LOCCODE)) {
397 return StringPool.BLANK;
398 }
399 else if (name.equals(USER_HOME_INFO_TELECOM_TELEPHONE_NUMBER)) {
400 return StringPool.BLANK;
401 }
402 else if (name.equals(USER_HOME_INFO_TELECOM_TELEPHONE_EXT)) {
403 return StringPool.BLANK;
404 }
405 else if (name.equals(USER_HOME_INFO_TELECOM_TELEPHONE_COMMENT)) {
406 return StringPool.BLANK;
407 }
408 else if (name.equals(USER_HOME_INFO_TELECOM_FAX_INTCODE)) {
409 return StringPool.BLANK;
410 }
411 else if (name.equals(USER_HOME_INFO_TELECOM_FAX_LOCCODE)) {
412 return StringPool.BLANK;
413 }
414 else if (name.equals(USER_HOME_INFO_TELECOM_FAX_NUMBER)) {
415 return StringPool.BLANK;
416 }
417 else if (name.equals(USER_HOME_INFO_TELECOM_FAX_EXT)) {
418 return StringPool.BLANK;
419 }
420 else if (name.equals(USER_HOME_INFO_TELECOM_FAX_COMMENT)) {
421 return StringPool.BLANK;
422 }
423 else if (name.equals(USER_HOME_INFO_TELECOM_MOBILE_INTCODE)) {
424 return StringPool.BLANK;
425 }
426 else if (name.equals(USER_HOME_INFO_TELECOM_MOBILE_LOCCODE)) {
427 return StringPool.BLANK;
428 }
429 else if (name.equals(USER_HOME_INFO_TELECOM_MOBILE_NUMBER)) {
430 return StringPool.BLANK;
431 }
432 else if (name.equals(USER_HOME_INFO_TELECOM_MOBILE_EXT)) {
433 return StringPool.BLANK;
434 }
435 else if (name.equals(USER_HOME_INFO_TELECOM_MOBILE_COMMENT)) {
436 return StringPool.BLANK;
437 }
438 else if (name.equals(USER_HOME_INFO_TELECOM_PAGER_INTCODE)) {
439 return StringPool.BLANK;
440 }
441 else if (name.equals(USER_HOME_INFO_TELECOM_PAGER_LOCCODE)) {
442 return StringPool.BLANK;
443 }
444 else if (name.equals(USER_HOME_INFO_TELECOM_PAGER_NUMBER)) {
445 return StringPool.BLANK;
446 }
447 else if (name.equals(USER_HOME_INFO_TELECOM_PAGER_EXT)) {
448 return StringPool.BLANK;
449 }
450 else if (name.equals(USER_HOME_INFO_TELECOM_PAGER_COMMENT)) {
451 return StringPool.BLANK;
452 }
453 else if (name.equals(USER_HOME_INFO_ONLINE_EMAIL)) {
454 return _user.getEmailAddress();
455 }
456 else if (name.equals(USER_HOME_INFO_ONLINE_URI)) {
457 return StringPool.BLANK;
458 }
459 else if (name.equals(USER_BUSINESS_INFO_POSTAL_NAME)) {
460 return StringPool.BLANK;
461 }
462 else if (name.equals(USER_BUSINESS_INFO_POSTAL_STREET)) {
463 if (_bizAddress != null) {
464 return _bizAddress.getStreet1();
465 }
466 else {
467 return StringPool.BLANK;
468 }
469 }
470 else if (name.equals(USER_BUSINESS_INFO_POSTAL_CITY)) {
471 if (_bizAddress != null) {
472 return _bizAddress.getCity();
473 }
474 else {
475 return StringPool.BLANK;
476 }
477 }
478 else if (name.equals(USER_BUSINESS_INFO_POSTAL_STATEPROV)) {
479 return StringPool.BLANK;
480 }
481 else if (name.equals(USER_BUSINESS_INFO_POSTAL_POSTALCODE)) {
482 if (_bizAddress != null) {
483 return _bizAddress.getZip();
484 }
485 else {
486 return StringPool.BLANK;
487 }
488 }
489 else if (name.equals(USER_BUSINESS_INFO_POSTAL_COUNTRY)) {
490 return StringPool.BLANK;
491 }
492 else if (name.equals(USER_BUSINESS_INFO_POSTAL_ORGANIZATION)) {
493 return StringPool.BLANK;
494 }
495 else if (name.equals(USER_BUSINESS_INFO_TELECOM_TELEPHONE_INTCODE)) {
496 return StringPool.BLANK;
497 }
498 else if (name.equals(USER_BUSINESS_INFO_TELECOM_TELEPHONE_LOCCODE)) {
499 return StringPool.BLANK;
500 }
501 else if (name.equals(USER_BUSINESS_INFO_TELECOM_TELEPHONE_NUMBER)) {
502 return StringPool.BLANK;
503 }
504 else if (name.equals(USER_BUSINESS_INFO_TELECOM_TELEPHONE_EXT)) {
505 return StringPool.BLANK;
506 }
507 else if (name.equals(USER_BUSINESS_INFO_TELECOM_TELEPHONE_COMMENT)) {
508 return StringPool.BLANK;
509 }
510 else if (name.equals(USER_BUSINESS_INFO_TELECOM_FAX_INTCODE)) {
511 return StringPool.BLANK;
512 }
513 else if (name.equals(USER_BUSINESS_INFO_TELECOM_FAX_LOCCODE)) {
514 return StringPool.BLANK;
515 }
516 else if (name.equals(USER_BUSINESS_INFO_TELECOM_FAX_NUMBER)) {
517 return StringPool.BLANK;
518 }
519 else if (name.equals(USER_BUSINESS_INFO_TELECOM_FAX_EXT)) {
520 return StringPool.BLANK;
521 }
522 else if (name.equals(USER_BUSINESS_INFO_TELECOM_FAX_COMMENT)) {
523 return StringPool.BLANK;
524 }
525 else if (name.equals(USER_BUSINESS_INFO_TELECOM_MOBILE_INTCODE)) {
526 return StringPool.BLANK;
527 }
528 else if (name.equals(USER_BUSINESS_INFO_TELECOM_MOBILE_LOCCODE)) {
529 return StringPool.BLANK;
530 }
531 else if (name.equals(USER_BUSINESS_INFO_TELECOM_MOBILE_NUMBER)) {
532 return StringPool.BLANK;
533 }
534 else if (name.equals(USER_BUSINESS_INFO_TELECOM_MOBILE_EXT)) {
535 return StringPool.BLANK;
536 }
537 else if (name.equals(USER_BUSINESS_INFO_TELECOM_MOBILE_COMMENT)) {
538 return StringPool.BLANK;
539 }
540 else if (name.equals(USER_BUSINESS_INFO_TELECOM_PAGER_INTCODE)) {
541 return StringPool.BLANK;
542 }
543 else if (name.equals(USER_BUSINESS_INFO_TELECOM_PAGER_LOCCODE)) {
544 return StringPool.BLANK;
545 }
546 else if (name.equals(USER_BUSINESS_INFO_TELECOM_PAGER_NUMBER)) {
547 return StringPool.BLANK;
548 }
549 else if (name.equals(USER_BUSINESS_INFO_TELECOM_PAGER_EXT)) {
550 return StringPool.BLANK;
551 }
552 else if (name.equals(USER_BUSINESS_INFO_TELECOM_PAGER_COMMENT)) {
553 return StringPool.BLANK;
554 }
555 else if (name.equals(USER_BUSINESS_INFO_ONLINE_EMAIL)) {
556 return _user.getEmailAddress();
557 }
558 else if (name.equals(USER_BUSINESS_INFO_ONLINE_URI)) {
559 return StringPool.BLANK;
560 }
561 else {
562 return null;
563 }
564 }
565
566 private User _user;
567 private Address _homeAddress;
568 private Address _bizAddress;
569 private Calendar _calendar = new GregorianCalendar();
570
571 }