// el visitante ya esta cargado en la base de datos (el numero esta registrado)
// Al visitor le paso como referencia this para que sepa
// que me tiene que avisar a mi cuando termine de hacer algo
// creo el visitor para trabajar en el temp
Visitor v = sql.getVisitor(originator, this);
visitors.add(v);
// y luego veo que tengo que hacer
// pueden darse dos casos que el usuario ya haya enviado el segundo nombre
// o que sea esta la segunda vez que lo envia...
// en funcion de su estado hago algo.
// si ya recibio el codigo se lo vuelvo a enviar
if(v.getStatus().equals(Visitor.READY)){
// envio el mensaje de confirmacion
// con el codigo de acceso
OutboundMessage msg = new OutboundMessage(v.getOriginator(), "Gracias. Ya puedes entrar a verme. No olvides ingresar tu codigo en la terminal. TU CODIGO DE SEGURIDAD ES: " + v.getCode());
modem.sendMessage(msg);
// lo borro de la lista temporal
visitors.remove(v);
}else{
// agrego el texto como segundo nombre
v.setName2(text);
// actualizo el visitante en la base de datos
sql.updateVisitor(v);
// sale a buscar mas imagenes
v.searchImages();
}
}else{
logger.info(">>> VISITOR DONT EXIST");
// el visitante no existe
// creo un objeto visitor en el array temporal
// inicializo un visitante en la base de datos
// con los datos del mensaje
Visitor v = new Visitor(this);
visitors.add(v); // esto lo hago para mantener la referencia de v
// agrego los datos al visitor
v.setOriginator(originator);
v.setName1(text);
sql.insertVisitor(v);
// habilito al visitor a buscar imagenes.
// cuando termine de buscar va a llamar al metodo imageSearchFinished
v.searchImages();
}