Skip to content

Commit 6f283fc

Browse files
Merge pull request #3 from ithsjava25/branch/workingbranch
Refactored DatabaseFiller
2 parents 4a9582a + a5200f4 commit 6f283fc

19 files changed

Lines changed: 556 additions & 282 deletions

src/main/java/org/example/App.java

Lines changed: 20 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@
77
import org.example.pojo.*;
88
import org.hibernate.jpa.HibernatePersistenceConfiguration;
99

10+
import java.util.List;
11+
import java.util.Map;
12+
1013
public class App {
1114
public static void main(String[] args) {
1215

@@ -29,14 +32,25 @@ public static void main(String[] args) {
2932
try{
3033
tx.begin();
3134

32-
DatabaseFiller filler = new DatabaseFiller(em);
33-
filler.seedActors();
34-
filler.seedDirectors();
35-
filler.seedMovies();
36-
filler.seedGenres();
37-
filler.seedUsers();
35+
SeedGenres seedGenres = new SeedGenres(em);
36+
Map<String, Genre> genres = seedGenres.seed();
37+
//seedGenres.seedGenres();
38+
39+
SeedActors seedActors = new SeedActors(em);
40+
Map<String, Actor> actors = seedActors.seed();
41+
42+
SeedDirectors seedDirectors = new SeedDirectors(em);
43+
Map<String, Director> directors = seedDirectors.seed();
44+
//seedDirectors.seedDirectors();
45+
46+
SeedMovies seedMovies = new SeedMovies(em);
47+
seedMovies.seedMovies();
48+
49+
SeedUsers seedUsers = new SeedUsers(em);
50+
seedUsers.seedUsers();
3851

3952
tx.commit();
53+
4054
} catch (RuntimeException e) {
4155
if (tx.isActive()) {
4256
tx.rollback();

src/main/java/org/example/DatabaseFiller.java

Lines changed: 3 additions & 253 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,12 @@
55
import org.example.enums.Country;
66
import org.example.enums.Language;
77
import org.example.jpaimpl.*;
8+
import org.example.pojo.Actor;
89
import org.example.pojo.Movie;
910

1011
import java.time.LocalDate;
12+
import java.util.HashMap;
13+
import java.util.Map;
1114

1215
public class DatabaseFiller {
1316

@@ -17,260 +20,7 @@ public DatabaseFiller(EntityManager em) {
1720
this.em = em;
1821
}
1922

20-
public void seedActors() {
21-
ActorRepoJpa actorRepo = new ActorRepoJpa(em);
2223

23-
actorRepo.addActor("Robert Downey Jr.", Country.USA);
24-
actorRepo.addActor("Scarlett Johansson", Country.USA);
25-
actorRepo.addActor("Chris Hemsworth", Country.AUSTRALIA);
26-
actorRepo.addActor("Chris Evans", Country.USA);
27-
actorRepo.addActor("Mark Ruffalo", Country.USA);
28-
actorRepo.addActor("Jeremy Renner", Country.USA);
29-
actorRepo.addActor("Tom Holland", Country.UK);
30-
actorRepo.addActor("Benedict Cumberbatch", Country.UK);
31-
actorRepo.addActor("Paul Rudd", Country.USA);
32-
actorRepo.addActor("Elizabeth Olsen", Country.USA);
33-
actorRepo.addActor("Brie Larson", Country.USA);
34-
actorRepo.addActor("Chadwick Boseman", Country.USA);
35-
actorRepo.addActor("Anthony Mackie", Country.USA);
36-
actorRepo.addActor("Sebastian Stan", Country.ROMANIA);
37-
actorRepo.addActor("Don Cheadle", Country.USA);
38-
actorRepo.addActor("Samuel L. Jackson", Country.USA);
39-
actorRepo.addActor("Cobie Smulders", Country.CANADA);
40-
actorRepo.addActor("Tom Hiddleston", Country.UK);
41-
actorRepo.addActor("Natalie Portman", Country.USA);
42-
actorRepo.addActor("Christian Bale", Country.UK);
43-
actorRepo.addActor("Heath Ledger", Country.AUSTRALIA);
44-
actorRepo.addActor("Joaquin Phoenix", Country.USA);
45-
actorRepo.addActor("Anne Hathaway", Country.USA);
46-
actorRepo.addActor("Gary Oldman", Country.UK);
47-
actorRepo.addActor("Morgan Freeman", Country.USA);
48-
actorRepo.addActor("Brad Pitt", Country.USA);
49-
actorRepo.addActor("Leonardo DiCaprio", Country.USA);
50-
actorRepo.addActor("Matt Damon", Country.USA);
51-
actorRepo.addActor("Ben Affleck", Country.USA);
52-
actorRepo.addActor("Angelina Jolie", Country.USA);
53-
actorRepo.addActor("Jennifer Lawrence", Country.USA);
54-
actorRepo.addActor("Emma Stone", Country.USA);
55-
actorRepo.addActor("Ryan Gosling", Country.CANADA);
56-
actorRepo.addActor("Hugh Jackman", Country.AUSTRALIA);
57-
actorRepo.addActor("Chris Pratt", Country.USA);
58-
actorRepo.addActor("Zoe Saldana", Country.USA);
59-
actorRepo.addActor("Dave Bautista", Country.USA);
60-
actorRepo.addActor("Vin Diesel", Country.USA);
61-
actorRepo.addActor("Michelle Rodriguez", Country.USA);
62-
actorRepo.addActor("Gal Gadot", Country.ISRAEL);
63-
actorRepo.addActor("Henry Cavill", Country.UK);
64-
actorRepo.addActor("Ben Kingsley", Country.UK);
65-
actorRepo.addActor("Judi Dench", Country.UK);
66-
actorRepo.addActor("Ian McKellen", Country.UK);
67-
actorRepo.addActor("Patrick Stewart", Country.UK);
68-
actorRepo.addActor("Michael Fassbender", Country.GERMANY);
69-
actorRepo.addActor("James McAvoy", Country.UK);
70-
actorRepo.addActor("Tilda Swinton", Country.UK);
71-
actorRepo.addActor("Kate Winslet", Country.UK);
72-
actorRepo.addActor("Rachel Weisz", Country.UK);
73-
actorRepo.addActor("Naomi Watts", Country.AUSTRALIA);
74-
}
75-
76-
@Transactional
77-
public void seedDirectors() {
78-
DirectorRepoJpa directorRepo = new DirectorRepoJpa(em);
79-
80-
directorRepo.addDirector("Steven Spielberg", Country.USA);
81-
directorRepo.addDirector("Christopher Nolan", Country.UK);
82-
directorRepo.addDirector("Quentin Tarantino", Country.USA);
83-
directorRepo.addDirector("Martin Scorsese", Country.USA);
84-
directorRepo.addDirector("James Cameron", Country.CANADA);
85-
directorRepo.addDirector("Ridley Scott", Country.UK);
86-
directorRepo.addDirector("Peter Jackson", Country.NEW_ZEALAND);
87-
directorRepo.addDirector("Alfonso Cuarón", Country.MEXICO);
88-
directorRepo.addDirector("Guillermo del Toro", Country.MEXICO);
89-
directorRepo.addDirector("Clint Eastwood", Country.USA);
90-
directorRepo.addDirector("Tim Burton", Country.USA);
91-
directorRepo.addDirector("Wes Anderson", Country.USA);
92-
directorRepo.addDirector("David Fincher", Country.USA);
93-
directorRepo.addDirector("Spike Lee", Country.USA);
94-
directorRepo.addDirector("George Miller", Country.AUSTRALIA);
95-
directorRepo.addDirector("Taika Waititi", Country.NEW_ZEALAND);
96-
directorRepo.addDirector("Ang Lee", Country.TAIWAN);
97-
directorRepo.addDirector("Paul Thomas Anderson", Country.USA);
98-
directorRepo.addDirector("Sofia Coppola", Country.USA);
99-
directorRepo.addDirector("Greta Gerwig", Country.USA);
100-
}
101-
102-
@Transactional
103-
public void seedMovies() {
104-
MovieRepoJpa movieRepo = new MovieRepoJpa(em);
105-
106-
Object[][] movies = {
107-
{"Avengers: Endgame", LocalDate.parse("2019-04-26"), 181, Country.USA, Language.ENGLISH},
108-
{"Inception", LocalDate.parse("2010-07-16"), 148, Country.USA, Language.ENGLISH},
109-
{"The Dark Knight", LocalDate.parse("2008-07-18"), 152, Country.USA, Language.ENGLISH},
110-
{"Titanic", LocalDate.parse("1997-12-19"), 195, Country.USA, Language.ENGLISH},
111-
{"Jurassic Park", LocalDate.parse("1993-06-11"), 127, Country.USA, Language.ENGLISH},
112-
{"The Matrix", LocalDate.parse("1999-03-31"), 136, Country.USA, Language.ENGLISH},
113-
{"Interstellar", LocalDate.parse("2014-11-07"), 169, Country.USA, Language.ENGLISH},
114-
{"Gladiator", LocalDate.parse("2000-05-05"), 155, Country.USA, Language.ENGLISH},
115-
{"Avatar", LocalDate.parse("2009-12-18"), 162, Country.USA, Language.ENGLISH},
116-
{"Star Wars: A New Hope", LocalDate.parse("1977-05-25"), 121, Country.USA, Language.ENGLISH},
117-
{"The Avengers", LocalDate.parse("2012-05-04"), 143, Country.USA, Language.ENGLISH},
118-
{"Black Panther", LocalDate.parse("2018-02-16"), 134, Country.USA, Language.ENGLISH},
119-
{"Guardians of the Galaxy", LocalDate.parse("2014-08-01"), 121, Country.USA, Language.ENGLISH},
120-
{"Doctor Strange", LocalDate.parse("2016-11-04"), 115, Country.USA, Language.ENGLISH},
121-
{"Thor: Ragnarok", LocalDate.parse("2017-11-03"), 130, Country.USA, Language.ENGLISH},
122-
{"Iron Man", LocalDate.parse("2008-05-02"), 126, Country.USA, Language.ENGLISH},
123-
{"Ant-Man", LocalDate.parse("2015-07-17"), 117, Country.USA, Language.ENGLISH},
124-
{"Spider-Man: Homecoming", LocalDate.parse("2017-07-07"), 133, Country.USA, Language.ENGLISH},
125-
{"Captain America: Civil War", LocalDate.parse("2016-05-06"), 147, Country.USA, Language.ENGLISH},
126-
{"Avengers: Infinity War", LocalDate.parse("2018-04-27"), 149, Country.USA, Language.ENGLISH},
127-
{"The Shadow Realm", LocalDate.parse("2021-10-10"), 142, Country.UK, Language.ENGLISH},
128-
{"Mystic Horizon", LocalDate.parse("2020-03-22"), 128, Country.CANADA, Language.ENGLISH},
129-
{"Cyberpunk Legacy", LocalDate.parse("2019-11-05"), 135, Country.USA, Language.ENGLISH},
130-
{"Galactic Wars: Rebirth", LocalDate.parse("2018-07-12"), 148, Country.USA, Language.ENGLISH},
13124

132-
{"Rise of the Titans", LocalDate.parse("2021-08-18"), 140, Country.USA, Language.ENGLISH},
133-
{"Quantum Rift", LocalDate.parse("2020-05-05"), 130, Country.GERMANY, Language.GERMAN},
134-
{"The Last Oracle", LocalDate.parse("2019-09-10"), 138, Country.FRANCE, Language.FRENCH},
135-
{"Shadow Hunters", LocalDate.parse("2020-10-01"), 125, Country.UK, Language.ENGLISH},
136-
{"Crimson Dawn", LocalDate.parse("2021-03-12"), 137, Country.USA, Language.ENGLISH},
137-
{"Emerald Skies", LocalDate.parse("2018-11-23"), 140, Country.CANADA, Language.ENGLISH},
138-
{"Midnight Chronicles", LocalDate.parse("2019-07-17"), 128, Country.USA, Language.ENGLISH},
13925

140-
{"Dragon Reign", LocalDate.parse("2019-08-14"), 145, Country.UK, Language.ENGLISH},
141-
{"Starlight Odyssey", LocalDate.parse("2020-06-21"), 138, Country.USA, Language.ENGLISH},
142-
{"Iron Horizon", LocalDate.parse("2021-05-11"), 132, Country.GERMANY, Language.GERMAN},
143-
{"Celestial Wars", LocalDate.parse("2022-01-18"), 140, Country.USA, Language.ENGLISH},
144-
{"The Final Realm", LocalDate.parse("2019-09-29"), 136, Country.FRANCE, Language.FRENCH},
145-
{"Neon Shadows", LocalDate.parse("2021-04-02"), 128, Country.UK, Language.ENGLISH},
146-
{"Galactic Dawn", LocalDate.parse("2022-03-20"), 142, Country.USA, Language.ENGLISH},
147-
{"Mystic Wars", LocalDate.parse("2019-11-08"), 135, Country.CANADA, Language.ENGLISH},
148-
149-
{"Twilight Saga: Eclipse", LocalDate.parse("2010-06-30"), 124, Country.USA, Language.ENGLISH},
150-
{"The Last Voyage", LocalDate.parse("2020-08-15"), 130, Country.USA, Language.ENGLISH},
151-
{"Frozen Dawn", LocalDate.parse("2020-12-12"), 128, Country.UK, Language.ENGLISH},
152-
{"Dragonheart Reborn", LocalDate.parse("2019-10-18"), 145, Country.USA, Language.ENGLISH},
153-
{"Starlight Crusade", LocalDate.parse("2021-03-03"), 138, Country.GERMANY, Language.GERMAN},
154-
{"Iron Legacy", LocalDate.parse("2022-05-05"), 132, Country.USA, Language.ENGLISH},
155-
{"Celestial Horizon", LocalDate.parse("2020-09-20"), 140, Country.FRANCE, Language.FRENCH},
156-
{"Neon Odyssey", LocalDate.parse("2019-06-10"), 128, Country.UK, Language.ENGLISH},
157-
{"Galactic Reign", LocalDate.parse("2020-11-25"), 142, Country.USA, Language.ENGLISH},
158-
{"Mystic Eclipse", LocalDate.parse("2021-07-07"), 135, Country.CANADA, Language.ENGLISH}
159-
};
160-
161-
int i = 0;
162-
for (Object[] m : movies) {
163-
movieRepo.addMovie(
164-
(String) m[0],
165-
(LocalDate) m[1],
166-
(int) m[2],
167-
(Country) m[3],
168-
(Language) m[4]
169-
);
170-
171-
i++;
172-
if (i % 20 == 0) {
173-
em.flush();
174-
em.clear();
175-
}
176-
177-
}
178-
179-
}
180-
181-
public void seedGenres() {
182-
GenreRepoJpa genreRepo = new GenreRepoJpa(em);
183-
184-
genreRepo.addGenre("Action");
185-
genreRepo.addGenre("Adventure");
186-
genreRepo.addGenre("Comedy");
187-
genreRepo.addGenre("Drama");
188-
genreRepo.addGenre("Fantasy");
189-
genreRepo.addGenre("Horror");
190-
genreRepo.addGenre("Mystery");
191-
genreRepo.addGenre("Romance");
192-
genreRepo.addGenre("Science Fiction");
193-
genreRepo.addGenre("Thriller");
194-
genreRepo.addGenre("Western");
195-
genreRepo.addGenre("Animation");
196-
genreRepo.addGenre("Musical");
197-
genreRepo.addGenre("Documentary");
198-
genreRepo.addGenre("Crime");
199-
genreRepo.addGenre("War");
200-
genreRepo.addGenre("Biography");
201-
genreRepo.addGenre("Sport");
202-
genreRepo.addGenre("Family");
203-
genreRepo.addGenre("History");
204-
}
205-
206-
public void seedUsers() {
207-
UserRepoJpa userRepo = new UserRepoJpa(em);
208-
209-
String[][] users = {
210-
{"AliceSmith", "pass123"},
211-
{"BobJones", "qwerty"},
212-
{"CharlieBrown", "abc123"},
213-
{"DavidMiller", "password1"},
214-
{"EvaJohnson", "123456"},
215-
{"FrankWilson", "letmein"},
216-
{"GraceLee", "mypassword"},
217-
{"HannahClark", "passw0rd"},
218-
{"IanWalker", "admin123"},
219-
{"JackHall", "welcome1"},
220-
221-
{"KarenYoung", "hello123"},
222-
{"LeoKing", "sunshine"},
223-
{"MiaScott", "flower99"},
224-
{"NathanAdams", "moonlight"},
225-
{"OliviaBaker", "star123"},
226-
{"PeterWright", "dragon1"},
227-
{"QuinnHarris", "blueSky"},
228-
{"RachelGreen", "green123"},
229-
{"SamRoberts", "robot2025"},
230-
{"TinaEvans", "tiger12"},
231-
232-
{"UmaCarter", "queen99"},
233-
{"VictorMitchell", "viking1"},
234-
{"WendyPerez", "wonder12"},
235-
{"XanderCooper", "xmen123"},
236-
{"YaraReed", "yellow22"},
237-
{"ZacharyBell", "zebra99"},
238-
{"AmberRussell", "apple12"},
239-
{"BrandonWard", "banana34"},
240-
{"CaitlynBennett", "catDog1"},
241-
{"DerekCook", "delta99"},
242-
243-
{"EllaFoster", "echo2025"},
244-
{"FelixGray", "falcon1"},
245-
{"GabriellaHunt", "galaxy9"},
246-
{"HenryJames", "harbor12"},
247-
{"IslaKnight", "icecream"},
248-
{"JasonLong", "joker99"},
249-
{"KylieMorgan", "kangaroo"},
250-
{"LiamNelson", "lion123"},
251-
{"MeganOwens", "mountain"},
252-
{"NoahPerry", "nova99"},
253-
254-
{"OlgaQuinn", "olive123"},
255-
{"PaulRoss", "panda1"},
256-
{"QuincySims", "queenBee"},
257-
{"RileyTurner", "river12"},
258-
{"SophiaUnderwood", "sunset"},
259-
{"ThomasVega", "tornado"},
260-
{"UlyssesWhite", "unicorn"},
261-
{"VanessaXavier", "volcano"},
262-
{"WilliamYoung", "whale99"},
263-
{"XimenaZimmer", "xylophone"}
264-
};
265-
266-
int i = 0;
267-
for (String[] u : users) {
268-
userRepo.addUser(u[0], u[1]);
269-
i++;
270-
if (i % 20 == 0) {
271-
em.flush();
272-
em.clear();
273-
}
274-
}
275-
}
27626
}

0 commit comments

Comments
 (0)