Merged the two branches, DB separated
[RRRRHHHH_Code] / ruralHouses / src / gui / DeleteOfferGUI.java
1 package gui;
2
3 import java.awt.event.ActionEvent;
4 import java.awt.event.ActionListener;
5 import java.awt.event.ItemEvent;
6 import java.awt.event.ItemListener;
7 import java.rmi.Naming;
8 import java.rmi.RemoteException;
9 import java.util.Vector;
10
11 import javax.swing.JButton;
12 import javax.swing.JComboBox;
13 import javax.swing.JFrame;
14 import javax.swing.JLabel;
15 import javax.swing.JPanel;
16 import javax.swing.JRadioButton;
17 import javax.swing.border.EmptyBorder;
18
19 import common.HouseInterface;
20 import common.OfferInterface;
21
22 import configuration.___IntNames;
23 import domain.Offer;
24 import domain.Owner;
25 import domain.RuralHouse;
26
27 public class DeleteOfferGUI extends JFrame {
28
29         /**
30          * 
31          */
32         private static final long serialVersionUID = 1L;
33         private JPanel contentPane;
34         private JLabel feedback;
35         private JComboBox<RuralHouse> comboBox;
36         private JComboBox<Offer> comboBox_1;
37         private JButton btnDelete;
38         private Vector<RuralHouse> Hlist = null;
39         private HouseInterface hm = null;
40
41         /**
42          * Create the frame.
43          */
44         public DeleteOfferGUI(Owner o) {
45                 try {
46                         hm = (HouseInterface) Naming
47                                         .lookup(___IntNames.HouseManager);
48                 } catch (Exception e1) {
49                         System.out.println("Error accessing remote authentication: "
50                                         + e1.toString());
51                 }
52                 try {
53                         Hlist = hm.getHouses(o, null, null, 0, 0, 0, 0, 0);
54                 } catch (RemoteException e1) {
55                         e1.printStackTrace();
56                 }       
57                 setBounds(100, 100, 450, 300);
58                 contentPane = new JPanel();
59                 contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
60                 setContentPane(contentPane);
61
62                 comboBox = new JComboBox<RuralHouse>(this.Hlist);
63                 comboBox.setBounds(101, 38, 314, 20);
64
65                 comboBox_1 = new JComboBox<Offer>();
66                 comboBox_1.setBounds(101, 76, 314, 20);
67                 Vector<Offer> vo = ((RuralHouse) comboBox.getSelectedItem()).getAllOffers();
68                 comboBox_1.removeAllItems();
69                 for (Offer of : vo) {
70                         comboBox_1.addItem(of);
71                         ;
72                 }
73
74                 JRadioButton rdbtnIAmSure = new JRadioButton("I am sure");
75                 rdbtnIAmSure.setBounds(101, 134, 108, 23);
76
77                 btnDelete = new JButton("DELETE");
78                 btnDelete.setBounds(92, 226, 117, 23);
79                 btnDelete.setEnabled(false);
80
81                 comboBox.addItemListener(new ItemListener() {
82
83                         @Override
84                         public void itemStateChanged(ItemEvent arg0) {
85                                 Vector<Offer> vo = ((RuralHouse) comboBox.getSelectedItem()).getAllOffers();
86                                 comboBox_1.removeAllItems();
87                                 for (Offer of : vo) {
88                                         comboBox_1.addItem(of);
89                                         ;
90                                 }
91
92                         }
93
94                 });
95
96                 rdbtnIAmSure.addItemListener(new ItemListener() {
97
98                         @Override
99                         public void itemStateChanged(ItemEvent e) {
100                                 int state = e.getStateChange();
101                                 if (state == ItemEvent.SELECTED) {
102                                         if (comboBox_1.getSelectedItem() != null)
103                                                 btnDelete.setEnabled(true);
104                                 } else if (state == ItemEvent.DESELECTED) {
105                                         btnDelete.setEnabled(false);
106                                 }
107                         }
108                 });
109
110                 JLabel lblHouse = new JLabel("House:");
111                 lblHouse.setBounds(25, 41, 68, 14);
112
113                 JLabel lblOffer = new JLabel("Offer:");
114                 lblOffer.setBounds(25, 79, 68, 14);
115                 contentPane.setLayout(null);
116                 contentPane.add(btnDelete);
117                 contentPane.add(rdbtnIAmSure);
118                 contentPane.add(lblHouse);
119                 contentPane.add(lblOffer);
120                 contentPane.add(comboBox);
121                 contentPane.add(comboBox_1);
122                 
123                 feedback = new JLabel("");
124                 feedback.setBounds(140, 178, 202, 23);
125                 contentPane.add(feedback);
126
127                 btnDelete.addActionListener(new ActionListener() {
128                         public void actionPerformed(ActionEvent arg0) {
129                                 actionListenerButton(arg0);
130
131                         }
132
133                 });
134         }
135
136         private void actionListenerButton(ActionEvent e) {
137
138                 Offer toDel = (Offer) comboBox_1.getSelectedItem();
139                 OfferInterface oM = null;
140                 try {
141                         oM = (OfferInterface) Naming
142                                         .lookup(___IntNames.OfferManager);
143                 } catch (Exception e1) {
144                         System.out.println("Error accessing remote authentication: "
145                                         + e1.toString());
146                 }
147                 
148                 try {
149                         oM.deleteOffer((RuralHouse) comboBox.getSelectedItem(), toDel);
150                         comboBox_1.removeItem(toDel);
151                         btnDelete.setEnabled(false);
152                         feedback.setText("Offer correctly deleted");
153                 } catch (Exception e1) {
154                         feedback.setText("Imposible to delete the offer");
155                         e1.printStackTrace();
156                 }
157                 
158         }
159 }