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(RuralHouse.class).cascadeOnUpdate(true);
configuration.common().objectClass(Account.class).cascadeOnUpdate(true);
db = Db4oEmbedded.openFile(configuration, c.getDb4oFilename());
alfredo.addRuralHouse("Murgoitz", "", "Cedro", 6, 6, 6, 6, 6);
alfredo.setBankAccount("4144 0087 23 9700002133");
- Account jonAcc = new Account("userJon", "passJon", jon);
+ Account jonAcc = new Account("1", "1", jon);
Account alfredoAcc = new Account("userAlfredo", "passAlfredo",
alfredo);
Account admin = new Account("admin","admin", true);
db.store(Administrator.giveAdmin());
- db.store(jon);
- db.store(alfredo);
db.store(jonAcc);
db.store(alfredoAcc);
db.store(admin);
ObjectSet<RuralHouse> result = db.queryByExample(house);
if (result.isEmpty()) {
Owner ow = (Owner) db.queryByExample(rh.getOwner()).get(0);
- ObjectSet<RuralHouse> orh = db.queryByExample(new RuralHouse(null, ow, null, null, null));
+ rh.setOwner(ow);
ow.addRuralHouse(rh);
- for (RuralHouse aa: orh){
- aa.setOwner(ow);
- }
- db.store(ow);
+ db.store(rh);
db.commit();
stored = true;
} else {
--- /dev/null
+package gui;
+
+import java.awt.Font;
+import java.awt.Rectangle;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+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 businessLogic.AdminManager;
+import businessLogic.HouseManager;
+import businessLogic.HouseManagerInterface;
+import domain.Administrator;
+import domain.RuralHouse;
+
+public class listOfBookingRequestsGUI extends JFrame {
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = 1L;
+ private JPanel contentPane;
+ private JTable table;
+ private DefaultTableModel tableModel;
+ private AdminManager am = new AdminManager();
+ private Vector<RuralHouse> houses;
+ /**
+ * Create the frame.
+ */
+ public listOfBookingRequestsGUI() {
+ setTitle("Adding requests");
+ try {
+ this.houses= am.getAdditionRequests();
+ init();
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+ }
+
+ private void init() throws Exception {
+ setBounds(100, 100, 600, 450);
+ contentPane = new JPanel();
+ contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
+ setContentPane(contentPane);
+ contentPane.setLayout(null);
+
+ JLabel lblNewLabel = new JLabel();
+ lblNewLabel.setFont(new Font("Tahoma", Font.PLAIN, 27));
+ lblNewLabel.setBounds(23, 41, 536, 33);
+ contentPane.add(lblNewLabel);
+ if (houses.isEmpty())
+ lblNewLabel.setText("There are not houses to be added");
+ else
+ lblNewLabel.setText("List of houses to be added:");
+ JScrollPane scrollPane = new JScrollPane();
+ scrollPane.setBounds(new Rectangle(45, 305, 320, 116));
+ scrollPane.setBounds(23, 113, 536, 271);
+ contentPane.add(scrollPane);
+
+ 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[] {
+ "House Name", "Bedrooms", "Kitchens", "Baths", "Parkings",
+ "Livings" });
+
+ //Maybe there is a better way to avoid interaction.
+ //table.setEnabled(false);
+ table.setModel(tableModel);
+
+ JButton btnNewButton = new JButton("Confirm Addition");
+ btnNewButton.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ if (table.getRowCount()!=0 && table.getSelectedRow() != -1) {
+ HouseManagerInterface hm = new HouseManager();
+ RuralHouse rh = houses.get(table.getSelectedRow());
+ //TODO when the house is not added show a warning to the user. Method below returns a boolean stating that.
+ hm.registerNewHouse(rh);
+ am.removeHouseAdditionRequests(rh);
+ Administrator.saveInstance();
+ ((DefaultTableModel)table.getModel()).removeRow(houses.indexOf(rh));
+ houses.remove(rh);
+ }
+ }
+ });
+ btnNewButton.setBounds(88, 396, 169, 25);
+ contentPane.add(btnNewButton);
+
+ JButton btnDenyAddition = new JButton("Deny Addition");
+ btnDenyAddition.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent arg0) {
+ if (table.getRowCount()!=0 && table.getSelectedRow() != -1) {
+ RuralHouse rh = houses.get(table.getSelectedRow());
+ am.removeHouseAdditionRequests(rh);
+ Administrator.saveInstance();
+ ((DefaultTableModel)table.getModel()).removeRow(houses.indexOf(rh));
+ houses.remove(rh);
+ }
+ }
+ });
+ btnDenyAddition.setBounds(300, 396, 169, 25);
+ contentPane.add(btnDenyAddition);
+ Enumeration<RuralHouse> en = houses.elements();
+ RuralHouse rh;
+
+ while (en.hasMoreElements()) {
+ rh = en.nextElement();
+ Vector<Object> row = new Vector<Object>();
+ row.add(rh.getHouseName());
+ row.add(rh.getFeatures().getnRooms());
+ row.add(rh.getFeatures().getnKitchens());
+ row.add(rh.getFeatures().getnBaths());
+ row.add(rh.getFeatures().getnParkings());
+ row.add(rh.getFeatures().getnLivings());
+ tableModel.addRow(row);
+ }
+
+ }
+}
JButton btnNewButton = new JButton("Confirm Deletion");
btnNewButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
- if (table.getRowCount() != 0) {
+ if (table.getRowCount() != 0 && table.getSelectedRow() != -1) {
HouseManagerInterface hm = new HouseManager();
RuralHouse rh = houses.get(table.getSelectedRow());
((DefaultTableModel)table.getModel()).removeRow(houses.indexOf(rh));
}
}
});
- btnNewButton.setBounds(301, 394, 169, 25);
+ 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);
+ am.removeHouseDeletionRequests(rh);
+ Administrator.saveInstance();
+
+
+ }
+ }
+ });
+ btnNewButton_1.setBounds(291, 396, 169, 25);
+ contentPane.add(btnNewButton_1);
while (en.hasMoreElements()) {
rh = en.nextElement();
Vector<Object> row = new Vector<Object>();