package casarural; import java.rmi.*; import java.sql.Date; import java.util.GregorianCalendar; import java.util.ListIterator; import java.util.StringTokenizer; import java.util.Vector; /** * @author kdreamer */ public class BuscarOfertasBean { /** * @uml.property name="logNeg" * @uml.associationEnd */ InterfazFachada logNeg; /** * @uml.property name="diaIni" */ private String diaIni; /** * @uml.property name="diaFin" */ private String diaFin; /** * @uml.property name="precio" */ private String precio; /** * @uml.property name="diasMin" */ private String diasMin; /** * @uml.property name="minDormitorios" */ private String minDormitorios; /** * @uml.property name="minWC" */ private String minWC; /** * @uml.property name="orden" */ private String orden; private Date diaIniDate; private Date diaFinDate; private float precioFloat; private int diasMinInt; private int minDormitoriosInt; private int minWCInt; private boolean ordenBoolean; public BuscarOfertasBean() { final String IPMAQUINA = "localhost"; try { // Nombre servicio remoto String servicio = "/CasaRural"; System.setSecurityManager(new RMISecurityManager()); // Numero puerto servidor RMI int numPuerto = InterfazFachada.numPuerto; // IP maquina servidor RMI String maquina = IPMAQUINA; logNeg = (InterfazFachada) Naming.lookup("rmi://" + maquina + ":" + numPuerto + servicio); } catch (Exception e) { System.out.println(e.toString()); } } /** * Devuelve el dia de inicio del periodo en el cual buscar ofertas * @param Ninguno * @return El dia de inicio * @uml.property name="diaIni" */ public String getDiaIni() { return diaIni; } /** * Asigna el dia de inicio del periodo en el cual buscar ofertas * @param El dia de inicio * @return Ninguno * @uml.property name="diaIni" */ public void setDiaIni(String diaIni) { this.diaIni = diaIni; StringTokenizer st = new StringTokenizer(diaIni, "/"); int dia = Integer.parseInt(st.nextToken()); int mes = Integer.parseInt(st.nextToken()) - 1; int anio = Integer.parseInt(st.nextToken()); GregorianCalendar gc = new GregorianCalendar(anio, mes, dia); diaIniDate = new Date(gc.getTime().getTime()); } /** * Devuelve el dia de inicio en formato Date * * @param Ninguno * @return El dia de inicio */ public Date getDiaIniAsDate() { return (this.diaIniDate); } /** * Devuelve el dia de fin del periodo en el cual buscar ofertas * @param Ninguno * @return El dia de fin * @uml.property name="diaFin" */ public String getDiaFin() { return diaFin; } /** * Asigna el dia de fin del periodo en el cual buscar ofertas * @param El dia de fin * @return Ninguno * @uml.property name="diaFin" */ public void setDiaFin(String diaFin) { this.diaFin = diaFin; StringTokenizer st = new StringTokenizer(diaFin, "/"); int dia = Integer.parseInt(st.nextToken()); int mes = Integer.parseInt(st.nextToken()) - 1; int anio = Integer.parseInt(st.nextToken()); GregorianCalendar gc = new GregorianCalendar(anio, mes, dia); diaFinDate = new Date(gc.getTime().getTime()); } /** * Devuelve el dia de fin en formato Date * * @param Ninguno * @return El dia de inicio */ public Date getDiaFinAsDate() { return (this.diaFinDate); } /** * Devuelve el precio maximo de las ofertas a buscar * @param Ninguno * @return El precio * @uml.property name="precio" */ public String getPrecio() { return precio; } /** * Asigna el precio maximo de las ofertas a buscar * @param El precio * @return Ninguno * @uml.property name="precio" */ public void setPrecio(String precio) { this.precio = precio; try { this.precioFloat = Float.parseFloat(precio); } catch (Exception e) { this.precioFloat = 0; } } /** * Devuelve el precio maximo de las ofertas a buscar en formato Float * * @param Ninguno * @return El precio */ public float getPrecioAsFloat() { return precioFloat; } /** * Devuelve el numero minimo de dias que tienen que tener las ofertas a buscar * @param Ninguno * @return El numero de dias minimo * @uml.property name="diasMin" */ public String getDiasMin() { return diasMin; } /** * Asigna el numero minimo de dias que tienen que tener las ofertas a buscar * @param El numero de dias minimo * @return Ninguno * @uml.property name="diasMin" */ public void setDiasMin(String diasMin) { this.diasMin = diasMin; try { this.diasMinInt = Integer.parseInt(diasMin); } catch (Exception e) { this.diasMinInt = 0; } } /** * Devuelve el numero minimo de dias que tienen que tener las ofertas a * buscar en formato int * * @param Ninguno * @return El numero de dias minimo */ public int getDiasMinAsInt() { return diasMinInt; } /** * Devuelve el numero minimo de dormitorios que tienen que tener las casas rurales de las ofertas a buscar * @param Ninguno * @return El numero de dormitorios minimo * @uml.property name="minDormitorios" */ public String getMinDormitorios() { return minDormitorios; } /** * Asigna el numero minimo de dormitorios que tienen que tener las casas rurales de las ofertas a buscar * @param El numero de dormitorios minimo * @return Ninguno * @uml.property name="minDormitorios" */ public void setMinDormitorios(String minDormitorios) { this.minDormitorios = minDormitorios; try { this.minDormitoriosInt = Integer.parseInt(minDormitorios); } catch (Exception e) { this.minDormitoriosInt = 0; } } /** * Devuelve el numero minimo de dormitorios que tienen que tener las casas * rurales de las ofertas a buscar en formato int * * @param Ninguno * @return El numero de dormitorios minimo */ public int getMinDormitoriosAsInt() { return minDormitoriosInt; } /** * Devuelve el numero minimo de baños que tienen que tener las casas rurales de las ofertas a buscar * @param Ninguno * @return El numero de baños minimo * @uml.property name="minWC" */ public String getMinWC() { return minWC; } /** * Asigna el numero minimo de baños que tienen que tener las casas rurales de las ofertas a buscar * @param El numero de baños minimo * @return Ninguno * @uml.property name="minWC" */ public void setMinWC(String minWC) { this.minWC = minWC; try { this.minWCInt = Integer.parseInt(minWC); } catch (Exception e) { this.minWCInt = 0; } } /** * Devuelve el numero minimo de baños que tienen que tener las casas rurales * de las ofertas a buscar en formato int * * @param Ninguno * @return El numero de baños minimo */ public int getMinWCAsInt() { return minWCInt; } /** * Devuelve el criterio de ordenacion de las ofertas a buscar: - 1 --> Precio - 2 --> Numero de dias * @param Ninguno * @return El criterio de ordenacion * @uml.property name="orden" */ public String getOrden() { return orden; } /** * Asigna el criterio de ordenacion de las ofertas a buscar: - 1/True --> Precio - 2/False --> Numero de dias * @param El criterio de ordenacion * @return Ninguno * @uml.property name="orden" */ public void setOrden(String orden) { this.orden = orden; switch (Integer.parseInt(orden)) { case 1: this.ordenBoolean = true; break; case 2: this.ordenBoolean = false; break; default: this.ordenBoolean = true; break; } } /** * Devuelve el criterio de ordenacion de las ofertas a buscar: - True --> * Precio - False --> Numero de dias * * @param Ninguno * @return El criterio de ordenacion */ public boolean getOrdenAsBoolean() { return ordenBoolean; } /** * Devuelve las ofertas encontradas segun los criterios seleccionados * * @param Ninguno * @return Las ofertas */ public Vector getOfertas() { Vector res = new Vector(); try { res = logNeg.buscarOfertas(diaIniDate, diaFinDate, precioFloat, diasMinInt, minDormitoriosInt, minWCInt, ordenBoolean); return res; } catch (Exception e) { System.out.println("Error: " + e.toString()); e.printStackTrace(); } return res; } }