The bug found in the presentation that we forgot to review has been fixed
[RRRRHHHH_Code] / ruralHouses / src / gui / HouseFeaturesGUI.java
diff --git a/ruralHouses/src/gui/HouseFeaturesGUI.java b/ruralHouses/src/gui/HouseFeaturesGUI.java
deleted file mode 100644 (file)
index 39d0bc9..0000000
+++ /dev/null
@@ -1,322 +0,0 @@
-package gui;
-
-import java.awt.Color;
-import java.awt.Component;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.MouseAdapter;
-import java.awt.event.MouseEvent;
-import java.rmi.Naming;
-import java.util.Date;
-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.JTextField;
-import javax.swing.SwingConstants;
-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.Client;
-import domain.Offer;
-import domain.RuralHouse;
-
-public class HouseFeaturesGUI extends JFrame {
-
-       /**
-        * 
-        */
-       private static final long serialVersionUID = 1L;
-       private JPanel contentPane;
-       private JLabel lblDistrict;
-       private JTextField District_f;
-       private JLabel lblDescription;
-       private JTextField description_f;
-       private JLabel lblKitchen;
-       private JTextField kitchens_f;
-       private JLabel lblRooms;
-       private JTextField rooms_f;
-       private JLabel lblLivings;
-       private JTextField lRooms_f;
-       private JLabel lblParkings;
-       private JTextField parkings_f;
-       private JLabel lblBaths;
-       private JTextField baths_f;
-       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;
-       private JLabel lblName;
-       private JTextField nameField;
-       private JLabel lblEmail;
-       private JTextField mailField;
-
-       /**
-        * Create the frame.
-        */
-
-       public HouseFeaturesGUI(RuralHouse RH, final Date FirstDay,
-                       final Date LastDay) {
-               this.rh = RH;
-               this.getContentPane().setLayout(null);
-               setBounds(100, 100, 500, 700);
-               contentPane = new JPanel();
-               contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
-               setContentPane(contentPane);
-
-               lblDistrict = new JLabel("District:");
-               lblDistrict.setBounds(23, 67, 70, 14);
-               lblDistrict.setHorizontalAlignment(SwingConstants.RIGHT);
-
-               District_f = new JTextField();
-               District_f.setEditable(false);
-               District_f.setBounds(103, 64, 86, 20);
-               District_f.setColumns(10);
-
-               lblDescription = new JLabel("Description:");
-               lblDescription.setBounds(215, 67, 90, 14);
-               lblDescription.setHorizontalAlignment(SwingConstants.RIGHT);
-
-               description_f = new JTextField();
-               description_f.setEditable(false);
-               description_f.setBounds(238, 99, 178, 129);
-               description_f.setColumns(10);
-
-               lblKitchen = new JLabel("Kitchens:");
-               lblKitchen.setBounds(23, 211, 70, 14);
-               lblKitchen.setHorizontalAlignment(SwingConstants.RIGHT);
-
-               kitchens_f = new JTextField();
-               kitchens_f.setEditable(false);
-               kitchens_f.setBounds(103, 202, 86, 20);
-               kitchens_f.setColumns(10);
-
-               lblRooms = new JLabel("Rooms:");
-               lblRooms.setBounds(23, 102, 70, 14);
-               lblRooms.setHorizontalAlignment(SwingConstants.RIGHT);
-
-               rooms_f = new JTextField();
-               rooms_f.setEditable(false);
-               rooms_f.setBounds(103, 99, 86, 20);
-               rooms_f.setColumns(10);
-
-               lblLivings = new JLabel("Living rooms:");
-               lblLivings.setBounds(30, 236, 63, 14);
-               lblLivings.setHorizontalAlignment(SwingConstants.RIGHT);
-
-               lRooms_f = new JTextField();
-               lRooms_f.setEditable(false);
-               lRooms_f.setBounds(103, 233, 86, 20);
-               lRooms_f.setColumns(10);
-
-               lblParkings = new JLabel("Parkings:");
-               lblParkings.setBounds(23, 174, 70, 14);
-               lblParkings.setHorizontalAlignment(SwingConstants.RIGHT);
-
-               parkings_f = new JTextField();
-               parkings_f.setEditable(false);
-               parkings_f.setBounds(103, 171, 86, 20);
-               parkings_f.setColumns(10);
-
-               lblBaths = new JLabel("Baths:");
-               lblBaths.setBounds(23, 143, 70, 14);
-               lblBaths.setHorizontalAlignment(SwingConstants.RIGHT);
-
-               baths_f = new JTextField();
-               baths_f.setEditable(false);
-               baths_f.setBounds(103, 140, 86, 20);
-               baths_f.setColumns(10);
-               contentPane.setLayout(null);
-               contentPane.add(lblParkings);
-               contentPane.add(parkings_f);
-               contentPane.add(lblRooms);
-               contentPane.add(rooms_f);
-               contentPane.add(lblBaths);
-               contentPane.add(baths_f);
-               contentPane.add(lblDistrict);
-               contentPane.add(District_f);
-               contentPane.add(lblLivings);
-               contentPane.add(lRooms_f);
-               contentPane.add(lblKitchen);
-               contentPane.add(kitchens_f);
-               contentPane.add(description_f);
-               contentPane.add(lblDescription);
-               parkings_f.setText(Integer.toString(rh.getFeatures().getnParkings()));
-               rooms_f.setText(Integer.toString(rh.getFeatures().getnRooms()));
-               baths_f.setText(Integer.toString(rh.getFeatures().getnBaths()));
-               District_f.setText(rh.getDistrict());
-               kitchens_f.setText(Integer.toString(rh.getFeatures().getnKitchens()));
-               description_f.setText(rh.getDescription());
-               lRooms_f.setText(Integer.toString(rh.getFeatures().getnLivings()));
-               JLabel lblAvailbleOffers = new JLabel("Availble Offers:");
-               lblAvailbleOffers.setBounds(30, 286, 86, 14);
-               contentPane.add(lblAvailbleOffers);
-               JScrollPane scrollPane = new JScrollPane();
-               scrollPane.setBounds(40, 311, 376, 183);
-               contentPane.add(scrollPane);
-
-               table = new JTable() {
-                       private static final long serialVersionUID = 1L;
-
-                       public boolean isCellEditable(int row, int column) {
-                               return false;
-                       };
-               };
-               tableModel = new DefaultTableModel(null, new String[] { "Offer #",
-                               "FirstDay", "LastDay", "Price" });
-               table.setModel(tableModel);
-               scrollPane.setViewportView(table);
-
-               JButton btnBookSelected = new JButton("Book SelectedOffer");
-               btnBookSelected.setBounds(238, 614, 178, 23);
-               contentPane.add(btnBookSelected);
-
-               btnBookSelected.addActionListener(new ActionListener() {
-                       public void actionPerformed(ActionEvent arg0) {
-
-                               jButton_ActionPerformed(arg0);
-                       }
-
-               });
-
-               JLabel lblNewLabel = new JLabel(
-                               "Green: Suit your dates. Red: Do not suit your dates");
-               lblNewLabel.setEnabled(false);
-               lblNewLabel.setBounds(170, 282, 261, 23);
-               contentPane.add(lblNewLabel);
-
-               JLabel lblNewLabel_1 = new JLabel("Telephone num:");
-               lblNewLabel_1.setBounds(10, 618, 83, 14);
-               contentPane.add(lblNewLabel_1);
-
-               telIn = new JTextField();
-               telIn.setBounds(103, 615, 129, 20);
-               contentPane.add(telIn);
-               telIn.setColumns(10);
-
-               labelPhone = new JLabel("");
-               labelPhone.setBounds(238, 252, 178, 14);
-               contentPane.add(labelPhone);
-
-               lblName = new JLabel("Name:");
-               lblName.setBounds(10, 516, 46, 14);
-               contentPane.add(lblName);
-
-               nameField = new JTextField();
-               nameField.setBounds(103, 513, 178, 20);
-               contentPane.add(nameField);
-               nameField.setColumns(10);
-
-               lblEmail = new JLabel("E-mail:");
-               lblEmail.setBounds(10, 565, 46, 14);
-               contentPane.add(lblEmail);
-
-               mailField = new JTextField();
-               mailField.setBounds(103, 562, 178, 20);
-               contentPane.add(mailField);
-               mailField.setColumns(10);
-
-               table.addMouseListener(new MouseAdapter() {
-                       @Override
-                       public void mouseClicked(MouseEvent arg0) {
-                               row = table.getSelectedRow();
-                       }
-               });
-               
-               Enumeration<Offer> rhs = rh.getAllOffers().elements();
-               while (rhs.hasMoreElements()) {
-                       Offer of = rhs.nextElement();
-                       if (of.getBookings() == null
-                                       || !of.isBooked()) {
-                               offers.add(of);
-                               Vector<Object> row = new Vector<Object>();
-                               row.add(of.getOfferNumber());
-                               row.add(of.getFirstDay());
-                               row.add(of.getLastDay());
-                               row.add(of.getPrice());
-                               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);
-
-                               Date firstDay = (Date) table.getModel().getValueAt(row, 1);
-                               Date lastDay = (Date) table.getModel().getValueAt(row, 2);
-                               if (FirstDay != null && LastDay != null) {
-                                       if (LastDay.before(lastDay) || FirstDay.after(firstDay)) {
-                                               setBackground(Color.RED);
-                                               setForeground(Color.BLACK);
-                                       } else {
-                                               setBackground(Color.GREEN);
-                                               setForeground(Color.BLACK);
-                                       }
-                               }
-                               return this;
-                       }
-               });
-       }
-
-       private void jButton_ActionPerformed(ActionEvent arg0) {
-
-               BookingInterface bookingM = null;
-               try {
-                       bookingM = (BookingInterface) Naming
-                                       .lookup(___IntNames.BookingManager);
-               } catch (Exception e1) {
-                       System.out.println("Error accessing remote authentication: "
-                                       + e1.toString());
-               }
-               
-               if (telIn.getText().matches("[976]\\d{2}[.\\- ]?\\d{3}[.\\- ]?\\d{3}")
-                               && mailField
-                               .getText()
-                               .matches(
-                                               "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9]+)*(\\.[A-Za-z]{2,})$")
-               && !nameField.getText().isEmpty()) {
-                       labelPhone.setText("");
-                       Vector<Booking> book = null;
-                       try {
-                               if (table.getRowCount() != 0) {
-                                       Client cl = new Client(nameField.getText(),
-                                                       mailField.getText(), telIn.getText());
-                                       book = bookingM.createBooking(rh, offers.get(row)
-                                                       .getFirstDay(), offers.get(row).getLastDay(),cl);
-                               }
-                       } catch (Exception e) {
-                               e.printStackTrace();
-                       }
-                       if (book != null) {
-                               BookRuralHouseConfirmationWindow confirmWindow = new BookRuralHouseConfirmationWindow(
-                                               book.lastElement());
-                               confirmWindow.setVisible(true);
-                       }
-               } else {
-                       labelPhone.setText("Bad formatted data.");
-
-               }
-       }
-}