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.business.contract.ServiceContract;
37 import fr.paris.lutece.plugins.identitystore.service.contract.ServiceContractService;
38 import fr.paris.lutece.plugins.identitystore.service.history.IdentityHistoryService;
39 import fr.paris.lutece.plugins.identitystore.v3.web.request.AbstractIdentityStoreAppCodeRequest;
40 import fr.paris.lutece.plugins.identitystore.v3.web.rs.IdentityRequestValidator;
41 import fr.paris.lutece.plugins.identitystore.v3.web.rs.dto.history.IdentityHistory;
42 import fr.paris.lutece.plugins.identitystore.v3.web.rs.dto.history.IdentityHistorySearchRequest;
43 import fr.paris.lutece.plugins.identitystore.v3.web.rs.dto.history.IdentityHistorySearchResponse;
44 import fr.paris.lutece.plugins.identitystore.v3.web.rs.util.Constants;
45 import fr.paris.lutece.plugins.identitystore.v3.web.rs.util.ResponseStatusFactory;
46 import fr.paris.lutece.plugins.identitystore.web.exception.ClientAuthorizationException;
47 import fr.paris.lutece.plugins.identitystore.web.exception.DuplicatesConsistencyException;
48 import fr.paris.lutece.plugins.identitystore.web.exception.IdentityStoreException;
49 import fr.paris.lutece.plugins.identitystore.web.exception.RequestContentFormattingException;
50 import fr.paris.lutece.plugins.identitystore.web.exception.RequestFormatException;
51 import fr.paris.lutece.plugins.identitystore.web.exception.ResourceConsistencyException;
52 import fr.paris.lutece.plugins.identitystore.web.exception.ResourceNotFoundException;
53
54 import java.util.List;
55
56 public class IdentityStoreHistorySearchRequest extends AbstractIdentityStoreAppCodeRequest
57 {
58
59 private final IdentityHistorySearchRequest _request;
60
61 private ServiceContract serviceContract;
62
63 public IdentityStoreHistorySearchRequest( final IdentityHistorySearchRequest request, final String strClientCode, final String strAppCode,
64 final String authorName, final String authorType ) throws IdentityStoreException
65 {
66 super( strClientCode, strAppCode, authorName, authorType );
67 _request = request;
68 }
69
70 @Override
71 protected void fetchResources( ) throws ResourceNotFoundException, ClientAuthorizationException {
72 serviceContract = ServiceContractService.instance( ).getActiveServiceContract( _strClientCode );
73 }
74
75 @Override
76 protected void validateRequestFormat( ) throws RequestFormatException
77 {
78 IdentityRequestValidator.instance( ).checkIdentityHistory( _request );
79 }
80
81 @Override
82 protected void validateClientAuthorization( ) throws ClientAuthorizationException
83 {
84
85 }
86
87 @Override
88 protected void validateResourcesConsistency( ) throws ResourceConsistencyException
89 {
90
91 }
92
93 @Override
94 protected void formatRequestContent( ) throws RequestContentFormattingException
95 {
96
97 }
98
99 @Override
100 protected void checkDuplicatesConsistency( ) throws DuplicatesConsistencyException
101 {
102
103 }
104
105 @Override
106 protected IdentityHistorySearchResponse doSpecificRequest( ) throws IdentityStoreException
107 {
108 final IdentityHistorySearchResponse response = new IdentityHistorySearchResponse( );
109
110 final List<IdentityHistory> result = IdentityHistoryService.instance( ).search( _request, serviceContract );
111
112 response.setHistories( result );
113 response.setStatus( ResponseStatusFactory.ok( ).setMessageKey( Constants.PROPERTY_REST_INFO_SUCCESSFUL_OPERATION ) );
114
115 return response;
116 }
117 }