package casarural; import java.sql.*; import java.rmi.*; import java.util.StringTokenizer; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.Vector; /** * @author kdreamer */ public class MejorOfertaBean { /** * @uml.property name="logNeg" * @uml.associationEnd */ InterfazFachada logNeg; /** * @uml.property name="numCasa" */ private int numCasa; /** * @uml.property name="diaIni" */ private String diaIni; private Date diaIniDate; /** * @uml.property name="diaFin" */ private String diaFin; private Date diaFinDate; /** * @uml.property name="habitaciones" */ private int habitaciones; /** * @uml.property name="banos" */ private int banos; /** * @uml.property name="criterio" */ private String criterio; public MejorOfertaBean() { final String IPMAQUINA = "localhost"; // final String DIRECTORIOCLASES= "/ISOServidor/"; // // System.setProperty ("java.rmi.server.codebase", // "http://"+IPMAQUINA+DIRECTORIOCLASES); // Aqui realizamos las operaciones necesarias para trabajar // mediante RMI 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()); } } /** * Asigna el codigo de la casa al de la instancia actual * @param El codigo de la casa * @return Ninguno * @uml.property name="numCasa" */ public void setNumCasa(int numCasa) { this.numCasa = numCasa; } /** * Devuelve el codigo de la casa * @param Ninguno * @return El codigo de la casa * @uml.property name="numCasa" */ public int getNumCasa() { return numCasa; } /** * Asigna el dia de inicio de la reserva al de la instancia actual * @param El dia de inicio de la reserva * @return Ninguno * @uml.property name="diaIni" */ public void setDiaIni(String i) { diaIni = i; StringTokenizer st = new StringTokenizer(i, "/"); 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 de la reserva * @param Ninguno * @return El dia de inicio de la reserva * @uml.property name="diaIni" */ public String getDiaIni() { return diaIni; } /** * Asigna el dia final de la reserva al de la instancia actual * @param El dia de fin de la reserva * @return Ninguno * @uml.property name="diaFin" */ public void setDiaFin(String i) { diaFin = i; StringTokenizer st = new StringTokenizer(i, "/"); 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 de la reserva * @param Ninguno * @return El dia de fin de la reserva * @uml.property name="diaFin" */ public String getDiaFin() { return diaFin; } /** * 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 salida en formato Date * * @param Ninguno * @return El dia de salida */ public Date getDiaFinAsDate() { return (this.diaFinDate); } /** * Asigna el numero de habitaciones a la instancia actual * @param numero de habitaciones * @return Ninguno * @uml.property name="habitaciones" */ public void setHabitaciones(int numHabs) { this.habitaciones = numHabs; } /** * Devuelve el numero de habitaciones * @param Ninguno * @return El numero de habitaciones * @uml.property name="habitaciones" */ public int getHabitaciones() { return habitaciones; } /** * Asigna el numero de baños a la instancia actual * @param numero de baños * @return Ninguno * @uml.property name="banos" */ public void setBanos(int numBanos) { this.banos = numBanos; } /** * Devuelve el numero de baños * @param Ninguno * @return El numero de baños * @uml.property name="banos" */ public int getBanos() { return banos; } /** * Asigna el criterio * @param Criterio * @return * @uml.property name="criterio" */ public void setCriterio(String criterio) { this.criterio = criterio; } /** * Devuelve el criterio * @param Ninguno * @return El criterio * @uml.property name="criterio" */ public String getCriterio() { return this.criterio; } public Vector getResultado() { try { Oferta of = logNeg.obtenerMejorOferta(diaIniDate, diaFinDate, habitaciones, banos, criterio); Vector v = new Vector(); v.add(new Integer(of.getNumCasa())); v.add(new Float(of.getPrecio())); v.add(new Integer(of.getTamano())); this.setNumCasa(of.getNumCasa()); return v; } catch (Exception ex) { return null; } } }