1 package myorg.queryex; 2 3 import java.util.Calendar; 4 import java.util.GregorianCalendar; 5 6 import javax.persistence.EntityManager; 7 8 public class MovieFactory { 9 private EntityManager em; 10 11 public MovieFactory setEntityManager(EntityManager em) { 12 this.em = em; 13 return this; 14 } 15 16 public void populate() { 17 Actor a1 = new Actor(new Person("p1").setFirstName("Kevin").setLastName("Bacon") 18 .setBirthDate(new GregorianCalendar(1958, Calendar.JULY, 8).getTime())); 19 Actor a2 = new Actor(new Person("p2").setFirstName("John").setLastName("Belushi") 20 .setBirthDate(new GregorianCalendar(1949, Calendar.JANUARY, 24).getTime())); 21 Actor a3 = new Actor(new Person("p3").setFirstName("Tim").setLastName("Matheson") 22 .setBirthDate(new GregorianCalendar(1947, Calendar.DECEMBER, 31).getTime())); 23 Actor a4 = new Actor(new Person("p4").setFirstName("Dustin").setLastName("Hoffman") 24 .setBirthDate(new GregorianCalendar(1937, Calendar.AUGUST, 8).getTime())); 25 Actor a5 = new Actor(new Person("p5").setFirstName("Robert").setLastName("De Niro") 26 .setBirthDate(new GregorianCalendar(1943, Calendar.AUGUST, 17).getTime())); 27 for (Actor a: new Actor[]{a1, a2, a3, a4, a5}) { 28 em.persist(a); 29 } 30 31 Director d1 = new Director(new Person("d1").setFirstName("John").setLastName("Landis") 32 .setBirthDate(new GregorianCalendar(1950, Calendar.AUGUST, 3).getTime())); 33 Director d2 = new Director(new Person("d2").setFirstName("Herbert").setLastName("Ross") 34 .setBirthDate(new GregorianCalendar(1927, Calendar.MAY, 13).getTime())); 35 Director d3 = new Director(new Person("d3").setFirstName("Ron").setLastName("Underwood")); 36 Director d4 = new Director(new Person("d4").setFirstName("Ron").setLastName("Howard") 37 .setBirthDate(new GregorianCalendar(1954, Calendar.MARCH, 1).getTime())); 38 Director d5 = new Director(new Person("d5").setFirstName("Barry").setLastName("Levinson") 39 .setBirthDate(new GregorianCalendar(1942, Calendar.APRIL, 6).getTime())); 40 for (Director d: new Director[]{d1, d2, d3, d4, d5}) { 41 em.persist(d); 42 } 43 44 45 Movie m1 = new Movie("m1").setTitle("Animal House").setReleaseDate(new GregorianCalendar(1978, Calendar.JUNE, 1).getTime()) 46 .setDirector(d1) 47 .setRating(MovieRating.R) 48 .setMinutes(60+49) 49 .addGenres("Comedy") 50 .addRole( 51 new MovieRole("Chip Diller").setActor(a1), 52 new MovieRole("John Blutarsky").setActor(a2), 53 new MovieRole("Eric Stratton").setActor(a3) 54 ); 55 56 Movie m2 = new Movie("m2").setTitle("Footloose").setReleaseDate(new GregorianCalendar(1984, Calendar.FEBRUARY, 17).getTime()) 57 .setDirector(d2) 58 .setRating(MovieRating.PG) 59 .setMinutes(60+47) 60 .addGenres("Drama") 61 .addRole( 62 new MovieRole("Ren McCormack").setActor(a1) 63 ); 64 65 Movie m3 = new Movie("m3").setTitle("Tremors").setReleaseDate(new GregorianCalendar(1990, Calendar.JANUARY, 19).getTime()) 66 .setDirector(d3) 67 .setRating(MovieRating.PG13) 68 .setMinutes(60+36) 69 .addGenres("Horror") 70 .addRole( 71 new MovieRole("Valentine McKee").setActor(a1) 72 ); 73 74 Movie m4 = new Movie("m4").setTitle("Apollo 13").setReleaseDate(new GregorianCalendar(1995, Calendar.JUNE, 30).getTime()) 75 .setDirector(d4) 76 .setRating(MovieRating.PG) 77 .setMinutes((2*60)+20) 78 .addGenres("Docudrama", "Historical Film", "Space Adventure", "Drama") 79 .addRole( 80 new MovieRole("Jack Swigert").setActor(a1) 81 ); 82 83 Movie m5 = new Movie("m5").setTitle("Sleepers").setReleaseDate(new GregorianCalendar(1996, Calendar.OCTOBER, 18).getTime()) 84 .setDirector(d5) 85 .setRating(MovieRating.R) 86 .setMinutes((2*60)+32) 87 .addGenres("Buddy Film", "Courtroom Drama", "Crime Drama", "Reunion Films", "Crime", "Drama") 88 .addRole( 89 new MovieRole("Sean Nokes").setActor(a1), 90 new MovieRole("Danny Snyder").setActor(a4) 91 ); 92 93 Movie m6 = new Movie("m6").setTitle("Wag The Dog").setReleaseDate(new GregorianCalendar(1997, Calendar.DECEMBER, 25).getTime()) 94 .setDirector(d5) 95 .setRating(MovieRating.R) 96 .setMinutes((1*60)+37) 97 .addGenres("Media Satire", "Political Satire", "Comedy") 98 .addRole( 99 new MovieRole("Stanley Motss").setActor(a4), 100 new MovieRole("Conrad Brean").setActor(a5) 101 ); 102 103 Movie m7 = new Movie("m7").setTitle("Diner").setReleaseDate(new GregorianCalendar(1982, Calendar.APRIL, 2).getTime()) 104 .setDirector(d5) 105 .setRating(MovieRating.R) 106 .setMinutes((1*60)+50) 107 .addGenres("Coming-of-Age", "Ensemble Film", "Reunion Films", "Comedy Drama") 108 .addRole( 109 new MovieRole("Timothy Fenwick, Jr.").setActor(a1) 110 ); 111 112 for (Movie m: new Movie[]{m1, m2, m3, m4, m5, m6, m7}) { 113 em.persist(m); 114 } 115 } 116 }