Java tutorial
/* * To change this license header, choose License Headers in Project Properties. To change this template file, choose Tools | Templates and open the * template in the editor. */ package br.com.artesuzana.app; import java.math.BigDecimal; import org.apache.commons.io.IOUtils; import br.com.artesuzana.infra.CriptografiaUtil; import br.com.artesuzana.infra.dao.Transacao; import br.com.artesuzana.infra.db.HibernateUtil; import br.com.artesuzana.infra.ioc.ApplicationContext; import br.com.artesuzana.model.domain.Category; import br.com.artesuzana.model.domain.Product; import br.com.artesuzana.model.domain.ProductImage; import br.com.artesuzana.model.domain.blog.Post; import br.com.artesuzana.model.domain.security.User; import br.com.artesuzana.model.repository.ICategoryRepository; import br.com.artesuzana.model.repository.IPostRepository; import br.com.artesuzana.model.repository.IProductRepository; import br.com.artesuzana.model.repository.IUserRepository; /** * * @author francisco */ public class DataGenerator { public static void generate() { try { new HibernateUtil().iniciarSessionFactory(); // if (true) return; final IProductRepository prdRepo = ApplicationContext.get().getBean(IProductRepository.class); final ICategoryRepository catRepo = ApplicationContext.get().getBean(ICategoryRepository.class); final IUserRepository userRepo = ApplicationContext.get().getBean(IUserRepository.class); if (catRepo.list().isEmpty()) { final Category madeira = new Category("Madeira"); final Category bolsa = new Category("Bolsa"); final Category sabonete = new Category("Sabonete"); final Category bisquit = new Category("Bisquit"); final Category tecido = new Category("Tecido"); final Category especial = new Category("Especial"); final Category roupa = new Category("Roupa"); final Category toalha = new Category("Toalha"); catRepo.save(madeira); catRepo.save(bolsa); catRepo.save(sabonete); catRepo.save(bisquit); catRepo.save(tecido); catRepo.save(especial); catRepo.save(roupa); catRepo.save(toalha); final Product portaBijuteria = new Product(); portaBijuteria.setName("Porta Bijuteria Aveludado"); portaBijuteria.setPrice(new BigDecimal(30)); portaBijuteria.setDescription("Porta bijuterias com divisrias com fundos e lados aveludados"); portaBijuteria.setCategory(madeira); final Transacao transacao = new Transacao(); transacao.begin(); final ProductImage imgPortaBijuteria = new ProductImage(); imgPortaBijuteria.setImage(IOUtils.toByteArray(ArteSuzana.class.getClassLoader() .getResourceAsStream("images/products/porta-bijuteria.jpeg"))); final ProductImage imgPortaBijuteria2 = new ProductImage(); imgPortaBijuteria2.setImage(IOUtils.toByteArray(ArteSuzana.class.getClassLoader() .getResourceAsStream("images/products/porta-bijuteria2.jpeg"))); final ProductImage imgPortaBijuteria3 = new ProductImage(); imgPortaBijuteria3.setImage(IOUtils.toByteArray(ArteSuzana.class.getClassLoader() .getResourceAsStream("images/products/porta-bijuteria3.jpeg"))); final Product bolsaDiagonal = new Product(); bolsaDiagonal.setName("Bolsa Diagonal"); bolsaDiagonal.setPrice(new BigDecimal(55)); bolsaDiagonal .setDescription("Bolsa feita em tecido de qualidade com faixa diagonal em grande estilo"); bolsaDiagonal.setCategory(bolsa); final ProductImage imgBolsaDiagonal = new ProductImage(); imgBolsaDiagonal.setImage(IOUtils.toByteArray(ArteSuzana.class.getClassLoader() .getResourceAsStream("images/products/bolsa-diagonal.jpeg"))); final Product bolsaPrimavera = new Product(); bolsaPrimavera.setName("Bolsa Primavera"); bolsaPrimavera.setPrice(new BigDecimal(65)); bolsaPrimavera.setDescription( "Bolsa que deixar qualquer mulher mais atraente em qualquer poca do ano, inclusive na Primavera"); bolsaPrimavera.setCategory(bolsa); final ProductImage imgBolsaPrimavera = new ProductImage(); imgBolsaPrimavera.setImage(IOUtils.toByteArray(ArteSuzana.class.getClassLoader() .getResourceAsStream("images/products/bolsa-primavera.jpeg"))); final Product portaBolachas = new Product(); portaBolachas.setName("Porta Bolachas com Biscuit"); portaBolachas.setPrice(new BigDecimal(20)); portaBolachas.setDescription("Porta bolachas de vidro com tampa detalhada em biscuit "); portaBolachas.setCategory(bisquit); final ProductImage imgPortaBolachas = new ProductImage(); imgPortaBolachas.setImage(IOUtils.toByteArray(ArteSuzana.class.getClassLoader() .getResourceAsStream("images/products/porta-oculos.jpeg"))); final Product arvoreNatal = new Product(); arvoreNatal.setName("?rvore de Natal"); arvoreNatal.setPrice(new BigDecimal(25)); arvoreNatal.setDescription("?rvore de natal feita de tecido"); arvoreNatal.setCategory(especial); final ProductImage imgArvoreNatal = new ProductImage(); imgArvoreNatal.setImage(IOUtils.toByteArray(ArteSuzana.class.getClassLoader() .getResourceAsStream("images/products/arvore-natal.jpeg"))); bolsaPrimavera.addToImages(imgBolsaPrimavera); portaBijuteria.addToImages(imgPortaBijuteria); portaBijuteria.addToImages(imgPortaBijuteria2); portaBijuteria.addToImages(imgPortaBijuteria3); bolsaDiagonal.addToImages(imgBolsaDiagonal); portaBolachas.addToImages(imgPortaBolachas); arvoreNatal.addToImages(imgArvoreNatal); prdRepo.save(portaBijuteria); prdRepo.save(bolsaDiagonal); prdRepo.save(bolsaPrimavera); prdRepo.save(portaBolachas); prdRepo.save(arvoreNatal); transacao.commit(); final User chico = new User(); chico.setUsername("chico"); chico.setName("Francisco"); chico.setEmail("fsilva1992@gmail.com"); chico.setPassword(CriptografiaUtil.crypt("12345")); final User douglas = new User(); douglas.setUsername("douglas"); douglas.setName("Douglas Lucio"); douglas.setEmail("dlucio10@gmail.com"); douglas.setPassword(CriptografiaUtil.crypt("12345")); final User vitor = new User(); vitor.setUsername("vitinho"); vitor.setName("Vitor Orsolini"); vitor.setEmail("orsolini.vitor@gmail.com"); vitor.setPassword(CriptografiaUtil.crypt("12345")); userRepo.save(chico); userRepo.save(vitor); userRepo.save(douglas); final Post post = new Post(); post.setAuthor(chico); post.setTitle("Produto muito bom!"); post.setText("Este produto fantastic!! recomendo a todos."); post.setPage(bolsaPrimavera.getPage()); final Post post2 = new Post(); post2.setAuthor(douglas); post2.setTitle("Minha me que faz!"); post2.setText("Gente essa bolsa minha me quem faz.. demais.. eu uso ela todos os dias!!"); post2.setPage(bolsaPrimavera.getPage()); ApplicationContext.get().getBean(IPostRepository.class).save(post); ApplicationContext.get().getBean(IPostRepository.class).save(post2); } } catch (final Throwable e) { e.printStackTrace(); } } }