Merge branch 'master' of ssh://xp-dev.com/RRRRHHHH_Code
authorpinene <epinzolas001@ikasle.ehu.eus>
Tue, 19 May 2015 19:44:47 +0000 (21:44 +0200)
committerpinene <epinzolas001@ikasle.ehu.eus>
Tue, 19 May 2015 19:44:47 +0000 (21:44 +0200)
Conflicts:
ruralHouses client/src/gui/ModifyOfferGUI.java
ruralHouses/src/dataAccess/DB4oManager.java

1  2 
ruralHouses client/src/gui/ModifyOfferGUI.java
ruralHouses/src/dataAccess/DB4oManager.java
ruralHouses/src/domain/Account.java

@@@ -12,7 -12,6 +12,7 @@@ import java.awt.event.ItemListener
  import java.beans.PropertyChangeEvent;
  import java.beans.PropertyChangeListener;
  import java.rmi.Naming;
 +import java.rmi.RemoteException;
  import java.sql.Date;
  import java.text.DateFormat;
  import java.util.Calendar;
@@@ -26,12 -25,10 +26,12 @@@ import javax.swing.JLabel
  import javax.swing.JTextField;
  
  import com.toedter.calendar.JCalendar;
 -import common.OfferInterface;
  
 +import common.HouseInterface;
 +import common.OfferInterface;
  import configuration.___IntNames;
  import domain.Offer;
 +import domain.Owner;
  import domain.RuralHouse;
  import exceptions.BadDates;
  
