<commit_before>package br.com.redesocial.modelo.dao;

import br.com.redesocial.modelo.dto.Aporte;
import br.com.redesocial.modelo.dto.Artigo;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;



public class AporteDAO extends DAOCRUDBase<Aporte>  {
  
  /**
 *
 * @author Maciele
 */
  
    @Override
    public void inserir(Aporte dto) throws Exception {
        Connection conexao = getConexao();
        
        if (dto.getAporte().equals("")){
            throw new Exception("O arquivo do artigo não pode estar vazio!");
        }
        
        PreparedStatement pstmt = conexao.prepareStatement("insert into aporte(titulo) values (?)", Statement.RETURN_GENERATED_KEYS);
        
        pstmt.setString(1, dto.getTitulo());
        pstmt.setInt(2, dto.getCategoria().getId());
        pstmt.setInt(3, dto.getPostagem().getId());
        
        pstmt.executeUpdate();
        
        dto.setId(getId(pstmt));     
    }
  
  /**
 *
 * @author <NAME>
 */
    
    @Override
     public List listar() throws Exception {
        Connection conexao = getConexao();
        
        PreparedStatement  pstmt; 
        pstmt = conexao.prepareStatement("select * from aportes order by titulo asc");
                
        ResultSet rs;
        rs = pstmt.executeQuery();
        
        PostagemDAO postagemDAO = new PostagemDAO();
        CategoriaDAO categoriaDAO = new CategoriaDAO();
        List lista;
        lista = new ArrayList();
        
        while (rs.next()){
            Aporte a = new Aporte();
            a.setId(rs.getInt("id"));
            a.setCategoria(categoriaDAO.selecionar(rs.getInt("categoria")));//classe  CategoriaDAO ainda não implementada
            a.setPostagem(postagemDAO.selecionar(rs.getInt("postagem")));
            a.setTitulo(rs.getString("titulo"));
          
            lista.add(a);
        }
        
        return lista;
    }

    @Override
    public void alterar(Aporte dto) throws Exception {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public Aporte selecionar(int id) throws Exception {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.<commit_msg>Criação do DAO para a classe Aporte método alterar<commit_after>package br.com.redesocial.modelo.dao;

import br.com.redesocial.modelo.dto.Aporte;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;



public class AporteDAO extends DAOCRUDBase<Aporte>  {
  
  /**
 *
 * @author Maciele
 */
  
    @Override
    public void inserir(Aporte dto) throws Exception {
        Connection conexao = getConexao();
        
        if (dto.getAporte().equals("")){
            throw new Exception("O arquivo do artigo não pode estar vazio!");
        }
        
        PreparedStatement pstmt = conexao.prepareStatement("insert into aporte(titulo) values (?)", Statement.RETURN_GENERATED_KEYS);
        
        pstmt.setString(1, dto.getTitulo());
        pstmt.setInt(2, dto.getCategoria().getId());
        pstmt.setInt(3, dto.getPostagem().getId());
        
        pstmt.executeUpdate();
        
        dto.setId(getId(pstmt));     
    }
  
  /**
 *
 * @author <NAME>
 */
    
    @Override
     public List listar() throws Exception {
        Connection conexao = getConexao();
        
        PreparedStatement  pstmt; 
        pstmt = conexao.prepareStatement("select * from aportes order by titulo asc");
                
        ResultSet rs;
        rs = pstmt.executeQuery();
        
        PostagemDAO postagemDAO = new PostagemDAO();
        CategoriaDAO categoriaDAO = new CategoriaDAO();
        List lista;
        lista = new ArrayList();
        
        while (rs.next()){
            Aporte a = new Aporte();
            a.setId(rs.getInt("id"));
            a.setCategoria(categoriaDAO.selecionar(rs.getInt("categoria")));//classe  CategoriaDAO ainda não implementada
            a.setPostagem(postagemDAO.selecionar(rs.getInt("postagem")));
            a.setTitulo(rs.getString("titulo"));
          
            lista.add(a);
        }
        
        return lista;
    }

    /**
     * Método que Altera um Aporte já cadastrado no banco de dados
     * @author <NAME>
     * @param a aporte a ser alterado
     * @throws Exception possíveis exceções que podem acontecer
     */
     
    @Override 
    public void alterar(Aporte a) throws Exception {
        Connection conexao = getConexao();
        
        PreparedStatement pstmt;
        pstmt = conexao.prepareStatement("update aporte set  id = ?, titulo = ?, categoria = ?, postagem = ?");
        
        pstmt.setId(1, a.getId());
        pstmt.setString(2, a.getTitulo());
        pstmt.setCategoria(3, a.getCategoria());
        pstmt.setPostagem(4, a.getPostagem());
        
        //executa uma atualização/alteração
        pstmt.executeUpdate();
        
    }

    @Override
    public Aporte selecionar(int id) throws Exception {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
{'fraction_non_alphanumeric': 0.10985967503692762, 'fraction_numerical': 0.001846381093057607, 'mean_word_length': 2.307081807081807, 'pattern_counts': {'":': 0, '<': 8, '<?xml version=': 0, '>': 8, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3834730', 'n_tokens_mistral': 1669, 'n_tokens_neox': 1704, 'n_words': 360}