Owner related new GUI created, some of them are disabled until corresponding logic...
[RRRRHHHH_Code] / ruralHouses / src / gui / IntroduceOfferGUI.java
index 502f598..876a1b9 100644 (file)
@@ -1,21 +1,27 @@
 package gui;
 
 import javax.swing.*;
-import java.awt.Rectangle;
 
+import java.awt.Frame;
+import java.awt.Rectangle;
 import java.util.Vector;
 
-import businessLogic.ApplicationFacadeInterface;
+import businessLogic.*;
 import domain.Owner;
 import domain.RuralHouse;
 
+import java.awt.event.ActionListener;
+import java.awt.event.ActionEvent;
+import java.awt.Color;
 
 public class IntroduceOfferGUI extends JFrame {
 
-       private static final long serialVersionUID = 1L;
+       private static final long serialVersionUID= 1L;
        private JPanel jContentPane = null;
-       private JComboBox jComboBox = null;
-       private JButton jButton = null;
+       private JTextField usernameField;
+       private JPasswordField passwordField;
+       private LoginManagerInterface loginManager = new LoginManager();
+       private JLabel loginFeedback;
 
        public IntroduceOfferGUI() {
                super();
@@ -25,7 +31,7 @@ public class IntroduceOfferGUI extends JFrame {
        private void initialize() {
                this.setSize(449, 293);
                this.setContentPane(getJContentPane());
-               this.setTitle("Choose owner");
+               this.setTitle("Login");
 
        }
 
@@ -33,60 +39,59 @@ public class IntroduceOfferGUI extends JFrame {
                if (jContentPane == null) {
                        jContentPane = new JPanel();
                        jContentPane.setLayout(null);
-                       jContentPane.add(getJComboBox(), null);
-                       jContentPane.add(getJButton(), null);
-               }
-               return jContentPane;
-       }
-
-       private JComboBox getJComboBox() {
-               if (jComboBox == null) {
-                       try {
-                               ApplicationFacadeInterface facade=StartWindow.getBusinessLogic();
-                               Vector<Owner> owners=facade.getOwners();
-                               jComboBox = new JComboBox(owners);
-                               jComboBox.setBounds(new Rectangle(63, 38, 175, 44));
-                       }
-                       catch (Exception e) {
-                               // TODO Auto-generated catch block
-                               e.printStackTrace();
-                       }
-               }
-               return jComboBox;
-       }
-
-       private JButton getJButton() {
-               if (jButton == null) {
-                       jButton = new JButton();
-                       jButton.setBounds(new Rectangle(113, 146, 95, 59));
-                       jButton.setText("Show houses");
-                       jButton.addActionListener(new java.awt.event.ActionListener() {
-                               public void actionPerformed(java.awt.event.ActionEvent e) {
-                                       Owner owner=(Owner)jComboBox.getSelectedItem();
-                                       System.out.println(owner.getUsername());
-                                       Vector<RuralHouse> houseList=null;
-                                       try {
-                                               //Obtain the business logic from a StartWindow class (local or remote)
-                                               ApplicationFacadeInterface facade=StartWindow.getBusinessLogic();
-                                               houseList=facade.getRuralHouses(owner);
-
-                                       }
-                                       catch (Exception e1) {
-                                               e1.printStackTrace();
-                                       }
-                                       if (houseList.isEmpty()!=true) {
-                                               JFrame a = new IntroduceOffer2GUI(houseList);
-                                               a.setVisible(true);
+                       
+                       JLabel usernameTag = new JLabel("Username:");
+                       usernameTag.setBounds(56, 67, 104, 20);
+                       jContentPane.add(usernameTag);
+                       
+                       JLabel passwordTag = new JLabel("Password:");
+                       passwordTag.setBounds(56, 132, 104, 15);
+                       jContentPane.add(passwordTag);
+                       
+                       usernameField = new JTextField();
+                       usernameField.setBounds(202, 65, 133, 25);
+                       jContentPane.add(usernameField);
+                       usernameField.setColumns(10);
+                       
+                       passwordField = new JPasswordField();
+                       passwordField.setBounds(202, 122, 133, 25);
+                       jContentPane.add(passwordField);
+                       
+                       JButton loginButton = new JButton("Login");
+                       loginButton.addActionListener(new ActionListener() {
+                               public void actionPerformed(ActionEvent arg0) {
+                                       Owner owner = loginManager.checkCredentials(usernameField.getText(),new String(passwordField.getPassword()));
+                                       if(owner==null){
+                                               loginFeedback.setText("Incorrect username or password");
+                                       }else{
+                                               Vector<RuralHouse> ownerHouseList=null;
+                                               try{
+                                                       ownerHouseList = StartWindow.getBusinessLogic().getRuralHouses(owner);
+                                               }catch (Exception e){
+                                                       e.printStackTrace();
+                                               }
+                                               if(!ownerHouseList.isEmpty()){
+                                                       Frame a = new OwnerMenuGUI(owner);
+                                                       a.setVisible(true);
+                                               }
+                                               else if(ownerHouseList.isEmpty())
+                                                       loginFeedback.setText("Login OK , but no houses in your name");
                                        }
-                                       else if (houseList.isEmpty()==true) {
-                                               System.out.print("Owner does not exist or has no registered houses ");
-                                       }               
+
                                }
                        });
+                       loginButton.setBounds(164, 179, 117, 25);
+                       jContentPane.add(loginButton);
+                       
+                       loginFeedback = new JLabel("");
+                       loginFeedback.setForeground(Color.RED);
+                       loginFeedback.setHorizontalAlignment(SwingConstants.CENTER);
+                       loginFeedback.setBounds(83, 216, 269, 25);
+                       jContentPane.add(loginFeedback);
                }
-               return jButton;
+               return jContentPane;
        }
-       
-       
 
-}  //  @jve:decl-index=0:visual-constraint="222,33"
+
+}  // @jve:decl-index=0:visual-constraint="222,33"
+