-
Notifications
You must be signed in to change notification settings - Fork 70
/
Copy pathSeedData.java
executable file
·127 lines (125 loc) · 4.46 KB
/
SeedData.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
package com.lambdaschool.usermodel;
import com.github.javafaker.Faker;
import com.github.javafaker.service.FakeValuesService;
import com.github.javafaker.service.RandomService;
import com.lambdaschool.usermodel.models.Role;
import com.lambdaschool.usermodel.models.User;
import com.lambdaschool.usermodel.models.UserRoles;
import com.lambdaschool.usermodel.models.Useremail;
import com.lambdaschool.usermodel.services.RoleService;
import com.lambdaschool.usermodel.services.UserService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Locale;
@Transactional
@Component
public class SeedData implements CommandLineRunner
{
@Autowired
RoleService roleService;
@Autowired
UserService userService;
@Override
public void run(String[] args) throws Exception
{
Role r1 = new Role("admin");
Role r2 = new Role("user");
Role r3 = new Role("data");
r1 = roleService.save(r1);
r2 = roleService.save(r2);
r3 = roleService.save(r3);
// admin, data, user
ArrayList<UserRoles> admins = new ArrayList<>();
admins.add(new UserRoles(new User(),
r1));
admins.add(new UserRoles(new User(),
r2));
admins.add(new UserRoles(new User(),
r3));
User u1 = new User("admin",
"password",
admins);
u1.getUseremails()
.add(new Useremail(u1,
"[email protected]"));
u1.getUseremails()
.add(new Useremail(u1,
"[email protected]"));
userService.save(u1);
// data, user
ArrayList<UserRoles> datas = new ArrayList<>();
datas.add(new UserRoles(new User(),
r3));
datas.add(new UserRoles(new User(),
r2));
User u2 = new User("cinnamon",
"1234567",
datas);
u2.getUseremails()
.add(new Useremail(u2,
"[email protected]"));
u2.getUseremails()
.add(new Useremail(u2,
"[email protected]"));
u2.getUseremails()
.add(new Useremail(u2,
"[email protected]"));
userService.save(u2);
ArrayList<UserRoles> users = new ArrayList<>();
users.add(new UserRoles(new User(),
r2));
User u3 = new User("barnbarn",
"ILuvM4th!",
users);
u3.getUseremails()
.add(new Useremail(u3,
"[email protected]"));
userService.save(u3);
users = new ArrayList<>();
users.add(new UserRoles(new User(),
r2));
User u4 = new User("puttat",
"password",
users);
userService.save(u4);
users = new ArrayList<>();
users.add(new UserRoles(new User(),
r2));
User u5 = new User("misskitty",
"password",
users);
userService.save(u5);
// using JavaFaker create a bunch of regular users
// https://www.baeldung.com/java-faker
// https://www.baeldung.com/regular-expressions-java
FakeValuesService fakeValuesService = new FakeValuesService(new Locale("en-US"),
new RandomService());
Faker nameFaker = new Faker(new Locale("en-US"));
for (int i = 0; i < 100; i++)
{
new User();
User fakeUser;
users = new ArrayList<>();
users.add(new UserRoles(new User(),
r2));
fakeUser = new User(nameFaker.name()
.username(),
"password",
nameFaker.internet()
.emailAddress(),
users);
fakeUser.getUseremails()
.add(new Useremail(fakeUser,
fakeValuesService.bothify("????##@gmail.com")));
userService.save(fakeUser);
}
}
}