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