Advertisement
Guest User

Untitled

a guest
Nov 22nd, 2017
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.92 KB | None | 0 0
  1. package generators;
  2.  
  3. import components.Nationality;
  4.  
  5. import java.util.Calendar;
  6. import java.util.Date;
  7. import java.util.GregorianCalendar;
  8. import java.util.Random;
  9.  
  10. public abstract class Person_generator {
  11.  
  12. protected static Random random = new Random();
  13.  
  14. protected static String generateName() {
  15. String alphabet = "abcdefghijklmnopqrstuvwxyz";
  16. StringBuilder nameBuilder = new StringBuilder(random.nextInt(11) + 5);
  17.  
  18. for(int i = 0; i < nameBuilder.capacity(); i++) {
  19. String add = "" + alphabet.charAt(random.nextInt(alphabet.length()));
  20. if(i == 0) {
  21. add = add.toUpperCase();
  22. }
  23. nameBuilder.append(add);
  24. }
  25. return nameBuilder.toString();
  26. }
  27.  
  28. protected static Date generateDate(final int minYear, final int maxYear) {
  29. Calendar result_cal = new GregorianCalendar();
  30.  
  31. int currYear = Calendar.getInstance().get(Calendar.YEAR);
  32.  
  33. int result_year = random.nextInt(maxYear - minYear) + currYear - maxYear;
  34. result_cal.set(Calendar.YEAR, result_year);
  35.  
  36. int result_dayOfYear = random.nextInt(result_cal.getActualMaximum(Calendar.DAY_OF_YEAR)) + 1;
  37. result_cal.set(Calendar.DAY_OF_YEAR, result_dayOfYear);
  38.  
  39. return result_cal.getTime();
  40. }
  41.  
  42. protected static Date generateBirthdate() {
  43. return generateDate(20, 80);
  44. }
  45.  
  46. protected static Nationality generateNationality() {
  47. return Nationality.values()[random.nextInt(Nationality.values().length)];
  48. }
  49. }
  50.  
  51.  
  52. package generators;
  53.  
  54. import components.Student;
  55.  
  56. import java.util.HashSet;
  57. import java.util.Set;
  58.  
  59. public class Students_generator extends Person_generator {
  60.  
  61. public static Set<Student> generateStudents(int num) throws Exception {
  62. Set<Student> result = new HashSet<>();
  63.  
  64. for(int i = 0; i < num; i++) {
  65. result.add(new Student(generateName(), generateName(), generateBirthdate(), generateNationality(),
  66. generateStudentNum()));
  67. }
  68. return result;
  69. }
  70.  
  71. private static int generateStudentNum() {
  72. return random.nextInt(500000) + 1;
  73. }
  74. }
  75.  
  76.  
  77. package generators;
  78.  
  79. import components.Teacher;
  80.  
  81. import java.util.HashSet;
  82. import java.util.Set;
  83.  
  84. public class Teachers_generator extends Person_generator {
  85.  
  86. public static Set<Teacher> generateTeachers(int num) throws Exception {
  87. Set<Teacher> result = new HashSet<>();
  88.  
  89. for(int i = 0; i < num; i++) {
  90. result.add(new Teacher(generateName(), generateName(), generateNationality(), generateBirthdate(),
  91. generateDegree(), generateDate(0, 30)));
  92. }
  93. return result;
  94. }
  95.  
  96. private static Teacher.Degree generateDegree() {
  97. return Teacher.Degree.values()[random.nextInt(Teacher.Degree.values().length)];
  98. }
  99.  
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement