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