Exemplo n.º 1
0
  public static int abandonarGrupo(IPersonajeDO personaje) throws Exception {

    List<IPersonajeDO> listPersonajes;

    ConnectionBean connectionBean = ConnectionFactory.getConnectionBean();

    IPersonajeDAO personajeDAO =
        (IPersonajeDAO)
            GlobalDAOFactory.getDAO( //
                IPersonajeDAO.class, connectionBean);
    IGrupoDAO grupoDAO =
        (IGrupoDAO)
            GlobalDAOFactory.getDAO( //
                IGrupoDAO.class, connectionBean);
    //		IGrupoDO grupoDO = (IGrupoDO)grupoDAO.loadById( //
    //				personaje.getGrupoRef().getRefIdent());

    IGrupoDO grupoDO =
        (IGrupoDO) //
            grupoDAO.loadById(personaje.getGrupoRef().getRefIdent());

    listPersonajes = obtenerPersonClase(personaje);

    listPersonajes.remove(personaje);
    grupoDO.setPersonajeList(listPersonajes);

    personaje.setGrupoRef(null);

    //		Reference<IGrupoDO> grupoRef = new Reference<IGrupoDO>();
    //		grupoRef.setRefIdent(0);
    //		personaje.setGrupoRef(grupoRef);
    personajeDAO.update(personaje);

    connectionBean.getConnection().close();

    if (listPersonajes.size() == 0) {

      grupoDAO.delete(grupoDO);
      return 0;
    }
    if (listPersonajes.size() == 1) {

      grupoDO.setEstado(false);
      grupoDAO.update(grupoDO);
      return 1;
    }
    return 2;
  }