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<ParticipantSlimDto> 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<ParticipantSlimDto> 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<ParticipantSlimDto> dtos = manager.findAllUserParticipants(this.username, searchEntity)
|
.stream().
|
map(t -> mapper.participantToParticipantSlimDto(t))
|
.collect(Collectors.toList());
|
return Response.ok(dtos).build();
|
}
|
}
|