|
@@ -81,10 +81,13 @@ |
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 |
86 |
|
configuration.common().objectClass(RuralHouse.class) |
87 |
|
- |
.cascadeOnUpdate(true); |
|
87 |
+ |
.cascadeOnDelete(true); |
|
88 |
+ |
configuration.common().objectClass(Account.class) |
|
89 |
+ |
.cascadeOnDelete(true); |
|
90 |
+ |
configuration.common().objectClass(Offer.class).cascadeOnDelete(true); |
88 |
91 |
|
configuration.common().objectClass(Account.class).cascadeOnUpdate(true); |
89 |
92 |
|
db = Db4oEmbedded.openFile(configuration, c.getDb4oFilename()); |
90 |
93 |
|
} |
|
@@ -207,7 +210,7 @@ |
207 |
210 |
|
try { |
208 |
211 |
|
ObjectSet<Offer> of = db.queryByExample(offer); |
209 |
212 |
|
RuralHouse rh = of.get(0).getRuralHouse(); |
210 |
|
- |
System.out.println(rh.offers.remove(of.get(0))); |
|
213 |
+ |
System.out.println(rh.getAllOffers().remove(of.get(0))); |
211 |
214 |
|
db.store(rh); |
212 |
215 |
|
db.commit(); |
213 |
216 |
|
|
|
@@ -552,20 +555,16 @@ |
552 |
555 |
|
return false; |
553 |
556 |
|
} |
554 |
557 |
|
|
555 |
|
- |
// TODO remove account |
556 |
|
- |
|
557 |
|
- |
public boolean removeAccount(Account acc) { |
|
558 |
+ |
public boolean removeAccount(Owner own) { |
558 |
559 |
|
if (c.isDatabaseLocal() == false) |
559 |
560 |
|
openSDB(); |
560 |
561 |
|
else |
561 |
562 |
|
openDB(); |
562 |
563 |
|
|
563 |
564 |
|
try { |
564 |
|
- |
ObjectSet<Account> result = db.queryByExample(new Account(acc |
565 |
|
- |
.getUsername())); |
|
565 |
+ |
ObjectSet<Account> result = db.queryByExample(new Account(own)); |
566 |
566 |
|
if (!result.isEmpty()) { |
567 |
567 |
|
db.delete(result.get(0)); |
568 |
|
- |
; |
569 |
568 |
|
db.commit(); |
570 |
569 |
|
return true; |
571 |
570 |
|
} |
|
@@ -577,10 +576,10 @@ |
577 |
576 |
|
return false; |
578 |
577 |
|
} |
579 |
578 |
|
|
580 |
|
- |
// TODO this method should be improved. |
581 |
579 |
|
public void acceptBooking(Offer of) { |
582 |
|
- |
Offer off = new Offer(of.getOfferNumber(), of.getRuralHouse(), |
583 |
|
- |
of.getFirstDay(), of.getLastDay(), of.getPrice()); |
|
580 |
+ |
Offer off = new Offer(of.getOfferNumber(), new RuralHouse(of |
|
581 |
+ |
.getRuralHouse().getHouseName(), null, null, null, null), null, |
|
582 |
+ |
null, 0); |
584 |
583 |
|
if (c.isDatabaseLocal() == false) |
585 |
584 |
|
openSDB(); |
586 |
585 |
|
else |
|
@@ -588,8 +587,12 @@ |
588 |
587 |
|
|
589 |
588 |
|
try { |
590 |
589 |
|
ObjectSet<Offer> result = db.queryByExample(off); |
591 |
|
- |
this.deleteOffer(result.get(0)); |
592 |
|
- |
db.store(of); |
|
590 |
+ |
db.delete(result.get(0)); |
|
591 |
+ |
RuralHouse rh = result.get(0).getRuralHouse(); |
|
592 |
+ |
of.setRuralHouse(rh); |
|
593 |
+ |
rh.getAllOffers().remove(result.get(0)); |
|
594 |
+ |
rh.getAllOffers().add(of); |
|
595 |
+ |
db.store(rh); |
593 |
596 |
|
db.close(); |
594 |
597 |
|
|
595 |
598 |
|
} catch (Exception e) { |
|
@@ -605,13 +608,12 @@ |
605 |
608 |
|
openDB(); |
606 |
609 |
|
try { |
607 |
610 |
|
ObjectSet<Booking> result = db.queryByExample(b); |
608 |
|
- |
ObjectSet<Client> result2 = db.queryByExample(b.getClient()); |
|
611 |
+ |
result.get(0).getOffer().getBookings().remove(b); |
|
612 |
+ |
db.store(result.get(0).getOffer()); |
609 |
613 |
|
db.delete(result.get(0)); |
610 |
|
- |
db.delete(result2.get(0)); |
611 |
614 |
|
db.commit(); |
612 |
615 |
|
} catch (Exception e) { |
613 |
616 |
|
e.printStackTrace(); |
614 |
|
- |
; |
615 |
617 |
|
} finally { |
616 |
618 |
|
db.close(); |
617 |
619 |
|
} |