package com.megatim.fdxconsultation.service.impl.searchs;
|
|
import com.megatim.fdxcommons.model.dtos.referentiel.ReferentielSlimDto;
|
import com.megatim.fdxconsultation.model.mappers.MapStructMapper;
|
import com.megatim.fdxconsultation.core.ifaces.referentiel.ReferentielManager;
|
import com.megatim.fdxconsultation.model.referentiel.dtos.ReferentielSlimResponse;
|
import com.megatim.fdxconsultation.model.searchentities.ReferentielSearch;
|
import com.megatim.fdxconsultation.service.ifaces.searchs.ReferentielSearchRS;
|
import java.util.List;
|
import java.util.stream.Collectors;
|
import javax.inject.Inject;
|
import javax.ws.rs.Path;
|
import javax.ws.rs.core.HttpHeaders;
|
import javax.ws.rs.core.Response;
|
|
/**
|
*
|
* @author Gabuntu
|
*/
|
@Path("referentiel-search")
|
public class ReferentielSearchRSImpl implements ReferentielSearchRS {
|
|
@Inject
|
private ReferentielManager manager;
|
|
@Override
|
public Response formData(HttpHeaders headers) {
|
List<ReferentielSlimResponse> dtos = manager
|
.all()
|
.stream()
|
.map(r -> new ReferentielSlimResponse(r))
|
.collect(Collectors.toList());
|
return Response.ok(dtos).build();
|
}
|
|
@Override
|
public Response formDataWithPagination(HttpHeaders headers, Integer pageNumber, Integer pagesize, ReferentielSearch searchEntity) {
|
List<ReferentielSlimResponse> dtos = manager
|
.findWithPagination(pageNumber, pagesize, searchEntity)
|
.stream()
|
.map(r -> new ReferentielSlimResponse(r))
|
.collect(Collectors.toList());
|
return Response.ok(dtos).build();
|
}
|
|
@Override
|
public Long countFormData(HttpHeaders headers, ReferentielSearch searchEntity) {
|
return manager.count(searchEntity);
|
}
|
}
|