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.contract;
35
36 import fr.paris.lutece.plugins.identitystore.business.application.ClientApplicationHome;
37 import fr.paris.lutece.plugins.identitystore.business.contract.AttributeCertification;
38 import fr.paris.lutece.plugins.identitystore.business.contract.ServiceContract;
39 import fr.paris.lutece.plugins.identitystore.business.contract.ServiceContractHome;
40 import fr.paris.lutece.plugins.identitystore.business.referentiel.RefAttributeCertificationProcessus;
41 import fr.paris.lutece.plugins.identitystore.service.contract.AttributeCertificationDefinitionService;
42 import fr.paris.lutece.plugins.identitystore.v3.web.rs.AbstractIdentityStoreRequest;
43 import fr.paris.lutece.plugins.identitystore.v3.web.rs.DtoConverter;
44 import fr.paris.lutece.plugins.identitystore.v3.web.rs.dto.contract.ServiceContractsSearchResponse;
45 import fr.paris.lutece.plugins.identitystore.v3.web.rs.util.Constants;
46 import fr.paris.lutece.plugins.identitystore.v3.web.rs.util.ResponseStatusFactory;
47 import fr.paris.lutece.plugins.identitystore.web.exception.IdentityStoreException;
48 import fr.paris.lutece.portal.service.util.AppException;
49 import org.apache.commons.collections.CollectionUtils;
50 import org.apache.commons.lang3.StringUtils;
51
52 import java.util.List;
53
54
55
56
57
58 public class ServiceContractListGetAllRequest extends AbstractIdentityStoreRequest
59 {
60
61
62
63
64
65
66
67 public ServiceContractListGetAllRequest( String strClientCode, String authorName, String authorType ) throws IdentityStoreException
68 {
69 super( strClientCode, authorName, authorType );
70 }
71
72 @Override
73 protected void validateSpecificRequest( )
74 {
75 }
76
77
78
79
80
81
82
83 @Override
84 public ServiceContractsSearchResponse doSpecificRequest( )
85 {
86 final ServiceContractsSearchResponse response = new ServiceContractsSearchResponse( );
87
88 final List<ServiceContract> serviceContracts = ServiceContractHome.getAllServiceContractsList( );
89 if ( CollectionUtils.isEmpty( serviceContracts ) )
90 {
91 response.setStatus( ResponseStatusFactory.noResult( ).setMessageKey( Constants.PROPERTY_REST_ERROR_NO_SERVICE_CONTRACT_FOUND ) );
92 }
93 else
94 {
95 for ( final ServiceContract serviceContract : serviceContracts )
96 {
97 serviceContract.setAttributeRights( ServiceContractHome.selectApplicationRights( serviceContract ) );
98 serviceContract.setAttributeCertifications( ServiceContractHome.selectAttributeCertifications( serviceContract ) );
99 serviceContract.setAttributeRequirements( ServiceContractHome.selectAttributeRequirements( serviceContract ) );
100
101 for ( final AttributeCertification certification : serviceContract.getAttributeCertifications( ) )
102 {
103 for ( final RefAttributeCertificationProcessus processus : certification.getRefAttributeCertificationProcessus( ) )
104 {
105 processus.setLevel( AttributeCertificationDefinitionService.instance( ).get( processus.getCode( ),
106 certification.getAttributeKey( ).getKeyName( ) ) );
107 }
108 }
109
110 response.getServiceContracts( ).add( DtoConverter.convertContractToDto( serviceContract ) );
111 }
112
113 response.setStatus( ResponseStatusFactory.ok( ).setMessageKey( Constants.PROPERTY_REST_INFO_SUCCESSFUL_OPERATION ) );
114 }
115
116 return response;
117 }
118
119 }