configuration = Db4oEmbedded.newConfiguration();
configuration.common().activationDepth(c.getActivationDepth());
configuration.common().updateDepth(c.getUpdateDepth());
- configuration.common().objectClass(Owner.class).cascadeOnUpdate(true);
+ configuration.common().objectClass(Owner.class).cascadeOnDelete(true);
configuration.common().objectClass(Booking.class).cascadeOnDelete(true);
configuration.common().objectClass(RuralHouse.class)
- .cascadeOnUpdate(true);
- configuration.common().objectClass(Offer.class)
- .cascadeOnUpdate(true);
+ .cascadeOnDelete(true);
+ configuration.common().objectClass(Account.class).cascadeOnDelete(true);
+ configuration.common().objectClass(Offer.class).cascadeOnDelete(true);
configuration.common().objectClass(Account.class).cascadeOnUpdate(true);
db = Db4oEmbedded.openFile(configuration, c.getDb4oFilename());
}
}
}
+ 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 {
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,
- int nBed, int nKit, int nBath, int nPark, int nLiv) {
+ 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
return false;
}
- // TODO remove account
-
- public boolean removeAccount(Account acc) {
+ public boolean removeAccount(Owner own) {
if (c.isDatabaseLocal() == false)
openSDB();
else
openDB();
try {
- ObjectSet<Account> result = db.queryByExample(new Account(acc
- .getUsername()));
+ ObjectSet<Account> result = db.queryByExample(new Account(own));
if (!result.isEmpty()) {
db.delete(result.get(0));
- ;
db.commit();
return true;
}
else
openDB();
try {
- ObjectSet<Booking> result = db.queryByExample(b);
- result.get(0).getOffer().getBookings().remove(b);
- db.store(result.get(0).getOffer());
+ Booking book = new Booking(b.getBookNumber(), new Offer(b
+ .getOffer().getOfferNumber(), new RuralHouse(b.getOffer()
+ .getRuralHouse().getHouseName(), null, null, null, null),
+ null, null, 0), b.getClient(), b.getBookDate());
+
+ ObjectSet<Booking> result = db.queryByExample(book);
+ Offer of = result.get(0).getOffer();
+ of.getBookings().remove(result.get(0));
+ db.store(of);
db.commit();
} catch (Exception e) {
e.printStackTrace();
- ;
} finally {
db.close();
}