package com.megatim.fdxconsultation.service.impl.searchs; import com.megatim.fdxcommons.model.dtos.referentiel.ParticipantSlimDto; import com.megatim.fdxcommons.model.mappers.MapStructMapper; import com.megatim.fdxconsultation.core.ifaces.administration.UserManager; import com.megatim.fdxconsultation.core.ifaces.searchs.UserParticipantManager; import com.megatim.fdxconsultation.model.searchentities.ParticipantSearch; import com.megatim.fdxconsultation.service.ifaces.searchs.UserParticipantSearchRS; import com.mgt.rs.security.core.common.AuthenticatedUser; import com.mgt.rs.security.core.common.SecuredClass; 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 */ @SecuredClass(module = "", path = "", description = "") @Path("user-participant-search") public class UserParticipantSearchRSImpl implements UserParticipantSearchRS { @Inject private UserParticipantManager manager; @Inject private MapStructMapper mapper; @Inject private UserManager userManager; private String username; public UserParticipantSearchRSImpl() { super(); } public void handleAuthenticationEvent(@Observes @AuthenticatedUser String username) { this.username = username; } @Override public Response formData(HttpHeaders headers) { List dtos = manager.findUserParticipants(this.username) .stream(). map(t -> mapper.participantToParticipantSlimDto(t)) .collect(Collectors.toList()); return Response.ok(dtos).build(); } @Override public Response formDataWithPagination(HttpHeaders headers, Integer pageNumber, Integer pagesize, ParticipantSearch searchEntity) { List dtos = manager.findUserParticipantsWithPagination(this.username, searchEntity, pageNumber, pagesize) .stream(). map(t -> mapper.participantToParticipantSlimDto(t)) .collect(Collectors.toList()); return Response.ok(dtos).build(); } @Override public Long countFormData(HttpHeaders headers, ParticipantSearch searchEntity) { Long val = manager.countUserParticipants(this.username, searchEntity); System.out.println("countFormData----------------------------------"+this.username+"------------------------------"+val); return val; } @Override public Response formDataFindAll(HttpHeaders headers, ParticipantSearch searchEntity) { List dtos = manager.findAllUserParticipants(this.username, searchEntity) .stream(). map(t -> mapper.participantToParticipantSlimDto(t)) .collect(Collectors.toList()); return Response.ok(dtos).build(); } }