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: "
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(Booking.class)
+ .cascadeOnDelete(true);
configurationCS.common().objectClass(RuralHouse.class)
.cascadeOnDelete(true);
- configurationCS.common().objectClass(Account.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(Booking.class)
+ .cascadeOnUpdate(true);
configurationCS.common().objectClass(RuralHouse.class)
.cascadeOnUpdate(true);
- configurationCS.common().objectClass(Account.class).cascadeOnUpdate(true);
+ configurationCS.common().objectClass(Account.class)
+ .cascadeOnUpdate(true);
configurationCS.common().objectClass(Offer.class).cascadeOnUpdate(true);
- configurationCS.common().objectClass(Account.class).cascadeOnUpdate(true);
+ configurationCS.common().objectClass(Account.class)
+ .cascadeOnUpdate(true);
db = Db4oClientServer.openClient(configurationCS, c.getDatabaseNode(),
c.getDatabasePort(), c.getUser(), c.getPassword());
RuralHouse rh = (RuralHouse) result.next();
Offer offer;
- offer = (Offer)db.queryByExample(new Offer(0, rh, firstDate, lastDate, 0)).get(0);
+ offer = (Offer) db.queryByExample(
+ new Offer(0, rh, firstDate, lastDate, 0)).get(0);
if (offer != null) {
offer.createBooking(theDB4oManagerAux.bookingNumber++, cl);
}
}
-
-
public boolean existsOverlappingOffer(RuralHouse rh, Date firstDay,
Date lastDay) throws RemoteException, OverlappingOfferExists {
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());
- book.setOffer(null);
- db.delete(book);
+ Booking delete = (Booking) db.queryByExample(book).get(0);
+ delete.setOffer(null);
+ db.store(delete);
+ db.delete(delete);
db.commit();
} catch (Exception e) {
e.printStackTrace();
openSDB();
else
openDB();
-
+
try {
Offer of = (Offer) db.queryByExample(
- new Offer(0, o.getRuralHouse(), null, null, 0)).get(0);
+ 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);