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 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 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); } }