Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
85 changes: 43 additions & 42 deletions src/main/java/com/gitrekt/resort/DatabaseTestDataLoader.java
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,13 @@
import com.gitrekt.resort.model.entities.Booking;
import com.gitrekt.resort.model.entities.Employee;
import com.gitrekt.resort.model.entities.Guest;
import com.gitrekt.resort.model.entities.Room;
import com.gitrekt.resort.model.entities.RoomCategory;
import com.gitrekt.resort.model.entities.GuestFeedback;
import com.gitrekt.resort.model.entities.MailingAddress;
import com.gitrekt.resort.model.entities.Package;
import com.gitrekt.resort.model.entities.Room;
import com.gitrekt.resort.model.entities.RoomCategory;
import com.gitrekt.resort.model.services.GuestFeedbackService;
import com.gitrekt.resort.model.services.PackageService;
import com.gitrekt.resort.model.services.RoomService;
import java.util.Calendar;
import java.util.Date;
Expand All @@ -23,22 +24,22 @@
/**
* This class is responsible for preparing the database with test data for the
* program to operate on.
*
*
* It's a temporary solution and pretty lame, but it's the fastest way to solve
* our problem and keep from hindering further progress. If time permits, we
* will try to migrate to a more permanent solution like a stored SQL script,
* but there isn't really a reason to do that right now.
*
* but there isn't really a reason to do that right now.
*
* This class is just meant to be a quick and dirty solution to the problem.
*
*
* It's also not finished. It doesn't create half of the data we need yet.
*/
public class DatabaseTestDataLoader {

public static void initializeTestData() {

// Populate database with data on all of the rooms available

RoomCategory basic = new RoomCategory(
"Basic",
"This room is as basic as you are. Includes complimentary bedbugs "
Expand All @@ -48,7 +49,7 @@ public static void initializeTestData() {
"Beds not provided",
100.00
);

RoomCategory familyBasic = new RoomCategory(
"Family Basic",
"With the Family basic room, you can be treated like the dirt you"
Expand All @@ -57,7 +58,7 @@ public static void initializeTestData() {
"2 Queen, 2 twin",
125.99
);

RoomCategory luxury = new RoomCategory(
"Luxury",
"Because in 2017 being able to go to a resort at all is a luxury. "
Expand All @@ -66,7 +67,7 @@ public static void initializeTestData() {
"2 Queen",
159.99
);

RoomCategory luxuryFamily = new RoomCategory(
"Luxury Family",
"This room is almost bearable. Too bad you have kids and you won't "
Expand All @@ -75,7 +76,7 @@ public static void initializeTestData() {
"2 Queen, 2 twin",
179.67
);

RoomCategory king = new RoomCategory(
"King",
"The room that says, \"I'm better than everyone else, and I want"
Expand All @@ -87,71 +88,71 @@ public static void initializeTestData() {
"2 King",
259.99
);

EntityManager entityManager = HibernateUtil.getEntityManager();

// Put the data in the database
entityManager.getTransaction().begin();

// 1st floor rooms don't exist

// 2nd floor rooms
for(int roomNumber = 200; roomNumber < 200+50; roomNumber++) {
entityManager.persist(new Room(String.valueOf(roomNumber), basic));
}

// 3rd floor rooms
for(int roomNumber = 300; roomNumber < 300+50; roomNumber++) {
Room room = new Room(String.valueOf(roomNumber), basic);
entityManager.persist(room);
}

// 4th floor rooms
for(int roomNumber = 400; roomNumber < 400+40; roomNumber++) {
Room room = new Room(String.valueOf(roomNumber), familyBasic);
entityManager.persist(room);
}

// 5th floor rooms
for(int roomNumber = 500; roomNumber < 500+30; roomNumber++) {
Room room = new Room(String.valueOf(roomNumber), luxury);
entityManager.persist(room);
}

// 6th floor rooms
for(int roomNumber = 600; roomNumber < 600+20; roomNumber++) {
Room room = new Room(String.valueOf(roomNumber), luxuryFamily);
entityManager.persist(room);
}

// 7th floor rooms
for(int roomNumber = 700; roomNumber < 700+10; roomNumber++) {
Room room = new Room(String.valueOf(roomNumber), king);
entityManager.persist(room);
}

// Generate package data.
Package package1 = new Package("Loch-Ness monster viewing", 3.50);
Package package2 = new Package("Basement tour", 10.00);
Package package3 = new Package("Drug cartel abduction experience", 650.00);
Package package4 = new Package("Surfing with sharks", 580.99);

entityManager.persist(package1);
entityManager.persist(package2);
entityManager.persist(package3);
entityManager.persist(package4);

// Generate test guest data
Guest g1 = new Guest("Chris", "Mailldfghoux", "mailloux.cl@gmail.com", "239-242-4256", new MailingAddress("525 fake way", null, "33969", UsState.FLORIDA, "United States"));
Guest g2 = new Guest("Chrsfgmis", "Mailloux", "mailsfghux.cl@gmail.com", "239-242-4256", new MailingAddress("525 fake way", null, "33969", UsState.FLORIDA, "United States"));
Guest g3 = new Guest("Chris", "Mailldfghoux", "maillsfghsfghsoux.cl@gmail.com", "239-242-4256", new MailingAddress("525 fake way", null, "33969", UsState.FLORIDA, "United States"));
Guest g4 = new Guest("Chrawetis", "Mailloux", "maillojytfkdfux.cl@gmail.com", "239-242-4256", new MailingAddress("525 fake way", null, "33969", UsState.FLORIDA, "United States"));

entityManager.persist(g1);
entityManager.persist(g2);
entityManager.persist(g3);
entityManager.persist(g4);

// Load test employee data
Employee e1 = new Employee(1L, "gitrekt", true, "Chris", "Mailloux");
Employee e2 = new Employee(2L, "bassface", false, "Chris", "Kael");
Expand All @@ -160,7 +161,7 @@ public static void initializeTestData() {
Employee e5 = new Employee(Long.valueOf(5),"1234", false, "Juana" , "Gomez");
Employee e6 = new Employee(Long.valueOf(6),"1234", false, "Juanita" , "Gomez");
Employee e7 = new Employee(Long.valueOf(7),"1234", true, "Juanucho" , "Gomez");

entityManager.persist(e1);
entityManager.persist(e2);
// Ignore the variable name changes here, it's from a copy and paste.
Expand All @@ -169,49 +170,49 @@ public static void initializeTestData() {
entityManager.persist(e5);
entityManager.persist(e6);
entityManager.persist(e7);

entityManager.getTransaction().commit();

// Don't forget to close the entityManager when done with it
entityManager.close();

// Load test feedback data
GuestFeedbackService s = new GuestFeedbackService();
s.createNewGuestFeedback(new GuestFeedback("You suck.", "mailloux.cl@gmail.com"));
s.createNewGuestFeedback(new GuestFeedback("You suck a lot.", "mailloux.cl@gmail.com"));
s.createNewGuestFeedback(new GuestFeedback("You're the worst programmer ever and this simple feature took you all night to implement.", "mailloux.cl@gmail.com"));
s.createNewGuestFeedback(new GuestFeedback("You're bad and you should feel bad.", "mailloux.cl@gmail.com"));

// TODO: Room pricing data


createTestBookingData();
}

private static void createTestBookingData() {
EntityManager entityManager = HibernateUtil.getEntityManager();

Guest g1 = new Guest("Chris", "Mailldfghoux", "maillasdgoux.cl@gmail.com", "239-242-4256", new MailingAddress("525 fake way", null, "33969", UsState.FLORIDA, "United States"));
entityManager.persist(g1);

RoomService r = new RoomService();
List<Room> testRooms = r.getAllRoomsInCategory("Basic");
System.out.println(testRooms.size() + " Basic rooms added to test booking");

Calendar testCalendar = new GregorianCalendar();
Date d1 = new Date();
System.out.println(d1);
testCalendar.add(Calendar.DAY_OF_MONTH, 3);
Date d2 = testCalendar.getTime();
System.out.println(d2);

Booking b1 = new Booking(g1, d1, d2, new Bill(), "you suck", null, testRooms);

PackageService packageService = new PackageService();
List<Package> allPackages = packageService.getAllPackages();
Booking b1 = new Booking(g1, d1, d2, new Bill(), "you suck", allPackages, testRooms);
Booking b2 = new Booking(g1, d1, d2, new Bill(), null, null, null);

entityManager.getTransaction().begin();
entityManager.persist(b1);
entityManager.persist(b2);
entityManager.getTransaction().commit();
entityManager.close();
}

}
Loading