private static ObjectContainer db;
private static EmbeddedConfiguration configuration;
private static ClientConfiguration configurationCS;
- private int bookingNumber = 0; // if it is "static" then it is not
+ private int bookingNumber = 1; // if it is "static" then it is not
// serialized
- private int offerNumber = 0; // if it is "static" then it is not serialized
+ private int offerNumber = 1; // if it is "static" then it is not serialized
private static DB4oManager theDB4oManager = null;
private static DB4oManagerAux theDB4oManagerAux;
static ConfigXML c;
private DB4oManager() throws Exception {
- theDB4oManagerAux = new DB4oManagerAux(0, 0);
+ theDB4oManagerAux = new DB4oManagerAux(1, 1);
c = ConfigXML.getInstance();
System.out.println("Creating DB4oManager instance => isDatabaseLocal: "
+ c.isDatabaseLocal() + " getDatabBaseOpenMode: "
.cascadeOnDelete(true);
configuration.common().objectClass(Account.class).cascadeOnDelete(true);
configuration.common().objectClass(Offer.class).cascadeOnDelete(true);
+ configuration.common().objectClass(Owner.class).cascadeOnUpdate(true);
+ configuration.common().objectClass(Booking.class).cascadeOnUpdate(true);
+ configuration.common().objectClass(RuralHouse.class)
+ .cascadeOnUpdate(true);
+ configuration.common().objectClass(Account.class).cascadeOnUpdate(true);
+ configuration.common().objectClass(Offer.class).cascadeOnUpdate(true);
configuration.common().objectClass(Account.class).cascadeOnUpdate(true);
db = Db4oEmbedded.openFile(configuration, c.getDb4oFilename());
}
configurationCS.common().activationDepth(c.getActivationDepth());
configurationCS.common().updateDepth(c.getUpdateDepth());
configurationCS.common().objectClass(Owner.class).cascadeOnDelete(true);
+ configurationCS.common().objectClass(Booking.class)
+ .cascadeOnDelete(true);
+ configurationCS.common().objectClass(RuralHouse.class)
+ .cascadeOnDelete(true);
+ configurationCS.common().objectClass(Account.class)
+ .cascadeOnDelete(true);
+ configurationCS.common().objectClass(Offer.class).cascadeOnDelete(true);
+ configurationCS.common().objectClass(Owner.class).cascadeOnUpdate(true);
+ configurationCS.common().objectClass(Booking.class)
+ .cascadeOnUpdate(true);
+ configurationCS.common().objectClass(RuralHouse.class)
+ .cascadeOnUpdate(true);
+ configurationCS.common().objectClass(Account.class)
+ .cascadeOnUpdate(true);
+ configurationCS.common().objectClass(Offer.class).cascadeOnUpdate(true);
+ configurationCS.common().objectClass(Account.class)
+ .cascadeOnUpdate(true);
db = Db4oClientServer.openClient(configurationCS, c.getDatabaseNode(),
c.getDatabasePort(), c.getUser(), c.getPassword());
openSDB();
RuralHouse proto = new RuralHouse(ruralHouse.getHouseName(), null,
- ruralHouse.getDescription(), ruralHouse.getDistrict(), null);
+ null, null, null);
ObjectSet<RuralHouse> result = db.queryByExample(proto);
RuralHouse rh = (RuralHouse) result.next();
Offer offer;
- offer = rh.findOffer(firstDate, lastDate);
+ offer = (Offer) db.queryByExample(
+ new Offer(0, rh, firstDate, lastDate, 0)).get(0);
if (offer != null) {
offer.createBooking(theDB4oManagerAux.bookingNumber++, cl);
}
}
- public Vector<RuralHouse> getAllRuralHouses() throws RemoteException,
- Exception {
-
- if (c.isDatabaseLocal() == false)
- openSDB();
- else
- openDB();
-
- try {
- RuralHouse proto = new RuralHouse(null, null, null, null, null);
- ObjectSet<RuralHouse> result = db.queryByExample(proto);
- return new Vector<RuralHouse>(result);
- } finally {
- db.close();
- }
- }
-
public boolean existsOverlappingOffer(RuralHouse rh, Date firstDay,
Date lastDay) throws RemoteException, OverlappingOfferExists {
}
}
- public static ObjectContainer getContainer() {
- return db;
- }
-
public void close() {
db.close();
System.out.println("DataBase closed");
null);
try {
ObjectSet<RuralHouse> result = db.queryByExample(house);
+ Owner own = new Owner(rh.getOwner().getName(),rh.getOwner().getBankAccount(),rh.getOwner().getMailAccount());
+ Owner ow = (Owner) db.queryByExample(own).get(0);
+ rh.setOwner(ow);
if (result.isEmpty()) {
- Owner ow = (Owner) db.queryByExample(rh.getOwner()).get(0);
- rh.setOwner(ow);
ow.addRuralHouse(rh);
db.store(rh);
db.commit();
stored = true;
} else {
+ ow.getRuralHouses().remove(result.get(0));
+ result.get(0).setOwner(null);
+ ow.addRuralHouse(rh);
+ db.store(result.get(0));
db.delete(result.get(0));
db.store(rh);
db.commit();
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, ow, null, town, fea);
+ RuralHouse rh;
+ if (ow != null) {
+ Owner own = new Owner(ow.getName(), ow.getBankAccount(),
+ ow.getMailAccount());
+ rh = new RuralHouse(name, own, null, town, fea);
+ }else{
+ rh = new RuralHouse(name, ow, null, town, fea);
+ }
if (c.isDatabaseLocal() == false)
openSDB();
else
.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);
+ Booking delete = (Booking) db.queryByExample(book).get(0);
+ delete.setOffer(null);
+ db.store(delete);
+ db.delete(delete);
db.commit();
} catch (Exception e) {
e.printStackTrace();
}
}
+
+ public Vector<Booking> getOfBok(Offer o) {
+ if (c.isDatabaseLocal() == false)
+ openSDB();
+ else
+ openDB();
+
+ try {
+ Offer of = (Offer) db.queryByExample(
+ new Offer(0, new RuralHouse(o
+ .getRuralHouse().getHouseName(), null, null, null,
+ null), o.getFirstDay(), o.getLastDay(), 0)).get(0);
+ Booking proto = new Booking(0, of, null, null);
+ ObjectSet<Booking> result = db.queryByExample(proto);
+ return new Vector<Booking>(result);
+ } finally {
+ db.close();
+ }
+ }
}