1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package fr.paris.lutece.plugins.customerprovisioning.modules.openam.services;
35
36
37
38 import fr.paris.lutece.plugins.customerprovisioning.business.UserDTO;
39 import fr.paris.lutece.plugins.customerprovisioning.services.IUserInfoProvider;
40 import fr.paris.lutece.plugins.openamidentityclient.business.Account;
41 import fr.paris.lutece.plugins.openamidentityclient.business.Identity;
42 import fr.paris.lutece.plugins.openamidentityclient.service.OpenamIdentityException;
43 import fr.paris.lutece.plugins.openamidentityclient.service.OpenamIdentityService;
44 import fr.paris.lutece.portal.service.util.AppLogService;
45
46
47
48 public class OpenAmService implements IUserInfoProvider
49 {
50
51
52
53
54
55 @Override
56 public UserDTO getUserInfo( String strguid )
57 {
58 Identity oIdentity;
59 Account oAccount;
60 UserDTO oIUserDTO = null;
61
62 try
63 {
64 oIdentity = OpenamIdentityService.getService( ).getIdentity( strguid );
65 oAccount = OpenamIdentityService.getService( ).getAccount( strguid );
66
67 if ( ( oIdentity != null ) && ( oAccount != null ) )
68 {
69 oIUserDTO = populateIdentityAndUserDTO( oIdentity, oAccount );
70 }
71 }
72 catch ( OpenamIdentityException ex )
73 {
74 AppLogService.info( ex.getStackTrace( ) );
75 }
76
77 return oIUserDTO;
78 }
79
80
81
82
83
84
85 private UserDTO populateIdentityAndUserDTO( Identity oIdentity, Account oAccount )
86 {
87 UserDTO oIUserDTO = new UserDTO( );
88 oIUserDTO.setBirthday( oIdentity.getBirthday( ) );
89 oIUserDTO.setCity( oIdentity.getCity( ) );
90 oIUserDTO.setCityOfBirth( oIdentity.getCityOfBirth( ) );
91 oIUserDTO.setCivility( oIdentity.getCivility( ) );
92 oIUserDTO.setEmail( oAccount.getLogin( ) );
93 oIUserDTO.setFirstname( oIdentity.getFirstname( ) );
94 oIUserDTO.setLastname( oIdentity.getLastname( ) );
95 oIUserDTO.setPostalCode( oIdentity.getPostalCode( ) );
96 oIUserDTO.setStayConnected( oIdentity.getStayConnected( ) );
97 oIUserDTO.setStreet( oIdentity.getStreet( ) );
98 oIUserDTO.setTelephoneNumber( oIdentity.getTelephoneNumber( ) );
99 oIUserDTO.setUid( oIdentity.getUid( ) );
100
101 return oIUserDTO;
102 }
103 }