public List<Position> getPositions() {
   PositionService positionSrv = MetierFactory.getPositionService();
   List<Position> positions = null;
   try {
     positions = positionSrv.getAll();
   } catch (Exception ex) {
     BoiteAOutils.addMessage(
         "Erreur", " impossible de récupéré la liste des positions.", "errorLecteurBadge");
     Logger.getLogger(LecteurBadgeManagedBean.class.getName()).log(Level.SEVERE, null, ex);
   }
   return positions;
 }
/** @author damien */
@ManagedBean
@ApplicationScoped
public class DetecteurIntrusionManagedBean {

  private DetecteurIntrusionService detecteurIntrusionSrv =
      MetierFactory.getDetecteurIntrusionService();
  private DetecteurIntrusion detecteurIntrusion = new DetecteurIntrusion();
  private DetecteurIntrusion detecteurIntrusionSelected;

  public DetecteurIntrusionManagedBean() {}

  public void modifier() {
    try {
      this.detecteurIntrusionSrv.update(detecteurIntrusionSelected);
      BoiteAOutils.addMessage(
          "Succes", " le détecteur d'intrusion à bien été modifié.", "succesDetecteurIntrusion");
    } catch (Exception ex) {
      BoiteAOutils.addMessage(
          "Erreur", " impossible de modifier un détécteur intrusion", "errorDetecteurIntrusion");
      Logger.getLogger(DetecteurIntrusionManagedBean.class.getName()).log(Level.SEVERE, null, ex);
    }
  }

  public void addDetecteurIntrusion() {
    try {
      this.detecteurIntrusionSrv.add(detecteurIntrusion);
      this.detecteurIntrusion = null;
      BoiteAOutils.addMessage(
          "Succes", " le détecteur d'intrusion à bien été crée", "succesDetecteurIntrusion");
    } catch (Exception ex) {
      BoiteAOutils.addMessage(
          "Erreur", " impossible de ajouter un détécteur intrusion", "errorDetecteurIntrusion");
      Logger.getLogger(DetecteurIntrusionManagedBean.class.getName()).log(Level.SEVERE, null, ex);
    }
  }

  public void removeDetecteurIntrusion() {
    try {
      this.detecteurIntrusionSrv.remove(this.detecteurIntrusionSelected);
      BoiteAOutils.addMessage(
          "Succes", " le détecteur d'intrusion à bien été supprimé", "succesDetecteurIntrusion");
    } catch (Exception ex) {
      BoiteAOutils.addMessage(
          "Erreur", " impossible de supprimer le détécteur intrusion", "errorDetecteurIntrusion");
      Logger.getLogger(DetecteurIntrusionManagedBean.class.getName()).log(Level.SEVERE, null, ex);
    }
  }

  public List<DetecteurIntrusion> getDetecteurIntrusions() {
    List<DetecteurIntrusion> detecteurIntrusions = null;
    try {
      detecteurIntrusions = this.detecteurIntrusionSrv.getAll();
    } catch (Exception ex) {
      BoiteAOutils.addMessage(
          "Erreur",
          " impossible de récupéré la liste de détécteur intrusion",
          "errorDetecteurIntrusion");
      Logger.getLogger(DetecteurIntrusionManagedBean.class.getName()).log(Level.SEVERE, null, ex);
    }
    return detecteurIntrusions;
  }

  public List<Position> getPositions() {
    PositionService positionSrv = MetierFactory.getPositionService();
    List<Position> positions = null;
    try {
      positions = positionSrv.getAll();
    } catch (Exception ex) {
      BoiteAOutils.addMessage(
          "Erreur", " impossible de récupéré la liste des positions.", "errorLecteurBadge");
      Logger.getLogger(LecteurBadgeManagedBean.class.getName()).log(Level.SEVERE, null, ex);
    }
    return positions;
  }

  public DetecteurIntrusion getDetecteurIntrusionSelected() {
    return detecteurIntrusionSelected;
  }

  public void setDetecteurIntrusionSelected(DetecteurIntrusion detecteurIntrusionSelected) {
    this.detecteurIntrusionSelected = detecteurIntrusionSelected;
  }

  public DetecteurIntrusion getDetecteurIntrusion() {
    return detecteurIntrusion;
  }

  public void setDetecteurIntrusion(DetecteurIntrusion detecteurIntrusion) {
    this.detecteurIntrusion = detecteurIntrusion;
  }
}
/** @author damien */
@Path("attributionsecteurborneacces")
public class AttributionSecteurBorneAccesFacadeREST {

  private AttributionSecteurBorneAccesService attributionSecteurBorneAccesSrv =
      MetierFactory.getAttributionSecteurBorneAccesService();
  private BorneAccesService borneAccesSrv = MetierFactory.getBorneAccesService();
  private SecteurService secteurSrv = MetierFactory.getSecteurService();

  @POST
  @Consumes({"application/xml", "application/json"})
  public void create(AttributionSecteurBorneAcces entity) {
    this.attributionSecteurBorneAccesSrv.add(entity);
  }

  @PUT
  @Consumes({"application/xml", "application/json"})
  public void edit(AttributionSecteurBorneAcces entity) {
    this.attributionSecteurBorneAccesSrv.update(entity);
  }

  @PUT
  @Path("attribuer/{secteur}/{borne}")
  public void attribuer(@PathParam("secteur") Long idSecteur, @PathParam("borne") Long idBorne) {
    this.attributionSecteurBorneAccesSrv.attribuerBorneAcces(
        this.secteurSrv.getById(idSecteur), this.borneAccesSrv.getById(idBorne));
  }

  @PUT
  @Path("desattribuer/{secteur}/{borne}")
  public void desattribuer(@PathParam("secteur") Long idSecteur, @PathParam("borne") Long idBorne) {
    this.attributionSecteurBorneAccesSrv.desattribuerBorneAcces(
        this.secteurSrv.getById(idSecteur), this.borneAccesSrv.getById(idBorne));
  }

  @DELETE
  @Path("{id}")
  public void remove(@PathParam("id") Long id) {
    AttributionSecteurBorneAcces a = new AttributionSecteurBorneAcces();
    a.setId(id);
    this.attributionSecteurBorneAccesSrv.add(a);
  }

  @GET
  @Path("{idSecteur}")
  @Produces({"application/xml", "application/json"})
  public AttributionSecteurBorneAcces find(@PathParam("idSecteur") Long idSecteur) {
    return this.attributionSecteurBorneAccesSrv.getBySecteur(this.secteurSrv.getById(idSecteur));
  }

  @GET
  @Produces({"application/xml", "application/json"})
  public List<AttributionSecteurBorneAcces> findAll() {
    return this.attributionSecteurBorneAccesSrv.getAll();
  }

  //    @GET
  //    @Path("{from}/{nb}")
  //    @Produces({"application/xml", "application/json"})
  //    public List<AttributionSecteurBorneAcces> findRange(@PathParam("from") Integer from,
  // @PathParam("nb") Integer nb) {
  //        return this.attributionSecteurBorneAccesSrv.ge;
  //    }
  @GET
  @Path("count")
  @Produces("text/plain")
  public String countREST() {
    return String.valueOf(this.attributionSecteurBorneAccesSrv.count());
  }
}