package reversetutorial.jdo; import java.util.*; import javax.jdo.*; /** * Program used to populate the database with magazines. */ public class SeedDatabase { /** * Usage: java reversetutorial.jdo.SeedDatabase */ public static void main(String[] args) { PersistenceManagerFactory pmf = JDOHelper.getPersistenceManagerFactory ("META-INF/jdo.properties"); PersistenceManager pm = pmf.getPersistenceManager(); pm.currentTransaction().begin(); pm.makePersistentAll(createMagazines()); pm.currentTransaction().commit(); pm.close(); pmf.close(); } private static Collection createMagazines() { Publisher brandon = new Publisher("Brandon-Hall"); brandon.setRevenue(200000.00F); Publisher adventure = new Publisher("Adventure"); adventure.setRevenue(18974890.53F); Publisher reuters = new Publisher("Reuters"); reuters.setRevenue(90387361.25F); Article jdo = new Article("JDO for Transparent Persistence"); jdo.setAuthorName("Craig Russell"); Article ejb = new Article("Session Bean Facade"); ejb.setAuthorName("Marc Eaton"); Article fashion = new Article("Fall's Fashion"); fashion.setAuthorName("Stephanie Lang"); Article gloss = new Article("Light Up Those Lips"); gloss.setAuthorName("Stephanie Lang"); Article bang = new Article("Echos from the Big Bang"); bang.setAuthorName("Sarah Fleury"); Article telescope = new Article("Next Generation Telescope"); telescope.setAuthorName("NASA"); Article girl = new Article("Girl Power"); girl.setAuthorName("Stephanie Lang"); Article romance = new Article("Romance in the 21st Century"); romance.setAuthorName("Jordan Gestapalo"); Article hussein = new Article("Bush vs. Hussein"); hussein.setAuthorName("Robert Gross"); Collection mags = new LinkedList(); Magazine java = new Magazine("783-139B", 102); java.setName("Java Pro"); java.setPrice(5.75F); java.setPublisher(brandon); brandon.getMagazines().add(java); java.getArticles().add(jdo); jdo.getMagazines().add(java); java.getArticles().add(ejb); ejb.getMagazines().add(java); mags.add(java); Magazine vogue = new Magazine("983-332Y", 942); vogue.setName("Vogue"); vogue.setPrice(3.99F); vogue.setPublisher(adventure); adventure.getMagazines().add(vogue); vogue.getArticles().add(fashion); fashion.getMagazines().add(vogue); vogue.getArticles().add(gloss); gloss.getMagazines().add(vogue); vogue.getArticles().add(girl); girl.getMagazines().add(vogue); mags.add(vogue); Magazine nature = new Magazine("831-508B", 237); nature.setName("Nature"); nature.setPrice(8.99F); nature.setPublisher(reuters); reuters.getMagazines().add(nature); nature.getArticles().add(bang); bang.getMagazines().add(nature); nature.getArticles().add(telescope); telescope.getMagazines().add(nature); mags.add(nature); Magazine science = new Magazine("896-501B", 152); science.setName("Science"); science.setPrice(7.49F); science.setPublisher(reuters); reuters.getMagazines().add(science); science.getArticles().add(bang); bang.getMagazines().add(science); mags.add(science); Magazine people = new Magazine("534-194G", 651); people.setName("People"); people.setPrice(3.99F); people.setPublisher(adventure); adventure.getMagazines().add(people); people.getArticles().add(girl); girl.getMagazines().add(people); people.getArticles().add(romance); romance.getMagazines().add(people); mags.add(people); Magazine newsweek = new Magazine("120-204C", 1093); newsweek.setName("Newsweek"); newsweek.setPrice(4.99F); newsweek.setPublisher(adventure); adventure.getMagazines().add(newsweek); newsweek.getArticles().add(hussein); hussein.getMagazines().add(newsweek); mags.add(newsweek); return mags; } }