package com.megatim.apifdxweb.impl.referentiel; import com.megatim.apifdxweb.core.ifaces.administration.UserManager; import com.megatim.apifdxweb.core.ifaces.referentiel.NoeudManager; import javax.inject.Inject; import javax.ws.rs.Path; import com.megatim.apifdxweb.service.ifaces.referentiel.NoeudRS; import com.megatim.apifdxweb.model.administration.User; import com.megatim.apifdxweb.model.searchentities.NoeudSearch; import com.megatim.fdxcommons.model.dtos.referentiel.NoeudDto; import com.megatim.fdxcommons.model.mappers.MapStructMapper; import com.megatim.fdxcommons.model.referentiel.Noeud; import com.mgt.rs.security.core.common.AuthenticatedUser; import java.util.List; import javax.enterprise.context.Dependent; import javax.enterprise.event.Observes; import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.Response; /** * REST Web Service * * @author ABEGA */ @Path("noeud") public class NoeudRSImpl implements NoeudRS { @Dependent protected NoeudManager manager; @Inject private UserManager userManager; @AuthenticatedUser private User utilisateurConnecte; @Inject private MapStructMapper commonMapper; public NoeudRSImpl() { super(); } public void handleAuthenticationEvent(@Observes @AuthenticatedUser String username) { utilisateurConnecte = userManager.recuperUtilisateur(username); } @Override public NoeudDto mapToDto(Noeud entity) { NoeudDto dto = null; try { dto = commonMapper.noeudToNoeudDto(entity); } catch (Exception ex) { ex.printStackTrace(); } return dto; } @Override public Response getSearchColumns(HttpHeaders headers) { return Response.ok(manager.getSearchColumns(Noeud.class)).build(); } @Override public Response findWithPagination(HttpHeaders headers, Integer pageNumber, Integer pagesize, NoeudSearch searchEntity) { List datas = manager.findWithPagination(pageNumber, pagesize, searchEntity, utilisateurConnecte); return Response.ok(allToDto(datas)).build(); } @Override public Long count(HttpHeaders headers, NoeudSearch searchEntity) { return manager.count(searchEntity); } @Override public Response findById(HttpHeaders headers, String id) { Noeud noeud = manager.getById(id, utilisateurConnecte); return Response.ok(mapToDto(noeud)).build(); } @Override public Response findAll(HttpHeaders headers, NoeudSearch searchEntity) { List datas = manager.getAll(searchEntity, utilisateurConnecte); return Response.ok(allToDto(datas)).build(); } }