Skip to content

Commit 95e97e6

Browse files
committed
Fixed workAt from date generation
1 parent 2bf5836 commit 95e97e6

File tree

2 files changed

+19
-30
lines changed

2 files changed

+19
-30
lines changed

src/main/java/ldbc/snb/datagen/generator/DateGenerator.java

Lines changed: 17 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -216,29 +216,23 @@ public int getBirthMonth(long birthDay) {
216216
//User's age for graduating is from 20 to 30
217217

218218
public long getClassYear(Random random, long userCreatedDate, long birthday) {
219-
long age;
220-
long graduateage = (random.nextInt(5) + 20) * ONE_YEAR;
221-
if (birthday != -1) {
222-
return (long) (birthday + graduateage);
223-
} else {
224-
age = (long) (random.nextDouble() * THIRTY_YEARS + TEN_YEARS);
225-
return (userCreatedDate - age + graduateage);
226-
}
227-
}
228-
229-
public long getWorkFromYear(Random random, long userCreatedDate, long birthday) {
230-
long age;
231-
long workingage = (random.nextInt(10) + 25) * ONE_YEAR;
232-
if (birthday != -1) {
233-
return (long) (birthday + workingage);
234-
} else {
235-
age = (long) (random.nextDouble() * THIRTY_YEARS + TEN_YEARS);
236-
return (userCreatedDate - age + workingage);
237-
}
238-
}
239-
240-
public long getWorkFromYear(Random random, long classYear) {
241-
return (classYear + (long) (random.nextDouble() * TWO_YEARS));
219+
long graduateage = (random.nextInt(5) + 18) * ONE_YEAR;
220+
long classYear = birthday + graduateage;
221+
if( classYear > this.to_ ) return -1;
222+
return classYear;
223+
}
224+
225+
public long getWorkFromYear(Random random, long classYear, long birthday) {
226+
long workYear = 0;
227+
if( classYear == -1) {
228+
//long workingage = (random.nextInt(10) + 25) * ONE_YEAR;
229+
long workingage = 18 * ONE_YEAR;
230+
long from = birthday + workingage;
231+
workYear = Math.min((long)(random.nextDouble()*(to_ - from)) + from, to_);
232+
} else {
233+
workYear = (classYear + (long) (random.nextDouble() * TWO_YEARS));
234+
}
235+
return workYear;
242236
}
243237

244238
public long getStartDateTime() {

src/main/java/ldbc/snb/datagen/generator/PersonGenerator.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -117,14 +117,9 @@ private Person generateUser() {
117117
if (prob >= DatagenParams.missingRatio) {
118118
for (int i = 0; i < numCompanies; i++) {
119119
long workFrom;
120-
if (person.classYear() != -1) {
121-
workFrom = Dictionaries.dates.getWorkFromYear(randomFarm.get(RandomGeneratorFarm.Aspect.DATE),
122-
person.creationDate(),
120+
workFrom = Dictionaries.dates.getWorkFromYear(randomFarm.get(RandomGeneratorFarm.Aspect.DATE),
121+
person.classYear(),
123122
person.birthDay());
124-
} else {
125-
workFrom = Dictionaries.dates.getWorkFromYear(randomFarm.get(RandomGeneratorFarm.Aspect.DATE),
126-
person.classYear());
127-
}
128123
long company = Dictionaries.companies.getRandomCompany(randomFarm, person.countryId());
129124
person.companies().put(company, workFrom);
130125
}

0 commit comments

Comments
 (0)