public void create() {
   Collection<Objetivoestrategicoindicador> objEstIndList =
       selected.getObjetivoestrategicoindicadorCollection();
   selected.setObjetivoestrategicoindicadorCollection(null);
   ejbFacade.create(selected);
   for (Objetivoestrategicoindicador objEstInd : objEstIndList) {
     objEstInd.getIndicador().setIdIndicador(new Integer(3));
     objEstInd.getIndicador().setObjetivoestrategicoindicadorCollection(null);
     Collection<Semaforo> semList = objEstInd.getIndicador().getSemaforoCollection();
     objEstInd.getIndicador().setSemaforoCollection(null);
     Collection<Componenteformla> componentes =
         objEstInd.getIndicador().getComponenteformlaCollection();
     objEstInd.getIndicador().setComponenteformlaCollection(null);
     ejbFacadeIndicador.create(objEstInd.getIndicador());
     objEstInd.getIndicador().setComponenteformlaCollection(componentes);
     ejbFacadeIndicador.edit(objEstInd.getIndicador());
     objEstInd.setObjetivoestrategicoindicadorPK(
         new ObjetivoestrategicoindicadorPK(
             selected.getIdObjetivoEstrategico(), objEstInd.getIndicador().getIdIndicador()));
     for (Semaforo sem : semList) {
       sem.setIdIndicador(objEstInd.getIndicador());
       ejbFacadeSemaforo.edit(sem);
     }
     objEstInd.getIndicador().setSemaforoCollection(semList);
     objEstInd.setObjetivoestrategico(selected);
     ejbFacadeObjEstInd.edit(objEstInd);
   }
   selected.setObjetivoestrategicoindicadorCollection(objEstIndList);
   ejbFacade.edit(selected);
 }
 public void agregarIndicadorEdicion() {
   List semaforos = new ArrayList<Semaforo>();
   semaforos.add(getVerde());
   semaforos.add(getNaranja());
   semaforos.add(getRojo());
   nuevoObjetivoestrategicoindicador.getIndicador().setSemaforoCollection(semaforos);
   nuevoObjetivoestrategicoindicador.getIndicador().setSemaforoCollection(null);
   Collection<Componenteformla> componentes =
       nuevoObjetivoestrategicoindicador.getIndicador().getComponenteformlaCollection();
   nuevoObjetivoestrategicoindicador.getIndicador().setComponenteformlaCollection(null);
   ejbFacadeIndicador.create(nuevoObjetivoestrategicoindicador.getIndicador());
   nuevoObjetivoestrategicoindicador.getIndicador().setComponenteformlaCollection(componentes);
   for (Componenteformla c : componentes) {
     c.setIdcomponenteformla(0);
     c.setIdindicador(nuevoObjetivoestrategicoindicador.getIndicador());
     ejbFacadeComp.create(c);
   }
   ejbFacadeIndicador.edit(nuevoObjetivoestrategicoindicador.getIndicador());
   nuevoObjetivoestrategicoindicador.getIndicador().setSemaforoCollection(semaforos);
   nuevoObjetivoestrategicoindicador.setObjetivoestrategicoindicadorPK(
       new ObjetivoestrategicoindicadorPK(
           selected.getIdObjetivoEstrategico(),
           nuevoObjetivoestrategicoindicador.getIndicador().getIdIndicador()));
   for (int i = 0; i < semaforos.size(); i++) {
     Semaforo s = (Semaforo) semaforos.get(i);
     s.setIdIndicador(nuevoObjetivoestrategicoindicador.getIndicador());
     System.out.println("Gusrdo semanforo");
     ejbFacadeSemaforo.create(s);
   }
   this.ejbFacadeObjEstInd.create(nuevoObjetivoestrategicoindicador);
   this.selected
       .getObjetivoestrategicoindicadorCollection()
       .add(nuevoObjetivoestrategicoindicador);
   nuevoObjetivoestrategicoindicador = new Objetivoestrategicoindicador();
   nuevoObjetivoestrategicoindicador.setObjetivoestrategico(selected);
   nuevoObjetivoestrategicoindicador.setIndicador(new Indicador());
   nuevoObjetivoestrategicoindicador.getIndicador().setIdPersonaResponsable(new Persona());
   nuevoObjetivoestrategicoindicador.getIndicador().setIdIndicador(0);
   setRojo(new Semaforo());
   getRojo().setColor('r');
   getRojo().setIdSemaforo(0);
   setNaranja(new Semaforo());
   getNaranja().setColor('n');
   getNaranja().setIdSemaforo(0);
   setVerde(new Semaforo());
   getVerde().setColor('v');
   getVerde().setIdSemaforo(0);
   ejbFacade.edit(selected);
 }
 @Override
 public String getAsString(FacesContext facesContext, UIComponent component, Object object) {
   if (object == null) {
     return null;
   }
   if (object instanceof Objetivoestrategico) {
     Objetivoestrategico o = (Objetivoestrategico) object;
     return getStringKey(o.getIdObjetivoEstrategico());
   } else {
     Logger.getLogger(this.getClass().getName())
         .log(
             Level.SEVERE,
             "object {0} is of type {1}; expected type: {2}",
             new Object[] {
               object, object.getClass().getName(), Objetivoestrategico.class.getName()
             });
     return null;
   }
 }