package com.megatim.fdxconsultation.service.impl.searchs; import com.megatim.fdxconsultation.core.ifaces.stats.TableauBordGlobalSearchManager; import com.megatim.fdxconsultation.core.impl.stats.ConvertedTableauBordResponse; import com.megatim.fdxconsultation.model.searchentities.TableauBordGlobalSearch; import com.megatim.fdxconsultation.model.stats.dto.TableauBordFlatResponse; import com.megatim.fdxconsultation.service.ifaces.searchs.GlobalDasboardSearchRS; import com.mgt.rs.security.core.common.AuthenticatedUser; import java.util.List; import java.util.stream.Collectors; import javax.enterprise.event.Observes; import javax.inject.Inject; import javax.ws.rs.Path; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.Response; /** * * @author Gabuntu */ @Path("tableau-bord-global-search") public class TableauBordGlobalSearchRSImpl implements GlobalDasboardSearchRS { @Inject private TableauBordGlobalSearchManager manager; @Override public Response formData(HttpHeaders headers) { throw new UnsupportedOperationException("Not supported yet."); } @Override public Response formDataWithPagination(HttpHeaders headers, Integer pageNumber, Integer pagesize, TableauBordGlobalSearch searchEntity) { List response = manager .findWithPagination(pageNumber, pagesize, searchEntity) .stream() .map(tableauBord -> new ConvertedTableauBordResponse(tableauBord).tableauBordFlatResponse()) .collect(Collectors.toList()); return Response.ok(response).build(); } @Override public Long countFormData(HttpHeaders headers, TableauBordGlobalSearch searchEntity) { return manager.count(searchEntity); } }