Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/11/2013, 02:47
javirizos
 
Fecha de Ingreso: agosto-2012
Mensajes: 8
Antigüedad: 12 años, 2 meses
Puntos: 0
Funcion boolean da error raro

Tengo la siguiente función la cual se supone que deberia funcionar bien, pero sin embargo me dice que la funcion boolean debe tener un return, cosa que está contemplada y tiene varios, no se cual es el fallo que estoy teniendo, ¿Podriais echarme una mano? Gracias.

Cita:
public static boolean tieneRol(String dni_usuario, int rol){

if(rol==ROL_ACCESO_PUBLICO){
//Cualquiera puede acceder
return true;
}else{
Connection con = null;
PreparedStatement stmt = null;
ResultSet resultados = null;
if(rol==ROL_ACCESO_PUBLICO){
//Cualquiera puede acceder //Es administrador por lo que tiene acceso ilimitado
LOG.debug("El usuario '" + dni_usuario + "' SI tiene el rol necesario" + rol);
return true;
}

try{
con = getConexion();
String sql = SQL_SELECT_ROLES_USUARIO;
LOG.debug("Ejecutando sentencia: '" + sql + "'");
stmt = con.prepareStatement(sql);
stmt.setString(1,dni_usuario);
LOG.debug("dni '" + dni_usuario + "'");
resultados = stmt.executeQuery();

while(resultados.next()){
int Urol = resultados.getInt(1);
LOG.debug("Urol '" + Urol + "'");
if(Urol==ROL_ADMINISTRADOR){
//Cualquiera puede acceder //Es administrador por lo que tiene acceso ilimitado
LOG.debug("El usuario '" + dni_usuario + "' SI tiene el rol necesario" + rol);
return true;
}else{
if(Urol==rol){
//Tiene el rol necesario para entrar
LOG.debug("El usuario '" + dni_usuario + "' SI tiene el rol necesario" + rol);
return true;
}else{
LOG.debug("El usuario '" + dni_usuario + "' NO tiene el rol necesario" + rol);
return false;
}
}
}
} catch ( Exception e ){
LOG.error(e);
LOG.debug("El usuario '" + dni_usuario + "' NO tiene el rol" + rol);
return false;
} finally{
try{
resultados.close();
}catch(Exception e) {}
try{
stmt.close();
} catch (Exception e){}
try{
con.close();
}catch(Exception e){}
}
}
}