package br.ufpr.c3sl.daoconcrete; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Date; import java.util.List; import br.ufpr.c3sl.dao.RetroactionDAO; import br.ufpr.c3sl.daoFactory.MysqlDAOFactory; import br.ufpr.c3sl.exception.UserException; import br.ufpr.c3sl.model.Mistake; import br.ufpr.c3sl.model.Retroaction; public class MysqlRetroactionDAO implements RetroactionDAO{ private static final String INSERT = "INSERT INTO retroactions " + "(mistake_id, created_at) VALUES (?, ?)"; @Override public Retroaction insert(Retroaction retroaction) throws UserException { Connection c = MysqlDAOFactory.createConnection(); if (retroaction.getCreatedAt() == null) retroaction.setCreatedAt(new Date().getTime()); PreparedStatement pstmt; try { pstmt = c.prepareStatement(INSERT); pstmt.setLong(1, retroaction.getMistake().getId()); pstmt.setTimestamp(2, retroaction.getCreatedAtTime()); pstmt.executeUpdate(); ResultSet rset = pstmt.getGeneratedKeys(); rset.next(); Long idGenerated = rset.getLong(1); retroaction.setId(idGenerated); pstmt.close(); c.close(); return retroaction; } catch (SQLException e) { e.printStackTrace(); throw new UserException(e.getMessage()); } } @Override public List<Retroaction> getAll(final Mistake mistake) { // TODO Auto-generated method stub return null; } @Override public boolean delete(Retroaction retroaction) { // TODO Auto-generated method stub return false; } }