//import java.util.Enumeration;
//import java.util.Vector;
import java.rmi.RemoteException;
+
+
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import java.util.ListIterator;
import java.util.Vector;
+
import com.db4o.Db4oEmbedded;
import com.db4o.ObjectContainer;
import com.db4o.ObjectSet;
try {
Owner jon = new Owner("Jon");
Owner alfredo = new Owner("Alfredo");
- jon.addRuralHouse("Ezkioko", "Ezkioko etxea", "Beatriz", 3, 3, 3, 3,
- 3);
- jon.addRuralHouse("Eskiatze", "Eskiatzeko etxea", "Guazate", 4, 4, 4,
- 4, 4);
+ jon.addRuralHouse("Ezkioko", "Ezkioko etxea", "Beatriz", 3, 3, 3,
+ 3, 3);
+ jon.addRuralHouse("Eskiatze", "Eskiatzeko etxea", "Guazate", 4, 4,
+ 4, 4, 4);
jon.setBankAccount("1349 5677 21 2133567777");
- alfredo.addRuralHouse("Aitonako", "Casa del abuelo", "Vegas", 5,
- 5, 5, 5, 5);
+ alfredo.addRuralHouse("Aitonako", "Casa del abuelo", "Vegas", 5, 5,
+ 5, 5, 5);
+
alfredo.addRuralHouse("Murgoitz", "", "Cedro", 6, 6, 6, 6, 6);
alfredo.setBankAccount("4144 0087 23 9700002133");
Account jonAcc = new Account("userJon", "passJon", jon);
Account alfredoAcc = new Account("userAlfredo", "passAlfredo",
alfredo);
+
Account admin = new Account("admin","admin", true);
db.store(Administrator.giveAdmin());
db.store(jon);
db.close();
}
}
-
-
public Offer createOffer(RuralHouse ruralHouse, Date firstDay,
Date lastDay, float price) throws RemoteException, Exception {
RuralHouse proto = new RuralHouse(ruralHouse.getHouseName(), null,
null, null, null);
- ObjectSet result = db.queryByExample(proto);
+ ObjectSet<RuralHouse> result = db.queryByExample(proto);
RuralHouse rh = (RuralHouse) result.next();
o = rh.createOffer(theDB4oManagerAux.offerNumber++, firstDay,
lastDay, price);
return o;
}
- public Offer modifyOffer(Offer offer) throws RemoteException, Exception {
- if (c.isDatabaseLocal() == false)
- openSDB();
- else
- openDB();
-
- try {
-
- db.store(offer);
- db.commit();
-
- } catch (com.db4o.ext.ObjectNotStorableException e) {
- System.out
- .println("Error: com.db4o.ext.ObjectNotStorableException in createOffer");
- } finally {
- db.close();
- }
- return offer;
- }
-
- public void deleteOffer(RuralHouse rh, Offer offer) throws RemoteException,
+
+ public void deleteOffer(Offer offer) throws RemoteException,
Exception {
if (c.isDatabaseLocal() == false)
openSDB();
openDB();
try {
-
+ ObjectSet<Offer> of = db.queryByExample(offer);
+ RuralHouse rh =of.get(0).getRuralHouse();
+ System.out.println(rh.offers.remove(of.get(0)));
db.store(rh);
- db.delete(offer);
db.commit();
} catch (com.db4o.ext.ObjectNotStorableException e) {
try {
Owner proto = new Owner(null, null);
- ObjectSet result = db.queryByExample(proto);
+ ObjectSet<Owner> result = db.queryByExample(proto);
Vector<Owner> owners = new Vector<Owner>();
while (result.hasNext())
owners.add((Owner) result.next());
db.store(rh);
db.commit();
stored = true;
+ } else {
+ db.delete(result.get(0));
+ db.store(rh);
+ db.commit();
+ stored = true;
}
} finally {
db.close();
else
openDB();
try {
- 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);
+ ObjectSet<Owner> result = db.queryByExample(owner);
+ ObjectSet<RuralHouse> rhs = db.queryByExample(rh);
+ if (!rhs.isEmpty()) {
+ Owner found = result.get(0);
+ found.getRuralHouses().remove(rhs.get(0));
+ db.store(found);
db.commit();
}
} catch (Exception exc) {
}
- public Vector<RuralHouse> getRuralHousesByTown(String town) {
- RuralHouse rh = new RuralHouse(null, null, null, town, 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();
- }
-
- }
-
- 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());
- db.close();
- if (!ruralHouses.isEmpty())
- return ruralHouses.get(0);
- else
- return null;
- } catch (NullPointerException e) {
- return null;
- }
-
- }
- public Vector<RuralHouse> getRuralHouses(String town, int nBed, int nKit,
- int nBath, int nPark, int nLiv) {
+ public Vector<RuralHouse> getRuralHouses(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(null, null, null, town, fea);
+ RuralHouse rh = new RuralHouse(name, null, null, town, fea);
if (c.isDatabaseLocal() == false)
openSDB();
else