diff --git a/src/main/java/org/s4s/dao/RegistrationDAO.java b/src/main/java/org/s4s/dao/RegistrationDAO.java new file mode 100644 index 0000000000000000000000000000000000000000..a62c9f0f42b3d91cd561400d2cd9e1e2436ed4e3 --- /dev/null +++ b/src/main/java/org/s4s/dao/RegistrationDAO.java @@ -0,0 +1,38 @@ +/* + * To change this license header, choose License Headers in Project Properties. + * To change this template file, choose Tools | Templates + * and open the template in the editor. + */ +package org.s4s.dao; + +import java.sql.*; +import org.s4s.dao.impl.AbstractDatabaseClass; +import org.s4s.exceptions.WrongInputException; +import org.s4s.services.db.JDBCConnection; + +/** + * + * @author Simon + */ +public class RegistrationDAO extends AbstractDatabaseClass { + + Statement st = JDBCConnection.getInstance().getStatement(); + String sql_update; + + public void addUser(String benutzer, String nachname, String vorname, java.util.Date gebDate, int fBereich, String email, String emailwdh, String passwort, String passwortWdh) { + try { + sql_update = "INSERT INTO \"ERR\".\"user\"(benutzername, nachname, vorname, geburtsdatum, fachbreichid, email, passwort)" + + "VALUES(" + benutzer + ", " + nachname + ", " + vorname + ", " + gebDate + ", " + fBereich + ", " + email + ", " + passwort + ")"; + + boolean exe = st.execute(sql_update); + if(!exe) { + throw new WrongInputException("Wrong Input!"); + } + + } catch (Exception ex) { + ex.printStackTrace(); + System.out.println("Exception occur: " + ex); + } + + } +} diff --git a/src/main/java/org/s4s/dao/ShopDAO.java b/src/main/java/org/s4s/dao/ShopDAO.java index 6ff0f96553d91fbc8e48e226b5e71cf357adf1d8..252742ee951eaa595da644830e7e637935c425a0 100644 --- a/src/main/java/org/s4s/dao/ShopDAO.java +++ b/src/main/java/org/s4s/dao/ShopDAO.java @@ -21,7 +21,7 @@ public class ShopDAO { public static ShopDAO dao = null; private final Statement statement = JDBCConnection.getInstance().getStatement(); private ShopDAO() { - + } public static ShopDAO getInstance() { diff --git a/src/main/java/org/s4s/dao/impl/AbstractDatabaseClass.java b/src/main/java/org/s4s/dao/impl/AbstractDatabaseClass.java index ea416a09e3d95dc1c21e80552e4770515cd77bba..8f2a8bfa88ec00086b2cef2bf11e4ac288d66adc 100644 --- a/src/main/java/org/s4s/dao/impl/AbstractDatabaseClass.java +++ b/src/main/java/org/s4s/dao/impl/AbstractDatabaseClass.java @@ -28,4 +28,12 @@ public abstract class AbstractDatabaseClass { stat.closeOnCompletion(); return set; } + + /*protected int executeUpdate(String sql) throws SQLException { + Statement stat = conn.getStatement(); + int set = stat.executeUpdate(sql); + stat.closeOnCompletion(); + return set; + }*/ + } diff --git a/src/main/java/org/s4s/dao/impl/RegistrationControl.java b/src/main/java/org/s4s/dao/impl/RegistrationControl.java index 8c4942edebdf85e01274f3582412b9139856e6bc..b24cf4da5013c53e968d3ebe877aef931528e636 100644 --- a/src/main/java/org/s4s/dao/impl/RegistrationControl.java +++ b/src/main/java/org/s4s/dao/impl/RegistrationControl.java @@ -5,10 +5,11 @@ */ package org.s4s.dao.impl; -import java.sql.*; + import java.util.regex.Matcher; import java.util.regex.Pattern; import org.apache.commons.validator.routines.EmailValidator; +import org.s4s.dao.RegistrationDAO; import org.s4s.exceptions.WrongInputException; @@ -22,67 +23,51 @@ public class RegistrationControl { private static String vorname; private static String email; private static String passwort; + private static RegistrationDAO regDAO = new RegistrationDAO(); - //DB-Block - Connection con; - Statement st; - ResultSet rs; - String sql_update; - String url; + + /** + * + * @param benutzer + * @param nachname + * @param vorname + * @param gebDate + * @param fBereich + * @param email + * @param emailwdh + * @param passwort + * @param passwortWdh + */ - public static boolean init(String[] data) { - nachname = data[0]; - vorname = data[1]; - email = data[2]; - passwort = data[4]; + public static void init(String benutzer, String nachname, String vorname, java.util.Date gebDate, int fBereich, String email, String emailwdh, String passwort, String passwortWdh) { + + + try { + if(!passwort.equals(passwortWdh)) { + throw new WrongInputException("Passwort entspricht nicht den Anforderungen!"); + } - if(!(passwort.equals(data[5]) || email.equals(data[3]))) { - return false; + if(!email.equals(emailwdh) && !emailValidator()) { + throw new WrongInputException("Email-Adressen stimmen nicht überein oder sind nicht gültig!"); } if (!nameValidator(nachname)) { - return false; + throw new WrongInputException("Nachname enthält ungültige Zeichen!"); } if (!nameValidator(vorname)) { - return false; - } - - if (!emailValidator()) { - return false; + throw new WrongInputException("Vorname enthält ungültige Zeichen!"); } if (!passwordValidator()) { - return false; + throw new WrongInputException("Passwort ungültig!"); + } + } catch(WrongInputException w) { + w.printStackTrace(); + System.out.println("Exception occur: " + w.getMessage()); } - - return true; - - } - - - public void addUser(String[] data) { - try { - if (!init(data)) { - //Exception - throw new WrongInputException("Falsche Eingabe, bitte erneut eingeben!"); - } - - con = DriverManager.getConnection(url); - st = con.createStatement(); - - - sql_update = "INSERT INTO \"ERR\".\"user\"(email, passwort, nachname, vorname)" + - "VALUES(email, passwort, nachname, vorname)"; //erweitern - - st.executeUpdate(sql_update); - - } catch (Exception ex) { - ex.printStackTrace(); - System.out.println("Exception occur: " + ex); - } - + regDAO.addUser(benutzer, nachname, vorname, gebDate, fBereich, email, emailwdh, passwort, passwortWdh); } public static boolean nameValidator(String toValidate) { @@ -101,10 +86,12 @@ public class RegistrationControl { } public static boolean passwordValidator() { - String regex = "^.*(?=.{8,})(?=..*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&+=]).*$"; + + return passwort.length() > 8; + /* String regex = "^.*(?=.{8,})(?=..*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&+=]).*$"; Pattern p = Pattern.compile(regex); Matcher m = p.matcher(passwort); - return m.matches(); + return m.matches(); */ } } diff --git a/src/main/java/org/s4s/gui/views/RegistrierungView.java b/src/main/java/org/s4s/gui/views/RegistrierungView.java index 1c6cef7cee48b2a8c924db7150a4718425be9fb4..47e424a476689d374d7307e1734f696ec4663b08 100644 --- a/src/main/java/org/s4s/gui/views/RegistrierungView.java +++ b/src/main/java/org/s4s/gui/views/RegistrierungView.java @@ -63,11 +63,15 @@ public class RegistrierungView extends TemplateView implements View { content.addComponent(vornameTxt); - NativeSelect fachbereich = new NativeSelect("Fachbereich"); - fachbereich.addItems("Student", "Hivi", "Prof"); + /* NativeSelect fachbereich = new NativeSelect("Fachbereich"); //hier braucht die Datenbank Integer Werte! Fachbereich ist nicht Student, Hiwi oder Prof sonder FB01, 02,03 etc!! + fachbereich.addItems("Student", "Hivi", "Prof"); //ich kann das grad nicht selber machen, weil ich beim deployen fehler kriege und nicht ungetestetes commiten möchte! Also bitte abändern! fachbereich.setNullSelectionAllowed(false); content.addComponent(fachbereich); - +*/ + TextField fachbereich = new TextField("Fachbereich:"); + fachbereich.setConverter(Integer.class); + fachbereich.setIcon(FontAwesome.ANDROID); + content.addComponent(fachbereich); TextField emailTxt = new TextField("E-Mail:"); @@ -112,7 +116,7 @@ public class RegistrierungView extends TemplateView implements View { String nachname = nachnameTxt.getValue(); String vorname = vornameTxt.getValue(); Date gebDate = bday.getValue(); - String fBereich = (String) fachbereich.getValue(); + int fBereich = (int) fachbereich.getConvertedValue(); String email = emailTxt.getValue(); String emailwdh = emailTxtWdh.getValue(); String passwort = passwortTxt.getValue(); @@ -120,8 +124,9 @@ public class RegistrierungView extends TemplateView implements View { UI.getCurrent().getNavigator().navigateTo(Views.REGISTRIERUNGSBESTAETIGUNG); //Anbindungstestblock. svolle2s - RegistrationControl.init(new String[]{nachname, vorname, email, emailwdh, passwort, passwortWdh, benutzer,}); // diverse Daten fehlen siehe bday fachbereich - + //RegistrationControl.init(new String[]{nachname, vorname, email, emailwdh, passwort, passwortWdh, benutzer,}); // diverse Daten fehlen siehe bday fachbereich + RegistrationControl.init(benutzer, nachname, vorname, gebDate, fBereich, email, emailwdh, passwort, passwortWdh); + System.out.println(benutzer); System.out.println(nachname); System.out.println(vorname); diff --git a/src/main/java/org/s4s/modell/dto/User.java b/src/main/java/org/s4s/modell/dto/User.java index e78eda6af4183e67fe7c9c37e8e898ad859b5ecd..b7ad3eafdefe5be7d1364e4158063060cd24ef27 100644 --- a/src/main/java/org/s4s/modell/dto/User.java +++ b/src/main/java/org/s4s/modell/dto/User.java @@ -5,6 +5,8 @@ */ package org.s4s.modell.dto; +import java.util.Date; + /** * * @author Holger @@ -12,48 +14,63 @@ package org.s4s.modell.dto; public class User { private int userId; - private String email; - private String geburtsdatum; - private int fachbereichId; private String vorname; private String nachname; + private Date geburtsdatum; + private int fachbereichId; + private String email; + + private final String benutzername; public User(String benutzername){ this.benutzername = benutzername; } + + public String getBenutzername() { + return benutzername; + } - public int getUserId() { - return userId; + public String getVorname() { + return vorname; } - public String getEmail() { - return email; + public void setVorname(String vorname) { + this.vorname = vorname; } - public String getGeburtsdatum() { - return geburtsdatum; + public String getNachname() { + return nachname; } - public int getFachbereichId() { - return fachbereichId; + public void setNachname(String nachname) { + this.nachname = nachname; } - public String getBenutzername() { - return benutzername; + public Date getGeburtsdatum() { + return geburtsdatum; } + public void setGeburtsdatum(Date geburtsdatum) { + this.geburtsdatum = geburtsdatum; + } - public String getVorname() { - return vorname; + public int getFachbereichId() { + return fachbereichId; } - public String getNachname() { - return nachname; + public void setFachbereichId(int fachbereichId) { + this.fachbereichId = fachbereichId; } - public String getUsername() { - return benutzername; + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; } + + } diff --git a/src/main/webapp/VAADIN/themes/mytheme/styles.css b/src/main/webapp/VAADIN/themes/mytheme/styles.css index a4c1862bab0b859cd86e434b6d6019c8c5f76e4d..72ec58e23ee08f7970a124df621f0078116d486f 100644 --- a/src/main/webapp/VAADIN/themes/mytheme/styles.css +++ b/src/main/webapp/VAADIN/themes/mytheme/styles.css @@ -12984,7 +12984,6 @@ div.v-layout.v-horizontal.v-widget { width: 19px; overflow: hidden; } -<<<<<<< HEAD .mytheme .customShell { width: 1024px; @@ -13049,12 +13048,4 @@ div.v-layout.v-horizontal.v-widget { .mytheme .LoginViewContainerTitelLayout { padding-bottom: 15px; -} -======= -/** Test -h1 { - background-color: red; - -} -*/ ->>>>>>> 47d7bfd324c39b8339db585da515957e5ac54bd3 +} \ No newline at end of file diff --git a/src/test/java/org/s4s/dao/impl/RegistrationControl_Test.java b/src/test/java/org/s4s/dao/impl/RegistrationControl_Test.java index e19d70fe071c82cb3245b39d682112b319392fc7..d3a6ffe807274e2175b66b8ead0cddc6a0ca97aa 100644 --- a/src/test/java/org/s4s/dao/impl/RegistrationControl_Test.java +++ b/src/test/java/org/s4s/dao/impl/RegistrationControl_Test.java @@ -26,7 +26,8 @@ public class RegistrationControl_Test { data1[1] = "Simon"; data1[2] = "simon.uerdingen@inf.h-brs.de"; data1[4] = "12345"; - assertTrue(RegistrationControl.init(data1)); + //assertTrue(RegistrationControl.init(data1)); + //@TM: der Test muss neu geschrieben werden, wegen Änderungen in View, DAO & Control; svolle2s } } \ No newline at end of file