new File(c.getDb4oFilename()).delete();
if (c.isDatabaseLocal()) {
- configuration = Db4oEmbedded.newConfiguration();
- configuration.common().activationDepth(c.getActivationDepth());
- configuration.common().updateDepth(c.getUpdateDepth());
- db = Db4oEmbedded.openFile(configuration, c.getDb4oFilename());
+ openDB();
System.out.println("DataBase opened");
} else // c.isDatabaseLocal==false
{
- openObjectContainer();
+ openSDB();
+ System.out.println("Remote DataBase opened");
}
if (c.getDataBaseOpenMode().equals("initialize")) {
initializeDB();
configuration = Db4oEmbedded.newConfiguration();
configuration.common().activationDepth(c.getActivationDepth());
configuration.common().updateDepth(c.getUpdateDepth());
+ configuration.common().objectClass(Owner.class).cascadeOnDelete(true);
db = Db4oEmbedded.openFile(configuration, c.getDb4oFilename());
}
- private void openObjectContainer() {
+ private void openSDB() {
configurationCS = Db4oClientServer.newClientConfiguration();
configurationCS.common().activationDepth(c.getActivationDepth());
try {
Owner jon = new Owner("Jon");
Owner alfredo = new Owner("Alfredo");
- jon.addRuralHouse(1, "Ezkioko etxea", "Ezkio", 3, 3, 3, 3, 3);
- jon.addRuralHouse(2, "Eskiatzeko etxea", "Jaca", 4, 4, 4, 4, 4);
+ jon.addRuralHouse("Ezkio", "Ezkioko etxea", "Ezkio", 3, 3, 3, 3, 3);
+ jon.addRuralHouse("Eskia", "Eskiatzeko etxea", "Jaca", 4, 4, 4, 4, 4);
jon.setBankAccount("1349 5677 21 2133567777");
- alfredo.addRuralHouse(3, "Casa del abuelo", "Pitillas", 5, 5, 5, 5,
+ alfredo.addRuralHouse("Aitonako", "Casa del abuelo", "Pitillas", 5, 5, 5, 5,
5);
- alfredo.addRuralHouse(4, "", "Murgia", 6, 6, 6, 6, 6);
+ alfredo.addRuralHouse("Murgoitz", "", "Murgia", 6, 6, 6, 6, 6);
alfredo.setBankAccount("4144 0087 23 9700002133");
Account jonAcc = new Account("userJon", "passJon", jon);
Account alfredoAcc = new Account("userAlfredo", "passAlfredo",
db.store(alfredoAcc);
db.commit();
} finally {
- // db.close();
+ db.close();
}
}
+ public void deleteDB() {
+
+ if (c.isDatabaseLocal() == false)
+ openSDB();
+ else
+ openDB();
+
+ try {
+ Owner proto = new Owner(null, null);
+ ObjectSet result = db.queryByExample(proto);
+ Vector<Owner> owners = new Vector<Owner>();
+ while (result.hasNext()) {
+ Owner o = (Owner) result.next();
+ System.out.println("Deleted owner: " + o.toString());
+ db.delete(o);
+ }
+ db.commit();
+ } finally {
+ db.close();
+ }
+ }
+
+
@SuppressWarnings("finally")
public Offer createOffer(RuralHouse ruralHouse, Date firstDay,
Date lastDay, float price) throws RemoteException, Exception {
Offer o = null;
- try {
- if (c.isDatabaseLocal() == false)
- openObjectContainer();
+ if (c.isDatabaseLocal() == false)
+ openSDB();
+ else
+ openDB();
+
+ try {
- RuralHouse proto = new RuralHouse(ruralHouse.getHouseNumber(),
+ RuralHouse proto = new RuralHouse(ruralHouse.getHouseName(),
null, null, null, null);
ObjectSet result = db.queryByExample(proto);
RuralHouse rh = (RuralHouse) result.next();
System.out
.println("Error: com.db4o.ext.ObjectNotStorableException in createOffer");
} finally {
- return o;
+ db.close();
}
+ return o;
}
- public void deleteDB() {
+ @SuppressWarnings("finally")
+ public Offer modifyOffer(Offer offer) throws RemoteException, Exception {
+ if (c.isDatabaseLocal() == false)
+ openSDB();
+ else
+ openDB();
try {
- Owner proto = new Owner(null, null);
- ObjectSet result = db.queryByExample(proto);
- Vector<Owner> owners = new Vector<Owner>();
- while (result.hasNext()) {
- Owner o = (Owner) result.next();
- System.out.println("Deleted owner: " + o.toString());
- db.delete(o);
- }
+
+
+ db.store(offer);
db.commit();
+
+ } catch (com.db4o.ext.ObjectNotStorableException e) {
+ System.out
+ .println("Error: com.db4o.ext.ObjectNotStorableException in createOffer");
} finally {
- // db.close();
+ db.close();
}
+ return offer;
}
+
+ @SuppressWarnings("finally")
+ public void deleteOffer(RuralHouse rh, Offer offer) throws RemoteException, Exception {
+ if (c.isDatabaseLocal() == false)
+ openSDB();
+ else
+ openDB();
+
+ try {
+
+ db.store(rh);
+ db.delete(offer);
+ db.commit();
+
+ } catch (com.db4o.ext.ObjectNotStorableException e) {
+ System.out
+ .println("Error: com.db4o.ext.ObjectNotStorableException in createOffer");
+ } finally {
+ db.close();
+ }
+ }
+
/**
* This method creates a book with a corresponding parameters
Date lastDate, String bookTelephoneNumber)
throws OfferCanNotBeBooked {
+ if (c.isDatabaseLocal() == false)
+ openSDB();
+ else
+ openDB();
+
+ Booking bok = null;
+
try {
if (c.isDatabaseLocal() == false)
- openObjectContainer();
+ openSDB();
- RuralHouse proto = new RuralHouse(ruralHouse.getHouseNumber(),
+ RuralHouse proto = new RuralHouse(ruralHouse.getHouseName(),
null, ruralHouse.getDescription(), ruralHouse.getTown(),
null);
ObjectSet result = db.queryByExample(proto);
// bookingNumber
db.store(offer);
db.commit();
- return offer.getBooking();
+ bok = offer.getBooking();
}
- return null;
} catch (com.db4o.ext.ObjectNotStorableException e) {
System.out
.println("Error: com.db4o.ext.ObjectNotStorableException in createBooking");
- return null;
} catch (Exception exc) {
exc.printStackTrace();
- return null;
+ } finally {
+ db.close();
}
+ return bok;
}
/**
public Vector<Owner> getOwners() throws RemoteException, Exception {
if (c.isDatabaseLocal() == false)
- openObjectContainer();
+ openSDB();
+ else
+ openDB();
try {
Owner proto = new Owner(null, null);
owners.add((Owner) result.next());
return owners;
} finally {
- // db.close();
+ db.close();
}
}
public Vector<RuralHouse> getAllRuralHouses() throws RemoteException,
Exception {
+
if (c.isDatabaseLocal() == false)
- openObjectContainer();
+ openSDB();
+ else
+ openDB();
try {
- RuralHouse proto = new RuralHouse(0, null, null, null, null);
+ RuralHouse proto = new RuralHouse(null, null, null, null, null);
ObjectSet result = db.queryByExample(proto);
Vector<RuralHouse> ruralHouses = new Vector<RuralHouse>();
while (result.hasNext())
ruralHouses.add((RuralHouse) result.next());
return ruralHouses;
} finally {
- // db.close();
+ db.close();
}
}
public boolean existsOverlappingOffer(RuralHouse rh, Date firstDay,
Date lastDay) throws RemoteException, OverlappingOfferExists {
+
+ if (c.isDatabaseLocal() == false)
+ openSDB();
+ else
+ openDB();
+
try {
- if (c.isDatabaseLocal() == false)
- openObjectContainer();
RuralHouse rhn = (RuralHouse) db
.queryByExample(
- new RuralHouse(rh.getHouseNumber(), null, null,
+ new RuralHouse(rh.getHouseName(), null, null,
null, null)).next();
if (rhn.overlapsWith(firstDay, lastDay) != null)
throw new OverlappingOfferExists();
else
return false;
} finally {
- // db.close();
+ db.close();
}
}
*/
public Vector<Account> getAccount(String usr, String pwd)
throws RemoteException, Exception {
+
if (c.isDatabaseLocal() == false)
- openObjectContainer();
+ openSDB();
+ else
+ openDB();
+
try {
Account proto = new Account(usr, pwd, new Owner(null, null));
ObjectSet<Account> result = db.queryByExample(proto);
accounts.add((Account) result.next());
return accounts;
} finally {
- // db.close();
+ db.close();
}
}
* @param rh
*/
public boolean storeRuralHouses(RuralHouse rh) {
-// DB4oManager.openDB();
+
if (c.isDatabaseLocal() == false)
- openObjectContainer();
+ openSDB();
+ else
+ openDB();
+
boolean stored = false;
- RuralHouse house = new RuralHouse(rh.getHouseNumber(), null, null,
+ RuralHouse house = new RuralHouse(rh.getHouseName(), null, null,
null, null);
try {
ObjectSet<Owner> result = db.queryByExample(house);
stored = true;
}
} finally {
-// db.close();
+ db.close();
}
return stored;
}
- public void removeHouse(int houseNumber) {
-// DB4oManager.openDB();
+
+ public void removeHouse(RuralHouse rh, Owner owner) {
+
if (c.isDatabaseLocal() == false)
- openObjectContainer();
- RuralHouse house = new RuralHouse(houseNumber, null, null, null, null);
+ openSDB();
+ else
+ openDB();
try {
- ObjectSet<RuralHouse> result = db.queryByExample(house);
+ ObjectSet<RuralHouse> result = db.queryByExample(rh);
if (!result.isEmpty()) {
RuralHouse found = (RuralHouse) result.get(0);
+// db.delete(found.getOwner());
+ db.store(owner);
db.delete(found);
db.commit();
}
} catch (Exception exc) {
exc.printStackTrace();
} finally {
-// db.close();
+ db.close();
}
}
public Vector<RuralHouse> getRuralHousesByTown(String town){
- RuralHouse rh = new RuralHouse(0,null,null,town,null);
+ RuralHouse rh = new RuralHouse(null,null,null,town,null);
+
if (c.isDatabaseLocal() == false)
- openObjectContainer();
+ openSDB();
+ else
+ openDB();
+
+ try {
+ ObjectSet<RuralHouse> result = db.queryByExample(rh);
+ Vector<RuralHouse> ruralHouses = new Vector<RuralHouse>();
+ while (result.hasNext())
+ ruralHouses.add(result.next());
+ return ruralHouses;
+ } finally {
+ db.close();
+ }
+
+ }
+ public RuralHouse getRuralHouseByName(String name){
+ RuralHouse rh = new RuralHouse(name,null,null,null,null);
+
+ if (c.isDatabaseLocal() == false)
+ openSDB();
+ else
+ openDB();
+
try{
ObjectSet<RuralHouse> result = db.queryByExample(rh);
Vector<RuralHouse> ruralHouses = new Vector<RuralHouse>();
while(result.hasNext())
ruralHouses.add(result.next());
- return ruralHouses;
- }finally{
- //db.close();
+ db.close();
+ return ruralHouses.get(0);
+ } catch (NullPointerException e){
+ return null;
}
+
+
}
}