package br.com.triadworks.issuetracker; import java.util.Date; import javax.persistence.EntityManager; import br.com.triadworks.issuetracker.dao.IssueDao; import br.com.triadworks.issuetracker.dao.IssueDaoImpl; import br.com.triadworks.issuetracker.dao.ProjetoDao; import br.com.triadworks.issuetracker.dao.ProjetoDaoImpl; import br.com.triadworks.issuetracker.dao.UsuarioDao; import br.com.triadworks.issuetracker.dao.UsuarioDaoImpl; import br.com.triadworks.issuetracker.model.Comentario; import br.com.triadworks.issuetracker.model.Issue; import br.com.triadworks.issuetracker.model.Projeto; import br.com.triadworks.issuetracker.model.Status; import br.com.triadworks.issuetracker.model.TipoDaIssue; import br.com.triadworks.issuetracker.model.Usuario; import br.com.triadworks.issuetracker.spring.SpringUtils; public class AdicaoDeIssue { public static void main(String[] args) { Date hoje = new Date(); Projeto projeto = buscaProjetoPorId(1L); Usuario usuario = buscaUsuarioPorId(1L); Issue issue = criaIssue(hoje, projeto, usuario); // inserir um Comentario // Comentario comentario1 = criaComentario("comentario 01", hoje, usuario); // Comentario comentario2 = criaComentario("comentario 02", hoje, usuario); // // issue.getComentarios().add(comentario1); // issue.getComentarios().add(comentario2); salvaIssue(issue); } private static Comentario criaComentario(String descricao, Date hoje, Usuario usuario) { Comentario comentario = new Comentario(); comentario.setDescricao(descricao); comentario.setAutor(usuario); comentario.setCriadaEm(hoje); return comentario; } private static void salvaIssue(Issue issue) { IssueDao issueDao = SpringUtils.getBean(IssueDao.class); issueDao.salva(issue); } private static Issue criaIssue(Date hoje, Projeto projeto, Usuario usuario) { Issue issue = new Issue(); issue.setSumario("Bug no IE6"); issue.setDescricao("Erro ao submeter formulario via ajax."); issue.setTipo(TipoDaIssue.BUG); issue.setReportadoEm(hoje); // issue.setAtualizadoEm(hoje); issue.setStatus(Status.ABERTA); issue.setProjeto(projeto); issue.setReportadoPor(usuario); issue.setAssinadoPara(usuario); return issue; } private static Usuario buscaUsuarioPorId(long id) { UsuarioDao usuarioDao = SpringUtils.getBean(UsuarioDao.class); return usuarioDao.carrega(id); } private static Projeto buscaProjetoPorId(long id) { ProjetoDao projetoDao = SpringUtils.getBean(ProjetoDao.class); return projetoDao.carrega(id); } }