package cbe.inserting.utilities; import java.math.BigDecimal; import java.util.List; import org.apache.cayenne.access.DataContext; import cbe.inserting.model.Book; import cbe.inserting.model.User; public class Populator { private static List<String> books = null; private static List<String> firstNames = null; private static List<String> lastNames = null; private static FileLoader fileLoader = new FileLoader(); public static void createBooks() { DataContext dataContext = DataContext.createDataContext(); for (String bookEntry : getBooks()) { String parts[] = bookEntry.split("\\|"); createBook(dataContext, parts[0], parts[1], parts[2]); } dataContext.commitChanges(); } private static void createBook(DataContext dataContext, String price, String author, String title) { Book book = dataContext.newObject(Book.class); book.setAuthor(author); book.setPrice(new BigDecimal(price)); book.setTitle(title); } public static void createUsers() { DataContext dataContext = DataContext.createDataContext(); User user = dataContext.newObject(User.class); user.setFirstName("System"); user.setLastName("Administrator"); user.setUsername("admin"); // user.setRole(RoleType.ADMINISTRATOR); for (String firstName : getFirstNames()) for (String lastName : getLastNames()) createUser(dataContext, firstName, lastName); dataContext.commitChanges(); } private static void createUser(DataContext dataContext, String firstName, String lastName) { User user = dataContext.newObject(User.class); user.setFirstName(firstName); user.setLastName(lastName); // user.setRole(RoleType.CUSTOMER); user.setUsername((firstName.substring(0, 1) + lastName).toLowerCase()); } private static List<String> getBooks() { if (books == null) books = fileLoader.load("Books.txt"); return books; } private static List<String> getFirstNames() { if (firstNames == null) firstNames = fileLoader.load("FirstNames.txt"); return firstNames; } private static List<String> getLastNames() { if (lastNames == null) lastNames = fileLoader.load("LastNames.txt"); return lastNames; } }