@@@ -57,41 -54,22 +57,44 @@@ public class ModifyOfferGUI extends JFr
        private JLabel jLabel5 = new JLabel();
        private final JLabel jLabel1_o = new JLabel();
        private JComboBox<Offer> comboBox_o;
 +      private Vector<RuralHouse> Hlist = null;
 +      private OfferInterface  om = null;
 +      private HouseInterface hm = null;
 +
  
 -      public ModifyOfferGUI(Vector<RuralHouse> v) {
 +      public ModifyOfferGUI(Owner o) {
                try {
 -                      jbInit(v);
 +                      jbInit(o);
                } catch (Exception e) {
                        e.printStackTrace();
                }
        }
  
 -      private void jbInit(Vector<RuralHouse> v) throws Exception {
 +      private void jbInit(Owner o) throws Exception {
                this.getContentPane().setLayout(null);
                this.setSize(new Dimension(513, 433));
                this.setTitle("Set availability");
  
++<<<<<<< HEAD
 +
 +              try {
 +                      om = (OfferInterface) Naming
 +                                      .lookup(___IntNames.OfferManager);
 +                      hm = (HouseInterface) Naming
 +                                      .lookup(___IntNames.HouseManager);
 +              } catch (Exception e1) {
 +                      System.out.println("Error accessing remote authentication: "
 +                                      + e1.toString());
 +              }
 +              try {
 +                      Hlist = hm.getHouses(o, null, null, 0, 0, 0, 0, 0);
 +              } catch (RemoteException e1) {
 +                      e1.printStackTrace();
 +              }
++=======
++>>>>>>> 25898b619dd708c9f15a44200b545cac11404b73
                
 -              jComboBox1 = new JComboBox<RuralHouse>(v);
 +              jComboBox1 = new JComboBox<RuralHouse>(Hlist);
  
                comboBox_o = new JComboBox<Offer>(
                                ((RuralHouse) jComboBox1.getSelectedItem()).getAllOffers());
  
                        @Override
                        public void itemStateChanged(ItemEvent arg0) {
 -                              Vector<Offer> vo = ((RuralHouse) jComboBox1.getSelectedItem()).offers;
 +                              Vector<Offer> vo= null;
 +                              try {
 +                                      vo = om.getRuralHouseOffers((RuralHouse) jComboBox1.getSelectedItem());
 +                              } catch (RemoteException e) {
 +                                      // TODO Auto-generated catch block
 +                                      e.printStackTrace();
 +                              }
                                comboBox_o.removeAllItems();
 -                              if (!((RuralHouse) jComboBox1.getSelectedItem()).offers
 -                                              .isEmpty()) {
 +                              if (!vo.isEmpty()) {
                                        jCalendar1.setEnabled(true);
                                        jCalendar2.setEnabled(true);
                                        jButton1.setEnabled(true);
@@@ -135,7 -135,6 +135,6 @@@ public class DB4oManager 
                        Account alfredoAcc = new Account("userAlfredo", "passAlfredo",
                                        alfredo);
  
                        Account admin = new Account("admin", "admin", true);
                        db.store(Administrator.getInstance());
                        db.store(jonAcc);
                }
        }
  
 -      public Administrator getAdminData() {
 +      public Vector<Offer> getRHsOffer(String name){
 +              if (c.isDatabaseLocal() == false)
 +                      openSDB();
 +              else
 +                      openDB();
 +
 +              try {
 +                      RuralHouse rh = (RuralHouse)db.queryByExample(new RuralHouse(name, null, null, null, null)).get(0);
 +                      Offer proto = new Offer(0, rh, null, null, 0);
 +                      ObjectSet<Offer> result = db.queryByExample(proto);
 +                      return new Vector<Offer>(result);
 +              } finally {
 +                      db.close();
 +              }
 +      }
 +      
 +      public Administrator getAdminData(){
++
                if (c.isDatabaseLocal() == false)
                        openSDB();
                else
  
                try {
  
-                       
-                       List<Administrator> admL = db.query(new Predicate<Administrator>(){
+                       List<Administrator> admL = db.query(new Predicate<Administrator>() {
                                private static final long serialVersionUID = 1L;
  
                                public boolean match(Administrator admin) {
                                }
                        });
  
-                       
-                       
                        return admL.get(0);
-               }
-               finally {
+               } finally {
                        db.close();
  
                }
                else
                        openDB();
  
-               Vector<Booking> book = new Vector<Booking>() ;
+               Vector<Booking> book = new Vector<Booking>();
  
                try {
  
                                offer.createBooking(theDB4oManagerAux.bookingNumber++, cl);
                                db.store(theDB4oManagerAux); // To store the new value for
                                                                                                // bookingNumber
-                               
                                db.store(offer);
                                db.commit();
                                book = offer.getBookings();
-                               
                        }
  
                } catch (com.db4o.ext.ObjectNotStorableException e) {
                }
        }
  
 +      
        public Vector<RuralHouse> getAllRuralHouses() throws RemoteException,
                        Exception {
  
                try {
                        RuralHouse proto = new RuralHouse(null, null, null, null, null);
                        ObjectSet<RuralHouse> result = db.queryByExample(proto);
 -                      Vector<RuralHouse> ruralHouses = new Vector<RuralHouse>();
 -                      while (result.hasNext())
 -                              ruralHouses.add((RuralHouse) result.next());
 -                      return ruralHouses;
 +                      return new Vector<RuralHouse>(result);
                } finally {
                        db.close();
                }
  
        }
  
 -      public Vector<RuralHouse> getRuralHouses(String name, String town,
 +      public Vector<RuralHouse> getRuralHouses(Owner ow, String name, String town,
                        int nBed, int nKit, int nBath, int nPark, int nLiv) {
                HouseFeatures fea = new HouseFeatures(nBed, nKit, nBath, nLiv, nPark);
 -              RuralHouse rh = new RuralHouse(name, null, null, town, fea);
 +              RuralHouse rh = new RuralHouse(name, ow, null, town, fea);
                if (c.isDatabaseLocal() == false)
                        openSDB();
                else
                        openDB();
  
                try {
-                       // TODO realize if there is another account with same username.
-                       // Quite difficult with the f***ing salt
-                       db.store(acc);
-                       db.commit();
+                       ObjectSet<Account> result = db.queryByExample(new Account(acc
+                                       .getUsername()));
+                       if (result.isEmpty()) {
+                               db.store(acc);
+                               db.commit();
+                               return true;
+                       }
                } catch (Exception exc) {
                        exc.printStackTrace();
                } finally {
                        db.close();
                }
-               return true;
+               return false;
        }
  
        // TODO remove account
  
        public boolean removeAccount(Account acc) {
+               if (c.isDatabaseLocal() == false)
+                       openSDB();
+               else
+                       openDB();
+               try {
+                       ObjectSet<Account> result = db.queryByExample(new Account(acc
+                                       .getUsername()));
+                       if (!result.isEmpty()) {
+                               db.delete(result.get(0));
+                               ;
+                               db.commit();
+                               return true;
+                       }
+               } catch (Exception exc) {
+                       exc.printStackTrace();
+               } finally {
+                       db.close();
+               }
                return false;
        }
-       
-       //TODO this method should be improved.
-       public void acceptBooking(Offer of){
-               Offer off = new Offer(of.getOfferNumber(),of.getRuralHouse(),of.getFirstDay(),of.getLastDay(),of.getPrice());
+       // TODO this method should be improved.
+       public void acceptBooking(Offer of) {
+               Offer off = new Offer(of.getOfferNumber(), of.getRuralHouse(),
+                               of.getFirstDay(), of.getLastDay(), of.getPrice());
                if (c.isDatabaseLocal() == false)
                        openSDB();
                else
                        this.deleteOffer(result.get(0));
                        db.store(of);
                        db.close();
-                       
                } catch (Exception e) {
-                       e.printStackTrace();;
-               }               
+                       e.printStackTrace();
+                       ;
+               }
        }
-       
-       public void removeBooking(Booking b){
+       public void removeBooking(Booking b) {
                if (c.isDatabaseLocal() == false)
                        openSDB();
                else
                        openDB();
                try {
                        ObjectSet<Booking> result = db.queryByExample(b);
-                       ObjectSet<Client> result2= db.queryByExample(b.getClient());
+                       ObjectSet<Client> result2 = db.queryByExample(b.getClient());
                        db.delete(result.get(0));
                        db.delete(result2.get(0));
                        db.commit();
                } catch (Exception e) {
-                       e.printStackTrace();;
-               }finally{
+                       e.printStackTrace();
+                       ;
+               } finally {
                        db.close();
                }
  
-               
        }
  }
@@@ -22,8 -22,8 +22,8 @@@ public class Account implements Seriali
        private boolean admin = false;
  
        
-       public Account(String usr){
-               this.username = SecurityManager.getInstance().calculateHash(usr);
+       public Account(byte[] usr){
+               this.username = usr;
                this.salt =null;
                this.password = null;
                this.owner = null;
@@@ -48,6 -48,7 +48,7 @@@
  
        }
  
+       
        public byte[] getUsername() {
                return username;
        }
@@@ -64,7 -65,6 +65,7 @@@
                return admin;
        }
  
 +      
        public void setAdmin(boolean admin) {
                this.admin = admin;
        }
@@@ -87,8 -87,6 +88,6 @@@
                if (getClass() != obj.getClass())
                        return false;
                Account other = (Account) obj;
-               if (!Arrays.equals(password, other.password))
-                       return false;
                if (!Arrays.equals(username, other.username))
                        return false;
                return true;