Merge branch 'master' of https://xp-dev.com/git/RRRRHHHH_Code
[RRRRHHHH_Code] / ruralHouses / src / gui / DeleteOfferGUI.java
diff --git a/ruralHouses/src/gui/DeleteOfferGUI.java b/ruralHouses/src/gui/DeleteOfferGUI.java
new file mode 100644 (file)
index 0000000..d9f5ab8
--- /dev/null
@@ -0,0 +1,159 @@
+package gui;
+
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
+import java.rmi.Naming;
+import java.rmi.RemoteException;
+import java.util.Vector;
+
+import javax.swing.JButton;
+import javax.swing.JComboBox;
+import javax.swing.JFrame;
+import javax.swing.JLabel;
+import javax.swing.JPanel;
+import javax.swing.JRadioButton;
+import javax.swing.border.EmptyBorder;
+
+import common.HouseInterface;
+import common.OfferInterface;
+
+import configuration.___IntNames;
+import domain.Offer;
+import domain.Owner;
+import domain.RuralHouse;
+
+public class DeleteOfferGUI extends JFrame {
+
+       /**
+        * 
+        */
+       private static final long serialVersionUID = 1L;
+       private JPanel contentPane;
+       private JLabel feedback;
+       private JComboBox<RuralHouse> comboBox;
+       private JComboBox<Offer> comboBox_1;
+       private JButton btnDelete;
+       private Vector<RuralHouse> Hlist = null;
+       private HouseInterface hm = null;
+
+       /**
+        * Create the frame.
+        */
+       public DeleteOfferGUI(Owner o) {
+               try {
+                       hm = (HouseInterface) Naming
+                                       .lookup(___IntNames.HouseManager);
+               } catch (Exception e1) {
+                       System.out.println("Error accessing remote authentication: "
+                                       + e1.toString());
+               }
+               try {
+                       Hlist = hm.getHouses(o, null, null, 0, 0, 0, 0, 0);
+               } catch (RemoteException e1) {
+                       e1.printStackTrace();
+               }       
+               setBounds(100, 100, 450, 300);
+               contentPane = new JPanel();
+               contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
+               setContentPane(contentPane);
+
+               comboBox = new JComboBox<RuralHouse>(this.Hlist);
+               comboBox.setBounds(101, 38, 314, 20);
+
+               comboBox_1 = new JComboBox<Offer>();
+               comboBox_1.setBounds(101, 76, 314, 20);
+               Vector<Offer> vo = ((RuralHouse) comboBox.getSelectedItem()).getAllOffers();
+               comboBox_1.removeAllItems();
+               for (Offer of : vo) {
+                       comboBox_1.addItem(of);
+                       ;
+               }
+
+               JRadioButton rdbtnIAmSure = new JRadioButton("I am sure");
+               rdbtnIAmSure.setBounds(101, 134, 108, 23);
+
+               btnDelete = new JButton("DELETE");
+               btnDelete.setBounds(92, 226, 117, 23);
+               btnDelete.setEnabled(false);
+
+               comboBox.addItemListener(new ItemListener() {
+
+                       @Override
+                       public void itemStateChanged(ItemEvent arg0) {
+                               Vector<Offer> vo = ((RuralHouse) comboBox.getSelectedItem()).getAllOffers();
+                               comboBox_1.removeAllItems();
+                               for (Offer of : vo) {
+                                       comboBox_1.addItem(of);
+                                       ;
+                               }
+
+                       }
+
+               });
+
+               rdbtnIAmSure.addItemListener(new ItemListener() {
+
+                       @Override
+                       public void itemStateChanged(ItemEvent e) {
+                               int state = e.getStateChange();
+                               if (state == ItemEvent.SELECTED) {
+                                       if (comboBox_1.getSelectedItem() != null)
+                                               btnDelete.setEnabled(true);
+                               } else if (state == ItemEvent.DESELECTED) {
+                                       btnDelete.setEnabled(false);
+                               }
+                       }
+               });
+
+               JLabel lblHouse = new JLabel("House:");
+               lblHouse.setBounds(25, 41, 68, 14);
+
+               JLabel lblOffer = new JLabel("Offer:");
+               lblOffer.setBounds(25, 79, 68, 14);
+               contentPane.setLayout(null);
+               contentPane.add(btnDelete);
+               contentPane.add(rdbtnIAmSure);
+               contentPane.add(lblHouse);
+               contentPane.add(lblOffer);
+               contentPane.add(comboBox);
+               contentPane.add(comboBox_1);
+               
+               feedback = new JLabel("");
+               feedback.setBounds(140, 178, 202, 23);
+               contentPane.add(feedback);
+
+               btnDelete.addActionListener(new ActionListener() {
+                       public void actionPerformed(ActionEvent arg0) {
+                               actionListenerButton(arg0);
+
+                       }
+
+               });
+       }
+
+       private void actionListenerButton(ActionEvent e) {
+
+               Offer toDel = (Offer) comboBox_1.getSelectedItem();
+               OfferInterface oM = null;
+               try {
+                       oM = (OfferInterface) Naming
+                                       .lookup(___IntNames.OfferManager);
+               } catch (Exception e1) {
+                       System.out.println("Error accessing remote authentication: "
+                                       + e1.toString());
+               }
+               
+               try {
+                       oM.deleteOffer((RuralHouse) comboBox.getSelectedItem(), toDel);
+                       comboBox_1.removeItem(toDel);
+                       btnDelete.setEnabled(false);
+                       feedback.setText("Offer correctly deleted");
+               } catch (Exception e1) {
+                       feedback.setText("Imposible to delete the offer");
+                       e1.printStackTrace();
+               }
+               
+       }
+}