import java.rmi.Remote;
import java.rmi.RemoteException;
-import domain.Account;
-
public interface AccountInterface extends Remote{
public boolean addAccount(int index) throws RemoteException;
- public boolean removeAccount(Account ac) throws RemoteException;
+ public boolean removeAccount(int index) throws RemoteException;
}
public int getNumber() throws RemoteException;
- public void removeDenyBooking(Booking b) throws RemoteException;
+ public void denyBooking(Booking b) throws RemoteException;
public void acceptBooking(Booking b) throws RemoteException;
package domain;
-public class Client {
+import java.io.Serializable;
+public class Client implements Serializable{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
private String name;
private String mailAccount;
private String telephone;
private String mailAccount = "";
private Vector<RuralHouse> ruralHouses;
-// public Owner(String name) {
-// this.name = name;
-// ruralHouses = new Vector<RuralHouse>();
-// }
public Owner(String name, String bankAccount,String mail) {
this.bankAccount = bankAccount;
private Owner owner;
private String district;
private HouseFeatures features;
- public Vector<Offer> offers;
- public boolean isAccepted;
+ private Vector<Offer> offers;
+ private boolean isAccepted;
public RuralHouse() {
super();
}
+ public boolean isAccepted() {
+ return isAccepted;
+ }
+
+ public void setAccepted(boolean isAccepted) {
+ this.isAccepted = isAccepted;
+ }
+
}
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
-import javax.swing.GroupLayout;
-import javax.swing.GroupLayout.Alignment;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
this.setTitle("Administrator Menu");
this.getContentPane().setLayout(null);
- setBounds(100, 100, 450, 473);
+ setBounds(100, 100, 450, 500);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
//TODO BOTH BUTTONS ARE TO MODIFY
JButton btnAdd = new JButton("Add requests");
+ btnAdd.setBounds(120, 67, 164, 81);
btnAdd.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Frame a = new listOfAdditionRequestsGUI();
});
JButton btnDel = new JButton("Delete Requests");
+ btnDel.setBounds(120, 159, 164, 73);
btnDel.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Frame a = new listOfRemovalRequestsGUI();
});
JButton btnOwneraddition = new JButton("OwnerAddition");
+ btnOwneraddition.setBounds(120, 243, 164, 73);
btnOwneraddition.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
Frame a = new listOfOwnerAddittionRequests();
a.setVisible(true);
}
});
- GroupLayout gl_contentPane = new GroupLayout(contentPane);
- gl_contentPane.setHorizontalGroup(
- gl_contentPane.createParallelGroup(Alignment.LEADING)
- .addGroup(gl_contentPane.createSequentialGroup()
- .addGap(115)
- .addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING, false)
- .addComponent(btnOwneraddition, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
- .addComponent(btnDel, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 164, Short.MAX_VALUE)
- .addComponent(btnAdd, Alignment.LEADING, GroupLayout.DEFAULT_SIZE, 164, Short.MAX_VALUE))
- .addContainerGap(145, Short.MAX_VALUE))
- );
- gl_contentPane.setVerticalGroup(
- gl_contentPane.createParallelGroup(Alignment.LEADING)
- .addGroup(gl_contentPane.createSequentialGroup()
- .addGap(62)
- .addComponent(btnAdd, GroupLayout.PREFERRED_SIZE, 81, GroupLayout.PREFERRED_SIZE)
- .addGap(58)
- .addComponent(btnDel, GroupLayout.PREFERRED_SIZE, 81, GroupLayout.PREFERRED_SIZE)
- .addGap(52)
- .addComponent(btnOwneraddition, GroupLayout.DEFAULT_SIZE, 79, Short.MAX_VALUE)
- .addContainerGap())
- );
- contentPane.setLayout(gl_contentPane);
+ contentPane.setLayout(null);
+ contentPane.add(btnOwneraddition);
+ contentPane.add(btnDel);
+ contentPane.add(btnAdd);
+
+ JButton btnOwnerDeletion = new JButton("Owner Deletion");
+ btnOwnerDeletion.setBounds(120, 331, 164, 73);
+ btnOwnerDeletion.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ Frame a = new DeleteOwnerGUI();
+ a.setVisible(true);
+ }
+ });
+ contentPane.add(btnOwnerDeletion);
}
}
jTextField3.setBounds(new Rectangle(180, 140, 115, 25));
jTextField3.setEditable(false);
- jTextField3.setText(Float.toString(book.getPrice()) + " �");
+ jTextField3.setText(Float.toString(book.getPrice()) + "\80");
jTextField4.setBounds(new Rectangle(180, 175, 115, 25));
jTextField4.setEditable(false);
- jTextField4.setText(Float.toString(book.getPrice()*(float)0.2) + " �");
+ jTextField4.setText(Float.toString(book.getPrice()*(float)0.2) + "\80");
this.getContentPane().add(jTextField4, null);
this.getContentPane().add(jTextField3, null);
this.getContentPane().add(jLabel5, null);
comboBox_1 = new JComboBox<Offer>();
comboBox_1.setBounds(101, 76, 314, 20);
- Vector<Offer> vo = ((RuralHouse) comboBox.getSelectedItem()).offers;
+ Vector<Offer> vo = ((RuralHouse) comboBox.getSelectedItem()).getAllOffers();
comboBox_1.removeAllItems();
for (Offer of : vo) {
comboBox_1.addItem(of);
@Override
public void itemStateChanged(ItemEvent arg0) {
- Vector<Offer> vo = ((RuralHouse) comboBox.getSelectedItem()).offers;
+ Vector<Offer> vo = ((RuralHouse) comboBox.getSelectedItem()).getAllOffers();
comboBox_1.removeAllItems();
for (Offer of : vo) {
comboBox_1.addItem(of);
--- /dev/null
+package gui;
+
+import java.awt.Font;
+import java.awt.Rectangle;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.rmi.Naming;
+import java.rmi.RemoteException;
+import java.util.Enumeration;
+import java.util.Vector;
+
+import javax.swing.JButton;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JScrollPane;
+import javax.swing.JTable;
+import javax.swing.border.EmptyBorder;
+import javax.swing.table.DefaultTableModel;
+
+import common.AccountInterface;
+import common.OwnerInterface;
+
+import configuration.___IntNames;
+import domain.Owner;
+
+public class DeleteOwnerGUI extends JFrame {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ private JPanel contentPane;
+ private JTable table;
+
+ private DefaultTableModel tableModel;
+ private OwnerInterface Own = null;
+ private Vector<Owner> owners = new Vector<Owner>();
+
+ /**
+ * Create the frame.
+ */
+ public DeleteOwnerGUI() {
+ setTitle("Current owners:");
+ try {
+ init();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ private void init() throws Exception {
+ setBounds(100, 100, 600, 500);
+ contentPane = new JPanel();
+ contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
+ setContentPane(contentPane);
+ contentPane.setLayout(null);
+ try {
+ Own = (OwnerInterface) Naming
+ .lookup(___IntNames.OwnerManager);
+ } catch (Exception e1) {
+ System.out
+ .println("Error accessing remote authentication: "
+ + e1.toString());
+ }
+ this.owners = Own.getOwners();
+ JLabel lblNewLabel = new JLabel();
+ lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 27));
+ lblNewLabel.setBounds(23, 41, 536, 33);
+ contentPane.add(lblNewLabel);
+ if (this.owners.isEmpty())
+ lblNewLabel
+ .setText("There are not owners in the system");
+ else
+ lblNewLabel.setText("List of owners:");
+ JScrollPane scrollPane = new JScrollPane();
+ scrollPane.setBounds(new Rectangle(45, 305, 320, 116));
+ scrollPane.setBounds(23, 113, 536, 271);
+ contentPane.add(scrollPane);
+ JLabel feedback = new JLabel("");
+ feedback.setBounds(134, 447, 307, 14);
+ contentPane.add(feedback);
+ JButton btnNewButton = new JButton("Delete from the system");
+ btnNewButton.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ if (table.getRowCount()!=0 && table.getSelectedRow() != -1) {
+ AccountInterface acm = null;
+
+ try {
+ acm = (AccountInterface) Naming
+ .lookup(___IntNames.AccountManager);
+ } catch (Exception e1) {
+ System.out.println("Error accessing remote authentication: "
+ + e1.toString());
+ }
+
+ try {
+ if(acm.removeAccount(table.getSelectedRow()))
+ {
+ feedback.setText("Deleted from the system");
+ }
+ } catch (RemoteException e1) {
+ e1.printStackTrace();
+ }
+
+ ((DefaultTableModel)table.getModel()).removeRow(table.getSelectedRow());
+ }
+ }
+ });
+ btnNewButton.setBounds(88, 396, 428, 40);
+ contentPane.add(btnNewButton);
+ table = new JTable() {
+ private static final long serialVersionUID = 1L;
+
+ public boolean isCellEditable(int row, int column) {
+ return false;
+ };
+ };
+
+ scrollPane.setViewportView(table);
+ tableModel = new DefaultTableModel(null, new String[] {
+ "Name", "E-mail", "Bank Account" });
+
+ table.setModel(tableModel);
+
+
+ Enumeration<Owner> rhs = this.owners.elements();
+ while (rhs.hasMoreElements()) {
+ Owner own = rhs.nextElement();
+ Vector<Object> row = new Vector<Object>();
+ row.add(own.getName());
+ row.add(own.getMailAccount());
+ row.add(own.getBankAccount());
+ tableModel.addRow(row);
+ }
+
+
+ }
+}
private JTable table;
private DefaultTableModel tableModel;
private RuralHouse rh;
+ private Vector<Offer> offers= new Vector<Offer>();
private JTextField telIn;
private int row;
private JLabel labelPhone;
Enumeration<Offer> rhs = rh.getAllOffers().elements();
while (rhs.hasMoreElements()) {
Offer of = rhs.nextElement();
- if (of.getBookings() != null) {
+ if (of.getBookings() == null
+ || !of.isBooked()) {
+ offers.add(of);
Vector<Object> row = new Vector<Object>();
row.add(of.getOfferNumber());
row.add(of.getFirstDay());
if (table.getRowCount() != 0) {
Client cl = new Client(nameField.getText(),
mailField.getText(), telIn.getText());
- book = bookingM.createBooking(rh, rh.offers.get(row)
- .getFirstDay(), rh.offers.get(row).getLastDay(),cl);
+ book = bookingM.createBooking(rh, offers.get(row)
+ .getFirstDay(), offers.get(row).getLastDay(),cl);
}
} catch (Exception e) {
e.printStackTrace();
import javax.swing.border.EmptyBorder;
import common.HouseInterface;
+
import configuration.___IntNames;
import domain.Districs;
import domain.HouseFeatures;
import javax.swing.JTextField;
import com.toedter.calendar.JCalendar;
-
import common.HouseInterface;
import common.OfferInterface;
+
import configuration.___IntNames;
import domain.Offer;
import domain.Owner;
this.setSize(new Dimension(513, 433));
this.setTitle("Set availability");
-<<<<<<< HEAD
try {
om = (OfferInterface) Naming
Hlist = hm.getHouses(o, null, null, 0, 0, 0, 0, 0);
} catch (RemoteException e1) {
e1.printStackTrace();
- }
-=======
->>>>>>> 25898b619dd708c9f15a44200b545cac11404b73
-
+ }
jComboBox1 = new JComboBox<RuralHouse>(Hlist);
comboBox_o = new JComboBox<Offer>(
@Override
public void itemStateChanged(ItemEvent arg0) {
+
Vector<Offer> vo= null;
try {
vo = om.getRuralHouseOffers((RuralHouse) jComboBox1.getSelectedItem());
* Create the frame.
*/
public OwnerRegistrationGUI() {
-
+
try {
- am = (AdminInterface) Naming
- .lookup(___IntNames.AdminManager);
+ am = (AdminInterface) Naming.lookup(___IntNames.AdminManager);
} catch (Exception e1) {
System.out.println("Error accessing remote authentication: "
+ e1.toString());
private void jButton_ActionPerformed(ActionEvent e) {
- Owner own = new Owner(this.nameField.getText(),
- this.bank1Field.getText() + " " + this.bank2Field.getText()
- + " " + this.bank3Field.getText() + " "
- + this.bank4Field.getText(), this.emailField.getText());
-
-
- try {
- if (this.am.addAccountRequest(this.userNameField.getText(),
- this.passField.getText(), own)) {
- this.am.saveInstance();
- this.feedback.setText("Request sended");
- } else {
- this.feedback.setText("Can't send the request");
+ if (!emailField
+ .getText()
+ .matches(
+ "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$")
+ || !this.nameField.getText().isEmpty()||this.bank1Field.getText().length()!=4 || this.bank2Field.getText().length()!=4
+ ||this.bank3Field.getText().length()!=2 || this.bank4Field.getText().length()!=10) {
+ Owner own = new Owner(this.nameField.getText(),
+ this.bank1Field.getText() + " " + this.bank2Field.getText()
+ + " " + this.bank3Field.getText() + " "
+ + this.bank4Field.getText(),
+ this.emailField.getText());
+
+ try {
+ if (this.am.addAccountRequest(this.userNameField.getText(),
+ this.passField.getText(), own)) {
+ this.am.saveInstance();
+ this.feedback.setText("Request sended");
+ } else {
+ this.feedback.setText("Can't send the request");
+ }
+ } catch (RemoteException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
}
- } catch (RemoteException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
+ } else {
+ this.feedback.setText("Bad formatted data");
}
}
}
((DefaultTableModel)table.getModel()).removeRow(houses.indexOf(rh));
- houses.remove(rh);
}
}
});
package gui;
+import java.awt.Color;
+import java.awt.Component;
import java.awt.Font;
import java.awt.Rectangle;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.rmi.Naming;
import java.rmi.RemoteException;
import java.util.Enumeration;
import java.util.Vector;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.border.EmptyBorder;
+import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import common.BookingInterface;
+import configuration.___IntNames;
import domain.Booking;
import domain.Offer;
private JPanel contentPane;
private JTable table;
private Offer off;
- private BookingInterface bookM =null;
+ private BookingInterface bookM = null;
private DefaultTableModel tableModel;
private Vector<Booking> bookings = new Vector<Booking>();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
contentPane.setLayout(null);
-
- this.bookings= this.off.getBookings();
+
+ this.bookings = this.off.getBookings();
JLabel lblNewLabel = new JLabel();
lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 27));
lblNewLabel.setBounds(23, 41, 536, 33);
};
};
scrollPane.setViewportView(table);
- tableModel = new DefaultTableModel(null, new String[] {
- "Booking Number", "Booking Date","Name","E-mail", "Telephone" });
+ tableModel = new DefaultTableModel(null,
+ new String[] { "Booking Number", "Booking Date", "Name",
+ "E-mail", "Telephone" });
- // Maybe there is a better way to avoid interaction.
- // table.setEnabled(false);
table.setModel(tableModel);
JButton btnNewButton = new JButton("Confirm Booking");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
+ try {
+ bookM = (BookingInterface) Naming
+ .lookup(___IntNames.BookingManager);
+ } catch (Exception e1) {
+ System.out
+ .println("Error accessing remote authentication: "
+ + e1.toString());
+ }
if (table.getRowCount() != 0 && table.getSelectedRow() != -1) {
- if (table.getRowCount() != 0 && table.getSelectedRow() != -1) {
+ if (table.getRowCount() != 0
+ && table.getSelectedRow() != -1) {
Booking book = bookings.get(table.getSelectedRow());
try {
bookM.acceptBooking(book);
} catch (RemoteException e1) {
e1.printStackTrace();
}
+ contentPane.setVisible(false);
+
}
}
JButton btnDenyAddition = new JButton("Deny Booking");
btnDenyAddition.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
+ try {
+ bookM = (BookingInterface) Naming
+ .lookup(___IntNames.BookingManager);
+ } catch (Exception e1) {
+ System.out
+ .println("Error accessing remote authentication: "
+ + e1.toString());
+ }
if (table.getRowCount() != 0 && table.getSelectedRow() != -1) {
Booking book = bookings.get(table.getSelectedRow());
try {
- bookM.removeDenyBooking(book);
+ bookM.denyBooking(book);
} catch (RemoteException e) {
e.printStackTrace();
}
+ ((DefaultTableModel) table.getModel()).removeRow(table
+ .getSelectedRow());
}
}
});
+
+ if (this.bookings.get(0).getOffer().isBooked()) {
+ btnDenyAddition.setEnabled(false);
+ btnNewButton.setEnabled(false);
+ }
+
btnDenyAddition.setBounds(390, 395, 169, 25);
contentPane.add(btnDenyAddition);
-
+
Enumeration<Booking> en = this.bookings.elements();
Booking book;
while (en.hasMoreElements()) {
row.add(book.getClient().getTelephone());
tableModel.addRow(row);
}
+ table.setDefaultRenderer(Object.class, new DefaultTableCellRenderer() {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public Component getTableCellRendererComponent(JTable table,
+ Object value, boolean isSelected, boolean hasFocus,
+ int row, int col) {
+
+ super.getTableCellRendererComponent(table, value, isSelected,
+ hasFocus, row, col);
+
+ if (!bookings.get(row).getOffer().isBooked()) {
+ setBackground(Color.RED);
+ setForeground(Color.BLACK);
+ } else {
+ setBackground(Color.GREEN);
+ setForeground(Color.BLACK);
+ }
+ return this;
+ }
+ });
}
+
}
package gui;
+import java.awt.Color;
+import java.awt.Component;
import java.awt.Font;
import java.awt.Rectangle;
import java.awt.event.MouseAdapter;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.border.EmptyBorder;
+import javax.swing.table.DefaultTableCellRenderer;
import javax.swing.table.DefaultTableModel;
import domain.Offer;
row.add(of.getPrice());
row.add(of.getRuralHouse().getHouseName());
tableModel.addRow(row);
-
}
+
+ table.setDefaultRenderer(Object.class, new DefaultTableCellRenderer() {
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+
+ @Override
+ public Component getTableCellRendererComponent(JTable table,
+ Object value, boolean isSelected, boolean hasFocus,
+ int row, int col) {
+
+ super.getTableCellRendererComponent(table, value, isSelected,
+ hasFocus, row, col);
+
+ if (!offers.get(row).isBooked()) {
+ setBackground(Color.ORANGE);
+ setForeground(Color.BLACK);
+ } else {
+ setBackground(Color.GREEN);
+ setForeground(Color.BLACK);
+ }
+
+ return this;
+ }
+ });
}
}
} catch (RemoteException e1) {
e1.printStackTrace();
}
-
+
((DefaultTableModel)table.getModel()).removeRow(table.getSelectedRow());
}
}
*/
public listOfRemovalRequestsGUI() {
try {
- am = (AdminInterface) Naming
- .lookup(___IntNames.AdminManager);
+ am = (AdminInterface) Naming.lookup(___IntNames.AdminManager);
} catch (Exception e1) {
System.out.println("Error accessing remote authentication: "
+ e1.toString());
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (table.getRowCount() != 0 && table.getSelectedRow() != -1) {
- HouseInterface hm= null;
+ HouseInterface hm = null;
try {
hm = (HouseInterface) Naming
.lookup(___IntNames.HouseManager);
} catch (Exception e1) {
- System.out.println("Error accessing remote authentication: "
- + e1.toString());
+ System.out
+ .println("Error accessing remote authentication: "
+ + e1.toString());
}
RuralHouse rh = houses.get(table.getSelectedRow());
- ((DefaultTableModel)table.getModel()).removeRow(houses.indexOf(rh));
- try {
- hm.removeHouse(rh, rh.getOwner());
- am.removeHouseDeletionRequests(rh);
- am.saveInstance();
- } catch (RemoteException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
- houses.remove(rh);
-
-
-
+
+ try {
+ hm.removeHouse(rh, rh.getOwner());
+ am.removeHouseDeletionRequests(rh);
+ am.saveInstance();
+ } catch (RemoteException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+ ((DefaultTableModel) table.getModel()).removeRow(houses
+ .indexOf(rh));
+
}
}
});
btnNewButton.setBounds(90, 396, 169, 25);
contentPane.add(btnNewButton);
-
+
JButton btnNewButton_1 = new JButton("Deny Deletion");
btnNewButton_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (table.getRowCount() != 0 && table.getSelectedRow() != -1) {
RuralHouse rh = houses.get(table.getSelectedRow());
- ((DefaultTableModel)table.getModel()).removeRow(houses.indexOf(rh));
- houses.remove(rh);
- try {
- am.removeHouseDeletionRequests(rh);
- am.saveInstance();
- } catch (RemoteException e1) {
- // TODO Auto-generated catch block
- e1.printStackTrace();
- }
-
-
-
+ ((DefaultTableModel) table.getModel()).removeRow(houses
+ .indexOf(rh));
+ houses.remove(rh);
+ try {
+ am.removeHouseDeletionRequests(rh);
+ am.saveInstance();
+ } catch (RemoteException e1) {
+ // TODO Auto-generated catch block
+ e1.printStackTrace();
+ }
+
}
}
});
<db4oFilename>db/casas.db4o</db4oFilename>
<dataBaseOpenMode>initialize</dataBaseOpenMode>
<activationDepth>10</activationDepth>
- <updateDepth>8</updateDepth>
+ <updateDepth>10</updateDepth>
<databasePort>8100</databasePort>
<user>softEng</user>
<password>i4softwEngin2matx</password>
}
- public boolean removeAccount(Account ac)throws RemoteException {
- if(this.dbMngr.removeAccount(ac))
- return true;
+ public boolean removeAccount(int index)throws RemoteException {
+ OwnerManager own = new OwnerManager();
+ try {
+ if(this.dbMngr.removeAccount(own.getOwners().get(index)))
+ return true;
+ } catch (Exception e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
return false;
}
import java.util.Date;
import java.util.Vector;
+import javax.mail.MessagingException;
+
import com.db4o.ObjectContainer;
import com.db4o.ObjectSet;
import common.BookingInterface;
return theBookingManager;
}
- public void removeDenyBooking(Booking b) throws RemoteException{
- b.getOffer().getBookings().remove(b);
+ public void denyBooking(Booking b) throws RemoteException{
this.dbMngr.removeBooking(b);
}
public void acceptBooking(Booking b) throws RemoteException{
b.getOffer().setBooked(true);
- for(Booking boo : b.getOffer().getBookings()){
- if(!boo.equals(b))
- b.getOffer().getBookings().remove(b);
- }
+ b.getOffer().getBookings().clear();
+ b.getOffer().getBookings().add(b);
this.dbMngr.acceptBooking(b.getOffer());
- /*try {
+ try {
MailManager.getInstance().Send(b.getClient().getMailAccount(), "Your booking has been accepted","Here should be the bill");
} catch (MessagingException e) {
- // TODO Auto-generated catch block
e.printStackTrace();
- }*/
+ }
}
/**
public void deleteOffer(RuralHouse rh, Offer o) throws RemoteException, Exception{
- rh.offers.removeElement(o);
+ rh.getAllOffers().removeElement(o);
dbMngr.deleteOffer( o);
}
import java.rmi.Remote;
import java.rmi.RemoteException;
-import domain.Account;
-
public interface AccountInterface extends Remote{
public boolean addAccount(int index) throws RemoteException;
- public boolean removeAccount(Account ac) throws RemoteException;
+ public boolean removeAccount(int index) throws RemoteException;
}
public int getNumber() throws RemoteException;
- public void removeDenyBooking(Booking b) throws RemoteException;
+ public void denyBooking(Booking b) throws RemoteException;
public void acceptBooking(Booking b) throws RemoteException;
configuration = Db4oEmbedded.newConfiguration();
configuration.common().activationDepth(c.getActivationDepth());
configuration.common().updateDepth(c.getUpdateDepth());
- configuration.common().objectClass(Owner.class).cascadeOnUpdate(true);
configuration.common().objectClass(Owner.class).cascadeOnDelete(true);
+ configuration.common().objectClass(Booking.class).cascadeOnDelete(true);
configuration.common().objectClass(RuralHouse.class)
- .cascadeOnUpdate(true);
+ .cascadeOnDelete(true);
+ configuration.common().objectClass(Account.class)
+ .cascadeOnDelete(true);
+ configuration.common().objectClass(Offer.class).cascadeOnDelete(true);
configuration.common().objectClass(Account.class).cascadeOnUpdate(true);
db = Db4oEmbedded.openFile(configuration, c.getDb4oFilename());
}
try {
ObjectSet<Offer> of = db.queryByExample(offer);
RuralHouse rh = of.get(0).getRuralHouse();
- System.out.println(rh.offers.remove(of.get(0)));
+ System.out.println(rh.getAllOffers().remove(of.get(0)));
db.store(rh);
db.commit();
return false;
}
- // TODO remove account
-
- public boolean removeAccount(Account acc) {
+ public boolean removeAccount(Owner own) {
if (c.isDatabaseLocal() == false)
openSDB();
else
openDB();
try {
- ObjectSet<Account> result = db.queryByExample(new Account(acc
- .getUsername()));
+ ObjectSet<Account> result = db.queryByExample(new Account(own));
if (!result.isEmpty()) {
db.delete(result.get(0));
- ;
db.commit();
return true;
}
return false;
}
- // TODO this method should be improved.
public void acceptBooking(Offer of) {
- Offer off = new Offer(of.getOfferNumber(), of.getRuralHouse(),
- of.getFirstDay(), of.getLastDay(), of.getPrice());
+ Offer off = new Offer(of.getOfferNumber(), new RuralHouse(of
+ .getRuralHouse().getHouseName(), null, null, null, null), null,
+ null, 0);
if (c.isDatabaseLocal() == false)
openSDB();
else
try {
ObjectSet<Offer> result = db.queryByExample(off);
- this.deleteOffer(result.get(0));
- db.store(of);
+ db.delete(result.get(0));
+ RuralHouse rh = result.get(0).getRuralHouse();
+ of.setRuralHouse(rh);
+ rh.getAllOffers().remove(result.get(0));
+ rh.getAllOffers().add(of);
+ db.store(rh);
db.close();
} catch (Exception e) {
openDB();
try {
ObjectSet<Booking> result = db.queryByExample(b);
- ObjectSet<Client> result2 = db.queryByExample(b.getClient());
+ result.get(0).getOffer().getBookings().remove(b);
+ db.store(result.get(0).getOffer());
db.delete(result.get(0));
- db.delete(result2.get(0));
db.commit();
} catch (Exception e) {
e.printStackTrace();
- ;
} finally {
db.close();
}
this.password = null;
this.owner = null;
+ }
+ public Account(Owner own){
+ this.username = null;
+ this.salt =null;
+ this.password = null;
+ this.owner = own;
+
}
public Account(String usr, String pass, boolean isAdmin) {
this.username = SecurityManager.getInstance().calculateHash(usr);
package domain;
-public class Client {
+import java.io.Serializable;
+public class Client implements Serializable{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
private String name;
private String mailAccount;
private String telephone;
private Owner owner;
private String district;
private HouseFeatures features;
- public Vector<Offer> offers;
+ private Vector<Offer> offers;
+ private boolean isAccepted;
+
public RuralHouse() {
super();
}
+ public boolean isAccepted() {
+ return isAccepted;
+ }
+
+ public void setAccepted(boolean isAccepted) {
+ this.isAccepted = isAccepted;
+ }
+
}