+++ /dev/null
-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.");
-
- }
- }
-}