Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/.classpath PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/.gitignore /build/ /target/ PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/.project com.pos.pioo org.eclipse.wst.jsdt.core.javascriptValidator org.eclipse.jdt.core.javabuilder org.eclipse.wst.common.project.facet.core.builder org.eclipse.wst.validation.validationbuilder org.eclipse.m2e.core.maven2Builder org.eclipse.m2e.core.maven2Nature org.eclipse.jem.workbench.JavaEMFNature org.eclipse.wst.common.modulecore.ModuleCoreNature org.eclipse.wst.common.project.facet.core.nature org.eclipse.jdt.core.javanature org.eclipse.wst.jsdt.core.jsNature PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/.settings/.jsdtscope PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/.settings/org.eclipse.jdt.core.prefs eclipse.preferences.version=1 org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 org.eclipse.jdt.core.compiler.compliance=1.7 org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.source=1.7 PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/.settings/org.eclipse.m2e.core.prefs activeProfiles= eclipse.preferences.version=1 resolveWorkspaceProjects=true version=1 PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/.settings/org.eclipse.wst.common.component PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/.settings/org.eclipse.wst.common.project.facet.core.xml PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/.settings/org.eclipse.wst.jsdt.ui.superType.container org.eclipse.wst.jsdt.launching.baseBrowserLibrary PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/.settings/org.eclipse.wst.jsdt.ui.superType.name Window PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Domain/domain/Anunciante.java package domain; import java.util.Date; public class Anunciante extends Entidade { private String nome; private String documento; private String endereco; private String cidade; private String telefone; private Date dataCriacao; protected Anunciante() { super(); } public Anunciante(String nome, String documento, String endereco, String cidade, String telefone) { super(); super.naoDeveSerVazio(nome, "Nome deve ser informado!"); super.naoDeveSerVazio(documento, "Documento deve ser informado!"); super.naoDeveSerVazio(endereco, "Endereço deve ser informado!"); super.naoDeveSerVazio(cidade, "Cidade deve ser informada!"); super.naoDeveSerVazio(telefone, "Telefone deve ser informado!"); this.nome = nome; this.documento = documento; this.endereco = endereco; this.cidade = cidade; this.telefone = telefone; this.setDataCriacao(new Date()); } public String getNome() { return nome; } public String getDocumento() { return documento; } public String getEndereco() { return endereco; } public String getCidade() { return cidade; } public String getTelefone() { return telefone; } public Date getDataCriacao() { return dataCriacao; } public void setDataCriacao(Date dataCriacao) { this.dataCriacao = dataCriacao; } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Domain/domain/Anuncio.java package domain; import java.util.Date; public class Anuncio extends Entidade { private Date dataCriacao; private Date dataValidade; private Categoria categoria; private Anunciante anunciante; protected Anuncio() { super(); } public Anuncio(Categoria categoria, Anunciante anunciante, Date dataValidade) { super(); super.adicionarMensagens(categoria.obterMensagens()); super.adicionarMensagens(anunciante.obterMensagens()); super.deveSerMaiorQue(dataValidade, new Date(), "Data de validade deve ser maior do que a data atual"); this.setDataCriacao(new Date()); this.categoria = categoria; this.anunciante = anunciante; this.dataValidade = dataValidade; } public Date getDataCriacao() { return dataCriacao; } public Date getDataValidade() { return dataValidade; } public Categoria getCategoria() { return categoria; } public Anunciante getAnunciante() { return anunciante; } public void setDataCriacao(Date dataCriacao) { this.dataCriacao = dataCriacao; } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Domain/domain/Categoria.java package domain; public class Categoria extends Entidade { private String nome; public Categoria(String nome) { super(); super.naoDeveSerVazio(nome, "Nome da categoria deve ser informado!"); this.nome = nome; } public String getNome() { return this.nome; } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Domain/domain/Entidade.java package domain; import java.util.UUID; import fluent.Validacao; public abstract class Entidade extends Validacao { private ID id; private boolean novoRegistro; public Entidade() { super(); this.setId(ID.randomUUID()); this.novoRegistro = true; } private void setId(ID valor) { this.novoRegistro = false; this.id = valor; } public void setId(String valor) { this.novoRegistro = false; this.id = ID.fromString(valor); } public String getId() { return id.toString(); } public boolean isNovoRegistro() { return novoRegistro; } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Domain/domain/Usuario.java package domain; public class Usuario extends Entidade { private String nome; private String login; private String senha; public Usuario(String login, String senha) { super(); naoDeveSerVazio(login, "Login deve ser informado"); naoDeveSerVazio(senha, "Senha deve ser informado"); this.login = login; this.senha = senha; } public Usuario(String nome, String login, String senha) { super(); naoDeveSerVazio(nome, "Nome deve ser informado"); naoDeveSerVazio(login, "Login deve ser informado"); naoDeveSerVazio(senha, "Senha deve ser informado"); this.nome = nome; this.login = login; this.senha = senha; } public void setSenha(String senha, String senhaCompare) { deveSerIgual(senha, senhaCompare, "Senhas não coicidem"); this.senha = senha; } public String getNome() { return nome; } public String getLogin() { return login; } public String getSenha() { return senha; } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Domain/repositorios/AnuncianteRepositorio.java package repositorios; import domain.Anunciante; public interface AnuncianteRepositorio extends RepositorioBase<Anunciante> { } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Domain/repositorios/AnuncioRepositorio.java package repositorios; import domain.Anuncio; public interface AnuncioRepositorio extends RepositorioBase<Anuncio> { } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Domain/repositorios/CategoriaRepositorio.java package repositorios; import domain.Categoria; public interface CategoriaRepositorio extends RepositorioBase<Categoria> { } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Domain/repositorios/RepositorioBase.java package repositorios; import java.sql.SQLException; import java.util.List; public interface RepositorioBase<T> { public void inserir(T objeto) throws SQLException; public void alterar(T objeto) throws SQLException; public void excluir(T objeto) throws SQLException; public List<T> listarConsulta(String filtro) throws SQLException; public T selecionarConsulta(String codigo) throws SQLException; } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Domain/repositorios/UsuarioRepositorio.java package repositorios; import domain.Usuario; public interface UsuarioRepositorio extends RepositorioBase<Usuario> { Usuario AlterarSenha(Usuario objeto); Usuario Login(Usuario objeto); } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Infra/factory/ConnectionFactory.java package factory; import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class ConnectionFactory { private String driver = "com.mysql.jdbc.Driver"; private String connectionStr = "jdbc:mysql://localhost:3306/publicidade"; private String username = "aplicacao"; private String password = "123456"; private static ConnectionFactory connectionFactory = null; private ConnectionFactory(){ try{ Class.forName(driver); }catch(ClassNotFoundException e){ e.printStackTrace(); } } public Connection getConnection() throws SQLException{ Connection conn = null; try{ conn = DriverManager.getConnection(connectionStr, username, password); }catch(SQLException e){ e.printStackTrace(); } return conn; } public static ConnectionFactory getInstance(){ if(connectionFactory == null) connectionFactory = new ConnectionFactory(); return connectionFactory; } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Infra/infra/repositorios/AnuncianteRepositorio.java package infra.repositorios; import java.sql.Date; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import domain.Anunciante; public class AnuncianteRepositorio extends RepositorioBase implements repositorios.AnuncianteRepositorio { @Override public void inserir(Anunciante objeto) throws SQLException { try { String query = "insert into anunciante(guid, nome, documento, endereco, cidade, telefone) values (?, ?, ?, ?, ?, ?)" ; con = getConnection(); ps = con.prepareStatement(query); ps.setString(1, objeto.getId()); ps.setString(2, objeto.getNome()); ps.setString(3, objeto.getDocumento()); ps.setString(4, objeto.getEndereco()); ps.setString(5, objeto.getCidade()); ps.setString(6, objeto.getTelefone()); ps.executeUpdate(); } catch (SQLException e) { System.out.println("Erro ao inserir anunciante"); objeto.adicionarMensagem("Erro ao inserir anunciante"); System.out.println(e.toString()); }finally{ try{ if(rs != null) rs.close(); if(ps != null) ps.close(); if(con != null) con.close(); }catch(SQLException e){ e.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); } } } @Override public void alterar(Anunciante objeto) throws SQLException { try { String query = "update anunciante set nome = ?, documento = ?, endereco = ?, cidade = ?, telefone = ? where guid = ?"; con = getConnection(); ps = con.prepareStatement(query); ps.setString(1, objeto.getNome()); ps.setString(2, objeto.getDocumento()); ps.setString(3, objeto.getEndereco()); ps.setString(4, objeto.getCidade()); ps.setString(5, objeto.getTelefone()); ps.setString(6, objeto.getId()); ps.executeUpdate(); } catch (SQLException e) { System.out.println("Erro ao alterar anunciante"); objeto.adicionarMensagem("Erro ao alterar anunciante"); System.out.println(e.toString()); }finally{ try{ if(rs != null) rs.close(); if(ps != null) ps.close(); if(con != null) con.close(); }catch(SQLException e){ e.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); } } } @Override public void excluir(Anunciante objeto) throws SQLException { try { String query = "delete from anunciante where guid = ?"; con = getConnection(); ps = con.prepareStatement(query); ps.setString(1, objeto.getId()); ps.executeUpdate(); } catch (SQLException e) { System.out.println("Erro ao excluir anunciante"); objeto.adicionarMensagem("Erro ao excluir anunciante"); System.out.println(e.toString()); }finally{ try{ if(rs != null) rs.close(); if(ps != null) ps.close(); if(con != null) con.close(); }catch(SQLException e){ e.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); } } } @Override public List<Anunciante> listarConsulta(String filtro) throws SQLException { ArrayList<Anunciante> objetos = new ArrayList<Anunciante>(); try { String query = "select * from anunciante "; if(!filtro.isEmpty()) { query += filtro; } con = getConnection(); ps = con.prepareStatement(query); ResultSet resultado = ps.executeQuery(); while(resultado.next()) { Anunciante objeto = new Anunciante(resultado.getString("nome"), resultado.getString("documento"), resultado.getString("endereco"), resultado.getString("cidade"), resultado.getString("telefone")); objeto.setId(resultado.getString("guid")); objeto.setDataCriacao((Date)resultado.getDate("datacriacao")); objetos.add(objeto); } } catch (SQLException e) { System.out.println("Erro ao selecionar anunciante"); System.out.println(e.toString()); }finally{ try{ if(rs != null) rs.close(); if(ps != null) ps.close(); if(con != null) con.close(); }catch(SQLException e){ e.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); } } return objetos; } @Override public Anunciante selecionarConsulta(String codigo) throws SQLException { Anunciante objeto = null; try { String query = "select * from anunciante where guid = ?"; con = getConnection(); ps = con.prepareStatement(query); ps.setString(1, codigo); ResultSet resultado = ps.executeQuery(); if(resultado.next()) { objeto = new Anunciante(resultado.getString("nome"), resultado.getString("documento"), resultado.getString("endereco"), resultado.getString("cidade"), resultado.getString("telefone")); objeto.setId(resultado.getString("guid")); } } catch (SQLException e) { System.out.println("Erro ao selecionar anunciante"); System.out.println(e.toString()); }finally{ try{ if(rs != null) rs.close(); if(ps != null) ps.close(); if(con != null) con.close(); }catch(SQLException e){ e.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); } } return objeto; } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Infra/infra/repositorios/AnuncioRepositorio.java package infra.repositorios; import java.sql.Date; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import domain.Anunciante; import domain.Anuncio; import domain.Categoria; public class AnuncioRepositorio extends RepositorioBase implements repositorios.AnuncioRepositorio { @Override public void inserir(Anuncio objeto) throws SQLException { try { java.text.SimpleDateFormat sdf = new java.text.SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String query = "insert into anuncio(guid, guidanunciante, guidcategoria, datavalidade) values (?, ?, ?, ?)" ; con = getConnection(); ps = con.prepareStatement(query); ps.setString(1, objeto.getId()); ps.setString(2, objeto.getAnunciante().getId()); ps.setString(3, objeto.getCategoria().getId()); ps.setString(4, sdf.format(objeto.getDataValidade())); ps.executeUpdate(); } catch (SQLException e) { System.out.println("Erro ao inserir anuncio"); System.out.println(e.toString()); }finally{ try{ if(rs != null) rs.close(); if(ps != null) ps.close(); if(con != null) con.close(); }catch(SQLException e){ e.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); } } } @Override public void alterar(Anuncio objeto) throws SQLException { try { String query = "update anuncio set guidanunciante = ?, guidcategoria = ?, datavalidade = ? where guid = ?"; con = getConnection(); ps = con.prepareStatement(query); ps.setString(1, objeto.getAnunciante().getId()); ps.setString(2, objeto.getCategoria().getId()); ps.setDate(3, (Date)objeto.getDataValidade()); ps.setString(4, objeto.getId()); ps.executeUpdate(); } catch (SQLException e) { System.out.println("Erro ao alterar anuncio"); System.out.println(e.toString()); }finally{ try{ if(rs != null) rs.close(); if(ps != null) ps.close(); if(con != null) con.close(); }catch(SQLException e){ e.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); } } } @Override public void excluir(Anuncio objeto) throws SQLException { try { String query = "delete from anuncio where guid = ?"; con = getConnection(); ps = con.prepareStatement(query); ps.setString(1, objeto.getId()); ps.executeUpdate(); } catch (SQLException e) { System.out.println("Erro ao excluir anuncio"); System.out.println(e.toString()); }finally{ try{ if(rs != null) rs.close(); if(ps != null) ps.close(); if(con != null) con.close(); }catch(SQLException e){ e.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); } } } @Override public List<Anuncio> listarConsulta(String filtro) throws SQLException { ArrayList<Anuncio> objetos = new ArrayList<Anuncio>(); try { String query = "SELECT ANUNCIO.GUID, ANUNCIO.GUIDANUNCIANTE, ANUNCIO.GUIDCATEGORIA, ANUNCIO.DATAVALIDADE, ANUNCIO.DATACRIACAO, ANUNCIANTE.NOME AS ANUNCIANTENOME, ANUNCIANTE.DOCUMENTO, ANUNCIANTE.ENDERECO, ANUNCIANTE.CIDADE, ANUNCIANTE.TELEFONE, " + " CATEGORIA.NOME AS CATEGORIANOME " + " FROM ANUNCIO INNER JOIN" + " ANUNCIANTE ON ANUNCIANTE.GUID = ANUNCIO.GUIDANUNCIANTE INNER JOIN" + " CATEGORIA ON CATEGORIA.GUID = ANUNCIO.GUIDCATEGORIA "; if(!filtro.isEmpty()) { query += filtro; } con = getConnection(); ps = con.prepareStatement(query); ResultSet resultado = ps.executeQuery(); while(resultado.next()) { Categoria categoria = new Categoria(resultado.getString("CATEGORIANOME")); categoria.setId(resultado.getString("GUIDCATEGORIA")); Anunciante anunciante = new Anunciante(resultado.getString("ANUNCIANTENOME"), resultado.getString("documento"), resultado.getString("endereco"), resultado.getString("cidade"), resultado.getString("telefone")); anunciante.setId(resultado.getString("GUIDANUNCIANTE")); Anuncio objeto = new Anuncio(categoria, anunciante, (Date)resultado.getDate("DATAVALIDADE")); objeto.setId(resultado.getString("guid")); objeto.setDataCriacao((Date)resultado.getDate("datacriacao")); objetos.add(objeto); } } catch (SQLException e) { System.out.println("Erro ao selecionar anunciante"); System.out.println(e.toString()); }finally{ try{ if(rs != null) rs.close(); if(ps != null) ps.close(); if(con != null) con.close(); }catch(SQLException e){ e.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); } } return objetos; } @Override public Anuncio selecionarConsulta(String codigo) throws SQLException { Anuncio objeto = null; try { String query = "SELECT ANUNCIO.GUID, ANUNCIO.GUIDANUNCIANTE, ANUNCIO.GUIDCATEGORIA, ANUNCIO.DATAVALIDADE, ANUNCIO.DATACRIACAO, ANUNCIANTE.NOME AS ANUNCIANTENOME, ANUNCIANTE.DOCUMENTO, ANUNCIANTE.ENDERECO, ANUNCIANTE.TELEFONE, " + " CATEGORIA.NOME AS CATEGORIANOME " + " FROM ANUNCIO INNER JOIN" + " ANUNCIANTE ON ANUNCIANTE.GUID = ANUNCIO.GUIDANUNCIANTE INNER JOIN" + " CATEGORIA ON CATEGORIA.GUID = ANUNCIO.GUIDCATEGORIA " + " WHERE ANUNCIO.GUID = ? "; con = getConnection(); ps = con.prepareStatement(query); ps.setString(1, codigo); ResultSet resultado = ps.executeQuery(); if(resultado.next()) { Categoria categoria = new Categoria(resultado.getString("CATEGORIANOME")); categoria.setId(resultado.getString("GUIDCATEGORIA")); Anunciante anunciante = new Anunciante(resultado.getString("ANUNCIANTENOME"), resultado.getString("documento"), resultado.getString("endereco"), resultado.getString("cidade"), resultado.getString("telefone")); anunciante.setId(resultado.getString("GUIDANUNCIANTE")); objeto = new Anuncio(categoria, anunciante, (Date)resultado.getDate("DATAVALIDADE")); objeto.setId(resultado.getString("guid")); objeto.setDataCriacao((Date)resultado.getDate("datacriacao")); } } catch (SQLException e) { System.out.println("Erro ao selecionar anuncio"); System.out.println(e.toString()); }finally{ try{ if(rs != null) rs.close(); if(ps != null) ps.close(); if(con != null) con.close(); }catch(SQLException e){ e.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); } } return objeto; } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Infra/infra/repositorios/CategoriaRepositorio.java package infra.repositorios; import java.sql.Date; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import domain.Anunciante; import domain.Categoria; public class CategoriaRepositorio extends RepositorioBase implements repositorios.CategoriaRepositorio { @Override public void inserir(Categoria objeto) throws SQLException { try { String query = "insert into Categoria(guid, nome) values (?, ?)" ; con = getConnection(); ps = con.prepareStatement(query); ps.setString(1, objeto.getId()); ps.setString(2, objeto.getNome()); ps.executeUpdate(); } catch (SQLException e) { System.out.println("Erro ao inserir categoria"); System.out.println(e.toString()); }finally{ try{ if(rs != null) rs.close(); if(ps != null) ps.close(); if(con != null) con.close(); }catch(SQLException e){ e.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); } } } @Override public void alterar(Categoria objeto) throws SQLException { try { String query = "update categoria set nome = ? where guid = ?"; con = getConnection(); ps = con.prepareStatement(query); ps.setString(1, objeto.getNome()); ps.setString(2, objeto.getId()); ps.executeUpdate(); } catch (SQLException e) { System.out.println("Erro ao alterar anunciante"); System.out.println(e.toString()); }finally{ try{ if(rs != null) rs.close(); if(ps != null) ps.close(); if(con != null) con.close(); }catch(SQLException e){ e.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); } } } @Override public void excluir(Categoria objeto) throws SQLException { try { String query = "delete from categoria where guid = ?"; con = getConnection(); ps = con.prepareStatement(query); ps.setString(1, objeto.getId()); ps.executeUpdate(); } catch (SQLException e) { System.out.println("Erro ao excluir categoria"); System.out.println(e.toString()); }finally{ try{ if(rs != null) rs.close(); if(ps != null) ps.close(); if(con != null) con.close(); }catch(SQLException e){ e.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); } } } @Override public List<Categoria> listarConsulta(String filtro) throws SQLException { ArrayList<Categoria> objetos = new ArrayList<Categoria>(); try { String query = "select * from categoria "; if(!filtro.isEmpty()) { query += filtro; } con = getConnection(); ps = con.prepareStatement(query); ResultSet resultado = ps.executeQuery(); while(resultado.next()) { Categoria objeto = new Categoria(resultado.getString("nome")); objeto.setId(resultado.getString("guid")); objetos.add(objeto); } } catch (SQLException e) { System.out.println("Erro ao selecionar anunciante"); System.out.println(e.toString()); }finally{ try{ if(rs != null) rs.close(); if(ps != null) ps.close(); if(con != null) con.close(); }catch(SQLException e){ e.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); } } return objetos; } @Override public Categoria selecionarConsulta(String codigo) throws SQLException { Categoria objeto = null; try { String query = "select * from categoria where guid = ?"; con = getConnection(); ps = con.prepareStatement(query); ps.setString(1, codigo); ResultSet resultado = ps.executeQuery(); if(resultado.next()) { objeto = new Categoria(resultado.getString("nome")); objeto.setId(resultado.getString("guid")); } } catch (SQLException e) { System.out.println("Erro ao selecionar categoria"); System.out.println(e.toString()); }finally{ try{ if(rs != null) rs.close(); if(ps != null) ps.close(); if(con != null) con.close(); }catch(SQLException e){ e.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); } } return objeto; } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Infra/infra/repositorios/RepositorioBase.java package infra.repositorios; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import factory.ConnectionFactory; public class RepositorioBase { protected Connection con = null; protected PreparedStatement ps= null; protected ResultSet rs = null; protected Connection getConnection() throws SQLException{ Connection conn; conn = ConnectionFactory.getInstance().getConnection(); return conn; } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Infra/infra/repositorios/UsuarioRepositorio.java package infra.repositorios; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import domain.Usuario; public class UsuarioRepositorio extends RepositorioBase implements repositorios.UsuarioRepositorio { @Override public void inserir(Usuario objeto) throws SQLException { try { String query = "insert into Usuario(guid, nome, login, senha) values (?, ?, ?, ?)" ; con = getConnection(); ps = con.prepareStatement(query); ps.setString(1, objeto.getId()); ps.setString(2, objeto.getNome()); ps.setString(3, objeto.getLogin()); ps.setString(4, objeto.getSenha()); ps.executeUpdate(); } catch (SQLException e) { System.out.println("Erro ao inserir categoria"); objeto.adicionarMensagem("Erro ao inserir categoria"); System.out.println(e.toString()); }finally{ try{ if(rs != null) rs.close(); if(ps != null) ps.close(); if(con != null) con.close(); }catch(SQLException e){ e.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); } } } @Override public void alterar(Usuario objeto) throws SQLException { try { String query = "update usuario set nome = ?, login = ? where guid = ?"; con = getConnection(); ps = con.prepareStatement(query); ps.setString(1, objeto.getNome()); ps.setString(2, objeto.getLogin()); ps.setString(3, objeto.getId()); ps.executeUpdate(); } catch (SQLException e) { System.out.println("Erro ao alterar anunciante"); objeto.adicionarMensagem("Erro ao alterar anunciante"); System.out.println(e.toString()); }finally{ try{ if(rs != null) rs.close(); if(ps != null) ps.close(); if(con != null) con.close(); }catch(SQLException e){ e.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); } } } @Override public void excluir(Usuario objeto) throws SQLException { try { String query = "delete from usuario where guid = ?"; con = getConnection(); ps = con.prepareStatement(query); ps.setString(1, objeto.getId()); ps.executeUpdate(); } catch (SQLException e) { System.out.println("Erro ao excluir categoria"); objeto.adicionarMensagem("Erro ao excluir categoria"); System.out.println(e.toString()); }finally{ try{ if(rs != null) rs.close(); if(ps != null) ps.close(); if(con != null) con.close(); }catch(SQLException e){ e.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); } } } @Override public List<Usuario> listarConsulta(String filtro) throws SQLException { ArrayList<Usuario> objetos = new ArrayList<Usuario>(); try { String query = "select guid, nome, login from usuario "; if(!filtro.isEmpty()) { query += filtro; } con = getConnection(); ps = con.prepareStatement(query); ResultSet resultado = ps.executeQuery(); while(resultado.next()) { Usuario objeto = new Usuario(resultado.getString("nome"), resultado.getString("login"), ""); objeto.setId(resultado.getString("guid")); objetos.add(objeto); } } catch (SQLException e) { System.out.println("Erro ao selecionar anunciante"); System.out.println(e.toString()); }finally{ try{ if(rs != null) rs.close(); if(ps != null) ps.close(); if(con != null) con.close(); }catch(SQLException e){ e.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); } } return objetos; } @Override public Usuario selecionarConsulta(String codigo) throws SQLException { Usuario objeto = null; try { String query = "select guid, nome, login from usuario where guid = ?"; con = getConnection(); ps = con.prepareStatement(query); ps.setString(1, codigo); ResultSet resultado = ps.executeQuery(); if(resultado.next()) { objeto = new Usuario(resultado.getString("nome"), resultado.getString("login"), ""); objeto.setId(resultado.getString("guid")); } } catch (SQLException e) { System.out.println("Erro ao selecionar categoria"); System.out.println(e.toString()); }finally{ try{ if(rs != null) rs.close(); if(ps != null) ps.close(); if(con != null) con.close(); }catch(SQLException e){ e.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); } } return objeto; } @Override public Usuario AlterarSenha(Usuario objeto) { try { String query = "update usuario set senha = ? where guid = ?"; con = getConnection(); ps = con.prepareStatement(query); ps.setString(1, objeto.getSenha()); ps.setString(2, objeto.getId()); ps.executeUpdate(); } catch (SQLException e) { System.out.println("Erro ao alterar anunciante"); objeto.adicionarMensagem("Erro ao alterar anunciante"); System.out.println(e.toString()); }finally{ try{ if(rs != null) rs.close(); if(ps != null) ps.close(); if(con != null) con.close(); }catch(SQLException e){ e.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); } } return objeto; } @Override public Usuario Login(Usuario objeto) { try { String query = "select guid, nome, login from usuario where login = ? and senha = ?"; con = getConnection(); ps = con.prepareStatement(query); ps.setString(1, objeto.getLogin()); ps.setString(2, objeto.getSenha()); ResultSet resultado = ps.executeQuery(); if(resultado.next()) { objeto = new Usuario(resultado.getString("nome"), resultado.getString("login"), ""); objeto.setId(resultado.getString("guid")); } } catch (SQLException e) { System.out.println("Erro ao selecionar categoria"); System.out.println(e.toString()); }finally{ try{ if(rs != null) rs.close(); if(ps != null) ps.close(); if(con != null) con.close(); }catch(SQLException e){ e.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); } } return objeto; } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/pom.xml 4.0.0 com.pos.pioo com.pos.pioo 0.0.1-SNAPSHOT src maven-compiler-plugin 3.7.0 1.7 1.7 com.google.code.gson gson 2.2.4 jstl jstl 1.2 mysql mysql-connector-java 5.1.6 PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Shared/fluent/Validacao.java package fluent; import java.util.ArrayList; import java.util.Date; public abstract class Validacao { private ArrayList<String> mensagens; public Validacao() { this.mensagens = new ArrayList<String>(); } public void deveSerVazio(Object obj, String mensagem) { if(obj != null) { this.mensagens.add(mensagem); return; } } public void deveSerVazio(String obj, String mensagem) { if(!obj.isEmpty()) { this.adicionarMensagem(mensagem); } } public void naoDeveSerVazio(Object obj, String mensagem) { if(obj == null) { this.mensagens.add(mensagem); return; } } public void naoDeveSerVazio(String obj, String mensagem) { if(obj.isEmpty()) { this.adicionarMensagem(mensagem); } } public void deveSerMaiorQue(int valor, int compare, String mensagem) { if(compare > valor) { this.adicionarMensagem(mensagem); } } public void deveSerMaiorQue(Date valor, Date compare, String mensagem) { if(compare.before(valor)) { this.adicionarMensagem(mensagem); } } public void deveSerMenorQue(int valor, int compare, String mensagem) { if(compare < valor) { this.adicionarMensagem(mensagem); } } public void deveSerMenorQue(Date valor, Date compare, String mensagem) { if(compare.after(valor)) { this.adicionarMensagem(mensagem); } } public void deveSerIgual(String valor, String compare, String mensagem) { if(!valor.equals(compare)) { this.adicionarMensagem(mensagem); } } public void naoDeveSerIgual(String valor, String compare, String mensagem) { if(valor.equals(compare)) { this.adicionarMensagem(mensagem); } } public boolean EValido() { return this.mensagens.isEmpty(); } public boolean EInvalido() { return !this.mensagens.isEmpty(); } public void adicionarMensagem(String mensagem) { this.mensagens.add(mensagem); } public void adicionarMensagens(ArrayList mensagens) { this.mensagens.addAll(mensagens); } public ArrayList<String> obterMensagens() { return this.mensagens; } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Web/command/Command.java package command; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public interface Command { public void execute(HttpServletRequest request, HttpServletResponse response); } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Web/command/navegacao/DeletarAnunciante.java package command.navegacao; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Anunciante; import repositorios.AnuncianteRepositorio; public class DeletarAnunciante implements Command { private AnuncianteRepositorio anuncianteRepositorio; public DeletarAnunciante() { if(anuncianteRepositorio == null) { this.anuncianteRepositorio = new infra.repositorios.AnuncianteRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { Anunciante anunciante = new Anunciante("","","","",""); anunciante.setId(request.getParameter("id")); this.anuncianteRepositorio.excluir(anunciante); RequestDispatcher d = request.getRequestDispatcher("Controller?command=ListarAnunciante"); d.forward(request,response); } catch (IOException | ServletException | SQLException e) { e.printStackTrace(); } } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Web/command/navegacao/DeletarAnuncio.java package command.navegacao; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; import java.util.Date; import java.util.List; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Anunciante; import domain.Anuncio; import domain.Categoria; import repositorios.AnuncioRepositorio; public class DeletarAnuncio implements Command { private AnuncioRepositorio anuncioRepositorio; public DeletarAnuncio() { if(anuncioRepositorio == null) { this.anuncioRepositorio = new infra.repositorios.AnuncioRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { Anuncio anuncio = new Anuncio(new Categoria(""), new Anunciante("", "", "", "", ""), new Date()); anuncio.setId(request.getParameter("id")); this.anuncioRepositorio.excluir(anuncio); RequestDispatcher d = request.getRequestDispatcher("Controller?command=ListarAnuncio"); d.forward(request,response); } catch (IOException | ServletException | SQLException e) { e.printStackTrace(); } } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Web/command/navegacao/DeletarCategoria.java package command.navegacao; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Categoria; import repositorios.CategoriaRepositorio; public class DeletarCategoria implements Command { private CategoriaRepositorio categoriaRepositorio; public DeletarCategoria() { if(categoriaRepositorio == null) { this.categoriaRepositorio = new infra.repositorios.CategoriaRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { Categoria categoria = new Categoria(""); categoria.setId(request.getParameter("id")); this.categoriaRepositorio.excluir(categoria); RequestDispatcher d = request.getRequestDispatcher("Controller?command=ListarCategoria"); d.forward(request,response); } catch (IOException | ServletException | SQLException e) { e.printStackTrace(); } } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Web/command/navegacao/DeletarUsuario.java package command.navegacao; import java.io.IOException; import java.sql.SQLException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Usuario; import repositorios.UsuarioRepositorio; public class DeletarUsuario implements Command { private UsuarioRepositorio usuarioRepositorio; public DeletarUsuario() { if(usuarioRepositorio == null) { this.usuarioRepositorio = new infra.repositorios.UsuarioRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { Usuario usuario = new Usuario("", ""); usuario.setId(request.getParameter("id")); this.usuarioRepositorio.excluir(usuario); RequestDispatcher d = request.getRequestDispatcher("Controller?command=ListarUsuario"); d.forward(request,response); } catch (IOException | ServletException | SQLException e) { e.printStackTrace(); } } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Web/command/navegacao/EditarAnunciante.java package command.navegacao; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Anunciante; import domain.Categoria; import repositorios.AnuncianteRepositorio; import repositorios.AnuncioRepositorio; import repositorios.CategoriaRepositorio; public class EditarAnunciante implements Command { private CategoriaRepositorio categoriaRepositorio; private AnuncianteRepositorio anuncianteRepositorio; private AnuncioRepositorio anuncioRepositorio; public EditarAnunciante() { if(categoriaRepositorio == null) { this.categoriaRepositorio = new infra.repositorios.CategoriaRepositorio(); } if(anuncianteRepositorio == null) { this.anuncianteRepositorio = new infra.repositorios.AnuncianteRepositorio(); } if(anuncioRepositorio == null) { this.anuncioRepositorio = new infra.repositorios.AnuncioRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { Anunciante anunciante = null; if(request.getParameter("id") != null) { anunciante = this.anuncianteRepositorio.selecionarConsulta(request.getParameter("id")); } else { anunciante = new Anunciante("", "", "", "", ""); } request.setAttribute("anunciante", anunciante); RequestDispatcher d = request.getRequestDispatcher("/Anunciantes/EditarAnunciante.jsp"); d.forward(request,response); } catch (IOException | ServletException | SQLException e) { e.printStackTrace(); } } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Web/command/navegacao/EditarAnuncio.java package command.navegacao; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; import java.util.Date; import java.util.List; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Anunciante; import domain.Anuncio; import domain.Categoria; import repositorios.AnuncianteRepositorio; import repositorios.AnuncioRepositorio; import repositorios.CategoriaRepositorio; public class EditarAnuncio implements Command { private CategoriaRepositorio categoriaRepositorio; private AnuncianteRepositorio anuncianteRepositorio; private AnuncioRepositorio anuncioRepositorio; public EditarAnuncio() { if(categoriaRepositorio == null) { this.categoriaRepositorio = new infra.repositorios.CategoriaRepositorio(); } if(anuncianteRepositorio == null) { this.anuncianteRepositorio = new infra.repositorios.AnuncianteRepositorio(); } if(anuncioRepositorio == null) { this.anuncioRepositorio = new infra.repositorios.AnuncioRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { Anuncio anuncio = null; if(request.getAttribute("id") != null) { anuncio = this.anuncioRepositorio.selecionarConsulta(request.getAttribute("id").toString()); } else { anuncio = new Anuncio(new Categoria(""), new Anunciante("", "", "", "", ""), new Date()); } List<Categoria> categorias = this.categoriaRepositorio.listarConsulta(""); List<Anunciante> anunciantes = this.anuncianteRepositorio.listarConsulta(""); request.setAttribute("categorias", categorias); request.setAttribute("anunciantes", anunciantes); request.setAttribute("anuncio", anuncio); RequestDispatcher d = request.getRequestDispatcher("/Anuncios/EditarAnuncio.jsp"); d.forward(request,response); } catch (IOException | ServletException | SQLException e) { e.printStackTrace(); } } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Web/command/navegacao/EditarCategoria.java package command.navegacao; import java.io.IOException; import java.sql.SQLException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Categoria; import repositorios.CategoriaRepositorio; public class EditarCategoria implements Command { private CategoriaRepositorio categoriaRepositorio; public EditarCategoria() { if(categoriaRepositorio == null) { this.categoriaRepositorio = new infra.repositorios.CategoriaRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { Categoria categoria = null; if(request.getParameter("id") != null) { categoria = this.categoriaRepositorio.selecionarConsulta(request.getParameter("id")); } else { categoria = new Categoria(""); } request.setAttribute("categoria", categoria); RequestDispatcher d = request.getRequestDispatcher("/Categoria/EditarCategoria.jsp"); d.forward(request,response); } catch (IOException | ServletException | SQLException e) { e.printStackTrace(); } } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Web/command/navegacao/EditarUsuario.java package command.navegacao; import java.io.IOException; import java.sql.SQLException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Usuario; import repositorios.UsuarioRepositorio; public class EditarUsuario implements Command { private UsuarioRepositorio usuarioRepositorio; public EditarUsuario() { if(usuarioRepositorio == null) { this.usuarioRepositorio = new infra.repositorios.UsuarioRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { Usuario usuario = null; if(request.getParameter("id") != null) { usuario = this.usuarioRepositorio.selecionarConsulta(request.getParameter("id")); } else { usuario = new Usuario("", "", ""); } request.setAttribute("usuario", usuario); RequestDispatcher d = request.getRequestDispatcher("/Usuario/EditarUsuario.jsp"); d.forward(request,response); } catch (IOException | ServletException | SQLException e) { e.printStackTrace(); } } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Web/command/navegacao/ListarAnunciante.java package command.navegacao; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Anunciante; import domain.Anuncio; import domain.Categoria; import repositorios.AnuncianteRepositorio; import repositorios.AnuncioRepositorio; public class ListarAnunciante implements Command { private AnuncianteRepositorio anuncianteRepositorio; public ListarAnunciante() { if(anuncianteRepositorio == null) { this.anuncianteRepositorio = new infra.repositorios.AnuncianteRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { List<Anunciante> anunciantes = this.anuncianteRepositorio.listarConsulta(""); request.setAttribute("anunciantes", anunciantes); RequestDispatcher d = request.getRequestDispatcher("/Anunciantes/ListarAnunciante.jsp"); d.forward(request,response); } catch (IOException | ServletException | SQLException e) { e.printStackTrace(); } } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Web/command/navegacao/ListarAnuncio.java package command.navegacao; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; import java.util.Date; import java.util.List; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Anunciante; import domain.Anuncio; import domain.Categoria; import repositorios.AnuncioRepositorio; import repositorios.CategoriaRepositorio; public class ListarAnuncio implements Command { private AnuncioRepositorio anuncioRepositorio; public ListarAnuncio() { if(anuncioRepositorio == null) { this.anuncioRepositorio = new infra.repositorios.AnuncioRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { List<Anuncio> anuncios = this.anuncioRepositorio.listarConsulta(""); request.setAttribute("anuncios", anuncios); RequestDispatcher d = request.getRequestDispatcher("/Anuncios/ListarAnuncio.jsp"); d.forward(request,response); } catch (IOException | ServletException | SQLException e) { e.printStackTrace(); } } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Web/command/navegacao/ListarCategoria.java package command.navegacao; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Categoria; import repositorios.CategoriaRepositorio; public class ListarCategoria implements Command { private CategoriaRepositorio categoriaRepositorio; public ListarCategoria() { if(categoriaRepositorio == null) { this.categoriaRepositorio = new infra.repositorios.CategoriaRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { List<Categoria> categorias = this.categoriaRepositorio.listarConsulta(""); request.setAttribute("categorias", categorias); RequestDispatcher d = request.getRequestDispatcher("/Categoria/ListarCategoria.jsp"); d.forward(request,response); } catch (IOException | ServletException | SQLException e) { e.printStackTrace(); } } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Web/command/navegacao/ListarUsuario.java package command.navegacao; import java.io.IOException; import java.sql.SQLException; import java.util.List; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Usuario; import repositorios.UsuarioRepositorio; public class ListarUsuario implements Command { private UsuarioRepositorio usuarioRepositorio; public ListarUsuario() { if(usuarioRepositorio == null) { this.usuarioRepositorio = new infra.repositorios.UsuarioRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { List<Usuario> usuarios = this.usuarioRepositorio.listarConsulta(""); request.setAttribute("usuarios", usuarios); RequestDispatcher d = request.getRequestDispatcher("/Usuario/ListarUsuario.jsp"); d.forward(request,response); } catch (IOException | ServletException | SQLException e) { e.printStackTrace(); } } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Web/command/navegacao/LoginUsuario.java package command.navegacao; import java.io.IOException; import java.sql.SQLException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Usuario; import repositorios.UsuarioRepositorio; public class LoginUsuario implements Command { private UsuarioRepositorio usuarioRepositorio; public LoginUsuario() { if(usuarioRepositorio == null) { this.usuarioRepositorio = new infra.repositorios.UsuarioRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { if(request.getParameter("login") == null && request.getParameter("senha") == null) { request.getSession().setAttribute("usuarioLogado", null); RequestDispatcher d = request.getRequestDispatcher("/Usuario/LoginUsuario.jsp"); d.forward(request,response); } else { Usuario usuario = new Usuario(request.getParameter("login").toString(), request.getParameter("senha").toString()); if(usuario.EValido()) { usuario = this.usuarioRepositorio.Login(usuario); if(usuario != null) { request.getSession().setAttribute("usuarioLogado", usuario); RequestDispatcher d = request.getRequestDispatcher("/index.jsp"); d.forward(request,response); } else { request.getSession().setAttribute("usuarioLogado", null); RequestDispatcher d = request.getRequestDispatcher("/Usuario/LoginUsuario.jsp"); d.forward(request,response); } } else { request.getSession().setAttribute("usuarioLogado", null); RequestDispatcher d = request.getRequestDispatcher("/Usuario/LoginUsuario.jsp"); d.forward(request,response); } } } catch (IOException | ServletException e) { e.printStackTrace(); } } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Web/command/navegacao/LogoutUsuario.java package command.navegacao; import java.io.IOException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Usuario; import repositorios.UsuarioRepositorio; public class LogoutUsuario implements Command { private UsuarioRepositorio usuarioRepositorio; public LogoutUsuario() { if(usuarioRepositorio == null) { this.usuarioRepositorio = new infra.repositorios.UsuarioRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { request.getSession().setAttribute("usuarioLogado", null); request.getRequestDispatcher("/index.jsp").forward(request,response); } catch (IOException | ServletException e) { e.printStackTrace(); } } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Web/command/navegacao/MostrarAnuncio.java package command.navegacao; import java.io.IOException; import java.sql.SQLException; import java.util.List; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Anuncio; import repositorios.AnuncioRepositorio; public class MostrarAnuncio implements Command { private AnuncioRepositorio anuncioRepositorio; public MostrarAnuncio() { if(anuncioRepositorio == null) { this.anuncioRepositorio = new infra.repositorios.AnuncioRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { List<Anuncio> anuncios = this.anuncioRepositorio.listarConsulta(""); request.setAttribute("anuncios", anuncios); RequestDispatcher d = request.getRequestDispatcher("/Anuncios/MostrarAnuncios.jsp"); d.forward(request,response); } catch (IOException | ServletException | SQLException e) { e.printStackTrace(); } } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Web/command/navegacao/SalvarAnunciante.java package command.navegacao; import java.io.IOException; import java.sql.SQLException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Anunciante; import domain.Categoria; import infra.repositorios.AnuncianteRepositorio; import repositorios.CategoriaRepositorio; public class SalvarAnunciante implements Command { private AnuncianteRepositorio anuncianteRepositorio; public SalvarAnunciante() { if(anuncianteRepositorio == null) { this.anuncianteRepositorio = new infra.repositorios.AnuncianteRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { boolean isNovo = true; Anunciante anunciante = new Anunciante(request.getParameter("nome"), request.getParameter("documento"), request.getParameter("endereco"), request.getParameter("cidade"), request.getParameter("telefone")); if(!request.getParameter("isnew").equals("true")) { anunciante.setId(request.getParameter("id")); isNovo = false; } if(anunciante.EValido()) { if(isNovo) { this.anuncianteRepositorio.inserir(anunciante); } else { this.anuncianteRepositorio.alterar(anunciante); } } RequestDispatcher d = request.getRequestDispatcher("Controller?command=ListarAnunciante"); d.forward(request,response); } catch (IOException | ServletException | SQLException e) { e.printStackTrace(); } } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Web/command/navegacao/SalvarAnuncio.java package command.navegacao; import java.io.IOException; import java.sql.SQLException; import java.util.Date; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Anunciante; import domain.Anuncio; import domain.Categoria; import repositorios.AnuncioRepositorio; public class SalvarAnuncio implements Command { private AnuncioRepositorio anuncioRepositorio; public SalvarAnuncio() { if(anuncioRepositorio == null) { this.anuncioRepositorio = new infra.repositorios.AnuncioRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { boolean isNovo = true; Categoria categoria = new Categoria(""); Anunciante anunciante = new Anunciante("", "", "", "", ""); categoria.setId(request.getParameter("categoriaId").toString()); anunciante.setId(request.getParameter("anuncianteId").toString()); Anuncio anuncio = new Anuncio(categoria, anunciante, new Date()); if(!request.getParameter("isnew").equals("true")) { anuncio.setId(request.getParameter("id")); isNovo = false; } if(isNovo) { this.anuncioRepositorio.inserir(anuncio); } else { this.anuncioRepositorio.alterar(anuncio); } RequestDispatcher d = request.getRequestDispatcher("Controller?command=ListarAnuncio"); d.forward(request,response); } catch (IOException | ServletException | SQLException e) { e.printStackTrace(); } } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Web/command/navegacao/SalvarCategoria.java package command.navegacao; import java.io.IOException; import java.sql.SQLException; import java.util.ArrayList; import java.util.List; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Categoria; import repositorios.CategoriaRepositorio; public class SalvarCategoria implements Command { private CategoriaRepositorio categoriaRepositorio; public SalvarCategoria() { if(categoriaRepositorio == null) { this.categoriaRepositorio = new infra.repositorios.CategoriaRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { boolean isNovo = true; Categoria categoria = new Categoria(request.getParameter("nome")); if(request.getParameter("isnew") != "true") { categoria.setId(request.getParameter("id")); isNovo = false; } if(categoria.EValido()) { if(isNovo) { this.categoriaRepositorio.inserir(categoria); } else { this.categoriaRepositorio.alterar(categoria); } } RequestDispatcher d = request.getRequestDispatcher("Controller?command=ListarCategoria"); d.forward(request,response); } catch (IOException | ServletException | SQLException e) { e.printStackTrace(); } } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Web/command/navegacao/SalvarUsuario.java package command.navegacao; import java.io.IOException; import java.sql.SQLException; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; import domain.Usuario; import repositorios.UsuarioRepositorio; public class SalvarUsuario implements Command { private UsuarioRepositorio categoriaRepositorio; public SalvarUsuario() { if(categoriaRepositorio == null) { this.categoriaRepositorio = new infra.repositorios.UsuarioRepositorio(); } } @Override public void execute(HttpServletRequest request, HttpServletResponse response) { try { boolean isNovo = true; Usuario usuariologado = (Usuario)request.getSession().getAttribute("usuarioLogado"); Usuario usuario = new Usuario(request.getParameter("nome"), request.getParameter("login"), request.getParameter("senha")); if(!request.getParameter("isnew").equals("true")) { usuario.setId(request.getParameter("id")); isNovo = false; } if(usuario.EValido()) { if(isNovo) { this.categoriaRepositorio.inserir(usuario); } else { this.categoriaRepositorio.alterar(usuario); } } if(usuariologado == null) { request.getRequestDispatcher("Controller?command=LoginUsuario").forward(request,response); } else { request.getRequestDispatcher("Controller?command=ListarUsuario").forward(request,response); } } catch (IOException | ServletException | SQLException e) { e.printStackTrace(); } } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/Web/servlet/Controller.java package servlet; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import command.Command; public class Controller extends HttpServlet { protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Command comando = null; try { comando = (Command)Class.forName("command.navegacao."+request.getParameter("command")).newInstance(); } catch (InstantiationException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } catch (ClassNotFoundException e) { e.printStackTrace(); } comando.execute(request, response); } @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { processRequest(request, response); } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/WebContent/Anunciantes/EditarAnunciante.js function onVoltarAnuncio(){ navegarPrincipal("/com.pos.pioo/Controller?command=ListarAnunciante"); } function onSalvarAnunciante(){ var valores = $('#AnuncianteFormulario').serialize(); var command = "/com.pos.pioo/Controller?command=SalvarAnunciante&" + valores; executarCommand(command); } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/WebContent/Anunciantes/EditarAnunciante.jsp <%@ page import="domain.Anunciante"%> <%@ page import="java.util.ArrayList"%> <%@ page import="java.util.List"%> <% Anunciante anunciante = (Anunciante) request.getAttribute("anunciante"); %> <div class="panel panel-default"> <!-- Default panel contents --> <div class="panel-heading">Cadatrar Anunciante</div> <form id="AnuncianteFormulario"> <input type="hidden" name="id" value="<%=anunciante.getId()%>" /> <input type="hidden" name="isnew" value="<%=anunciante.isNovoRegistro()%>" /> <div class="form-group"> <label class="control-label required">Nome <abbr title="required">*</abbr> </label> <input type="text" class="form-control" name="nome" value="<%=anunciante.getNome()%>" required /> </div> <div class="form-group"> <label class="control-label required">Documento <abbr title="required">*</abbr> </label> <input type="text" class="form-control" name="documento" value="<%=anunciante.getDocumento()%>" required /> </div> <div class="form-group"> <label class="control-label required">Endereço <abbr title="required">*</abbr> </label> <input type="text" class="form-control" name="endereco" value="<%=anunciante.getEndereco()%>" required /> </div> <div class="form-group"> <label class="control-label required">Telefone <abbr title="required">*</abbr> </label> <input type="text" class="form-control" name="telefone" value="<%=anunciante.getTelefone()%>" required /> </div> <div class="form-group"> <label class="control-label required">Cidade <abbr title="required">*</abbr> </label> <input type="text" class="form-control" name="cidade" value="<%=anunciante.getCidade()%>" required /> </div> <button class="btn btn-primary" type="button" onclick="onSalvarAnunciante()">Salvar</button> <button class="btn btn-primary" type="button" onclick="onVoltarAnunciante()">Voltar</button> </form> </div> <script type="text/javascript"> <jsp:include page="/Anunciantes/EditarAnunciante.js" /> </script> PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/WebContent/Anunciantes/ListarAnunciante.js function onEditarAnunciante(id) { if(id) { executarCommand("/com.pos.pioo/Controller?command=EditarAnunciante&id=" + id); } else { executarCommand("/com.pos.pioo/Controller?command=EditarAnunciante"); } } function onDeletarAnunciante(id){ if(confirm("Deseja deletar o anunciante?")) { executarCommand("/com.pos.pioo/Controller?command=DeletarAnunciante&id=" + id); } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/WebContent/Anunciantes/ListarAnunciante.jsp <%@ page import="domain.Anunciante"%> <%@ page import="java.util.ArrayList"%> <%@ page import="java.util.List"%> <div class="panel panel-default"> <!-- Default panel contents --> <div class="panel-heading">Lista de categorias</div> <div> <button class="btn btn-primary" type="button" onclick="onEditarAnunciante()">Nova Anunciante</button> </div> <!-- Table --> <table class="table"> <tr> <th></th> <th>Nome</th> <th>Documento</th> <th>Telefone</th> </tr> <% List<Anunciante> anunciantes = (List<Anunciante>) request.getAttribute("anunciantes"); for (Anunciante item : anunciantes) { %> <tr> <td> <button type="button" class="btn btn-info btn-sm" onclick="onEditarAnunciante('<%=item.getId()%>')"> <span class="fa fa-pencil"> </span> </button> <button type="button" class="btn btn-danger btn-sm" onclick="onExluirAnunciante('<%=item.getId()%>')"> <span class="fa fa-trash-o"></span> </button> </td> <td><%=item.getNome()%></td> <td><%=item.getDocumento()%></td> <td><%=item.getTelefone()%></td> </tr> <% } %> </table> </div> <script type="text/javascript"> <jsp:include page="/Anunciantes/ListarAnunciante.js" /> </script> PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/WebContent/Anuncios/EditarAnuncio.js function onVoltarAnuncio(){ executarCommand("/com.pos.pioo/Controller?command=ListarAnuncio"); } function onSalvarAnuncio(){ var valores = $('#AnuncioFormulario').serialize(); var command = "/com.pos.pioo/Controller?command=SalvarAnuncio&" + valores; executarCommand(command); } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/WebContent/Anuncios/EditarAnuncio.jsp <%@ page import="domain.Categoria"%> <%@ page import="domain.Anunciante"%> <%@ page import="domain.Anuncio"%> <%@ page import="java.util.ArrayList"%> <%@ page import="java.util.List"%> <% Anuncio anuncio = (Anuncio) request.getAttribute("anuncio"); List<Categoria> categorias = (ArrayList<Categoria>) request.getAttribute("categorias"); List<Anunciante> anunciantes = (ArrayList<Anunciante>) request.getAttribute("anunciantes"); %> <div class="panel panel-default"> <!-- Default panel contents --> <div class="panel-heading">Cadatrar Anuncio</div> <form id="AnuncioFormulario"> <input type="hidden" name="id" value="<%=anuncio.getId()%>"> <input type="hidden" name="isnew" value="<%=anuncio.isNovoRegistro()%>" /> <div class="form-group"> <label class="control-label required">Categoria <abbr title="required">*</abbr> </label> <select name="categoriaId" require> <% for (Categoria item : categorias) { %> <option value="<%=item.getId()%>" <%=!anuncio.isNovoRegistro() && anuncio.getCategoria().getId() == item.getId() ? "selected" : ""%>><%=item.getNome()%></option> <% } %> </select> </div> <div class="form-group"> <label class="control-label required">Anunciante <abbr title="required">*</abbr> </label> <select name="anuncianteId" require> <% for (Anunciante item : anunciantes) { %> <option value="<%=item.getId()%>" <%=!anuncio.isNovoRegistro() && anuncio.getAnunciante().getId() == item.getId() ? "selected" : ""%>><%=item.getNome()%></option> <% } %> </select> </div> <div class="form-group"> <label class="control-label required">Validade <abbr title="required">*</abbr> </label> <input type="text" class="form-control" name="dataValidade" value="<%=anuncio.getDataValidade().toString()%>" required /> </div> <button class="btn btn-primary" type="button" onclick="onSalvarAnuncio()">Salvar</button> <button class="btn btn-primary" type="button" onclick="onVoltarAnuncio()">Voltar</button> </form> </div> <script type="text/javascript"> <jsp:include page="/Anuncios/EditarAnuncio.js" /> </script> PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/WebContent/Anuncios/ListarAnuncio.js function onEditarAnuncio(id) { if(id) { executarCommand("/com.pos.pioo/Controller?command=EditarAnuncio&id=" + id); } else { executarCommand("/com.pos.pioo/Controller?command=EditarAnuncio"); } } function onDeletarAnuncio(id){ if(confirm("Deseja deletar o anuncio?")) { executarCommand("/com.pos.pioo/Controller?command=DeletarAnuncio&id=" + id); } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/WebContent/Anuncios/ListarAnuncio.jsp <%@ page import="domain.Anuncio"%> <%@ page import="java.util.ArrayList"%> <%@ page import="java.util.List"%> <div class="panel panel-default"> <!-- Default panel contents --> <div class="panel-heading">Lista de anúncio</div> <div> <button class="btn btn-primary" type="button" onclick="onEditarAnuncio()">Novo Anúncio</button> </div> <!-- Table --> <table class="table"> <tr> <th></th> <th>Categoria</th> <th>Anuncio</th> <th>Validade</th> </tr> <% List<Anuncio> anuncios = (List<Anuncio>) request.getAttribute("anuncios"); for (Anuncio item : anuncios) { %> <tr> <td> <button type="button" class="btn btn-info btn-sm" onclick="onEditarAnuncio('<%=item.getId()%>')"> <span class="fa fa-pencil"></span> </button> <button type="button" class="btn btn-danger btn-sm" onclick="onDeletarAnuncio('<%=item.getId()%>')"> <span class="fa fa-trash-o"></span> </button> </td> <td><%=item.getCategoria().getNome()%></td> <td><%=item.getAnunciante().getNome()%></td> </tr> <% } %> </table> </div> <script type="text/javascript"> <jsp:include page="/Anuncios/ListarAnuncio.js" /> </script> PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/WebContent/Anuncios/MostrarAnuncios.jsp <%@ page import="domain.Anuncio"%> <%@ page import="java.util.ArrayList"%> <%@ page import="java.util.List"%> <% ArrayList<Anuncio> anuncios = (ArrayList<Anuncio>) request.getAttribute("anuncios"); %> <div class="row"> <% for (Anuncio item : anuncios) { %> <div class="col-2"> <h3><%=item.getCategoria().getNome()%></h3> <div> <%=item.getCategoria().getNome()%> </div> </div> <% } %> </div> PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/WebContent/Categoria/EditarCategoria.js function onVoltarCategoria(){ executarCommand("/com.pos.pioo/Controller?command=ListarCategoria"); } function onSalvarCategoria(){ var valores = $('#CategoriaFormulario').serialize(); var command = "/com.pos.pioo/Controller?command=SalvarCategoria&" + valores; executarCommand(command); } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/WebContent/Categoria/EditarCategoria.jsp <%@ page import="domain.Categoria"%> <% Categoria categoria = (Categoria) request.getAttribute("categoria"); %> <div class="panel panel-default"> <!-- Default panel contents --> <div class="panel-heading">Cadatrar Categoria</div> <form id="CategoriaFormulario"> <input type="hidden" name="id" value="<%=categoria.getId()%>" /> <input type="hidden" name="isnew" value="<%=categoria.isNovoRegistro()%>" /> <div class="form-group"> <label class="control-label required">Nome <abbr title="required">*</abbr> </label> <input type="text" class="form-control" name="nome" value="<%=categoria.getNome()%>" required /> </div> <button class="btn btn-primary" type="button" onclick="onSalvarCategoria()">Salvar</button> <button class="btn btn-primary" type="button" onclick="onVoltarCategoria()">Voltar</button> </form> </div> <script type="text/javascript"> <jsp:include page="/Categoria/EditarCategoria.js" /> </script> PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/WebContent/Categoria/ListarCategoria.js $(document).ready(function(){ }); function onEditarCategoria(id) { if(id) { executarCommand("/com.pos.pioo/Controller?command=EditarCategoria&id=" + id); } else { executarCommand("/com.pos.pioo/Controller?command=EditarCategoria"); } } function onExluirCategoria(id){ if(confirm("Deseja deletar o categoria?")) { executarCommand("/com.pos.pioo/Controller?command=DeletarCategoria&id=" + id); } } PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/WebContent/Categoria/ListarCategoria.jsp <%@ page import="domain.Categoria"%> <%@ page import="java.util.ArrayList"%> <%@ page import="java.util.List"%> <div class="panel panel-default"> <!-- Default panel contents --> <div class="panel-heading">Lista de categorias</div> <div> <button class="btn btn-primary" type="button" onclick="onEditarCategoria()">Nova Categoria</button> </div> <!-- Table --> <table class="table"> <tr> <th></th> <th>Nome</th> </tr> <% List<Categoria> categorias = (List<Categoria>) request.getAttribute("categorias"); for (Categoria item : categorias) { %> <tr> <td> <button type="button" class="btn btn-info btn-sm" onclick="onEditarCategoria('<%=item.getId()%>')"> <span class="fa fa-pencil"> </span> </button> <button type="button" class="btn btn-danger btn-sm" onclick="onExluirCategoria('<%=item.getId()%>')"> <span class="fa fa-trash-o"></span> </button> </td> <td><%=item.getNome()%></td> </tr> <% } %> </table> </div> <script type="text/javascript"> <jsp:include page="/Categoria/ListarCategoria.js" /> </script> PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/WebContent/index.jsp PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/WebContent/META-INF/MANIFEST.MF Manifest-Version: 1.0 Class-Path: PosGraduacaoProjetoImplementacaoDeOO/com.pos.estacio/WebContent/Shared/menu.js function executarCommand(url){ $("#com-pos-pioo-div-principal").load(url); } function executarCommandBody(url, dados) { $.ajax({ type: "POST", url: url, data: dados }).then(function(resultado){ $("#com-pos-pioo-div-principal").html(resultado); }); } $(document).ready(function(){ $(".com-pos-pioo-menu-homes").on("click",
Compartilhar