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