Guest User

Untitled

a guest
Jul 16th, 2018
187
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.48 KB | None | 0 0
  1. package dbinitialization;
  2.  
  3. import java.math.BigInteger;
  4. import java.security.SecureRandom;
  5. import java.util.ArrayList;
  6. import java.util.Calendar;
  7. import java.util.Date;
  8. import java.util.Random;
  9.  
  10. import persistence.Arzt;
  11. import persistence.Patient;
  12. import persistence.SystemNutzer;
  13. import persistence.SystemNutzer.Geschlecht;
  14. import service.Service;
  15.  
  16. public class PersonCreator {
  17.  
  18. private Random randomGenerator = new Random();
  19. private ArrayList<Arzt> arztListe = new ArrayList<Arzt>();
  20. private ArrayList<Patient> patientListe = new ArrayList<Patient>();
  21.  
  22. private String[] vornameM = { "Max", "Alex", "Martino", "Aranito",
  23. "Faulenzio", "Predator", "Bill", "Micha", "Bernard", "abdullah",
  24. "Angel", "Darko", "Drago", "Waldemar", "Wladimir", "Marco",
  25. "Dejan", "Alexander", "Benjamin", "Leon", "Rudolf", "Hans-Jürgen",
  26. "Phoenix", "Walter", "Silvio", "Wesam", "Rudolf", "Samir", "Elvis",
  27. "Borat", "Bruce", "Jackie", "Jose", "Joe", "Enrique", "Ricardo",
  28. "Ramon" };
  29. private String[] vornameW = { "Angela", "Anja", "Natascha", "Magda",
  30. "Lena", "Stefania", "Sofia", "Tiffany", "Jose", "Joe", "Zoey",
  31. "Enrique", "Ricardo", "Makoto", "Ramona", "Wahiba", "Linda",
  32. "Julia", "Olga", "Helen", "Sarah", "Jasmin", "Elena", "Tara",
  33. "Tamara", "Silvia", "Hannah", "Lea", "Lucy", "Giselle", "Samira",
  34. "Solveig", "Marta", "Anja", "Medina", "Danuta", "Sülcey", "Nikita",
  35. "Sonja", "Konstantina", "Aischa", "Milica" };
  36. private String[] nachnameArray = { "Meier", "Müller", "Radovic", "Julka",
  37. "Zimmermann", "Bronstein", "Stern", "Assis", "Mc Millan", "Rizzi",
  38. "Canelloni", "Chirac", "Sarkozy", "Park", "Palin", "Trupp",
  39. "Forch", "Müllerschön", "Schmidt", "Laun", "Schearzkompf",
  40. "Kosmaul", "Hund", "Ackerman", "Lee", "Chan", "Xu", "Yamamoto",
  41. "Masato", "Shinoda", "Bauer", "Bork", "Walter", "Mert", "Krasniqi",
  42. "Gashi", "Schiling", "Weínsberg", "Corlaso", "Faruk", "Moor",
  43. "Gonzalez", "Maldonado", "Rubiales", "Lopez", "Gomez",
  44. "Hautamäkki", "Hillpalla", "Burgos" };
  45. private String[] strasse = { "Hauptstraße", "Bahnhofstraße",
  46. "Schillerstraße", "Goethestraße", "Luisenstraße", "Postallee",
  47. "Reichsallee", "Kaiserallee", "Klosterweg", "Karlstraße",
  48. "Hinter der Burg", "Wilhemstraße", "Wilhelm-Leuchner-Straße",
  49. "Im Sand", "Yorkstraße", "Gassiweg", "Industriegebiet",
  50. "Eckenerstraße", "Bilderweg", "Marktplatz", "Europaplatz",
  51. "Fliederweg", "Joseph-Haydn-Straße", "Beethovenstraße", "Rosenweg",
  52. "Durlacher Weg" };
  53. private String[] wohnort = { "Nabburg", "Nagold", "Naila", "Nassau",
  54. "Nastätten", "Nauen", "Neckarsulm", "Naumburg", "Naunhof", "Nebra",
  55. "Neckarbischofsheim", "Magdala", "Magdeburg", "Mahlberg",
  56. "Mainbernheim", "Mainburg", "Maintal", "Mainz", "Laage", "Laatzen",
  57. "Ladenburg", "Lage", "Lahnstein", "Lahr/Schwarzwald", "Haan",
  58. "Hachenburg", "Hadamar", "Hagen", "Hagenbach", "Bad Belzig",
  59. "Bad Bentheim", "Bad Bergzabern", "Bad Berka", "Bad Berleburg",
  60. "Bad Berneck im Fichtelgebirge", "Bad Bevensen ", "Bad Bibra",
  61. "Bad Blankenburg", "Gera" };
  62. private String[] vorwahl = { "0151", "07131", "02451", "0630", "06535",
  63. "07634" };
  64. private String[] emailAdressenEndung = { "@gmx.de", "@web.de",
  65. "@gmail.com", "@yahoo.com", "@1und1.de", "@t-online.de",
  66. "@green.de", "@isp.net", "@atnt.com", "@verizon.com",
  67. "@telefonica.es" };
  68. private Date date;
  69.  
  70. private Geschlecht geschlecht;
  71. private String telefonnummer;
  72. private String emailadresse;
  73. private String hausnummer;
  74. private String[] zusatz = { "a", "b", "c" };
  75. private String plz;
  76. private String[] sotialversicherungsNummer = { "" };
  77. // Patientendaten
  78. private String[] krankenversicherung = { "BKK", "AOK", "Barmer", "TK",
  79. "IKK", "BBK", "Hallersche", "Debeka" };
  80.  
  81. private String versichertenNummer;
  82.  
  83. public PersonCreator(int anzahlPatienten, int anzahlAerzte) {
  84. if (anzahlPatienten > 0) {
  85. for (int i = 0; i < anzahlPatienten; i++) {
  86. this.patientListe.add(createPatient());
  87. }
  88. }
  89.  
  90. if (anzahlAerzte > 0) {
  91. for (int i = 0; i < anzahlAerzte; i++) {
  92. this.arztListe.add(createArzt());
  93. }
  94. }
  95.  
  96. Arzt standardArzt = createArzt();
  97. if (standardArzt instanceof SystemNutzer) {
  98. standardArzt.setSozialversicherungsNummer("arzt");
  99. standardArzt.setPasswort("arzt");
  100. }
  101. this.arztListe.add(0, standardArzt);
  102.  
  103. Patient standardPatient = createPatient();
  104. if (standardPatient instanceof SystemNutzer) {
  105. standardPatient.setSozialversicherungsNummer("patient");
  106. standardPatient.setPasswort("patient");
  107. }
  108.  
  109. Service service = new Service();
  110.  
  111. for (Arzt arzt : this.arztListe) {
  112. try {
  113. service.store(arzt);
  114. } catch (Exception e) {
  115. // TODO Auto-generated catch block
  116. e.printStackTrace();
  117. }
  118. }
  119.  
  120. for (Patient patient : this.patientListe) {
  121. try {
  122. service.store(patient);
  123. } catch (Exception e) {
  124. // TODO Auto-generated catch block
  125. e.printStackTrace();
  126. }
  127. }
  128. }
  129.  
  130. public Arzt createArzt() {
  131. String vorname = createRandomVorname();
  132. String nachname = createRandomNachname();
  133. Geschlecht geschlecht = getGeschlecht(vorname);
  134. Date geburtsDatum = createRandomDate();
  135. String sozialversicherungsNummer = createRandomVersicherungsnummer();
  136. String passwort = createRandomAlphaNumeric(36);
  137. String telefonNummer = createRandomTelefonnummer();
  138. String emailAdresse = creatRandomEmailAdresse(vorname, nachname);
  139. String strasse = createRandomStrasse();
  140. String hausnummer = createRandomHausnummer();
  141. String zusatz = createRandomZusatz();
  142. String plz = createRandomPLZ();
  143. String wohnort = createRandomWohnort();
  144.  
  145. Arzt arzt = new Arzt(vorname, nachname, geburtsDatum, geschlecht,
  146. sozialversicherungsNummer, passwort, telefonnummer,
  147. emailAdresse, strasse, hausnummer, zusatz, plz, wohnort);
  148. return arzt;
  149. }
  150.  
  151. public Patient createPatient() {
  152.  
  153. String vorname = createRandomVorname();
  154. String nachname = createRandomNachname();
  155. Geschlecht geschlecht = getGeschlecht(vorname);
  156. Date geburtsDatum = createRandomDate();
  157. String sozialversicherungsNummer = createRandomVersicherungsnummer();
  158. String passwort = createRandomAlphaNumeric(36);
  159. String telefonNummer = createRandomTelefonnummer();
  160. String emailAdresse = creatRandomEmailAdresse(vorname, nachname);
  161. String strasse = createRandomStrasse();
  162. String hausnummer = createRandomHausnummer();
  163. String zusatz = createRandomZusatz();
  164. String plz = createRandomPLZ();
  165. String wohnort = createRandomWohnort();
  166. String krankenversicherung = createRandomKrankenversicherung();
  167.  
  168. Patient patient = new Patient(vorname, nachname, geburtsDatum,
  169. geschlecht, sozialversicherungsNummer, passwort, telefonNummer,
  170. emailAdresse, strasse, hausnummer, zusatz, plz, wohnort,
  171. krankenversicherung, hausnummer);
  172. return patient;
  173. }
  174.  
  175. public String createKrankenversicherungsNummer() {
  176. int zufall = randomGenerator.nextInt(100000000);
  177. return "" + zufall;
  178. }
  179.  
  180. /**
  181. * Erzeugt einen zufaelligen alphanumerischen String
  182. *
  183. * @param size
  184. * - fuer 8 Stellen size = 36 waehlen, fuer 10 Stellen size = 46
  185. * @return
  186. */
  187. public String createRandomAlphaNumeric(int size) {
  188. SecureRandom random = new SecureRandom();
  189. return (new BigInteger(size, random).toString(32));
  190. };
  191.  
  192. /**
  193. * Erzeugt ein zufaelliges Datum
  194. *
  195. * @return
  196. */
  197. public Date createRandomDate() {
  198.  
  199. int tag = randomGenerator.nextInt(30) + 1;
  200. int monat = randomGenerator.nextInt(12) + 1;
  201. int jahr = 1930 + randomGenerator.nextInt(70);
  202.  
  203. Calendar cal = Calendar.getInstance();
  204. // Clear all fields
  205. cal.clear();
  206.  
  207. cal.set(Calendar.YEAR, jahr);
  208. cal.set(Calendar.MONTH, monat);
  209. cal.set(Calendar.DATE, tag);
  210.  
  211. Date datum = cal.getTime();
  212.  
  213. return datum;
  214. }
  215.  
  216. /**
  217. * Erzeugt eine zufaellige Hausnummer
  218. *
  219. * @return String hausnummer
  220. */
  221. public String createRandomHausnummer() {
  222. return randomGenerator.nextInt(1000) + "";
  223. }
  224.  
  225. /**
  226. * Erzeugt eine zufaellige Krankenversicherung
  227. *
  228. * @return
  229. */
  230. public String createRandomKrankenversicherung() {
  231.  
  232. int krankenversicherungIndex = randomGenerator
  233. .nextInt(krankenversicherung.length);
  234.  
  235. return krankenversicherung[krankenversicherungIndex];
  236. }
  237.  
  238. /**
  239. * Erzeugt einen zufaelligen Nachname
  240. *
  241. * @return
  242. */
  243. public String createRandomNachname() {
  244.  
  245. int nachnameIndex = randomGenerator.nextInt(nachnameArray.length);
  246. return nachnameArray[nachnameIndex];
  247. }
  248.  
  249. public String createRandomPassword() {
  250. return createRandomAlphaNumeric(36);
  251. }
  252.  
  253. /**
  254. * Erzeugt eine zufaellige 5 Stellige PLZ
  255. *
  256. * @return
  257. */
  258. public String createRandomPLZ() {
  259. int PLZ = randomGenerator.nextInt(99999);
  260. if (PLZ < 10000) {
  261. PLZ += 10017;
  262. }
  263. return PLZ + "";
  264. }
  265.  
  266. /**
  267. * Erzeugt einen zufaelligen Strassenamen
  268. *
  269. * @return
  270. */
  271. public String createRandomStrasse() {
  272.  
  273. int strasseIndex = randomGenerator.nextInt(strasse.length);
  274. return strasse[strasseIndex];
  275. }
  276.  
  277. public String createRandomTelefonnummer() {
  278. int zufallVorwahl = randomGenerator.nextInt(vorwahl.length);
  279. int telefonnummer = randomGenerator.nextInt(100000);
  280. return vorwahl[zufallVorwahl] + telefonnummer;
  281. }
  282.  
  283. public String createRandomVersicherungsnummer() {
  284. return createRandomAlphaNumeric(46);
  285. }
  286.  
  287. /**
  288. * Erzeugt einen zufaelligen Vornamen
  289. *
  290. * @return String
  291. */
  292. public String createRandomVorname() {
  293. double i = Math.random();
  294. // Geschlecht bestimmen und Vorname waehlen
  295. // weiblich
  296. if (i <= 0.51) {
  297. int vornameIndex = randomGenerator.nextInt(vornameW.length);
  298. return vornameW[vornameIndex];
  299. }
  300. // maennlich
  301. else {
  302. int vornameIndex = randomGenerator.nextInt(vornameM.length);
  303. return vornameM[vornameIndex];
  304. }
  305. }
  306.  
  307. /**
  308. * Erzeugt einen zufaelligen Wohnort
  309. *
  310. * @return
  311. */
  312. public String createRandomWohnort() {
  313.  
  314. int wohnortIndex = randomGenerator.nextInt(wohnort.length);
  315. return wohnort[wohnortIndex];
  316. }
  317.  
  318. public String createRandomZusatz() {
  319. return zusatz[randomGenerator.nextInt(zusatz.length)];
  320. }
  321.  
  322. public String creatRandomEmailAdresse(String vorname, String nachname) {
  323. int emailIndex = randomGenerator.nextInt(emailAdressenEndung.length);
  324. return vorname + "." + nachname + createRandomAlphaNumeric(28)
  325. + emailAdressenEndung[emailIndex];
  326. }
  327.  
  328. public Geschlecht getGeschlecht(String vorname) {
  329. for (int i = 0; i < vornameM.length; i++) {
  330. if (vornameM[i].contentEquals(vorname)) {
  331. return Geschlecht.MAENNLICH;
  332. }
  333. }
  334. return Geschlecht.WEIBLICH;
  335. }
  336.  
  337. }
Add Comment
Please, Sign In to add comment