Git Repository Public Repository

RRRRHHHH_Code

URLs

Copy to Clipboard

Diff Revisions e90cb4 ... vs c92b61 ... for ruralHouses/src/dataAccess/DB4oManager.java

Diff revisions: vs.
  @@ -81,13 +81,10 @@
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);
84 85 configuration.common().objectClass(Owner.class).cascadeOnDelete(true);
85 - configuration.common().objectClass(Booking.class).cascadeOnDelete(true);
86 86 configuration.common().objectClass(RuralHouse.class)
87 - .cascadeOnDelete(true);
88 - configuration.common().objectClass(Account.class)
89 - .cascadeOnDelete(true);
90 - configuration.common().objectClass(Offer.class).cascadeOnDelete(true);
87 + .cascadeOnUpdate(true);
91 88 configuration.common().objectClass(Account.class).cascadeOnUpdate(true);
92 89 db = Db4oEmbedded.openFile(configuration, c.getDb4oFilename());
93 90 }
  @@ -210,7 +207,7 @@
210 207 try {
211 208 ObjectSet<Offer> of = db.queryByExample(offer);
212 209 RuralHouse rh = of.get(0).getRuralHouse();
213 - System.out.println(rh.getAllOffers().remove(of.get(0)));
210 + System.out.println(rh.offers.remove(of.get(0)));
214 211 db.store(rh);
215 212 db.commit();
216 213
  @@ -222,7 +219,24 @@
222 219 }
223 220 }
224 221
225 - public Administrator getAdminData() {
222 + public Vector<Offer> getRHsOffer(String name){
223 + if (c.isDatabaseLocal() == false)
224 + openSDB();
225 + else
226 + openDB();
227 +
228 + try {
229 + RuralHouse rh = (RuralHouse)db.queryByExample(new RuralHouse(name, null, null, null, null)).get(0);
230 + Offer proto = new Offer(0, rh, null, null, 0);
231 + ObjectSet<Offer> result = db.queryByExample(proto);
232 + return new Vector<Offer>(result);
233 + } finally {
234 + db.close();
235 + }
236 + }
237 +
238 + public Administrator getAdminData(){
239 +
226 240 if (c.isDatabaseLocal() == false)
227 241 openSDB();
228 242 else
  @@ -357,6 +371,7 @@
357 371 }
358 372 }
359 373
374 +
360 375 public Vector<RuralHouse> getAllRuralHouses() throws RemoteException,
361 376 Exception {
362 377
  @@ -368,10 +383,7 @@
368 383 try {
369 384 RuralHouse proto = new RuralHouse(null, null, null, null, null);
370 385 ObjectSet<RuralHouse> result = db.queryByExample(proto);
371 - Vector<RuralHouse> ruralHouses = new Vector<RuralHouse>();
372 - while (result.hasNext())
373 - ruralHouses.add((RuralHouse) result.next());
374 - return ruralHouses;
386 + return new Vector<RuralHouse>(result);
375 387 } finally {
376 388 db.close();
377 389 }
  @@ -496,10 +508,10 @@
496 508
497 509 }
498 510
499 - public Vector<RuralHouse> getRuralHouses(String name, String town,
511 + public Vector<RuralHouse> getRuralHouses(Owner ow, String name, String town,
500 512 int nBed, int nKit, int nBath, int nPark, int nLiv) {
501 513 HouseFeatures fea = new HouseFeatures(nBed, nKit, nBath, nLiv, nPark);
502 - RuralHouse rh = new RuralHouse(name, null, null, town, fea);
514 + RuralHouse rh = new RuralHouse(name, ow, null, town, fea);
503 515 if (c.isDatabaseLocal() == false)
504 516 openSDB();
505 517 else
  @@ -540,16 +552,20 @@
540 552 return false;
541 553 }
542 554
543 - public boolean removeAccount(Owner own) {
555 + // TODO remove account
556 +
557 + public boolean removeAccount(Account acc) {
544 558 if (c.isDatabaseLocal() == false)
545 559 openSDB();
546 560 else
547 561 openDB();
548 562
549 563 try {
550 - ObjectSet<Account> result = db.queryByExample(new Account(own));
564 + ObjectSet<Account> result = db.queryByExample(new Account(acc
565 + .getUsername()));
551 566 if (!result.isEmpty()) {
552 567 db.delete(result.get(0));
568 + ;
553 569 db.commit();
554 570 return true;
555 571 }
  @@ -561,10 +577,10 @@
561 577 return false;
562 578 }
563 579
580 + // TODO this method should be improved.
564 581 public void acceptBooking(Offer of) {
565 - Offer off = new Offer(of.getOfferNumber(), new RuralHouse(of
566 - .getRuralHouse().getHouseName(), null, null, null, null), null,
567 - null, 0);
582 + Offer off = new Offer(of.getOfferNumber(), of.getRuralHouse(),
583 + of.getFirstDay(), of.getLastDay(), of.getPrice());
568 584 if (c.isDatabaseLocal() == false)
569 585 openSDB();
570 586 else
  @@ -572,12 +588,8 @@
572 588
573 589 try {
574 590 ObjectSet<Offer> result = db.queryByExample(off);
575 - db.delete(result.get(0));
576 - RuralHouse rh = result.get(0).getRuralHouse();
577 - of.setRuralHouse(rh);
578 - rh.getAllOffers().remove(result.get(0));
579 - rh.getAllOffers().add(of);
580 - db.store(rh);
591 + this.deleteOffer(result.get(0));
592 + db.store(of);
581 593 db.close();
582 594
583 595 } catch (Exception e) {
  @@ -593,12 +605,13 @@
593 605 openDB();
594 606 try {
595 607 ObjectSet<Booking> result = db.queryByExample(b);
596 - result.get(0).getOffer().getBookings().remove(b);
597 - db.store(result.get(0).getOffer());
608 + ObjectSet<Client> result2 = db.queryByExample(b.getClient());
598 609 db.delete(result.get(0));
610 + db.delete(result2.get(0));
599 611 db.commit();
600 612 } catch (Exception e) {
601 613 e.printStackTrace();
614 + ;
602 615 } finally {
603 616 db.close();
604 617 }