package ru.foror.articles.tapestry.blog.operations.impl; import org.apache.tapestry5.hibernate.HibernateSessionManager; import org.apache.tapestry5.ioc.Messages; import org.apache.tapestry5.ioc.internal.util.MessagesImpl; import ru.foror.articles.common.domain.Category; import ru.foror.articles.common.operations.IProductionOperations; import ru.foror.articles.common.operations.ITagOperations; import ru.foror.articles.tapestry.blog.domain.Account; import ru.foror.articles.tapestry.blog.domain.Article; import ru.foror.articles.tapestry.blog.domain.Role; import ru.foror.articles.tapestry.blog.domain.Tag; /** * @author Alexey Pomogaev foror@mail.ru */ public class ProductionOperations implements IProductionOperations { public static final Messages MESSAGES = MessagesImpl.forClass(ProductionOperations.class); private HibernateSessionManager sm; private ITagOperations tagOp; public ProductionOperations(HibernateSessionManager sm, ITagOperations tagOp) { this.sm = sm; this.tagOp = tagOp; } public void createBaseContent(Messages messages) { Account admin = new Account("admin", "admin", Role.ADMIN, "admin@localhost"); Category cat1 = new Category("общее", "Общее", 0); Category cat2 = new Category("opensource", "Opensource", 1); sm.getSession().save(admin); sm.getSession().save(cat1); sm.getSession().save(cat2); createArticles(admin, cat1, cat2); } private void createArticles(Account admin, Category cat1, Category cat2) { int total = 3; Category cat; for (int i = 0; i < total; i++) { cat = i > 0 ? cat2 : cat1; Article article = new Article( MESSAGES.get("article" + i + ".title"), MESSAGES.get("article" + i + ".body"), admin, cat); tagOp.setTags(article, tagOp.parsetTags(Tag.class, MESSAGES.get("article" + i + ".tags"))); sm.getSession().save(article); } } }