ServiceContractListSearchRequest.java
package fr.paris.lutece.plugins.identitystore.v3.web.request.contract;
import fr.paris.lutece.plugins.identitystore.service.contract.ServiceContractService;
import fr.paris.lutece.plugins.identitystore.v3.web.request.AbstractIdentityStoreAppCodeRequest;
import fr.paris.lutece.plugins.identitystore.v3.web.rs.ServiceContractRequestValidator;
import fr.paris.lutece.plugins.identitystore.v3.web.rs.dto.common.ResponseDto;
import fr.paris.lutece.plugins.identitystore.v3.web.rs.dto.contract.ServiceContractDto;
import fr.paris.lutece.plugins.identitystore.v3.web.rs.dto.contract.ServiceContractsSearchResponse;
import fr.paris.lutece.plugins.identitystore.v3.web.rs.util.Constants;
import fr.paris.lutece.plugins.identitystore.v3.web.rs.util.ResponseStatusFactory;
import fr.paris.lutece.plugins.identitystore.web.exception.ClientAuthorizationException;
import fr.paris.lutece.plugins.identitystore.web.exception.DuplicatesConsistencyException;
import fr.paris.lutece.plugins.identitystore.web.exception.IdentityStoreException;
import fr.paris.lutece.plugins.identitystore.web.exception.RequestContentFormattingException;
import fr.paris.lutece.plugins.identitystore.web.exception.RequestFormatException;
import fr.paris.lutece.plugins.identitystore.web.exception.ResourceConsistencyException;
import fr.paris.lutece.plugins.identitystore.web.exception.ResourceNotFoundException;
import java.sql.Date;
import java.util.List;
public class ServiceContractListSearchRequest extends AbstractIdentityStoreAppCodeRequest {
private final String strLoadDetails;
private final String strMinEndDate;
private boolean loadDetails;
private Date minEndDate;
public ServiceContractListSearchRequest(final String strLoadDetails, final String strMinEndDate, final String strClientCode, final String strAppCode, final String authorName, final String authorType) throws IdentityStoreException
{
super( strClientCode, strAppCode, authorName, authorType );
this.strLoadDetails = strLoadDetails;
this.strMinEndDate = strMinEndDate;
}
@Override
protected void fetchResources() throws ResourceNotFoundException, ClientAuthorizationException {
// do nothing
}
@Override
protected void validateRequestFormat() throws RequestFormatException {
loadDetails = ServiceContractRequestValidator.getInstance().checkAndParseLoadDetails( strLoadDetails );
minEndDate = ServiceContractRequestValidator.getInstance().checkAndParseMinEndDate( strMinEndDate );
}
@Override
protected void validateClientAuthorization() throws ClientAuthorizationException {
// TODO no authorization in service contract for that
}
@Override
protected void validateResourcesConsistency() throws ResourceConsistencyException {
// do nothing
}
@Override
protected void formatRequestContent() throws RequestContentFormattingException {
// do nothing
}
@Override
protected void checkDuplicatesConsistency() throws DuplicatesConsistencyException {
// do nothing
}
@Override
protected ResponseDto doSpecificRequest() throws IdentityStoreException {
final ServiceContractsSearchResponse response = new ServiceContractsSearchResponse( );
final List<ServiceContractDto> result = ServiceContractService.instance().searchServiceContracts(loadDetails, minEndDate);
response.setStatus(ResponseStatusFactory.ok().setMessageKey(Constants.PROPERTY_REST_INFO_SUCCESSFUL_OPERATION));
response.getServiceContracts( ).addAll( result );
return response;
}
}