--- a
+++ b/recommendation-engine/src/main/java/eu/alfred/personalization_manager/client/MockupProfileGenerator.java
@@ -0,0 +1,90 @@
+package eu.alfred.personalization_manager.client;
+
+import java.sql.Timestamp;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.Date;
+import java.util.List;
+import java.util.Random;
+
+import eu.alfred.personalization_manager.model.*;
+
+public class MockupProfileGenerator {
+
+ private UserProfile user;
+ private final List<String> manNames = Arrays.asList(new String[] {"Dan","Bram","Sam","Lucas","Luke", "Maximilian","Alexander","Pier",
+ "Paul","Ben","Leon","Luis","Jonas","Gabriel", "Raphael","Hugo-"});
+ private final List<String> womanNames = Arrays.asList(new String[] {"Emma","Sophie","Julia","Anna","Lisa","Eva","Chloe","Ines",
+ "Lea","Manon","Jade","Louise","Lena","Lina"});
+ private final List<String> lastNames = Arrays.asList(new String[] {"Martin","Bernard","Dubois","Thomas","Robert","Richard","Petit",
+ "Durand","Leroy","Moreau","M��ller","Schmidt","Schneider","Fischer","Meyer","Weber",
+ "Schulz","De Jong","Jansen","De Vries","Van den Berg","Janssen","Visser","Smit"});
+ private final List<String> cities = Arrays.asList(new String[] {"Utrecht", "Berlin", "Paris"});
+ private final List<String> citizenship = Arrays.asList(new String[] {"German", "French", "Dutch"});
+ private final List<String> interests = Arrays.asList(new String[] {"theater", "music", "sports", "travel", "arts","poetry","movies",
+ "books","culture","beach","nature","workshops","culinary","museums","circus"});
+ private final List<String> personality = Arrays.asList(new String[] {"friendly","quiet","social","kind","adventurous","energetic","artistic","smart","happy"});
+
+ private List<EducationLevel> eduLvls = Collections.unmodifiableList(Arrays.asList(EducationLevel.values()));
+ private List<MyersBriggsTypeIndicator> mbIndics = Collections.unmodifiableList(Arrays.asList(MyersBriggsTypeIndicator.values()));
+ private List<Gender> genders = Collections.unmodifiableList(Arrays.asList(Gender.values()));
+ private List<Language> langs = Collections.unmodifiableList(Arrays.asList(Language.values()));
+ private List<MaritalStatus> maritalStats = Collections.unmodifiableList(Arrays.asList(MaritalStatus.values()));
+ Random random = new Random();
+
+ public MockupProfileGenerator() {
+ this.user = new UserProfile();
+ }
+
+ public UserProfile generateUserProfileMock() {
+ String fName;
+ String lName = lastNames.get(random.nextInt(lastNames.size()));
+ Address userAddress = new Address();
+ userAddress.setCity(cities.get(random.nextInt(cities.size())));
+ userAddress.setPostalCode(random.nextInt(9)+""+random.nextInt(9)+""+random.nextInt(9)+""+random.nextInt(9)+""+" AL");
+ userAddress.setStreet("ALFRED Street");
+ userAddress.setNumber(random.nextInt(200)+"");
+ Gender gen = genders.get(random.nextInt(genders.size()));
+ if(gen.equals(Gender.FEMALE)) {
+ fName = womanNames.get(random.nextInt(womanNames.size()));
+ user.setFirstName(fName);
+ user.setGender(Gender.FEMALE);
+ }else {
+ fName = manNames.get(random.nextInt(manNames.size()));
+ user.setFirstName(fName);
+ user.setGender(Gender.MALE);
+ }
+ user.setResidentialAddress(userAddress);
+ user.setLastName(lName);
+ user.setAlfredUserName((fName+lName).replace(" ", "."));
+ user.setCitizenship(citizenship.get(random.nextInt(citizenship.size())));
+ user.setEducationLevel(eduLvls.get(random.nextInt(eduLvls.size())));
+ user.setEmail((fName+"."+lName).replace(" ", ".")+"@alfred.eu");
+ user.setInterests(new String[]{interests.get(random.nextInt(interests.size())) + interests.get(random.nextInt(interests.size())) + interests.get(random.nextInt(interests.size()))});
+ user.setDateOfBirth(new Date(generateBirthDate())); /////////////////////////////////////////
+ user.setMaritalStatus(maritalStats.get(random.nextInt(maritalStats.size())));
+ user.setHealthInsurance("health-insurance-"+random.nextInt(9)+""+random.nextInt(9)+""+random.nextInt(9)+""+random.nextInt(9)+""+"defe43"+random.nextInt(9)+""+random.nextInt(9));
+ user.setLanguage(langs.get(random.nextInt(langs.size())));
+ user.setMobilePhone("316"+random.nextInt(9)+random.nextInt(9)+"7239"+random.nextInt(9)+random.nextInt(9)+random.nextInt(9));
+ user.setMyersBriggsIndicator(mbIndics.get(random.nextInt(mbIndics.size())));
+ user.setSocialSecurityNumber(random.nextInt(9)+""+random.nextInt(9)+""+random.nextInt(9)+""+random.nextInt(9)+""+"49"+random.nextInt(9)+""+random.nextInt(9)+""+random.nextInt(9)+""+random.nextInt(9));
+ user.setPrefferedName(fName.substring(0,3));
+ user.setSelfDescrPersonalityChar(new String[] {personality.get(random.nextInt(personality.size()))+personality.get(random.nextInt(personality.size()))+personality.get(random.nextInt(personality.size()))});
+
+
+ return this.user;
+ }
+
+ private Long generateBirthDate() {
+ /*long offset = Timestamp.valueOf("1940-01-01 00:00:00").getTime();
+ long end = Timestamp.valueOf("1965-01-01 00:00:00").getTime();
+ long diff=end-offset+1;
+
+ return (long) Math.random()*diff;*/
+
+ int a=(int) (4+Math.random()*3);
+ int b=(int) (1+Math.random()*9);
+
+ return Timestamp.valueOf("19"+a+b+"-01-01 00:00:00").getTime();
+ }
+}