package test; import java.util.*; import pt.ist.fenixframework.Atomic; import pt.ist.fenixframework.DomainRoot; import pt.ist.fenixframework.FenixFramework; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class MainApp { private static final Logger logger = LoggerFactory.getLogger(MainApp.class); public static final int AUTH_COUNT = 1000; public static final int PUB_COUNT = 50; public static final int BOOK_COUNT = 1000; public static void main(String[] args) { try { initDomain(); } finally { FenixFramework.shutdown(); } } @Atomic public static void initDomain() { logger.info("Populate domain"); DomainRoot domainRoot = FenixFramework.getDomainRoot(); // Authors logger.debug("Populate " + AUTH_COUNT + " authors"); for (int i = 0; i < AUTH_COUNT; i++) { domainRoot.addTheAuthors(new Author("Auth" + i)); } // Publishers logger.debug("Populate " + PUB_COUNT + " publishers"); for (int i = 0; i < PUB_COUNT; i++) { domainRoot.addThePublishers(new Publisher("Pub" + i)); } // Books logger.debug("Populate " + BOOK_COUNT + " books"); for (int i = 0; i < BOOK_COUNT; i++) { Book book = null; switch (i%3) { case 0: book = new Book("Book" + i); break; case 1: book = new ComicBook("Book" + i); break; case 2: book = new ScifiBook("Book" + i); break; } domainRoot.addTheBooks(book); } logger.info("Populate domain finished"); } }