Lo + Leído
Eventos destacados
Artículos para tus primeros pasos
Si estás empezando a introducirte en el mundo de Groovy y Grails, no te pierdas nuestros artículos básicos:
- Introducción a Groovy, parte 1 (Andrés Almiray)
- Introducción a Groovy, parte 2 (Andrés Almiray)
- Introducción a Groovy, parte 3 (Andrés Almiray)
- Introducción a Grails (Material Seminario ImaginaWorks)
Los protagonistas te cuentan de qué van los proyectos más importantes del mundo Groovy:
Groovy: primeros pasos
comparaciones en if
valmanar - lunes 23/11/2009Hola a todos, tengo un servicio que recibe dos string como parametros, el usuario a buscar y su password , el caso es que encuentro el usuario perfectamente pero a la hora de comparar en un if sus propiedades no entiendo porque el if me está devolviendo false, os pongo el ejemplo:
class PruebaService {
boolean transactional = true
def validarUsuario(String vUsuario, String vPassword) {
def qUsuario = Usuario.findAllByUsername(vUsuario)
if (qUsuario){
println(qUsuario.fechaBaja)
println(qUsuario.password)
if (qUsuario.fechaBaja==null && qUsuario == vPassword){
println("estoy dentro")
return true
}else{
println("estoy en el false")
println(qUsuario.activo)
return false
}
}else{
return false
}
}
}
Como dije antes nunca me da true, los println me dan el resultado correcto, o sea null y la password correspondiente, ¿porque nunca entra en el if por donde devuelve true.
Gracias a todos y un saludo.
Re: comparaciones en if
valmanar - lunes 23/11/2009Hola, efectivamente era un gazapo al hacer copy paste y en el código lo tenía bien, de todas formas he probado con la última línea que me indicas y tampoco funciona así, no me entra por la parte del if donde devuelvo true. Los println que tengo puestos me muestran esto:
[null]
[alberto]
estoy en el false
[true]
¿Alguna idea más por favor?, gracias por la atención y un saludo.
Re: comparaciones en if
Nacho - lunes 23/11/2009Prueba a cambiar esto:
def qUsuario = Usuario.findAllByUsername(vUsuario) // (que devuelve un List)
por esto:
def qUsuario = Usuario.findByUsername(vUsuario) // (que devuelve un Usuario o null)
Re: comparaciones en if
valmanar - lunes 23/11/2009Muchas gracias funcióno perfectamente, no ví el detalle.
Saludos
Un momento...
Re: comparaciones en if
Nacho - lunes 23/11/2009Puede que sea un gazapo al publicar el post, pero sospecho que donde dice:
qUsuario.fechaBaja==null && qUsuario == vPassword
en realidad debería decir:
qUsuario.fechaBaja==null && qUsuario.password == vPassword
Por otra parte, podrías decir simplemente:
!qUsuario.fechaBaja && qUsuario.password == vPassword
Más información sobre "The Groovy Truth".