package org.jboss.seam.remoting.examples.model; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import javax.enterprise.event.Observes; import javax.persistence.EntityManager; import javax.persistence.PersistenceContext; import org.apache.deltaspike.jpa.api.transaction.Transactional; import org.jboss.solder.servlet.WebApplication; import org.jboss.solder.servlet.event.Initialized; //import org.jboss.seam.transaction.Transactional; /** * Populate a database with data. * * @author Martin Gencur */ public class PopulateDatabase { @PersistenceContext private EntityManager entityManager; private Person p; private Address a; private final SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd"); @Transactional public void loadData(@Observes @Initialized WebApplication webapp) throws ParseException { // we need to delete table content for openshift-express entityManager.createQuery("delete from Address").executeUpdate(); entityManager.createQuery("delete from Person").executeUpdate(); p = new Person(); p.setFirstName("Shane"); p.setLastName("Bryzak"); p.setDateOfBirth(df.parse("1901-01-01")); p.setAddresses(new ArrayList<Address>()); a = new Address(); a.setPerson(p); a.setStreetNo(100); a.setStreetName("Main"); a.setSuburb("Pleasantville"); a.setPostCode("32123"); a.setCountry("Australia"); p.getAddresses().add(a); a = new Address(); a.setPerson(p); a.setStreetNo(57); a.setStreetName("1st Avenue"); a.setSuburb("Pittsville"); a.setPostCode("32411"); a.setCountry("Australia"); p.getAddresses().add(a); entityManager.persist(p); p = new Person(); p.setFirstName("Jozef"); p.setLastName("Hartinger"); p.setDateOfBirth(df.parse("1901-01-01")); p.setAddresses(new ArrayList<Address>()); a = new Address(); a.setPerson(p); a.setStreetNo(99); a.setStreetName("Purkynova"); a.setSuburb("Kralovo pole"); a.setPostCode("60200"); a.setCountry("Czech republic"); p.getAddresses().add(a); entityManager.persist(p); } }