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.identitystore.v3.web.request.history;
35
36 import fr.paris.lutece.plugins.identitystore.service.history.IdentityHistoryService;
37 import fr.paris.lutece.plugins.identitystore.v3.web.rs.AbstractIdentityStoreRequest;
38 import fr.paris.lutece.plugins.identitystore.v3.web.rs.IdentityRequestValidator;
39 import fr.paris.lutece.plugins.identitystore.v3.web.rs.dto.history.IdentityHistory;
40 import fr.paris.lutece.plugins.identitystore.v3.web.rs.dto.history.IdentityHistoryGetResponse;
41 import fr.paris.lutece.plugins.identitystore.v3.web.rs.util.Constants;
42 import fr.paris.lutece.plugins.identitystore.v3.web.rs.util.ResponseStatusFactory;
43 import fr.paris.lutece.plugins.identitystore.web.exception.IdentityStoreException;
44
45 public class IdentityStoreHistoryGetRequest extends AbstractIdentityStoreRequest
46 {
47
48 private final String _strCustomerId;
49
50 public IdentityStoreHistoryGetRequest( String strClientCode, String strCustomerId, String authorName, String authorType ) throws IdentityStoreException
51 {
52 super( strClientCode, authorName, authorType );
53 _strCustomerId = strCustomerId;
54 }
55
56 @Override
57 protected void validateSpecificRequest( ) throws IdentityStoreException
58 {
59 IdentityRequestValidator.instance( ).checkCustomerId( _strCustomerId );
60 }
61
62 @Override
63 protected IdentityHistoryGetResponse doSpecificRequest( ) throws IdentityStoreException
64 {
65 final IdentityHistoryGetResponse response = new IdentityHistoryGetResponse( );
66
67 final IdentityHistory identityHistory = IdentityHistoryService.instance( ).get( _strCustomerId, _strClientCode );
68 if ( identityHistory != null )
69 {
70 response.setHistory( identityHistory );
71 response.setStatus( ResponseStatusFactory.ok( ).setMessageKey( Constants.PROPERTY_REST_INFO_SUCCESSFUL_OPERATION ) );
72 }
73 else
74 {
75 response.setStatus( ResponseStatusFactory.notFound( ).setMessageKey( Constants.PROPERTY_REST_ERROR_NO_HISTORY_FOUND ) );
76 }
77
78 return response;
79 }
80 }