|
@@ -81,11 +81,19 @@ |
81 |
81 |
|
configuration = Db4oEmbedded.newConfiguration(); |
82 |
82 |
|
configuration.common().activationDepth(c.getActivationDepth()); |
83 |
83 |
|
configuration.common().updateDepth(c.getUpdateDepth()); |
84 |
|
- |
configuration.common().objectClass(Owner.class).cascadeOnUpdate(true); |
85 |
84 |
|
configuration.common().objectClass(Owner.class).cascadeOnDelete(true); |
|
85 |
+ |
configuration.common().objectClass(Booking.class).cascadeOnDelete(true); |
|
86 |
+ |
configuration.common().objectClass(RuralHouse.class) |
|
87 |
+ |
.cascadeOnDelete(true); |
|
88 |
+ |
configuration.common().objectClass(Account.class).cascadeOnDelete(true); |
|
89 |
+ |
configuration.common().objectClass(Offer.class).cascadeOnDelete(true); |
|
90 |
+ |
configuration.common().objectClass(Owner.class).cascadeOnUpdate(true); |
|
91 |
+ |
configuration.common().objectClass(Booking.class).cascadeOnUpdate(true); |
86 |
92 |
|
configuration.common().objectClass(RuralHouse.class) |
87 |
93 |
|
.cascadeOnUpdate(true); |
88 |
94 |
|
configuration.common().objectClass(Account.class).cascadeOnUpdate(true); |
|
95 |
+ |
configuration.common().objectClass(Offer.class).cascadeOnUpdate(true); |
|
96 |
+ |
configuration.common().objectClass(Account.class).cascadeOnUpdate(true); |
89 |
97 |
|
db = Db4oEmbedded.openFile(configuration, c.getDb4oFilename()); |
90 |
98 |
|
} |
91 |
99 |
|
|
|
@@ -207,7 +215,7 @@ |
207 |
215 |
|
try { |
208 |
216 |
|
ObjectSet<Offer> of = db.queryByExample(offer); |
209 |
217 |
|
RuralHouse rh = of.get(0).getRuralHouse(); |
210 |
|
- |
System.out.println(rh.offers.remove(of.get(0))); |
|
218 |
+ |
System.out.println(rh.getAllOffers().remove(of.get(0))); |
211 |
219 |
|
db.store(rh); |
212 |
220 |
|
db.commit(); |
213 |
221 |
|
|
|
@@ -219,14 +227,15 @@ |
219 |
227 |
|
} |
220 |
228 |
|
} |
221 |
229 |
|
|
222 |
|
- |
public Vector<Offer> getRHsOffer(String name){ |
|
230 |
+ |
public Vector<Offer> getRHsOffer(String name) { |
223 |
231 |
|
if (c.isDatabaseLocal() == false) |
224 |
232 |
|
openSDB(); |
225 |
233 |
|
else |
226 |
234 |
|
openDB(); |
227 |
235 |
|
|
228 |
236 |
|
try { |
229 |
|
- |
RuralHouse rh = (RuralHouse)db.queryByExample(new RuralHouse(name, null, null, null, null)).get(0); |
|
237 |
+ |
RuralHouse rh = (RuralHouse) db.queryByExample( |
|
238 |
+ |
new RuralHouse(name, null, null, null, null)).get(0); |
230 |
239 |
|
Offer proto = new Offer(0, rh, null, null, 0); |
231 |
240 |
|
ObjectSet<Offer> result = db.queryByExample(proto); |
232 |
241 |
|
return new Vector<Offer>(result); |
|
@@ -234,8 +243,8 @@ |
234 |
243 |
|
db.close(); |
235 |
244 |
|
} |
236 |
245 |
|
} |
237 |
|
- |
|
238 |
|
- |
public Administrator getAdminData(){ |
|
246 |
+ |
|
|
247 |
+ |
public Administrator getAdminData() { |
239 |
248 |
|
|
240 |
249 |
|
if (c.isDatabaseLocal() == false) |
241 |
250 |
|
openSDB(); |
|
@@ -371,6 +380,8 @@ |
371 |
380 |
|
} |
372 |
381 |
|
} |
373 |
382 |
|
|
|
383 |
+ |
|
|
384 |
+ |
|
374 |
385 |
|
public boolean existsOverlappingOffer(RuralHouse rh, Date firstDay, |
375 |
386 |
|
Date lastDay) throws RemoteException, OverlappingOfferExists { |
376 |
387 |
|
|
|
@@ -486,8 +497,8 @@ |
486 |
497 |
|
|
487 |
498 |
|
} |
488 |
499 |
|
|
489 |
|
- |
public Vector<RuralHouse> getRuralHouses(Owner ow, String name, String town, |
490 |
|
- |
int nBed, int nKit, int nBath, int nPark, int nLiv) { |
|
500 |
+ |
public Vector<RuralHouse> getRuralHouses(Owner ow, String name, |
|
501 |
+ |
String town, int nBed, int nKit, int nBath, int nPark, int nLiv) { |
491 |
502 |
|
HouseFeatures fea = new HouseFeatures(nBed, nKit, nBath, nLiv, nPark); |
492 |
503 |
|
RuralHouse rh = new RuralHouse(name, ow, null, town, fea); |
493 |
504 |
|
if (c.isDatabaseLocal() == false) |
|
@@ -530,20 +541,16 @@ |
530 |
541 |
|
return false; |
531 |
542 |
|
} |
532 |
543 |
|
|
533 |
|
- |
// TODO remove account |
534 |
|
- |
|
535 |
|
- |
public boolean removeAccount(Account acc) { |
|
544 |
+ |
public boolean removeAccount(Owner own) { |
536 |
545 |
|
if (c.isDatabaseLocal() == false) |
537 |
546 |
|
openSDB(); |
538 |
547 |
|
else |
539 |
548 |
|
openDB(); |
540 |
549 |
|
|
541 |
550 |
|
try { |
542 |
|
- |
ObjectSet<Account> result = db.queryByExample(new Account(acc |
543 |
|
- |
.getUsername())); |
|
551 |
+ |
ObjectSet<Account> result = db.queryByExample(new Account(null,null,own)); |
544 |
552 |
|
if (!result.isEmpty()) { |
545 |
553 |
|
db.delete(result.get(0)); |
546 |
|
- |
; |
547 |
554 |
|
db.commit(); |
548 |
555 |
|
return true; |
549 |
556 |
|
} |
|
@@ -555,10 +562,10 @@ |
555 |
562 |
|
return false; |
556 |
563 |
|
} |
557 |
564 |
|
|
558 |
|
- |
// TODO this method should be improved. |
559 |
565 |
|
public void acceptBooking(Offer of) { |
560 |
|
- |
Offer off = new Offer(of.getOfferNumber(), of.getRuralHouse(), |
561 |
|
- |
of.getFirstDay(), of.getLastDay(), of.getPrice()); |
|
566 |
+ |
Offer off = new Offer(of.getOfferNumber(), new RuralHouse(of |
|
567 |
+ |
.getRuralHouse().getHouseName(), null, null, null, null), null, |
|
568 |
+ |
null, 0); |
562 |
569 |
|
if (c.isDatabaseLocal() == false) |
563 |
570 |
|
openSDB(); |
564 |
571 |
|
else |
|
@@ -566,8 +573,12 @@ |
566 |
573 |
|
|
567 |
574 |
|
try { |
568 |
575 |
|
ObjectSet<Offer> result = db.queryByExample(off); |
569 |
|
- |
this.deleteOffer(result.get(0)); |
570 |
|
- |
db.store(of); |
|
576 |
+ |
db.delete(result.get(0)); |
|
577 |
+ |
RuralHouse rh = result.get(0).getRuralHouse(); |
|
578 |
+ |
of.setRuralHouse(rh); |
|
579 |
+ |
rh.getAllOffers().remove(result.get(0)); |
|
580 |
+ |
rh.getAllOffers().add(of); |
|
581 |
+ |
db.store(rh); |
571 |
582 |
|
db.close(); |
572 |
583 |
|
|
573 |
584 |
|
} catch (Exception e) { |
|
@@ -582,14 +593,15 @@ |
582 |
593 |
|
else |
583 |
594 |
|
openDB(); |
584 |
595 |
|
try { |
585 |
|
- |
ObjectSet<Booking> result = db.queryByExample(b); |
586 |
|
- |
ObjectSet<Client> result2 = db.queryByExample(b.getClient()); |
587 |
|
- |
db.delete(result.get(0)); |
588 |
|
- |
db.delete(result2.get(0)); |
|
596 |
+ |
Booking book = new Booking(b.getBookNumber(), new Offer(b |
|
597 |
+ |
.getOffer().getOfferNumber(), new RuralHouse(b.getOffer() |
|
598 |
+ |
.getRuralHouse().getHouseName(), null, null, null, null), |
|
599 |
+ |
null, null, 0), b.getClient(), b.getBookDate()); |
|
600 |
+ |
book.setOffer(null); |
|
601 |
+ |
db.delete(book); |
589 |
602 |
|
db.commit(); |
590 |
603 |
|
} catch (Exception e) { |
591 |
604 |
|
e.printStackTrace(); |
592 |
|
- |
; |
593 |
605 |
|
} finally { |
594 |
606 |
|
db.close(); |
595 |
607 |
|
} |