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;
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;
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);
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();
}
-
}
}