import java.awt.Color;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.rmi.Naming;
+import java.rmi.RemoteException;
+import javax.swing.DefaultComboBoxModel;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.JButton;
+import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.SwingConstants;
import javax.swing.border.EmptyBorder;
-import businessLogic.AdminManager;
+import common.AdminInterface;
+
+import configuration.___IntNames;
+import domain.Districs;
import domain.HouseFeatures;
import domain.Owner;
import domain.RuralHouse;
private JPanel contentPane;
private Owner owner;
private JLabel lblCode ;
+ private JLabel feedback = new JLabel("");
private JTextField Code_f;
private JLabel lblTown;
- private JTextField Town_f;
private JLabel lblDescription;
private JTextField description_f;
private JLabel lblKitchen;
private JLabel lblBaths;
private JTextField baths_f;
private JButton btnRegister;
- private AdminManager am;
+ private AdminInterface am = null;
+ private JComboBox<String> comboBox;
/**
* Create the frame.
*/
public RequestNewHouseGUI(Owner o) {
-
- am = new AdminManager();
+ comboBox = new JComboBox<String>(new DefaultComboBoxModel<String>(
+ Districs.longNames()));
+ try {
+ am = (AdminInterface) Naming
+ .lookup(___IntNames.AdminManager);
+ } catch (Exception e1) {
+ System.out.println("Error accessing remote authentication: "
+ + e1.toString());
+ }
this.setTitle("New House");
setBackground(Color.WHITE);
this.getContentPane().setLayout(null);
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
setContentPane(contentPane);
- lblCode = new JLabel("House Code:");
+ lblCode = new JLabel("House Name:");
lblCode.setHorizontalAlignment(SwingConstants.RIGHT);
Code_f = new JTextField();
Code_f.setColumns(10);
- lblTown = new JLabel("Town:");
+ lblTown = new JLabel("District:");
lblTown.setHorizontalAlignment(SwingConstants.RIGHT);
- Town_f = new JTextField();
- Town_f.setColumns(10);
-
lblDescription = new JLabel("Description(optional):");
lblDescription.setHorizontalAlignment(SwingConstants.RIGHT);
//TODO when the house is not added show a warning to the user. Method below returns a boolean stating that.
rh = new RuralHouse(Code_f.getText(),
owner, description_f.getText(),
- Town_f.getText() ,new HouseFeatures(Integer.parseInt(rooms_f.getText()),
+ (String) comboBox.getSelectedItem(), new HouseFeatures(Integer.parseInt(rooms_f.getText()),
Integer.parseInt(kitchens_f.getText()),
Integer.parseInt(baths_f.getText()),
Integer.parseInt(lRooms_f.getText()),
Integer.parseInt(parkings_f.getText())) );
}
- catch(NumberFormatException e ){
+ catch(NumberFormatException e){
e.printStackTrace();
}
- am.addAdditionRequest(rh);
+ try {
+ if(am.addAdditionRequest(rh)){
+ am.saveInstance();
+ feedback.setText("Request sended");
+ }else{
+ feedback.setText("Request cannot be sended(Already added)");
+ }
+ } catch (RemoteException e) {
+ // TODO Auto-generated catch block
+ e.printStackTrace();
+ }
}
});
+
+
+
+
GroupLayout gl_contentPane = new GroupLayout(contentPane);
gl_contentPane.setHorizontalGroup(
gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGroup(gl_contentPane.createSequentialGroup()
.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
- .addGroup(gl_contentPane.createSequentialGroup()
- .addGap(140)
- .addComponent(btnRegister))
.addGroup(gl_contentPane.createSequentialGroup()
.addContainerGap()
.addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING)
.addGroup(gl_contentPane.createSequentialGroup()
.addComponent(lblTown, GroupLayout.PREFERRED_SIZE, 70, GroupLayout.PREFERRED_SIZE)
.addGap(18)
- .addComponent(Town_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+ .addComponent(comboBox, GroupLayout.PREFERRED_SIZE, 86, GroupLayout.PREFERRED_SIZE))
.addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING, false)
.addGroup(gl_contentPane.createSequentialGroup()
.addComponent(lblLivings)
.addGap(18)
.addComponent(lblParkings, GroupLayout.PREFERRED_SIZE, 70, GroupLayout.PREFERRED_SIZE)
.addPreferredGap(ComponentPlacement.UNRELATED)
- .addComponent(parkings_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)))
+ .addComponent(parkings_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
+ .addGroup(gl_contentPane.createSequentialGroup()
+ .addGap(140)
+ .addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
+ .addComponent(feedback, GroupLayout.PREFERRED_SIZE, 137, GroupLayout.PREFERRED_SIZE)
+ .addComponent(btnRegister))))
.addContainerGap(97, Short.MAX_VALUE))
);
gl_contentPane.setVerticalGroup(
.addComponent(Code_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addPreferredGap(ComponentPlacement.UNRELATED)
.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
- .addComponent(Town_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE)
- .addComponent(lblTown))
+ .addComponent(lblTown)
+ .addComponent(comboBox, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
.addGap(18)
.addGroup(gl_contentPane.createParallelGroup(Alignment.TRAILING)
.addComponent(lblLivings)
.addGroup(gl_contentPane.createSequentialGroup()
.addGap(3)
.addComponent(lblKitchen)))
- .addPreferredGap(ComponentPlacement.RELATED, 7, Short.MAX_VALUE)
+ .addPreferredGap(ComponentPlacement.RELATED, GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(gl_contentPane.createParallelGroup(Alignment.LEADING)
.addGroup(gl_contentPane.createSequentialGroup()
.addGap(3)
.addGroup(gl_contentPane.createParallelGroup(Alignment.BASELINE)
.addComponent(lblParkings)
.addComponent(parkings_f, GroupLayout.PREFERRED_SIZE, GroupLayout.DEFAULT_SIZE, GroupLayout.PREFERRED_SIZE))
- .addGap(88)
+ .addGap(41)
+ .addComponent(feedback, GroupLayout.PREFERRED_SIZE, 22, GroupLayout.PREFERRED_SIZE)
+ .addPreferredGap(ComponentPlacement.UNRELATED)
.addComponent(btnRegister)
.addGap(54))
);