Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package dbinitialization;
- import java.math.BigInteger;
- import java.security.SecureRandom;
- import java.util.ArrayList;
- import java.util.Calendar;
- import java.util.Date;
- import java.util.Random;
- import persistence.Arzt;
- import persistence.Patient;
- import persistence.SystemNutzer;
- import persistence.SystemNutzer.Geschlecht;
- import service.Service;
- public class PersonCreator {
- private Random randomGenerator = new Random();
- private ArrayList<Arzt> arztListe = new ArrayList<Arzt>();
- private ArrayList<Patient> patientListe = new ArrayList<Patient>();
- private String[] vornameM = { "Max", "Alex", "Martino", "Aranito",
- "Faulenzio", "Predator", "Bill", "Micha", "Bernard", "abdullah",
- "Angel", "Darko", "Drago", "Waldemar", "Wladimir", "Marco",
- "Dejan", "Alexander", "Benjamin", "Leon", "Rudolf", "Hans-Jürgen",
- "Phoenix", "Walter", "Silvio", "Wesam", "Rudolf", "Samir", "Elvis",
- "Borat", "Bruce", "Jackie", "Jose", "Joe", "Enrique", "Ricardo",
- "Ramon" };
- private String[] vornameW = { "Angela", "Anja", "Natascha", "Magda",
- "Lena", "Stefania", "Sofia", "Tiffany", "Jose", "Joe", "Zoey",
- "Enrique", "Ricardo", "Makoto", "Ramona", "Wahiba", "Linda",
- "Julia", "Olga", "Helen", "Sarah", "Jasmin", "Elena", "Tara",
- "Tamara", "Silvia", "Hannah", "Lea", "Lucy", "Giselle", "Samira",
- "Solveig", "Marta", "Anja", "Medina", "Danuta", "Sülcey", "Nikita",
- "Sonja", "Konstantina", "Aischa", "Milica" };
- private String[] nachnameArray = { "Meier", "Müller", "Radovic", "Julka",
- "Zimmermann", "Bronstein", "Stern", "Assis", "Mc Millan", "Rizzi",
- "Canelloni", "Chirac", "Sarkozy", "Park", "Palin", "Trupp",
- "Forch", "Müllerschön", "Schmidt", "Laun", "Schearzkompf",
- "Kosmaul", "Hund", "Ackerman", "Lee", "Chan", "Xu", "Yamamoto",
- "Masato", "Shinoda", "Bauer", "Bork", "Walter", "Mert", "Krasniqi",
- "Gashi", "Schiling", "Weínsberg", "Corlaso", "Faruk", "Moor",
- "Gonzalez", "Maldonado", "Rubiales", "Lopez", "Gomez",
- "Hautamäkki", "Hillpalla", "Burgos" };
- private String[] strasse = { "Hauptstraße", "Bahnhofstraße",
- "Schillerstraße", "Goethestraße", "Luisenstraße", "Postallee",
- "Reichsallee", "Kaiserallee", "Klosterweg", "Karlstraße",
- "Hinter der Burg", "Wilhemstraße", "Wilhelm-Leuchner-Straße",
- "Im Sand", "Yorkstraße", "Gassiweg", "Industriegebiet",
- "Eckenerstraße", "Bilderweg", "Marktplatz", "Europaplatz",
- "Fliederweg", "Joseph-Haydn-Straße", "Beethovenstraße", "Rosenweg",
- "Durlacher Weg" };
- private String[] wohnort = { "Nabburg", "Nagold", "Naila", "Nassau",
- "Nastätten", "Nauen", "Neckarsulm", "Naumburg", "Naunhof", "Nebra",
- "Neckarbischofsheim", "Magdala", "Magdeburg", "Mahlberg",
- "Mainbernheim", "Mainburg", "Maintal", "Mainz", "Laage", "Laatzen",
- "Ladenburg", "Lage", "Lahnstein", "Lahr/Schwarzwald", "Haan",
- "Hachenburg", "Hadamar", "Hagen", "Hagenbach", "Bad Belzig",
- "Bad Bentheim", "Bad Bergzabern", "Bad Berka", "Bad Berleburg",
- "Bad Berneck im Fichtelgebirge", "Bad Bevensen ", "Bad Bibra",
- "Bad Blankenburg", "Gera" };
- private String[] vorwahl = { "0151", "07131", "02451", "0630", "06535",
- "07634" };
- private String[] emailAdressenEndung = { "@gmx.de", "@web.de",
- "@gmail.com", "@yahoo.com", "@1und1.de", "@t-online.de",
- "@green.de", "@isp.net", "@atnt.com", "@verizon.com",
- "@telefonica.es" };
- private Date date;
- private Geschlecht geschlecht;
- private String telefonnummer;
- private String emailadresse;
- private String hausnummer;
- private String[] zusatz = { "a", "b", "c" };
- private String plz;
- private String[] sotialversicherungsNummer = { "" };
- // Patientendaten
- private String[] krankenversicherung = { "BKK", "AOK", "Barmer", "TK",
- "IKK", "BBK", "Hallersche", "Debeka" };
- private String versichertenNummer;
- public PersonCreator(int anzahlPatienten, int anzahlAerzte) {
- if (anzahlPatienten > 0) {
- for (int i = 0; i < anzahlPatienten; i++) {
- this.patientListe.add(createPatient());
- }
- }
- if (anzahlAerzte > 0) {
- for (int i = 0; i < anzahlAerzte; i++) {
- this.arztListe.add(createArzt());
- }
- }
- Arzt standardArzt = createArzt();
- if (standardArzt instanceof SystemNutzer) {
- standardArzt.setSozialversicherungsNummer("arzt");
- standardArzt.setPasswort("arzt");
- }
- this.arztListe.add(0, standardArzt);
- Patient standardPatient = createPatient();
- if (standardPatient instanceof SystemNutzer) {
- standardPatient.setSozialversicherungsNummer("patient");
- standardPatient.setPasswort("patient");
- }
- Service service = new Service();
- for (Arzt arzt : this.arztListe) {
- try {
- service.store(arzt);
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- for (Patient patient : this.patientListe) {
- try {
- service.store(patient);
- } catch (Exception e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
- public Arzt createArzt() {
- String vorname = createRandomVorname();
- String nachname = createRandomNachname();
- Geschlecht geschlecht = getGeschlecht(vorname);
- Date geburtsDatum = createRandomDate();
- String sozialversicherungsNummer = createRandomVersicherungsnummer();
- String passwort = createRandomAlphaNumeric(36);
- String telefonNummer = createRandomTelefonnummer();
- String emailAdresse = creatRandomEmailAdresse(vorname, nachname);
- String strasse = createRandomStrasse();
- String hausnummer = createRandomHausnummer();
- String zusatz = createRandomZusatz();
- String plz = createRandomPLZ();
- String wohnort = createRandomWohnort();
- Arzt arzt = new Arzt(vorname, nachname, geburtsDatum, geschlecht,
- sozialversicherungsNummer, passwort, telefonnummer,
- emailAdresse, strasse, hausnummer, zusatz, plz, wohnort);
- return arzt;
- }
- public Patient createPatient() {
- String vorname = createRandomVorname();
- String nachname = createRandomNachname();
- Geschlecht geschlecht = getGeschlecht(vorname);
- Date geburtsDatum = createRandomDate();
- String sozialversicherungsNummer = createRandomVersicherungsnummer();
- String passwort = createRandomAlphaNumeric(36);
- String telefonNummer = createRandomTelefonnummer();
- String emailAdresse = creatRandomEmailAdresse(vorname, nachname);
- String strasse = createRandomStrasse();
- String hausnummer = createRandomHausnummer();
- String zusatz = createRandomZusatz();
- String plz = createRandomPLZ();
- String wohnort = createRandomWohnort();
- String krankenversicherung = createRandomKrankenversicherung();
- Patient patient = new Patient(vorname, nachname, geburtsDatum,
- geschlecht, sozialversicherungsNummer, passwort, telefonNummer,
- emailAdresse, strasse, hausnummer, zusatz, plz, wohnort,
- krankenversicherung, hausnummer);
- return patient;
- }
- public String createKrankenversicherungsNummer() {
- int zufall = randomGenerator.nextInt(100000000);
- return "" + zufall;
- }
- /**
- * Erzeugt einen zufaelligen alphanumerischen String
- *
- * @param size
- * - fuer 8 Stellen size = 36 waehlen, fuer 10 Stellen size = 46
- * @return
- */
- public String createRandomAlphaNumeric(int size) {
- SecureRandom random = new SecureRandom();
- return (new BigInteger(size, random).toString(32));
- };
- /**
- * Erzeugt ein zufaelliges Datum
- *
- * @return
- */
- public Date createRandomDate() {
- int tag = randomGenerator.nextInt(30) + 1;
- int monat = randomGenerator.nextInt(12) + 1;
- int jahr = 1930 + randomGenerator.nextInt(70);
- Calendar cal = Calendar.getInstance();
- // Clear all fields
- cal.clear();
- cal.set(Calendar.YEAR, jahr);
- cal.set(Calendar.MONTH, monat);
- cal.set(Calendar.DATE, tag);
- Date datum = cal.getTime();
- return datum;
- }
- /**
- * Erzeugt eine zufaellige Hausnummer
- *
- * @return String hausnummer
- */
- public String createRandomHausnummer() {
- return randomGenerator.nextInt(1000) + "";
- }
- /**
- * Erzeugt eine zufaellige Krankenversicherung
- *
- * @return
- */
- public String createRandomKrankenversicherung() {
- int krankenversicherungIndex = randomGenerator
- .nextInt(krankenversicherung.length);
- return krankenversicherung[krankenversicherungIndex];
- }
- /**
- * Erzeugt einen zufaelligen Nachname
- *
- * @return
- */
- public String createRandomNachname() {
- int nachnameIndex = randomGenerator.nextInt(nachnameArray.length);
- return nachnameArray[nachnameIndex];
- }
- public String createRandomPassword() {
- return createRandomAlphaNumeric(36);
- }
- /**
- * Erzeugt eine zufaellige 5 Stellige PLZ
- *
- * @return
- */
- public String createRandomPLZ() {
- int PLZ = randomGenerator.nextInt(99999);
- if (PLZ < 10000) {
- PLZ += 10017;
- }
- return PLZ + "";
- }
- /**
- * Erzeugt einen zufaelligen Strassenamen
- *
- * @return
- */
- public String createRandomStrasse() {
- int strasseIndex = randomGenerator.nextInt(strasse.length);
- return strasse[strasseIndex];
- }
- public String createRandomTelefonnummer() {
- int zufallVorwahl = randomGenerator.nextInt(vorwahl.length);
- int telefonnummer = randomGenerator.nextInt(100000);
- return vorwahl[zufallVorwahl] + telefonnummer;
- }
- public String createRandomVersicherungsnummer() {
- return createRandomAlphaNumeric(46);
- }
- /**
- * Erzeugt einen zufaelligen Vornamen
- *
- * @return String
- */
- public String createRandomVorname() {
- double i = Math.random();
- // Geschlecht bestimmen und Vorname waehlen
- // weiblich
- if (i <= 0.51) {
- int vornameIndex = randomGenerator.nextInt(vornameW.length);
- return vornameW[vornameIndex];
- }
- // maennlich
- else {
- int vornameIndex = randomGenerator.nextInt(vornameM.length);
- return vornameM[vornameIndex];
- }
- }
- /**
- * Erzeugt einen zufaelligen Wohnort
- *
- * @return
- */
- public String createRandomWohnort() {
- int wohnortIndex = randomGenerator.nextInt(wohnort.length);
- return wohnort[wohnortIndex];
- }
- public String createRandomZusatz() {
- return zusatz[randomGenerator.nextInt(zusatz.length)];
- }
- public String creatRandomEmailAdresse(String vorname, String nachname) {
- int emailIndex = randomGenerator.nextInt(emailAdressenEndung.length);
- return vorname + "." + nachname + createRandomAlphaNumeric(28)
- + emailAdressenEndung[emailIndex];
- }
- public Geschlecht getGeschlecht(String vorname) {
- for (int i = 0; i < vornameM.length; i++) {
- if (vornameM[i].contentEquals(vorname)) {
- return Geschlecht.MAENNLICH;
- }
- }
- return Geschlecht.WEIBLICH;
- }
- }
Add Comment
Please, Sign In to add comment