public static List<IPersonajeDO> obtenerPersonClase(IPersonajeDO personaje) // throws Exception { List<IPersonajeDO> listPersonajes = new ArrayList<IPersonajeDO>(); if (personaje.getGrupoRef() == null) { return 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()); listPersonajes = grupoDO.getPersonajeList(); // listPersonajes = ((PersonajeDAO) personajeDAO).listByGrupoId( // // (personaje.getGrupoRef().getRefIdent())); connectionBean.getConnection().close(); return listPersonajes; }
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; }