Hola:
Estoy haciendo aplicación web en netbeans con ICEFaces e Hibernate. Tengo un bean que contiene un objeto de la clase Cliente que a su vez contiene un elemento HashSet de objetos de la clase Proyecto.
Clase Cliente:
Código:
public class Cliente implements java.io.Serializable {
private Integer idCliente;
private String nombre;
private String usuario;
private String pass;
private Set proyectos = new HashSet(0);
public Cliente() {
}
public Cliente(String nombre, String usuario, String pass) {
this.nombre = nombre;
this.usuario = usuario;
this.pass = pass;
}
public Cliente(String nombre, String usuario, String pass, Set proyectos) {
this.nombre = nombre;
this.usuario = usuario;
this.pass = pass;
this.proyectos = proyectos;
}
public Integer getIdCliente() { return this.idCliente; }
public void setIdCliente(Integer idCliente) { this.idCliente = idCliente; }
public String getNombre() { return this.nombre; }
public void setNombre(String nombre) { this.nombre = nombre; }
public String getUsuario() { return this.usuario; }
public void setUsuario(String usuario) { this.usuario = usuario; }
public String getPass() { return this.pass; }
public void setPass(String pass) { this.pass = pass; }
public Set getProyectos() { return this.proyectos; }
public void setProyectos(Set proyectos) { this.proyectos = proyectos; }
}
Clase Proyecto
Código:
public class Proyecto implements java.io.Serializable {
private Integer idProyecto;
private Dueno dueno;
private Empleado empleado;
private Cliente cliente;
private String nombre;
private String descripcion;
private String estado;
private Set empleados = new HashSet(0);
private Set tareas = new HashSet(0);
public Proyecto() {
}
public Proyecto(Dueno dueno, Empleado empleado, Cliente cliente, String nombre, String descripcion, String estado) {
this.dueno = dueno;
this.empleado = empleado;
this.cliente = cliente;
this.nombre = nombre;
this.descripcion = descripcion;
this.estado = estado;
}
public Proyecto(Dueno dueno, Empleado empleado, Cliente cliente, String nombre, String descripcion, String estado, Set empleados, Set tareas) {
this.dueno = dueno;
this.empleado = empleado;
this.cliente = cliente;
this.nombre = nombre;
this.descripcion = descripcion;
this.estado = estado;
this.empleados = empleados;
this.tareas = tareas;
}
public Integer getIdProyecto() { return this.idProyecto; }
public void setIdProyecto(Integer idProyecto) { this.idProyecto = idProyecto; }
public Dueno getDueno() { return this.dueno; }
public void setDueno(Dueno dueno) { this.dueno = dueno; }
public Empleado getEmpleado() { return this.empleado; }
public void setEmpleado(Empleado empleado) { this.empleado = empleado; }
public Cliente getCliente() { return this.cliente; }
public void setCliente(Cliente cliente) { this.cliente = cliente; }
public String getNombre() { return this.nombre; }
public void setNombre(String nombre) { this.nombre = nombre; }
public String getDescripcion() { return this.descripcion; }
public void setDescripcion(String descripcion) { this.descripcion = descripcion; }
public String getEstado() { return this.estado; }
public void setEstado(String estado) { this.estado = estado; }
public Set getEmpleados() { return this.empleados; }
public void setEmpleados(Set empleados) { this.empleados = empleados; }
public Set getTareas() { return this.tareas; }
public void setTareas(Set tareas) { this.tareas = tareas; }
}
Bean
Código:
public class Bean {
String usuario, pass;
Cliente cliente;
ArrayList<Proyecto> lista;
Session sesionH;
Transaction tx;
/** Creates a new instance of LoginBean */
public Login() {
sesionH=HibernateUtil.getSessionFactory().getCurrentSession();
tx = sesionH.beginTransaction();
}
/** Getters y Setters */
public Cliente getCliente() { return cliente; }
public void setCliente(Cliente cliente) { this.cliente = cliente; }
public String getPass() { return pass; }
public void setPass(String pass){ this.pass = pass; }
public String getUsuario() { return usuario; }
public void setUsuario(String usuario) { this.usuario = usuario; }
/** Metodo que comprueba si el nombre de usuario y la contraseña son correctas */
public String loguear(){
cliente = null;
cliente = loguinCliente( usuario, pass);
if ( cliente != null )return "CLIENTE_VALIDO";
else{
FacesContext context = FacesContext.getCurrentInstance();
context.getExternalContext().getSessionMap().remove("loginBean");
return "LOGUIN_INCORRECTO";
}
}
/** Metodo que me devuelve un cliente en caso de que su nombre de usuario y contraseña concuerde con la de la pagina de loguin */
public Cliente loguinCliente(String u, String p){
Cliente c = null;
try{
Query q = sesionH.createQuery("from Cliente as c where c.usuario='"+u+"' and c.pass='"+p+"'");
c = (Cliente) q.uniqueResult();
}catch(Exception e){
e.printStackTrace();
}
return c;
}
Una vez que hago el loguin, el hashset de la clase cliente se rellena correctamente
Lo que queria es saber como puedo hacer un ice:selectOneMenu que me muestre el campo nombre de la cada uno de los proyectos que hay en el HashSet de cla clase Cliente y me devuelva el idProyecto del mismo.
Muchas gracias.