package com.floreantpos.main; import java.util.Calendar; import java.util.Date; import javax.swing.JOptionPane; import org.hibernate.Session; import org.hibernate.cfg.Configuration; import org.hibernate.tool.hbm2ddl.SchemaExport; import org.hibernate.tool.hbm2ddl.SchemaUpdate; import com.floreantpos.model.CookingInstruction; import com.floreantpos.model.CouponAndDiscount; import com.floreantpos.model.MenuCategory; import com.floreantpos.model.MenuGroup; import com.floreantpos.model.MenuItem; import com.floreantpos.model.MenuItemModifierGroup; import com.floreantpos.model.MenuModifier; import com.floreantpos.model.MenuModifierGroup; import com.floreantpos.model.PayoutReason; import com.floreantpos.model.PayoutRecepient; import com.floreantpos.model.Restaurant; import com.floreantpos.model.Shift; import com.floreantpos.model.Tax; import com.floreantpos.model.User; import com.floreantpos.model.VoidReason; import com.floreantpos.model.dao.CookingInstructionDAO; import com.floreantpos.model.dao.CouponAndDiscountDAO; import com.floreantpos.model.dao.GenericDAO; import com.floreantpos.util.ShiftUtil; public class SchemaManager { static void update() throws Exception { Configuration configuration = new Configuration().configure(); SchemaUpdate schemaUpdate = new SchemaUpdate(configuration); schemaUpdate.execute(true, true); GenericDAO dao = new GenericDAO(); Session session = dao.getSession(); User user = (User) session.get(User.class, "123"); user.setPassword("123"); session.saveOrUpdate(user); Shift shift = new Shift(); Date start = ShiftUtil.buildShiftStartTime(6,0,Calendar.AM,2,0,Calendar.PM); Date end = ShiftUtil.buildShiftEndTime(2,0,Calendar.PM,10,0,Calendar.PM); shift.setName("MORNING"); shift.setStartTime(start); shift.setEndTime(end); shift.setShiftLength(Math.abs(start.getTime() - end.getTime())); dao.saveOrUpdate(shift); shift = new Shift(); start = ShiftUtil.buildShiftStartTime(2,0,Calendar.PM,10,0,Calendar.PM); end = ShiftUtil.buildShiftEndTime(10,0,Calendar.PM,6,0,Calendar.AM); shift.setName("DAY"); shift.setStartTime(start); shift.setEndTime(end); shift.setShiftLength(Math.abs(start.getTime() - end.getTime())); dao.saveOrUpdate(shift); shift = new Shift(); start = ShiftUtil.buildShiftStartTime(10,0,Calendar.PM,6,0,Calendar.AM); end = ShiftUtil.buildShiftEndTime(6,0,Calendar.AM,2,0,Calendar.PM); shift.setName("NIGHT"); shift.setStartTime(start); shift.setEndTime(end); shift.setShiftLength(Math.abs(start.getTime() - end.getTime())); dao.saveOrUpdate(shift); } static void insertData() { try { Configuration configuration = new Configuration().configure(); SchemaExport schemaExport = new SchemaExport(configuration); schemaExport.create(true, true); GenericDAO dao = new GenericDAO(); Restaurant restaurant = new Restaurant(); restaurant.setId(1); restaurant.setName("Floreant Restaurant"); restaurant.setAddressLine1("addressLine1"); restaurant.setAddressLine2("addressLine2"); dao.saveOrUpdate(restaurant); User user = new User(); user.setUserId(123); user.setPassword("123"); user.setFirstName("Manager"); user.setLastName("1"); dao.saveOrUpdate(user); Tax tax = new Tax(); tax.setName("US"); tax.setRate(new Double(10)); dao.save(tax); PayoutReason payoutReason = new PayoutReason(); payoutReason.setReason("SERVICE RENDRED"); dao.save(payoutReason); payoutReason = new PayoutReason(); payoutReason.setReason("PRODUCT DELIVERY"); dao.save(payoutReason); payoutReason = new PayoutReason(); payoutReason.setReason("REFUND"); dao.save(payoutReason); payoutReason = new PayoutReason(); payoutReason.setReason("PAY ADVANCE"); dao.save(payoutReason); VoidReason voidReason = new VoidReason(); voidReason.setReasonText("WRONG ITEM ORDERED"); dao.save(voidReason); voidReason = new VoidReason(); voidReason.setReasonText("CUSTOMER DIDN'T LIKE"); dao.save(voidReason); PayoutRecepient recepient = new PayoutRecepient(); recepient.setName("MISC"); dao.save(recepient); recepient = new PayoutRecepient(); recepient.setName("BAKERY"); dao.save(recepient); MenuModifierGroup mg = new MenuModifierGroup(); mg.setName("Bacons & Sausage"); mg.setEnable(true); dao.save(mg); MenuModifierGroup mg2 = new MenuModifierGroup(); mg2.setName("Drinks"); mg2.setEnable(true); dao.save(mg2); MenuModifier m1 = new MenuModifier(); m1.setName("Bacon"); m1.setPrice(new Double(2)); m1.setExtraPrice(0.5); m1.setTax(tax); m1.setModifierGroup(mg); m1.setEnable(true); dao.save(m1); MenuModifier m2 = new MenuModifier(); m2.setName("Cheese Bacon"); m2.setPrice(new Double(2)); m2.setExtraPrice(0.5); m2.setTax(tax); m2.setModifierGroup(mg); m2.setEnable(true); dao.save(m2); MenuModifier m3 = new MenuModifier(); m3.setName("Sausage"); m3.setPrice(new Double(2)); m3.setExtraPrice(0.5); m3.setTax(tax); m3.setModifierGroup(mg); m3.setEnable(true); dao.save(m3); MenuModifier m4 = new MenuModifier(); m4.setName("Coke"); m4.setPrice(new Double(10)); m4.setExtraPrice(new Double(10)); m4.setTax(tax); m4.setModifierGroup(mg2); m4.setEnable(true); dao.save(m4); MenuModifier m5 = new MenuModifier(); m5.setName("Pepsi"); m5.setPrice(new Double(10)); m5.setExtraPrice(new Double(10)); m5.setTax(tax); m5.setModifierGroup(mg2); m5.setEnable(true); dao.save(m5); MenuModifier m6 = new MenuModifier(); m6.setName("Fanta"); m6.setPrice(new Double(10)); m6.setExtraPrice(new Double(10)); m6.setTax(tax); m6.setModifierGroup(mg2); m6.setEnable(true); dao.save(m6); MenuCategory breakfast = new MenuCategory(); breakfast.setName("BREAKFAST"); breakfast.setVisible(true); dao.saveOrUpdate(breakfast); MenuCategory launch = new MenuCategory(); launch.setName("LAUNCH"); launch.setVisible(true); dao.saveOrUpdate(launch); MenuCategory dinner = new MenuCategory(); dinner.setName("DINNER"); dinner.setVisible(true); dao.saveOrUpdate(dinner); MenuGroup favourite = new MenuGroup(); favourite.setName("FAVOURITE"); favourite.setParent(breakfast); favourite.setVisible(true); dao.saveOrUpdate(favourite); MenuItemModifierGroup menuItemModifierGroup = new MenuItemModifierGroup(); menuItemModifierGroup.setMinQuantity(1); menuItemModifierGroup.setMaxQuantity(2); menuItemModifierGroup.setModifierGroup(mg); MenuItem grandSlam = new MenuItem(); grandSlam.setName("GRAND SLAM"); grandSlam.setPrice(new Double(10)); grandSlam.setTax(tax); grandSlam.setParent(favourite); grandSlam.addTomenuItemModiferGroups(menuItemModifierGroup); dao.save(grandSlam); MenuItem parata = new MenuItem(); parata.setName("PLAIN OMLETE"); parata.setPrice(new Double(10)); parata.setDiscountRate(new Double(0)); parata.setTax(tax); parata.setParent(favourite); dao.save(parata); MenuItem burger = new MenuItem(); burger.setName("BURGER"); burger.setPrice(new Double(20)); burger.setDiscountRate(new Double(0)); burger.setParent(favourite); dao.save(burger); Calendar cal = Calendar.getInstance(); cal.set(Calendar.MONTH, cal.get(Calendar.MONTH) + 1); Date date = cal.getTime(); CouponAndDiscountDAO couponDAO = new CouponAndDiscountDAO(); CouponAndDiscount coupon = new CouponAndDiscount(); coupon.setName("CouponAndDiscount-1"); coupon.setType(CouponAndDiscount.FIXED_PER_CATEGORY); coupon.setExpiryDate(date); coupon.setValue(new Double(10)); couponDAO.save(coupon); coupon = new CouponAndDiscount(); coupon.setName("CouponAndDiscount-2"); coupon.setType(CouponAndDiscount.FIXED_PER_ITEM); coupon.setExpiryDate(date); coupon.setValue(new Double(10)); couponDAO.save(coupon); coupon = new CouponAndDiscount(); coupon.setName("CouponAndDiscount-3"); coupon.setType(CouponAndDiscount.FIXED_PER_ORDER); coupon.setExpiryDate(date); coupon.setValue(new Double(10)); couponDAO.save(coupon); coupon = new CouponAndDiscount(); coupon.setName("CouponAndDiscount-4"); coupon.setType(CouponAndDiscount.PERCENTAGE_PER_CATEGORY); coupon.setExpiryDate(date); coupon.setValue(new Double(10)); couponDAO.save(coupon); coupon = new CouponAndDiscount(); coupon.setName("CouponAndDiscount-5"); coupon.setType(CouponAndDiscount.PERCENTAGE_PER_ITEM); coupon.setExpiryDate(date); coupon.setValue(new Double(10)); couponDAO.save(coupon); coupon = new CouponAndDiscount(); coupon.setName("CouponAndDiscount-6"); coupon.setType(CouponAndDiscount.PERCENTAGE_PER_ORDER); coupon.setExpiryDate(date); coupon.setValue(new Double(10)); couponDAO.save(coupon); CookingInstructionDAO cookingInstructionDAO = new CookingInstructionDAO(); CookingInstruction cookingInstruction = new CookingInstruction(); cookingInstruction.setDescription("WAIT 15 MINUTES"); cookingInstructionDAO.save(cookingInstruction); cookingInstruction = new CookingInstruction(); cookingInstruction.setDescription("SERVE HOT"); cookingInstructionDAO.save(cookingInstruction); Shift shift = new Shift(); Date start = ShiftUtil.buildShiftStartTime(6,0,Calendar.AM,2,0,Calendar.PM); Date end = ShiftUtil.buildShiftEndTime(2,0,Calendar.PM,10,0,Calendar.PM); shift.setName("MORNING"); shift.setStartTime(start); shift.setEndTime(end); shift.setShiftLength(Math.abs(start.getTime() - end.getTime())); dao.saveOrUpdate(shift); shift = new Shift(); start = ShiftUtil.buildShiftStartTime(2,0,Calendar.PM,10,0,Calendar.PM); end = ShiftUtil.buildShiftEndTime(10,0,Calendar.PM,6,0,Calendar.AM); shift.setName("DAY"); shift.setStartTime(start); shift.setEndTime(end); shift.setShiftLength(Math.abs(start.getTime() - end.getTime())); dao.saveOrUpdate(shift); shift = new Shift(); start = ShiftUtil.buildShiftStartTime(10,0,Calendar.PM,6,0,Calendar.AM); end = ShiftUtil.buildShiftEndTime(6,0,Calendar.AM,2,0,Calendar.PM); shift.setName("NIGHT"); shift.setStartTime(start); shift.setEndTime(end); shift.setShiftLength(Math.abs(start.getTime() - end.getTime())); dao.saveOrUpdate(shift); //JOptionPane.showMessageDialog(null, "Successfully created database"); System.out.println("Database create"); } catch (Exception e) { JOptionPane.showMessageDialog(null, "An error has occured, could not create database"); e.printStackTrace(); } } /** * @param args *@throws Exception */ public static void main(String[] args) throws Exception { //update(); insertData(); } }