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