From 1b8e70b53ccabb5d9a8625049778c62d0c656ea1 Mon Sep 17 00:00:00 2001 From: Steve Date: Fri, 8 Sep 2023 16:53:29 -0300 Subject: [PATCH 01/65] A few more changes. --- .gitignore | 1 + mod1/TesteAPI/src/main/java/module-info.java | 8 +++ .../multi-store/.factorypath | 60 +++++++++++++++++++ mod7/.gitignore | 1 + .../racingParticles_application.java | 53 ++++++++++++++++ .../src/br/com/rpires/Funcionario.java | 24 ++++++++ .../src/br/com/rpires/ItemVenda.java | 8 +++ .../src/br/com/rpires/PrimeiraClasse.java | 9 ++- .../src/br/com/rpires/Produto.java | 16 +++++ .../src/br/com/rpires/pacote1/Classe1.java | 10 +++- .../src/br/com/rpires/pacote1/Classe2.java | 13 +++- .../src/br/com/rpires/pacote2/Classe3.java | 9 +-- .../src/util/racingParticles_mod7.java | 10 ++++ 13 files changed, 212 insertions(+), 10 deletions(-) create mode 100644 mod1/TesteAPI/src/main/java/module-info.java create mode 100644 mod36-1/exemplos_internet/spring-data-examples/multi-store/.factorypath create mode 100644 mod7/.gitignore create mode 100644 mod7/ExemplosMod7/src/Exercise_module7/racingParticles_application.java create mode 100644 mod7/ExemplosMod7/src/util/racingParticles_mod7.java diff --git a/.gitignore b/.gitignore index 9a2b1bb..246fb8c 100644 --- a/.gitignore +++ b/.gitignore @@ -78,3 +78,4 @@ Thumbs.db *.iml */.idea +/.metadata/ diff --git a/mod1/TesteAPI/src/main/java/module-info.java b/mod1/TesteAPI/src/main/java/module-info.java new file mode 100644 index 0000000..d39631a --- /dev/null +++ b/mod1/TesteAPI/src/main/java/module-info.java @@ -0,0 +1,8 @@ +/** + * + */ +/** + * + */ +module backend_java_ebac { +} \ No newline at end of file diff --git a/mod36-1/exemplos_internet/spring-data-examples/multi-store/.factorypath b/mod36-1/exemplos_internet/spring-data-examples/multi-store/.factorypath new file mode 100644 index 0000000..4377857 --- /dev/null +++ b/mod36-1/exemplos_internet/spring-data-examples/multi-store/.factorypath @@ -0,0 +1,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/mod7/.gitignore b/mod7/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/mod7/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/mod7/ExemplosMod7/src/Exercise_module7/racingParticles_application.java b/mod7/ExemplosMod7/src/Exercise_module7/racingParticles_application.java new file mode 100644 index 0000000..2384695 --- /dev/null +++ b/mod7/ExemplosMod7/src/Exercise_module7/racingParticles_application.java @@ -0,0 +1,53 @@ +package Exercise_module7; + +import java.util.Locale; +import java.util.Scanner; + +import util.racingParticles_mod7; + +public class racingParticles_application { + + public static void main(String[] args) { + + Locale.setDefault(Locale.US); + Scanner sc = new Scanner(System.in); + + racingParticles_mod7 values = new racingParticles_mod7(); + + System.out.println("Digite a velocidade da primeira partícula (em metros por segundo m/s): "); + values.particleVelocity1 = sc.nextDouble(); + + System.out.println("Digite a velocidade da segunda partícula (em metros por segundo m/s):"); + + values.particleVelocity2 = sc.nextDouble(); + + System.out.println("Informe o tempo da primeira particula em (metros por segundo m/s): "); + + values.time1 = sc.nextDouble(); + + System.out.println("Informe o tempo da segunda particula em (metros por segundo m/s): "); + values.time2 = sc.nextDouble(); + + values.particle1Ofdistance = values.particleVelocity1 * values.time1; + values.particle2Ofdistance = values.particleVelocity2 * values.time2; + + if (values.particleVelocity1 > values.particleVelocity2) { + System.out.println("A primeira percorrerá uma distância maior que a segunda."); + } else if (values.particleVelocity2 > values.particleVelocity1) { + System.out.println("A segunda percorrerá uma distância maior que a primeira."); + } else if(values.time1 > values.time2){ + System.out.println("A primeira percorrerá uma distância maior eu um curto espaço de tempo."); + } else if (values.time2 > values.time1) { + System.out.println("A segunda percorrerá uma distância maior em um curto espaço de tempo."); + } else { + System.out.println("Ambos estão percorrendo a mesma distância lado a lado."); + } + + + + + + sc.close(); + } + +} diff --git a/mod7/ExemplosMod7/src/br/com/rpires/Funcionario.java b/mod7/ExemplosMod7/src/br/com/rpires/Funcionario.java index 863a624..510eb1b 100644 --- a/mod7/ExemplosMod7/src/br/com/rpires/Funcionario.java +++ b/mod7/ExemplosMod7/src/br/com/rpires/Funcionario.java @@ -10,4 +10,28 @@ public class Funcionario { private String nome; private String endereco; + + public int getCodigo() { + return codigo; + } + + public void setCodigo(int codigo) { + this.codigo = codigo; + } + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public String getEndereco() { + return endereco; + } + + public void setEndereco(String endereco) { + this.endereco = endereco; + } } diff --git a/mod7/ExemplosMod7/src/br/com/rpires/ItemVenda.java b/mod7/ExemplosMod7/src/br/com/rpires/ItemVenda.java index f0eebda..6e5a9ea 100644 --- a/mod7/ExemplosMod7/src/br/com/rpires/ItemVenda.java +++ b/mod7/ExemplosMod7/src/br/com/rpires/ItemVenda.java @@ -8,4 +8,12 @@ public class ItemVenda { private int quantidade; + + public int getQuantidade() { + return quantidade; + } + + public void setQuantidade(int quantidade) { + this.quantidade = quantidade; + } } diff --git a/mod7/ExemplosMod7/src/br/com/rpires/PrimeiraClasse.java b/mod7/ExemplosMod7/src/br/com/rpires/PrimeiraClasse.java index 3c89db4..421fd9a 100644 --- a/mod7/ExemplosMod7/src/br/com/rpires/PrimeiraClasse.java +++ b/mod7/ExemplosMod7/src/br/com/rpires/PrimeiraClasse.java @@ -5,9 +5,12 @@ */ public class PrimeiraClasse { - public static void main(String args[]) { - System.out.println("Olá Rodrigo"); - Cliente cliente = new Cliente(); + @SuppressWarnings("deprecation") + public void cadastrarEndereco(String[] args) { + + System.out.println("Olá Rodrigo"); + + Cliente cliente = new Cliente(); cliente.cadastrarEndereco("Rua 1"); cliente.setCodigo(1); System.out.println(cliente.getCodigo()); diff --git a/mod7/ExemplosMod7/src/br/com/rpires/Produto.java b/mod7/ExemplosMod7/src/br/com/rpires/Produto.java index 5cb8ec5..41a1277 100644 --- a/mod7/ExemplosMod7/src/br/com/rpires/Produto.java +++ b/mod7/ExemplosMod7/src/br/com/rpires/Produto.java @@ -8,4 +8,20 @@ public class Produto { private int codigo; private String nome; + + public int getCodigo() { + return codigo; + } + + public void setCodigo(int codigo) { + this.codigo = codigo; + } + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } } diff --git a/mod7/ExemplosMod7/src/br/com/rpires/pacote1/Classe1.java b/mod7/ExemplosMod7/src/br/com/rpires/pacote1/Classe1.java index 8661309..c73def0 100644 --- a/mod7/ExemplosMod7/src/br/com/rpires/pacote1/Classe1.java +++ b/mod7/ExemplosMod7/src/br/com/rpires/pacote1/Classe1.java @@ -8,7 +8,7 @@ public class Classe1 { - private String prorpiedadePrivada; + private String propriedadePrivada; public String prorpiedadePublica; @@ -20,4 +20,12 @@ public void testeRodrigo() { } + public String getPropriedadePrivada() { + return propriedadePrivada; + } + + public void setPropriedadePrivada(String propriedadePrivada) { + this.propriedadePrivada = propriedadePrivada; + } + } diff --git a/mod7/ExemplosMod7/src/br/com/rpires/pacote1/Classe2.java b/mod7/ExemplosMod7/src/br/com/rpires/pacote1/Classe2.java index 71ab82b..dcf85a3 100644 --- a/mod7/ExemplosMod7/src/br/com/rpires/pacote1/Classe2.java +++ b/mod7/ExemplosMod7/src/br/com/rpires/pacote1/Classe2.java @@ -5,7 +5,7 @@ */ public class Classe2 { - private String prorpiedadePrivada; + private String propriedadePrivada; public String propriedadePublica; @@ -13,8 +13,17 @@ public class Classe2 { protected String propriedadeProtected; + public String getPropriedadePrivada() { + return propriedadePrivada; + } + + public void setPropriedadePrivada(String propriedadePrivada) { + this.propriedadePrivada = propriedadePrivada; + } + public static void main(String args[]) { - Classe1 classe1 = new Classe1(); + @SuppressWarnings("unused") + Classe1 classe1 = new Classe1(); //classe1.propriedadeDefaul } diff --git a/mod7/ExemplosMod7/src/br/com/rpires/pacote2/Classe3.java b/mod7/ExemplosMod7/src/br/com/rpires/pacote2/Classe3.java index 47c3a37..81bcb75 100644 --- a/mod7/ExemplosMod7/src/br/com/rpires/pacote2/Classe3.java +++ b/mod7/ExemplosMod7/src/br/com/rpires/pacote2/Classe3.java @@ -1,11 +1,11 @@ package br.com.rpires.pacote2; + import br.com.rpires.Cliente; import br.com.rpires.ItemVenda; import br.com.rpires.pacote1.Classe1; import br.com.rpires.pacote1.Classe2; -import java.util.Iterator; /** * @author rodrigo.pires @@ -19,13 +19,14 @@ public class Classe3 extends Classe2 { * * @param args asdsada */ - public static void main(String args[]) { - Classe1 class1 = new Classe1(); + @SuppressWarnings("deprecation") + public static void main(String args[]) { + new Classe1(); Cliente cliente = new Cliente(); cliente.retornarNomeCliente(); cliente.getValorTotal(); - ItemVenda item = new ItemVenda(); + new ItemVenda(); } diff --git a/mod7/ExemplosMod7/src/util/racingParticles_mod7.java b/mod7/ExemplosMod7/src/util/racingParticles_mod7.java new file mode 100644 index 0000000..6de33be --- /dev/null +++ b/mod7/ExemplosMod7/src/util/racingParticles_mod7.java @@ -0,0 +1,10 @@ +package util; + +public class racingParticles_mod7 { + public double particleVelocity1; + public double particleVelocity2; + public double time1; + public double time2; + public double particle1Ofdistance = particleVelocity1 * time1; + public double particle2Ofdistance = particleVelocity2 * time2; +} From 7d13312afa66d34ca6e2abf438f8f8c6402b2630 Mon Sep 17 00:00:00 2001 From: Steve Date: Fri, 8 Sep 2023 22:15:48 -0300 Subject: [PATCH 02/65] A more work --- .../racingParticles_application.java | 4 --- .../src/br/com/rpires/applicationGrades.java | 34 +++++++++++++++++++ .../src/br/com/rpires/entities/Grades.java | 17 ++++++++++ 3 files changed, 51 insertions(+), 4 deletions(-) create mode 100644 mod8/ExemplosMod8/src/br/com/rpires/applicationGrades.java create mode 100644 mod8/ExemplosMod8/src/br/com/rpires/entities/Grades.java diff --git a/mod7/ExemplosMod7/src/Exercise_module7/racingParticles_application.java b/mod7/ExemplosMod7/src/Exercise_module7/racingParticles_application.java index 2384695..acdc792 100644 --- a/mod7/ExemplosMod7/src/Exercise_module7/racingParticles_application.java +++ b/mod7/ExemplosMod7/src/Exercise_module7/racingParticles_application.java @@ -42,10 +42,6 @@ public static void main(String[] args) { } else { System.out.println("Ambos estão percorrendo a mesma distância lado a lado."); } - - - - sc.close(); } diff --git a/mod8/ExemplosMod8/src/br/com/rpires/applicationGrades.java b/mod8/ExemplosMod8/src/br/com/rpires/applicationGrades.java new file mode 100644 index 0000000..e3dde58 --- /dev/null +++ b/mod8/ExemplosMod8/src/br/com/rpires/applicationGrades.java @@ -0,0 +1,34 @@ +package exercise_module8; + +import java.util.Locale; +import java.util.Scanner; + +import entities.Grades; + +public class applicationGrades { + + public static void main(String[] args) { + + Locale.setDefault(Locale.US); + Scanner sc = new Scanner(System.in); + + Grades student = new Grades(); + + student.name = sc.nextLine(); + student.grade1 = sc.nextDouble(); + student.grade2 = sc.nextDouble(); + student.grade3 = sc.nextDouble(); + student.grade4 = sc.nextDouble(); + + System.out.printf("Final Grade: %.2f%n", student.finalGrade()); + System.out.printf("Grade average: %.2f%n", student.mediaOfGrades()); + + if (student.finalGrade() < 32.00) { + System.out.println("Disapproved"); + } else { + System.out.println("Mission complete"); + } + + sc.close(); + } +} diff --git a/mod8/ExemplosMod8/src/br/com/rpires/entities/Grades.java b/mod8/ExemplosMod8/src/br/com/rpires/entities/Grades.java new file mode 100644 index 0000000..8567b3d --- /dev/null +++ b/mod8/ExemplosMod8/src/br/com/rpires/entities/Grades.java @@ -0,0 +1,17 @@ +package entities; + +public class Grades { + public String name; + public double grade1; + public double grade2; + public double grade3; + public double grade4; + + public double finalGrade() { + return grade1 + grade2 + grade3 + grade4; + } + + public double mediaOfGrades() { + return (grade1 + grade2 + grade3 + grade4) / 4; + } +} From 2b2c1837a4523e49884850ce33bab726007f492f Mon Sep 17 00:00:00 2001 From: Steve Date: Fri, 8 Sep 2023 22:57:27 -0300 Subject: [PATCH 03/65] Problem fixed. --- .../racingParticles_application.java | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/mod7/ExemplosMod7/src/Exercise_module7/racingParticles_application.java b/mod7/ExemplosMod7/src/Exercise_module7/racingParticles_application.java index acdc792..716cb95 100644 --- a/mod7/ExemplosMod7/src/Exercise_module7/racingParticles_application.java +++ b/mod7/ExemplosMod7/src/Exercise_module7/racingParticles_application.java @@ -5,6 +5,10 @@ import util.racingParticles_mod7; +/* +* Author: Steve Vaz +*/ + public class racingParticles_application { public static void main(String[] args) { @@ -13,24 +17,32 @@ public static void main(String[] args) { Scanner sc = new Scanner(System.in); racingParticles_mod7 values = new racingParticles_mod7(); + + // Informing the user to enter the particle velocity value. + System.out.println("Digite a velocidade da primeira partícula (em metros por segundo m/s): "); + values.particleVelocity1 = sc.nextDouble(); // The user enters the value of particleVelocity1 - System.out.println("Digite a velocidade da primeira partícula (em metros por segundo m/s): "); - values.particleVelocity1 = sc.nextDouble(); - + // Another instruction. System.out.println("Digite a velocidade da segunda partícula (em metros por segundo m/s):"); + // The user enters the value of the velocity of the particle2. values.particleVelocity2 = sc.nextDouble(); - + + // Another instruction. System.out.println("Informe o tempo da primeira particula em (metros por segundo m/s): "); - + + // The user enters the value of the time in which the velocity of particle1 travels values.time1 = sc.nextDouble(); - + // Another instruction. System.out.println("Informe o tempo da segunda particula em (metros por segundo m/s): "); + // The user enters the value of the time in which the velocity of particle2 travels values.time2 = sc.nextDouble(); + // To find out which travels the greatest distance, multiply the speed * time, which gives you the distance between the two. values.particle1Ofdistance = values.particleVelocity1 * values.time1; values.particle2Ofdistance = values.particleVelocity2 * values.time2; + // Condition to know which travels the greatest distance. if (values.particleVelocity1 > values.particleVelocity2) { System.out.println("A primeira percorrerá uma distância maior que a segunda."); } else if (values.particleVelocity2 > values.particleVelocity1) { From a237e7520b9dfd354a5b77115be86ee799646bf1 Mon Sep 17 00:00:00 2001 From: Steve Date: Fri, 8 Sep 2023 23:00:43 -0300 Subject: [PATCH 04/65] A small correction. --- .../src/Exercise_module7/racingParticles_application.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/mod7/ExemplosMod7/src/Exercise_module7/racingParticles_application.java b/mod7/ExemplosMod7/src/Exercise_module7/racingParticles_application.java index 716cb95..a635290 100644 --- a/mod7/ExemplosMod7/src/Exercise_module7/racingParticles_application.java +++ b/mod7/ExemplosMod7/src/Exercise_module7/racingParticles_application.java @@ -20,7 +20,9 @@ public static void main(String[] args) { // Informing the user to enter the particle velocity value. System.out.println("Digite a velocidade da primeira partícula (em metros por segundo m/s): "); - values.particleVelocity1 = sc.nextDouble(); // The user enters the value of particleVelocity1 + + // The user enters the value of particleVelocity1 + values.particleVelocity1 = sc.nextDouble(); // Another instruction. System.out.println("Digite a velocidade da segunda partícula (em metros por segundo m/s):"); @@ -33,8 +35,10 @@ public static void main(String[] args) { // The user enters the value of the time in which the velocity of particle1 travels values.time1 = sc.nextDouble(); - // Another instruction. + + // Another instruction. System.out.println("Informe o tempo da segunda particula em (metros por segundo m/s): "); + // The user enters the value of the time in which the velocity of particle2 travels values.time2 = sc.nextDouble(); From 6784d5ebe8f7d54f0bece71c5872ddb7e34a7cf9 Mon Sep 17 00:00:00 2001 From: Steve Date: Fri, 8 Sep 2023 23:06:32 -0300 Subject: [PATCH 05/65] Others corrections. --- mod8/ExemplosMod8/src/br/com/rpires/Exemplo2.java | 2 +- mod8/ExemplosMod8/src/br/com/rpires/Exemplos.java | 2 +- mod8/ExemplosMod8/src/br/com/rpires/Operadores.java | 2 +- mod8/ExemplosMod8/src/br/com/rpires/applicationGrades.java | 3 +++ 4 files changed, 6 insertions(+), 3 deletions(-) diff --git a/mod8/ExemplosMod8/src/br/com/rpires/Exemplo2.java b/mod8/ExemplosMod8/src/br/com/rpires/Exemplo2.java index 55fb7d1..35a7e92 100644 --- a/mod8/ExemplosMod8/src/br/com/rpires/Exemplo2.java +++ b/mod8/ExemplosMod8/src/br/com/rpires/Exemplo2.java @@ -1,7 +1,7 @@ package br.com.rpires; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class Exemplo2 { diff --git a/mod8/ExemplosMod8/src/br/com/rpires/Exemplos.java b/mod8/ExemplosMod8/src/br/com/rpires/Exemplos.java index 6a58db4..04bca7a 100644 --- a/mod8/ExemplosMod8/src/br/com/rpires/Exemplos.java +++ b/mod8/ExemplosMod8/src/br/com/rpires/Exemplos.java @@ -1,7 +1,7 @@ package br.com.rpires; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class Exemplos { diff --git a/mod8/ExemplosMod8/src/br/com/rpires/Operadores.java b/mod8/ExemplosMod8/src/br/com/rpires/Operadores.java index 65483c1..f45e194 100644 --- a/mod8/ExemplosMod8/src/br/com/rpires/Operadores.java +++ b/mod8/ExemplosMod8/src/br/com/rpires/Operadores.java @@ -1,7 +1,7 @@ package br.com.rpires; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class Operadores { diff --git a/mod8/ExemplosMod8/src/br/com/rpires/applicationGrades.java b/mod8/ExemplosMod8/src/br/com/rpires/applicationGrades.java index e3dde58..91541e6 100644 --- a/mod8/ExemplosMod8/src/br/com/rpires/applicationGrades.java +++ b/mod8/ExemplosMod8/src/br/com/rpires/applicationGrades.java @@ -5,6 +5,9 @@ import entities.Grades; +/* +* Author: Steve Vaz +*/ public class applicationGrades { public static void main(String[] args) { From a15bc115db63184e6251613d46637dee08b27e9c Mon Sep 17 00:00:00 2001 From: Steve Date: Sat, 9 Sep 2023 14:19:57 -0300 Subject: [PATCH 06/65] Exercise mod9. --- .../br/com/rpires/Exercise_mod9/Probabilidade.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 mod9/ExemplosMod9/src/br/com/rpires/Exercise_mod9/Probabilidade.java diff --git a/mod9/ExemplosMod9/src/br/com/rpires/Exercise_mod9/Probabilidade.java b/mod9/ExemplosMod9/src/br/com/rpires/Exercise_mod9/Probabilidade.java new file mode 100644 index 0000000..e5284df --- /dev/null +++ b/mod9/ExemplosMod9/src/br/com/rpires/Exercise_mod9/Probabilidade.java @@ -0,0 +1,14 @@ +package Tests_java_bySteve; + +public class Probabilidade { + public static void main(String[] args) { + int totalNumeros = 25; + int numerosParaAcertar = 15; + + double probabilidadeDeNaoAcertar = Math.pow((double)(totalNumeros - 1) / totalNumeros, numerosParaAcertar); + + double probabilidadeDeAcertarPeloMenosUm = 1 - probabilidadeDeNaoAcertar; + + System.out.println("Probabilidade de pelo menos uma pessoa acertar os 15 números: " + probabilidadeDeAcertarPeloMenosUm); + } +} From 903661ba7a35beb57bf66ccaa96e13b8c9464436 Mon Sep 17 00:00:00 2001 From: Steve Date: Sat, 9 Sep 2023 14:27:41 -0300 Subject: [PATCH 07/65] Some changes in the probability.java file --- .../src/br/com/rpires/Exercise_mod9/Probabilidade.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mod9/ExemplosMod9/src/br/com/rpires/Exercise_mod9/Probabilidade.java b/mod9/ExemplosMod9/src/br/com/rpires/Exercise_mod9/Probabilidade.java index e5284df..147fab9 100644 --- a/mod9/ExemplosMod9/src/br/com/rpires/Exercise_mod9/Probabilidade.java +++ b/mod9/ExemplosMod9/src/br/com/rpires/Exercise_mod9/Probabilidade.java @@ -2,12 +2,12 @@ public class Probabilidade { public static void main(String[] args) { - int totalNumeros = 25; - int numerosParaAcertar = 15; + Integer totalNumeros = 25; + Integer numerosParaAcertar = 15; - double probabilidadeDeNaoAcertar = Math.pow((double)(totalNumeros - 1) / totalNumeros, numerosParaAcertar); + Double probabilidadeDeNaoAcertar = Math.pow((double)(totalNumeros - 1) / totalNumeros, numerosParaAcertar); - double probabilidadeDeAcertarPeloMenosUm = 1 - probabilidadeDeNaoAcertar; + Double probabilidadeDeAcertarPeloMenosUm = 1 - probabilidadeDeNaoAcertar; System.out.println("Probabilidade de pelo menos uma pessoa acertar os 15 números: " + probabilidadeDeAcertarPeloMenosUm); } From 7f458eaf40af77ddd8d6e44ec56a5f0c686143da Mon Sep 17 00:00:00 2001 From: Steve Date: Sat, 9 Sep 2023 15:27:25 -0300 Subject: [PATCH 08/65] Some changes --- mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner.java | 2 +- mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner1.java | 2 +- .../ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT1.java | 2 +- .../ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT2.java | 2 +- .../ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT3.java | 2 +- .../ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT4.java | 2 +- .../src/br/com/rpires/forewhile/TabuadaDoWhile.java | 2 +- mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaFor.java | 2 +- .../ExemplosMod10/src/br/com/rpires/forewhile/TabuadaWhile.java | 2 +- mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploAnimal.java | 2 +- mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploIdade.java | 2 +- mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT1.java | 2 +- .../src/br/com/rpires/ifelse/ExemploPPT1Console.java | 2 +- mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT2.java | 2 +- .../src/br/com/rpires/switchcase/ExemploAnimal.java | 2 +- .../src/br/com/rpires/switchcase/ExemploIdade.java | 2 +- mod8/ExemplosMod8/src/br/com/rpires/applicationGrades.java | 2 +- mod9/ExemplosMod9/src/br/com/rpires/Cliente.java | 2 +- mod9/ExemplosMod9/src/br/com/rpires/Exemplo1.java | 2 +- mod9/ExemplosMod9/src/br/com/rpires/Exemplo2.java | 2 +- 20 files changed, 20 insertions(+), 20 deletions(-) diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner.java b/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner.java index 03490a5..003376c 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner.java @@ -3,7 +3,7 @@ import java.util.Scanner; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemploScanner { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner1.java b/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner1.java index 3da67ee..baba1b3 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner1.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner1.java @@ -3,7 +3,7 @@ import java.util.Scanner; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemploScanner1 { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT1.java b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT1.java index 2087717..33d92a6 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT1.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT1.java @@ -4,7 +4,7 @@ import java.util.List; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemploPPT1 { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT2.java b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT2.java index 3b49c2d..f541200 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT2.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT2.java @@ -1,7 +1,7 @@ package br.com.rpires.forewhile; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemploPPT2 { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT3.java b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT3.java index 42868f7..a9b0aeb 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT3.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT3.java @@ -1,7 +1,7 @@ package br.com.rpires.forewhile; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemploPPT3 { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT4.java b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT4.java index 68dbbd2..105ea03 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT4.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT4.java @@ -1,7 +1,7 @@ package br.com.rpires.forewhile; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemploPPT4 { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaDoWhile.java b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaDoWhile.java index 21e3367..59ca2bf 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaDoWhile.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaDoWhile.java @@ -3,7 +3,7 @@ import java.util.Scanner; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class TabuadaDoWhile { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaFor.java b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaFor.java index 88fe5d1..43c8697 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaFor.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaFor.java @@ -3,7 +3,7 @@ import java.util.Scanner; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class TabuadaFor { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaWhile.java b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaWhile.java index ac5e155..7485ae6 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaWhile.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaWhile.java @@ -3,7 +3,7 @@ import java.util.Scanner; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class TabuadaWhile { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploAnimal.java b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploAnimal.java index e6dde4c..eeb75b2 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploAnimal.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploAnimal.java @@ -3,7 +3,7 @@ import java.util.Scanner; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemploAnimal { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploIdade.java b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploIdade.java index c070e83..129ce85 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploIdade.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploIdade.java @@ -3,7 +3,7 @@ import java.util.Scanner; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemploIdade { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT1.java b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT1.java index 0851314..0b2e9bf 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT1.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT1.java @@ -1,7 +1,7 @@ package br.com.rpires.ifelse; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemploPPT1 { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT1Console.java b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT1Console.java index 57102db..d23fc0b 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT1Console.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT1Console.java @@ -3,7 +3,7 @@ import java.util.Scanner; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemploPPT1Console { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT2.java b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT2.java index 8589a9b..858bd77 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT2.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT2.java @@ -1,7 +1,7 @@ package br.com.rpires.ifelse; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemploPPT2 { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploAnimal.java b/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploAnimal.java index fbfe7c2..258206a 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploAnimal.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploAnimal.java @@ -3,7 +3,7 @@ import java.util.Scanner; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemploAnimal { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploIdade.java b/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploIdade.java index d567e12..a1cc157 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploIdade.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploIdade.java @@ -3,7 +3,7 @@ import java.util.Scanner; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemploIdade { diff --git a/mod8/ExemplosMod8/src/br/com/rpires/applicationGrades.java b/mod8/ExemplosMod8/src/br/com/rpires/applicationGrades.java index 91541e6..d4ceb06 100644 --- a/mod8/ExemplosMod8/src/br/com/rpires/applicationGrades.java +++ b/mod8/ExemplosMod8/src/br/com/rpires/applicationGrades.java @@ -6,7 +6,7 @@ import entities.Grades; /* -* Author: Steve Vaz +* @author: Steve Vaz */ public class applicationGrades { diff --git a/mod9/ExemplosMod9/src/br/com/rpires/Cliente.java b/mod9/ExemplosMod9/src/br/com/rpires/Cliente.java index d892516..029a48a 100644 --- a/mod9/ExemplosMod9/src/br/com/rpires/Cliente.java +++ b/mod9/ExemplosMod9/src/br/com/rpires/Cliente.java @@ -1,7 +1,7 @@ package br.com.rpires; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class Cliente { diff --git a/mod9/ExemplosMod9/src/br/com/rpires/Exemplo1.java b/mod9/ExemplosMod9/src/br/com/rpires/Exemplo1.java index bab59c9..4f8b331 100644 --- a/mod9/ExemplosMod9/src/br/com/rpires/Exemplo1.java +++ b/mod9/ExemplosMod9/src/br/com/rpires/Exemplo1.java @@ -1,7 +1,7 @@ package br.com.rpires; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class Exemplo1 { diff --git a/mod9/ExemplosMod9/src/br/com/rpires/Exemplo2.java b/mod9/ExemplosMod9/src/br/com/rpires/Exemplo2.java index 5dd3d13..50f1e4c 100644 --- a/mod9/ExemplosMod9/src/br/com/rpires/Exemplo2.java +++ b/mod9/ExemplosMod9/src/br/com/rpires/Exemplo2.java @@ -1,7 +1,7 @@ package br.com.rpires; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class Exemplo2 { From 13961a58a7dfa943dcb47ba3a2d4ed7044527010 Mon Sep 17 00:00:00 2001 From: Steve Date: Sat, 9 Sep 2023 17:54:56 -0300 Subject: [PATCH 09/65] Exercise mod10 --- .../ExemplosMod10}/src/br/com/rpires/applicationGrades.java | 0 .../ExemplosMod10}/src/br/com/rpires/entities/Grades.java | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename {mod8/ExemplosMod8 => mod10/ExemplosMod10}/src/br/com/rpires/applicationGrades.java (100%) rename {mod8/ExemplosMod8 => mod10/ExemplosMod10}/src/br/com/rpires/entities/Grades.java (100%) diff --git a/mod8/ExemplosMod8/src/br/com/rpires/applicationGrades.java b/mod10/ExemplosMod10/src/br/com/rpires/applicationGrades.java similarity index 100% rename from mod8/ExemplosMod8/src/br/com/rpires/applicationGrades.java rename to mod10/ExemplosMod10/src/br/com/rpires/applicationGrades.java diff --git a/mod8/ExemplosMod8/src/br/com/rpires/entities/Grades.java b/mod10/ExemplosMod10/src/br/com/rpires/entities/Grades.java similarity index 100% rename from mod8/ExemplosMod8/src/br/com/rpires/entities/Grades.java rename to mod10/ExemplosMod10/src/br/com/rpires/entities/Grades.java From 790e85bea0ca862b17b3be459b39f65f21866564 Mon Sep 17 00:00:00 2001 From: Steve Date: Sat, 9 Sep 2023 17:57:59 -0300 Subject: [PATCH 10/65] Changing the calculation of grades. --- .../src/br/com/rpires/applicationGrades.java | 37 +++++++++++++++++++ .../src/br/com/rpires/entities/Grades.java | 17 +++++++++ 2 files changed, 54 insertions(+) create mode 100644 mod8/ExemplosMod8/src/br/com/rpires/applicationGrades.java create mode 100644 mod8/ExemplosMod8/src/br/com/rpires/entities/Grades.java diff --git a/mod8/ExemplosMod8/src/br/com/rpires/applicationGrades.java b/mod8/ExemplosMod8/src/br/com/rpires/applicationGrades.java new file mode 100644 index 0000000..d4ceb06 --- /dev/null +++ b/mod8/ExemplosMod8/src/br/com/rpires/applicationGrades.java @@ -0,0 +1,37 @@ +package exercise_module8; + +import java.util.Locale; +import java.util.Scanner; + +import entities.Grades; + +/* +* @author: Steve Vaz +*/ +public class applicationGrades { + + public static void main(String[] args) { + + Locale.setDefault(Locale.US); + Scanner sc = new Scanner(System.in); + + Grades student = new Grades(); + + student.name = sc.nextLine(); + student.grade1 = sc.nextDouble(); + student.grade2 = sc.nextDouble(); + student.grade3 = sc.nextDouble(); + student.grade4 = sc.nextDouble(); + + System.out.printf("Final Grade: %.2f%n", student.finalGrade()); + System.out.printf("Grade average: %.2f%n", student.mediaOfGrades()); + + if (student.finalGrade() < 32.00) { + System.out.println("Disapproved"); + } else { + System.out.println("Mission complete"); + } + + sc.close(); + } +} diff --git a/mod8/ExemplosMod8/src/br/com/rpires/entities/Grades.java b/mod8/ExemplosMod8/src/br/com/rpires/entities/Grades.java new file mode 100644 index 0000000..8567b3d --- /dev/null +++ b/mod8/ExemplosMod8/src/br/com/rpires/entities/Grades.java @@ -0,0 +1,17 @@ +package entities; + +public class Grades { + public String name; + public double grade1; + public double grade2; + public double grade3; + public double grade4; + + public double finalGrade() { + return grade1 + grade2 + grade3 + grade4; + } + + public double mediaOfGrades() { + return (grade1 + grade2 + grade3 + grade4) / 4; + } +} From e8bdde510c5341cf28458257032114c3c414b990 Mon Sep 17 00:00:00 2001 From: Steve Date: Sun, 10 Sep 2023 11:07:00 -0300 Subject: [PATCH 11/65] Modifying some errors. --- .../Exercise_module7/racingParticles_application.java | 8 ++++---- .../src/br/com/rpires/Exercise_mod9/Probabilidade.java | 10 +++++----- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/mod7/ExemplosMod7/src/Exercise_module7/racingParticles_application.java b/mod7/ExemplosMod7/src/Exercise_module7/racingParticles_application.java index a635290..4d22bb0 100644 --- a/mod7/ExemplosMod7/src/Exercise_module7/racingParticles_application.java +++ b/mod7/ExemplosMod7/src/Exercise_module7/racingParticles_application.java @@ -22,25 +22,25 @@ public static void main(String[] args) { System.out.println("Digite a velocidade da primeira partícula (em metros por segundo m/s): "); // The user enters the value of particleVelocity1 - values.particleVelocity1 = sc.nextDouble(); + values.particleVelocity1 = Double.valueOf(sc.nextDouble()); // Another instruction. System.out.println("Digite a velocidade da segunda partícula (em metros por segundo m/s):"); // The user enters the value of the velocity of the particle2. - values.particleVelocity2 = sc.nextDouble(); + values.particleVelocity2 = Double.valueOf(sc.nextDouble()); // Another instruction. System.out.println("Informe o tempo da primeira particula em (metros por segundo m/s): "); // The user enters the value of the time in which the velocity of particle1 travels - values.time1 = sc.nextDouble(); + values.time1 = Double.valueOf(sc.nextDouble()); // Another instruction. System.out.println("Informe o tempo da segunda particula em (metros por segundo m/s): "); // The user enters the value of the time in which the velocity of particle2 travels - values.time2 = sc.nextDouble(); + values.time2 = Double.valueOf(sc.nextDouble()); // To find out which travels the greatest distance, multiply the speed * time, which gives you the distance between the two. values.particle1Ofdistance = values.particleVelocity1 * values.time1; diff --git a/mod9/ExemplosMod9/src/br/com/rpires/Exercise_mod9/Probabilidade.java b/mod9/ExemplosMod9/src/br/com/rpires/Exercise_mod9/Probabilidade.java index 147fab9..fbf6201 100644 --- a/mod9/ExemplosMod9/src/br/com/rpires/Exercise_mod9/Probabilidade.java +++ b/mod9/ExemplosMod9/src/br/com/rpires/Exercise_mod9/Probabilidade.java @@ -2,13 +2,13 @@ public class Probabilidade { public static void main(String[] args) { - Integer totalNumeros = 25; - Integer numerosParaAcertar = 15; + int totalNumeros = Integer.valueOf(25); + int numerosParaAcertar = Integer.valueOf(15); - Double probabilidadeDeNaoAcertar = Math.pow((double)(totalNumeros - 1) / totalNumeros, numerosParaAcertar); - - Double probabilidadeDeAcertarPeloMenosUm = 1 - probabilidadeDeNaoAcertar; + double probabilidadeDeNaoAcertar = Math.pow(Double.valueOf(totalNumeros - 1) / totalNumeros, numerosParaAcertar); + double probabilidadeDeAcertarPeloMenosUm = Double.valueOf(1 - probabilidadeDeNaoAcertar); + System.out.println("Probabilidade de pelo menos uma pessoa acertar os 15 números: " + probabilidadeDeAcertarPeloMenosUm); } } From cee4fa8ad65138ca2d43763201f3f8fbb7379436 Mon Sep 17 00:00:00 2001 From: Steve Date: Sun, 10 Sep 2023 11:33:20 -0300 Subject: [PATCH 12/65] Printing the primitive and wrapper type --- .../src/br/com/rpires/Exercise_mod9/Probabilidade.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/mod9/ExemplosMod9/src/br/com/rpires/Exercise_mod9/Probabilidade.java b/mod9/ExemplosMod9/src/br/com/rpires/Exercise_mod9/Probabilidade.java index fbf6201..7da2f08 100644 --- a/mod9/ExemplosMod9/src/br/com/rpires/Exercise_mod9/Probabilidade.java +++ b/mod9/ExemplosMod9/src/br/com/rpires/Exercise_mod9/Probabilidade.java @@ -8,7 +8,13 @@ public static void main(String[] args) { double probabilidadeDeNaoAcertar = Math.pow(Double.valueOf(totalNumeros - 1) / totalNumeros, numerosParaAcertar); double probabilidadeDeAcertarPeloMenosUm = Double.valueOf(1 - probabilidadeDeNaoAcertar); + + // Imprimindo a variável probabilidadeDeAcertarPeloMenosUm no tipo primitivo double + System.out.println("Primitivo: Probabilidade de pelo menos uma pessoa acertar os 15 números: " + probabilidadeDeAcertarPeloMenosUm); + + System.out.println(); - System.out.println("Probabilidade de pelo menos uma pessoa acertar os 15 números: " + probabilidadeDeAcertarPeloMenosUm); + // Imprimindo a variável probabilidadeDeAcertarPeloMenosUm no tipo wrapper Double + System.out.println("Wrapper: Probabilidade de pelo menos uma pessoa acertar os 15 números: " + Double.valueOf(probabilidadeDeAcertarPeloMenosUm)); } } From 9f1ccd1cf72ac5f4fc860baaad82b25d3d019075 Mon Sep 17 00:00:00 2001 From: Steve Date: Sun, 10 Sep 2023 11:36:12 -0300 Subject: [PATCH 13/65] Writing some more. --- .../src/br/com/rpires/Exercise_mod9/Probabilidade.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mod9/ExemplosMod9/src/br/com/rpires/Exercise_mod9/Probabilidade.java b/mod9/ExemplosMod9/src/br/com/rpires/Exercise_mod9/Probabilidade.java index 7da2f08..501802d 100644 --- a/mod9/ExemplosMod9/src/br/com/rpires/Exercise_mod9/Probabilidade.java +++ b/mod9/ExemplosMod9/src/br/com/rpires/Exercise_mod9/Probabilidade.java @@ -10,11 +10,11 @@ public static void main(String[] args) { double probabilidadeDeAcertarPeloMenosUm = Double.valueOf(1 - probabilidadeDeNaoAcertar); // Imprimindo a variável probabilidadeDeAcertarPeloMenosUm no tipo primitivo double - System.out.println("Primitivo: Probabilidade de pelo menos uma pessoa acertar os 15 números: " + probabilidadeDeAcertarPeloMenosUm); + System.out.println("Primitivo double: Probabilidade de pelo menos uma pessoa acertar os 15 números: " + probabilidadeDeAcertarPeloMenosUm); System.out.println(); // Imprimindo a variável probabilidadeDeAcertarPeloMenosUm no tipo wrapper Double - System.out.println("Wrapper: Probabilidade de pelo menos uma pessoa acertar os 15 números: " + Double.valueOf(probabilidadeDeAcertarPeloMenosUm)); + System.out.println("Wrapper Double: Probabilidade de pelo menos uma pessoa acertar os 15 números: " + Double.valueOf(probabilidadeDeAcertarPeloMenosUm)); } } From 8e83671c1376c3020a3783860366f0ea0b999165 Mon Sep 17 00:00:00 2001 From: Steve Date: Mon, 11 Sep 2023 18:19:22 -0300 Subject: [PATCH 14/65] Adding some changes. --- .../br/com/rpires/array/ExemploBubbleSortDinamico.java | 2 +- .../src/br/com/rpires/array/ExemploBubbleSortFixo.java | 2 +- .../src/br/com/rpires/array/ExemplosArray.java | 8 ++++---- mod11/ExemplosMod11/src/br/com/rpires/domain/Aluno.java | 2 +- .../src/br/com/rpires/domain/Biblioteca.java | 2 +- .../src/br/com/rpires/domain/ComparaNotaAluno.java | 2 +- mod11/ExemplosMod11/src/br/com/rpires/domain/Livro.java | 2 +- .../src/br/com/rpires/iterator/ExemploIterator.java | 2 +- .../src/br/com/rpires/list/ExemploArrayList.java | 4 ++-- 9 files changed, 13 insertions(+), 13 deletions(-) diff --git a/mod11/ExemplosMod11/src/br/com/rpires/array/ExemploBubbleSortDinamico.java b/mod11/ExemplosMod11/src/br/com/rpires/array/ExemploBubbleSortDinamico.java index ebb2a10..226910c 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/array/ExemploBubbleSortDinamico.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/array/ExemploBubbleSortDinamico.java @@ -3,7 +3,7 @@ import java.util.Scanner; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemploBubbleSortDinamico { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/array/ExemploBubbleSortFixo.java b/mod11/ExemplosMod11/src/br/com/rpires/array/ExemploBubbleSortFixo.java index 287a8b6..77da5f1 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/array/ExemploBubbleSortFixo.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/array/ExemploBubbleSortFixo.java @@ -3,7 +3,7 @@ import java.util.Scanner; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemploBubbleSortFixo { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/array/ExemplosArray.java b/mod11/ExemplosMod11/src/br/com/rpires/array/ExemplosArray.java index bb843a6..2e0e437 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/array/ExemplosArray.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/array/ExemplosArray.java @@ -17,10 +17,10 @@ public static void main(String args[]) { private static void novoArray() { System.out.println("****** novoArray ******"); String[] nomes = new String[4]; - nomes[0] = "Rodrigo"; - nomes[1] = "Pires"; - nomes[2] = "Pires2"; - nomes[3] = "Pires3"; + nomes[0] = "Steve"; + nomes[1] = "Vaz1"; + nomes[2] = "Vaz2"; + nomes[3] = "Vaz3"; for (String nome : nomes) { System.out.println(nome); } diff --git a/mod11/ExemplosMod11/src/br/com/rpires/domain/Aluno.java b/mod11/ExemplosMod11/src/br/com/rpires/domain/Aluno.java index cdd8662..f752466 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/domain/Aluno.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/domain/Aluno.java @@ -3,7 +3,7 @@ import java.util.Objects; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class Aluno implements Comparable{ diff --git a/mod11/ExemplosMod11/src/br/com/rpires/domain/Biblioteca.java b/mod11/ExemplosMod11/src/br/com/rpires/domain/Biblioteca.java index 38a1841..dad103d 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/domain/Biblioteca.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/domain/Biblioteca.java @@ -5,7 +5,7 @@ import java.util.Set; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class Biblioteca { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/domain/ComparaNotaAluno.java b/mod11/ExemplosMod11/src/br/com/rpires/domain/ComparaNotaAluno.java index 50f485c..0129627 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/domain/ComparaNotaAluno.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/domain/ComparaNotaAluno.java @@ -3,7 +3,7 @@ import java.util.Comparator; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ComparaNotaAluno implements Comparator { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/domain/Livro.java b/mod11/ExemplosMod11/src/br/com/rpires/domain/Livro.java index 3895684..7f16fe9 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/domain/Livro.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/domain/Livro.java @@ -1,7 +1,7 @@ package br.com.rpires.domain; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class Livro { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/iterator/ExemploIterator.java b/mod11/ExemplosMod11/src/br/com/rpires/iterator/ExemploIterator.java index 0af88e0..2e3ee06 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/iterator/ExemploIterator.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/iterator/ExemploIterator.java @@ -5,7 +5,7 @@ import java.util.List; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemploIterator { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploArrayList.java b/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploArrayList.java index d04da54..c845d22 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploArrayList.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploArrayList.java @@ -6,8 +6,8 @@ /** * - * É como um array cujo tamanho pode crescer. - * A busca de um elemento é rápida, mas inserções e exclusões não são. + * It's like an array whose size can grow. + * Searching for an element is fast, but insertions and deletions are not.. * * @author rodrigo.pires */ From 01167cb563c11ee4d79ad0d6d2f741121add2f87 Mon Sep 17 00:00:00 2001 From: Steve Date: Tue, 12 Sep 2023 08:28:59 -0300 Subject: [PATCH 15/65] Introducing some modifications. --- .hintrc | 14 +++++++++++++ .../src/br/com/rpires/applicationGrades.java | 21 +++++++++++-------- 2 files changed, 26 insertions(+), 9 deletions(-) create mode 100644 .hintrc diff --git a/.hintrc b/.hintrc new file mode 100644 index 0000000..4b19556 --- /dev/null +++ b/.hintrc @@ -0,0 +1,14 @@ +{ + "extends": [ + "development" + ], + "hints": { + "axe/name-role-value": [ + "default", + { + "button-name": "off" + } + ], + "button-type": "off" + } +} \ No newline at end of file diff --git a/mod10/ExemplosMod10/src/br/com/rpires/applicationGrades.java b/mod10/ExemplosMod10/src/br/com/rpires/applicationGrades.java index d4ceb06..8e960b3 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/applicationGrades.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/applicationGrades.java @@ -3,11 +3,12 @@ import java.util.Locale; import java.util.Scanner; -import entities.Grades; - /* * @author: Steve Vaz */ + +import entities.Grades; + public class applicationGrades { public static void main(String[] args) { @@ -23,15 +24,17 @@ public static void main(String[] args) { student.grade3 = sc.nextDouble(); student.grade4 = sc.nextDouble(); + System.out.println(); System.out.printf("Final Grade: %.2f%n", student.finalGrade()); - System.out.printf("Grade average: %.2f%n", student.mediaOfGrades()); - if (student.finalGrade() < 32.00) { - System.out.println("Disapproved"); - } else { - System.out.println("Mission complete"); - } + System.out.printf("Grade average: %.2f%n", student.mediaOfGrades()); - sc.close(); + if (student.mediaOfGrades() >= 7.0) { + System.out.println(); + System.out.println("Mission complete"); + + } else { + System.out.println("Disaproved"); + } } } From 979ede8ebd802ab43d3a5ed423273b683b87e0b9 Mon Sep 17 00:00:00 2001 From: Steve Date: Tue, 12 Sep 2023 08:37:12 -0300 Subject: [PATCH 16/65] A more modification! --- .../src/br/com/rpires/applicationGrades.java | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/mod10/ExemplosMod10/src/br/com/rpires/applicationGrades.java b/mod10/ExemplosMod10/src/br/com/rpires/applicationGrades.java index 8e960b3..e4d3b04 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/applicationGrades.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/applicationGrades.java @@ -32,9 +32,12 @@ public static void main(String[] args) { if (student.mediaOfGrades() >= 7.0) { System.out.println(); System.out.println("Mission complete"); - + } else if (student.mediaOfGrades() == 5.0){ + System.out.println(); + System.out.println("The student is recovering."); } else { - System.out.println("Disaproved"); - } + System.out.println(); + System.out.println("Disaproved"); + } } } From 1130dc4615b684ce694271ed749987c600698ad9 Mon Sep 17 00:00:00 2001 From: Steve Date: Sun, 17 Sep 2023 07:05:48 -0300 Subject: [PATCH 17/65] Some modifications --- .run/Template Java Scratch.run.xml | 11 +++++++++++ .../src/br/com/rpires/applicationGrades.java | 2 +- 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 .run/Template Java Scratch.run.xml diff --git a/.run/Template Java Scratch.run.xml b/.run/Template Java Scratch.run.xml new file mode 100644 index 0000000..b3a53d9 --- /dev/null +++ b/.run/Template Java Scratch.run.xml @@ -0,0 +1,11 @@ + + + + \ No newline at end of file diff --git a/mod10/ExemplosMod10/src/br/com/rpires/applicationGrades.java b/mod10/ExemplosMod10/src/br/com/rpires/applicationGrades.java index e4d3b04..a65790b 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/applicationGrades.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/applicationGrades.java @@ -32,7 +32,7 @@ public static void main(String[] args) { if (student.mediaOfGrades() >= 7.0) { System.out.println(); System.out.println("Mission complete"); - } else if (student.mediaOfGrades() == 5.0){ + } else if (student.mediaOfGrades() >= 5.0){ System.out.println(); System.out.println("The student is recovering."); } else { From 4b1d841da9666d67c915402f7c59261139495fb8 Mon Sep 17 00:00:00 2001 From: Steve Date: Mon, 18 Sep 2023 20:24:15 -0300 Subject: [PATCH 18/65] A some modifications at the course of mod11 --- .../array/ExemploBubbleSortDinamico.java | 53 ++++++++++--------- .../rpires/array/ExemploBubbleSortFixo.java | 2 - .../br/com/rpires/array/ExemplosArray.java | 14 +---- .../src/br/com/rpires/domain/Biblioteca.java | 1 - .../br/com/rpires/list/ExemploLinkedList.java | 2 +- .../rpires/list/ExemploLinkedListAluno.java | 2 +- .../com/rpires/map/ExemploLinkedHashMap.java | 1 - .../com/rpires/queue/ExemploArrayDeque.java | 4 +- .../com/rpires/queue/ExemploLinkedList.java | 2 - .../src/br/com/rpires/set/ExemploHashSet.java | 2 - .../com/rpires/set/ExemploHashSetAluno.java | 14 ++++- .../com/rpires/set/ExemploLinkedHashSet.java | 1 - .../src/br/com/rpires/set/ExemploTreeSet.java | 1 - .../com/rpires/set/ExemploTreeSetAluno.java | 1 - 14 files changed, 45 insertions(+), 55 deletions(-) diff --git a/mod11/ExemplosMod11/src/br/com/rpires/array/ExemploBubbleSortDinamico.java b/mod11/ExemplosMod11/src/br/com/rpires/array/ExemploBubbleSortDinamico.java index 226910c..ded50a3 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/array/ExemploBubbleSortDinamico.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/array/ExemploBubbleSortDinamico.java @@ -8,34 +8,37 @@ public class ExemploBubbleSortDinamico { public static void main(String args[]) { - Scanner s = new Scanner(System.in); - System.out.println("Digite os números separados por , "); + try (Scanner sc = new Scanner(System.in)) { + System.out.println("Digite os números separados por , "); - String resposta = s.next(); - String[] vetStr = resposta.split(","); - int[] vet = convert(vetStr); - int aux = 0; - int i = 0; + String resposta = sc.next(); + String[] vetStr = resposta.split(","); + int[] vet = convert(vetStr); + int aux = 0; + int i = 0; - System.out.println("Vetor desordenado: "); - for(i = 0; i vet[j + 1]){ - aux = vet[j]; - vet[j] = vet[j+1]; - vet[j+1] = aux; - } - } - } - System.out.println("Vetor organizado:"); - for(i = 0; i vet[j + 1]){ + aux = vet[j]; + vet[j] = vet[j+1]; + vet[j+1] = aux; + } + } + } + System.out.println("Vetor organizado:"); + for(i = 0; i Date: Thu, 21 Sep 2023 10:28:11 -0300 Subject: [PATCH 19/65] A some works in the my course to my gitHub. --- .hintrc | 16 ++- mod11/.gitignore | 1 + .../Collections_part_2/Exercise_mod10.java | 121 ++++++++++++++++++ mod11/ExemplosMod11/src/Entities/Gender.java | 11 ++ mod11/ExemplosMod11/src/Entities/Man.java | 60 +++++++++ mod11/ExemplosMod11/src/Entities/Woman.java | 60 +++++++++ .../src/Entities/package-info.java | 1 + .../br/com/rpires/list/ExemploArrayList.java | 2 +- 8 files changed, 270 insertions(+), 2 deletions(-) create mode 100644 mod11/.gitignore create mode 100644 mod11/ExemplosMod11/src/Collections_part_2/Exercise_mod10.java create mode 100644 mod11/ExemplosMod11/src/Entities/Gender.java create mode 100644 mod11/ExemplosMod11/src/Entities/Man.java create mode 100644 mod11/ExemplosMod11/src/Entities/Woman.java create mode 100644 mod11/ExemplosMod11/src/Entities/package-info.java diff --git a/.hintrc b/.hintrc index 4b19556..dc105b7 100644 --- a/.hintrc +++ b/.hintrc @@ -9,6 +9,20 @@ "button-name": "off" } ], - "button-type": "off" + "button-type": "off", + "axe/text-alternatives": [ + "default", + { + "document-title": "off" + } + ], + "axe/language": [ + "default", + { + "html-has-lang": "off" + } + ], + "meta-charset-utf-8": "off", + "meta-viewport": "off" } } \ No newline at end of file diff --git a/mod11/.gitignore b/mod11/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/mod11/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/mod11/ExemplosMod11/src/Collections_part_2/Exercise_mod10.java b/mod11/ExemplosMod11/src/Collections_part_2/Exercise_mod10.java new file mode 100644 index 0000000..14327ac --- /dev/null +++ b/mod11/ExemplosMod11/src/Collections_part_2/Exercise_mod10.java @@ -0,0 +1,121 @@ +package Collections_part_2; + +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; +import java.util.Scanner; + +enum Gender { + MALE, FEMALE; +} + +class Person { + private int id; + private String name; + private double salary; + private Gender gender; + + public Person(int id, String name, double salary, Gender gender) { + this.id = id; + this.name = name; + this.salary = salary; + this.gender = gender; + } + + public int getId() { + return id; + } + + public String getName() { + return name; + } + + public double getSalary() { + return salary; + } + + public Gender getGender() { + return gender; + } + + public void increaseSalary(double percent) { + salary += salary * percent / 100.0; + } + + @Override + public String toString() { + return id + ", " + name + ", " + String.format("%.3f%n", salary) + ", " + gender; + } +} + +public class Exercise_mod10 { + public static void main(String[] args) { + Locale.setDefault(Locale.US); + Scanner sc = new Scanner(System.in); + + List personList = new ArrayList<>(); + + System.out.print("How many persons will be registered? "); + int N = sc.nextInt(); + + for (int i = 0; i < N; i++) { + System.out.println(); + System.out.println("Person #" + (i + 1) + ":"); + System.out.print("Id: "); + Integer id = sc.nextInt(); + + while (hasId(personList, id)) { + System.out.println(); + System.out.print("Id already taken! Try again: "); + id = sc.nextInt(); + } + + System.out.print("Name: "); + sc.nextLine(); + String name = sc.nextLine(); + System.out.print("Salary: "); + Double salary = sc.nextDouble(); + + System.out.print("Gender (M/F): "); + char genderChar = sc.next().charAt(0); + Gender gender = (genderChar == 'M' || genderChar == 'm') ? Gender.MALE : Gender.FEMALE; + + Person person = new Person(id, name, salary, gender); + personList.add(person); + } + + System.out.println(); + System.out.print("Enter the employee id that will have salary increase: "); + int idSalary = sc.nextInt(); + + Person emp = personList.stream().filter(x -> x.getId() == idSalary).findFirst().orElse(null); + + System.out.println(); + if (emp == null) { + System.out.println("This id does not exist!"); + } else { + System.out.print("Enter the percentage: "); + double percent = sc.nextDouble(); + emp.increaseSalary(percent); + } + + System.out.println(); + System.out.println("List of persons: "); + System.out.println(); + + for (Person e : personList) { + System.out.println(e); + } + + sc.close(); + } + + public static boolean hasId(List list, int id) { + for (Person person : list) { + if (person.getId() == id) { + return true; + } + } + return false; + } +} \ No newline at end of file diff --git a/mod11/ExemplosMod11/src/Entities/Gender.java b/mod11/ExemplosMod11/src/Entities/Gender.java new file mode 100644 index 0000000..bdd1c51 --- /dev/null +++ b/mod11/ExemplosMod11/src/Entities/Gender.java @@ -0,0 +1,11 @@ +package Entities; + +public enum Gender { + MALE, FEMALE; +} + + + + + + diff --git a/mod11/ExemplosMod11/src/Entities/Man.java b/mod11/ExemplosMod11/src/Entities/Man.java new file mode 100644 index 0000000..cb85328 --- /dev/null +++ b/mod11/ExemplosMod11/src/Entities/Man.java @@ -0,0 +1,60 @@ +package Entities; + +public class Man { + private int id; + private String name; + private double salary; + private Gender gender; + + public Man() { + } + + public Man(int id, String name, double salary, Gender gender) { + this.id = id; + this.name = name; + this.salary = salary; + this.setGender(gender); + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Double getSalary() { + return salary; + } + + public void setSalary(Double salary) { + this.salary = salary; + } + + public void increaseSalary(double percentage) { + salary += salary * percentage / 100.0; + } + + public Gender getGender() { + return gender; + } + + public void setGender(Gender gender) { + this.gender = gender; + } + + @Override + public String toString() { + return id + ", " + name + ", " + String.format("%.2f%n", salary); + } + +} diff --git a/mod11/ExemplosMod11/src/Entities/Woman.java b/mod11/ExemplosMod11/src/Entities/Woman.java new file mode 100644 index 0000000..777ed88 --- /dev/null +++ b/mod11/ExemplosMod11/src/Entities/Woman.java @@ -0,0 +1,60 @@ +package Entities; + +public class Woman { + private int id; + private String name; + private double salary; + private Gender gender; + + public Woman() { + } + + public Woman(int id, String name, double salary, Gender gender) { + this.id = id; + this.name = name; + this.salary = salary; + this.setGender(gender); + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public Double getSalary() { + return salary; + } + + public void setSalary(Double salary) { + this.salary = salary; + } + + public void increaseSalary(double percentage) { + salary += salary * percentage / 100.0; + } + + @Override + public String toString() { + return id + ", " + name + ", " + String.format("%.2f%n", salary); + } + + public Gender getGender() { + return gender; + } + + public void setGender(Gender gender) { + this.gender = gender; + } + +} diff --git a/mod11/ExemplosMod11/src/Entities/package-info.java b/mod11/ExemplosMod11/src/Entities/package-info.java new file mode 100644 index 0000000..c846b15 --- /dev/null +++ b/mod11/ExemplosMod11/src/Entities/package-info.java @@ -0,0 +1 @@ +package Entities; \ No newline at end of file diff --git a/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploArrayList.java b/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploArrayList.java index c845d22..f49e024 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploArrayList.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploArrayList.java @@ -9,7 +9,7 @@ * It's like an array whose size can grow. * Searching for an element is fast, but insertions and deletions are not.. * - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemploArrayList { From bb947e3348467dfd9e7720fec7bcb2d9b25adab2 Mon Sep 17 00:00:00 2001 From: Steve Date: Thu, 21 Sep 2023 10:29:23 -0300 Subject: [PATCH 20/65] Remove entities --- mod11/ExemplosMod11/src/Entities/Gender.java | 11 ---- mod11/ExemplosMod11/src/Entities/Man.java | 60 ------------------- mod11/ExemplosMod11/src/Entities/Woman.java | 60 ------------------- .../src/Entities/package-info.java | 1 - 4 files changed, 132 deletions(-) delete mode 100644 mod11/ExemplosMod11/src/Entities/Gender.java delete mode 100644 mod11/ExemplosMod11/src/Entities/Man.java delete mode 100644 mod11/ExemplosMod11/src/Entities/Woman.java delete mode 100644 mod11/ExemplosMod11/src/Entities/package-info.java diff --git a/mod11/ExemplosMod11/src/Entities/Gender.java b/mod11/ExemplosMod11/src/Entities/Gender.java deleted file mode 100644 index bdd1c51..0000000 --- a/mod11/ExemplosMod11/src/Entities/Gender.java +++ /dev/null @@ -1,11 +0,0 @@ -package Entities; - -public enum Gender { - MALE, FEMALE; -} - - - - - - diff --git a/mod11/ExemplosMod11/src/Entities/Man.java b/mod11/ExemplosMod11/src/Entities/Man.java deleted file mode 100644 index cb85328..0000000 --- a/mod11/ExemplosMod11/src/Entities/Man.java +++ /dev/null @@ -1,60 +0,0 @@ -package Entities; - -public class Man { - private int id; - private String name; - private double salary; - private Gender gender; - - public Man() { - } - - public Man(int id, String name, double salary, Gender gender) { - this.id = id; - this.name = name; - this.salary = salary; - this.setGender(gender); - } - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public Double getSalary() { - return salary; - } - - public void setSalary(Double salary) { - this.salary = salary; - } - - public void increaseSalary(double percentage) { - salary += salary * percentage / 100.0; - } - - public Gender getGender() { - return gender; - } - - public void setGender(Gender gender) { - this.gender = gender; - } - - @Override - public String toString() { - return id + ", " + name + ", " + String.format("%.2f%n", salary); - } - -} diff --git a/mod11/ExemplosMod11/src/Entities/Woman.java b/mod11/ExemplosMod11/src/Entities/Woman.java deleted file mode 100644 index 777ed88..0000000 --- a/mod11/ExemplosMod11/src/Entities/Woman.java +++ /dev/null @@ -1,60 +0,0 @@ -package Entities; - -public class Woman { - private int id; - private String name; - private double salary; - private Gender gender; - - public Woman() { - } - - public Woman(int id, String name, double salary, Gender gender) { - this.id = id; - this.name = name; - this.salary = salary; - this.setGender(gender); - } - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public Double getSalary() { - return salary; - } - - public void setSalary(Double salary) { - this.salary = salary; - } - - public void increaseSalary(double percentage) { - salary += salary * percentage / 100.0; - } - - @Override - public String toString() { - return id + ", " + name + ", " + String.format("%.2f%n", salary); - } - - public Gender getGender() { - return gender; - } - - public void setGender(Gender gender) { - this.gender = gender; - } - -} diff --git a/mod11/ExemplosMod11/src/Entities/package-info.java b/mod11/ExemplosMod11/src/Entities/package-info.java deleted file mode 100644 index c846b15..0000000 --- a/mod11/ExemplosMod11/src/Entities/package-info.java +++ /dev/null @@ -1 +0,0 @@ -package Entities; \ No newline at end of file From 947dca12dbff54edca030f8435e86296c62cf3db Mon Sep 17 00:00:00 2001 From: Steve Date: Thu, 21 Sep 2023 10:31:31 -0300 Subject: [PATCH 21/65] A more modification --- .../ExemplosMod11/src/Collections_part_2/Exercise_mod10.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mod11/ExemplosMod11/src/Collections_part_2/Exercise_mod10.java b/mod11/ExemplosMod11/src/Collections_part_2/Exercise_mod10.java index 14327ac..2779484 100644 --- a/mod11/ExemplosMod11/src/Collections_part_2/Exercise_mod10.java +++ b/mod11/ExemplosMod11/src/Collections_part_2/Exercise_mod10.java @@ -55,7 +55,7 @@ public static void main(String[] args) { List personList = new ArrayList<>(); - System.out.print("How many persons will be registered? "); + System.out.print("How many employees will be registered? "); int N = sc.nextInt(); for (int i = 0; i < N; i++) { @@ -100,7 +100,7 @@ public static void main(String[] args) { } System.out.println(); - System.out.println("List of persons: "); + System.out.println("List of employees: "); System.out.println(); for (Person e : personList) { From d6429db5aee8283bfe669e73bce84757128c51ed Mon Sep 17 00:00:00 2001 From: Steve Date: Thu, 21 Sep 2023 10:35:14 -0300 Subject: [PATCH 22/65] Rename Exercise_mod11 --- .../{Exercise_mod10.java => Exercise_mod11.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename mod11/ExemplosMod11/src/Collections_part_2/{Exercise_mod10.java => Exercise_mod11.java} (100%) diff --git a/mod11/ExemplosMod11/src/Collections_part_2/Exercise_mod10.java b/mod11/ExemplosMod11/src/Collections_part_2/Exercise_mod11.java similarity index 100% rename from mod11/ExemplosMod11/src/Collections_part_2/Exercise_mod10.java rename to mod11/ExemplosMod11/src/Collections_part_2/Exercise_mod11.java From cbdbb22670333141a1486201197d33a94cdb94d5 Mon Sep 17 00:00:00 2001 From: Steve Date: Thu, 21 Sep 2023 10:35:56 -0300 Subject: [PATCH 23/65] Rename Exercise_mod11 --- mod11/ExemplosMod11/src/Collections_part_2/Exercise_mod11.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mod11/ExemplosMod11/src/Collections_part_2/Exercise_mod11.java b/mod11/ExemplosMod11/src/Collections_part_2/Exercise_mod11.java index 2779484..3b8dde9 100644 --- a/mod11/ExemplosMod11/src/Collections_part_2/Exercise_mod11.java +++ b/mod11/ExemplosMod11/src/Collections_part_2/Exercise_mod11.java @@ -48,7 +48,7 @@ public String toString() { } } -public class Exercise_mod10 { +public class Exercise_mod11 { public static void main(String[] args) { Locale.setDefault(Locale.US); Scanner sc = new Scanner(System.in); From 7360eef436d703ed753cd4092939f6c8689906d5 Mon Sep 17 00:00:00 2001 From: Steve <123308294+Ste452@users.noreply.github.com> Date: Fri, 22 Sep 2023 11:03:15 -0300 Subject: [PATCH 24/65] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e436188..3e45ccc 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,3 @@ # backend-java-ebac -Exemplos dos projetos para o curso de Backend Java da Ebac. +Examples of projects for the Ebac Backend Java course. From 6719e1dcc94ae2900c647c2daffd4e0197735545 Mon Sep 17 00:00:00 2001 From: Steve Date: Fri, 22 Sep 2023 18:49:17 -0300 Subject: [PATCH 25/65] =?UTF-8?q?A=20more=20exercises=20=C2=AF=E2=81=A0\?= =?UTF-8?q?=E2=81=A0=5F=E2=81=A0(=E2=81=A0=E3=83=84=E2=81=A0)=E2=81=A0=5F?= =?UTF-8?q?=E2=81=A0/=E2=81=A0=C2=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mod12/.gitignore | 1 + .../Exercise_mod12_part1.java | 67 ++++++++++ .../Exercise_mod12_part2.java | 121 ++++++++++++++++++ .../src/Collections_part_2/package-info.java | 1 + .../array/ExemploBubbleSortDinamico.java | 53 ++++---- .../br/com/rpires/array/ExemplosArray.java | 12 -- 6 files changed, 218 insertions(+), 37 deletions(-) create mode 100644 mod12/.gitignore create mode 100644 mod12/ExemplosMod12/src/Collections_part_2/Exercise_mod12_part1.java create mode 100644 mod12/ExemplosMod12/src/Collections_part_2/Exercise_mod12_part2.java create mode 100644 mod12/ExemplosMod12/src/Collections_part_2/package-info.java diff --git a/mod12/.gitignore b/mod12/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/mod12/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/mod12/ExemplosMod12/src/Collections_part_2/Exercise_mod12_part1.java b/mod12/ExemplosMod12/src/Collections_part_2/Exercise_mod12_part1.java new file mode 100644 index 0000000..28ec41d --- /dev/null +++ b/mod12/ExemplosMod12/src/Collections_part_2/Exercise_mod12_part1.java @@ -0,0 +1,67 @@ +package Collections_part_2; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; +import java.util.Locale; +import java.util.Scanner; + +public class Exercise_mod12_part1 implements Comparable { + private String name; + + public Exercise_mod12_part1(String name) { + this.name = name; + } + + public String getName() { + return name; + } + + @Override + public String toString() { + return name; + } + + @Override + public int compareTo(Exercise_mod12_part1 other) { + // Comparar os nomes em ordem alfabética, ignorando maiúsculas/minúsculas + return this.name.toLowerCase().compareTo(other.getName().toLowerCase()); + } + + public static void main(String[] args) { + Locale.setDefault(Locale.US); + Scanner sc = new Scanner(System.in); + + List personList = new ArrayList<>(); + + System.out.print("How many persons will be registered? "); + int N = sc.nextInt(); + + sc.nextLine(); // Consumir a linha em branco após a leitura de N + + for (int i = 0; i < N; i++) { + System.out.println(); + System.out.println("Person #" + (i + 1) + ":"); + + System.out.print("Name: "); + String name = sc.nextLine(); + + Exercise_mod12_part1 person = new Exercise_mod12_part1(name); + personList.add(person); + } + + // Ordenar a lista de pessoas em ordem alfabética (insensível ao caso) + Collections.sort(personList); + + System.out.println(); + System.out.println("List of persons (sorted alphabetically): "); + System.out.println(); + + for (Exercise_mod12_part1 person : personList) { + System.out.println(); + System.out.println(person); + } + + sc.close(); + } +} diff --git a/mod12/ExemplosMod12/src/Collections_part_2/Exercise_mod12_part2.java b/mod12/ExemplosMod12/src/Collections_part_2/Exercise_mod12_part2.java new file mode 100644 index 0000000..f6d208d --- /dev/null +++ b/mod12/ExemplosMod12/src/Collections_part_2/Exercise_mod12_part2.java @@ -0,0 +1,121 @@ +package Collections_part_2; + +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; +import java.util.Scanner; + +enum Gender { + MALE, FEMALE; +} + +class Person { + private int id; + private String name; + private double salary; + private Gender gender; + + public Person(int id, String name, double salary, Gender gender) { + this.id = id; + this.name = name; + this.salary = salary; + this.gender = gender; + } + + public int getId() { + return id; + } + + public String getName() { + return name; + } + + public double getSalary() { + return salary; + } + + public Gender getGender() { + return gender; + } + + public void increaseSalary(double percent) { + salary += salary * percent / 100.0; + } + + @Override + public String toString() { + return id + ", " + name + ", " + String.format("%.3f%n", salary) + ", " + gender; + } +} + +public class Exercise_mod12_part2 { + public static void main(String[] args) { + Locale.setDefault(Locale.US); + Scanner sc = new Scanner(System.in); + + List personList = new ArrayList<>(); + + System.out.print("How many employees will be registered? "); + int N = sc.nextInt(); + + for (int i = 0; i < N; i++) { + System.out.println(); + System.out.println("Person #" + (i + 1) + ":"); + System.out.print("Id: "); + Integer id = sc.nextInt(); + + while (hasId(personList, id)) { + System.out.println(); + System.out.print("Id already taken! Try again: "); + id = sc.nextInt(); + } + + System.out.print("Name: "); + sc.nextLine(); + String name = sc.nextLine(); + System.out.print("Salary: "); + Double salary = sc.nextDouble(); + + System.out.print("Gender (M/F): "); + char genderChar = sc.next().charAt(0); + Gender gender = (genderChar == 'M' || genderChar == 'm') ? Gender.MALE : Gender.FEMALE; + + Person person = new Person(id, name, salary, gender); + personList.add(person); + } + + System.out.println(); + System.out.print("Enter the employee id that will have salary increase: "); + int idSalary = sc.nextInt(); + + Person emp = personList.stream().filter(x -> x.getId() == idSalary).findFirst().orElse(null); + + System.out.println(); + if (emp == null) { + System.out.println("This id does not exist!"); + } else { + System.out.print("Enter the percentage: "); + double percent = sc.nextDouble(); + emp.increaseSalary(percent); + } + + System.out.println(); + System.out.println("List of employees: "); + System.out.println(); + + for (Person e : personList) { + System.out.println(e); + } + + sc.close(); + } + + public static boolean hasId(List list, int id) { + for (Person person : list) { + if (person.getId() == id) { + return true; + } + } + return false; + } +} \ No newline at end of file diff --git a/mod12/ExemplosMod12/src/Collections_part_2/package-info.java b/mod12/ExemplosMod12/src/Collections_part_2/package-info.java new file mode 100644 index 0000000..338e413 --- /dev/null +++ b/mod12/ExemplosMod12/src/Collections_part_2/package-info.java @@ -0,0 +1 @@ +package Collections_part_2; \ No newline at end of file diff --git a/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortDinamico.java b/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortDinamico.java index ebb2a10..9cef07e 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortDinamico.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortDinamico.java @@ -8,34 +8,37 @@ public class ExemploBubbleSortDinamico { public static void main(String args[]) { - Scanner s = new Scanner(System.in); - System.out.println("Digite os números separados por , "); + try (Scanner sc = new Scanner(System.in)) { + System.out.println("Digite os números separados por , "); - String resposta = s.next(); - String[] vetStr = resposta.split(","); - int[] vet = convert(vetStr); - int aux = 0; - int i = 0; + String resposta = sc.next(); + String[] vetStr = resposta.split(","); + int[] vet = convert(vetStr); + int aux = 0; + int i = 0; - System.out.println("Vetor desordenado: "); - for(i = 0; i vet[j + 1]){ - aux = vet[j]; - vet[j] = vet[j+1]; - vet[j+1] = aux; - } - } - } - System.out.println("Vetor organizado:"); - for(i = 0; i vet[j + 1]){ + aux = vet[j]; + vet[j] = vet[j+1]; + vet[j+1] = aux; + } + } + } + System.out.println("Vetor organizado:"); + for(i = 0; i Date: Thu, 28 Sep 2023 22:05:27 -0300 Subject: [PATCH 26/65] Finished module_13 --- mod13/.gitignore | 1 + .../src/Exercise_mod13/Program.java | 62 +++++++++++++++++ .../src/Exercise_mod13/package-info.java | 1 + .../src/Exercise_mod13/pessoa.java | 68 +++++++++++++++++++ .../src/Exercise_mod13/pessoa_fisica.java | 36 ++++++++++ .../src/Exercise_mod13/pessoa_juridica.java | 36 ++++++++++ .../src/br/com/rpires/Composicao/App.java | 3 +- .../src/br/com/rpires/Composicao/Banco.java | 3 +- .../br/com/rpires/interfaces/ClasseTeste.java | 10 +-- mod14/.gitignore | 1 + .../src/br/com/rpires/App.java | 9 +-- .../src/br/com/rpires/App.java | 3 +- .../src/br/com/rpires/dao/ClienteSetDAO.java | 1 - .../src/br/com/rpires/dao/IClienteDAO.java | 4 +- .../cadastroclienteswing/TelaPrincipal.java | 6 +- .../javaapplication1/dao/ClienteMapDAO.java | 2 - .../javaapplication1/JavaApplication1.java | 2 +- .../src/javaapplication1/PrincipalJFrame.java | 8 ++- .../src/javaapplication1/TabsJFrame.java | 10 ++- 19 files changed, 232 insertions(+), 34 deletions(-) create mode 100644 mod13/.gitignore create mode 100644 mod13/ExemplosMod13/src/Exercise_mod13/Program.java create mode 100644 mod13/ExemplosMod13/src/Exercise_mod13/package-info.java create mode 100644 mod13/ExemplosMod13/src/Exercise_mod13/pessoa.java create mode 100644 mod13/ExemplosMod13/src/Exercise_mod13/pessoa_fisica.java create mode 100644 mod13/ExemplosMod13/src/Exercise_mod13/pessoa_juridica.java create mode 100644 mod14/.gitignore diff --git a/mod13/.gitignore b/mod13/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/mod13/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/mod13/ExemplosMod13/src/Exercise_mod13/Program.java b/mod13/ExemplosMod13/src/Exercise_mod13/Program.java new file mode 100644 index 0000000..cd3460e --- /dev/null +++ b/mod13/ExemplosMod13/src/Exercise_mod13/Program.java @@ -0,0 +1,62 @@ +package Exercise_mod13; + +import java.util.ArrayList; +import java.util.List; +import java.util.Locale; +import java.util.Scanner; + +public class Program { + + public static void main(String[] args) { + Locale.setDefault(Locale.US); + Scanner sc = new Scanner(System.in); + + List pessoasFisicas = new ArrayList<>(); + List pessoasJuridicas = new ArrayList<>(); + + System.out.println("Insira seus dados para calcular o imposto de renda."); + System.out.print("Digite seu nome: "); + String nome = sc.nextLine(); + + System.out.print("Digite 'F' para pessoa física ou 'J' para pessoa jurídica: "); + char tipo = sc.next().charAt(0); + + if (tipo == 'F' || tipo == 'f') { + System.out.print("Digite a alíquota (exemplo: 20% para 20): "); + int aliquotaPercentual = sc.nextInt(); + System.out.print("Digite sua renda bruta: "); + double rendaBruta = sc.nextDouble(); + System.out.print("Digite as deduções: "); + double deducoes = sc.nextDouble(); + + // Cálculo do imposto de renda de pessoa física + double IRPF = (rendaBruta * aliquotaPercentual / 100) - deducoes; + + pessoa_fisica pessoa = new pessoa_fisica(nome, (int) aliquotaPercentual, rendaBruta, deducoes, 0, IRPF); + pessoasFisicas.add(pessoa); + + // Exibe o valor do imposto de renda da pessoa física com 2 casas decimais + System.out.printf("Imposto de Renda Pessoa Física de %s: %.3f%n", nome, IRPF); + } else if (tipo == 'J' || tipo == 'j') { + System.out.print("Digite o lucro tributável: "); + double lucroTributavel = sc.nextDouble(); + System.out.print("Digite a alíquota (exemplo: 20% para 20): "); + int aliquotaPercentual = sc.nextInt(); + System.out.print("Digite as deduções: "); + double deducoes = sc.nextDouble(); + System.out.print("Digite a parcela a deduzir: "); + double parcelaAdeduzir = sc.nextDouble(); + + double IRPJ = ((lucroTributavel * aliquotaPercentual / 100) - deducoes - parcelaAdeduzir); + + pessoa_juridica pessoa = new pessoa_juridica(nome, (int) aliquotaPercentual, 0, deducoes, parcelaAdeduzir, IRPJ); + + pessoasJuridicas.add(pessoa); + + // Exibe o valor do imposto de renda da pessoa jurídica com 2 casas decimais + System.out.printf("Imposto de Renda Pessoa Jurídica de %s: %.3f%n", nome, IRPJ); + } + + sc.close(); + } +} diff --git a/mod13/ExemplosMod13/src/Exercise_mod13/package-info.java b/mod13/ExemplosMod13/src/Exercise_mod13/package-info.java new file mode 100644 index 0000000..055a4a8 --- /dev/null +++ b/mod13/ExemplosMod13/src/Exercise_mod13/package-info.java @@ -0,0 +1 @@ +package Exercise_mod13; \ No newline at end of file diff --git a/mod13/ExemplosMod13/src/Exercise_mod13/pessoa.java b/mod13/ExemplosMod13/src/Exercise_mod13/pessoa.java new file mode 100644 index 0000000..d52b7e5 --- /dev/null +++ b/mod13/ExemplosMod13/src/Exercise_mod13/pessoa.java @@ -0,0 +1,68 @@ +package Exercise_mod13; + +public abstract class pessoa { + private String name; + private int aliquota; + private double rendaBruta; + private double deducoes; + private double parcelaAdeduzir; + private double lucroTributavel; + + public pessoa(String name, int aliquota, double rendaBruta, double deducoes, double parcelaAdeduzir, double lucroTributavel) { + super(); + this.name = name; + this.aliquota = aliquota; + this.rendaBruta = rendaBruta; + this.deducoes = deducoes; + this.parcelaAdeduzir = parcelaAdeduzir; + this.lucroTributavel = lucroTributavel; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getAliquota() { + return aliquota; + } + + public void setAliquota(int aliquota) { + this.aliquota = aliquota; + } + + public double getRendaBruta() { + return rendaBruta; + } + + public void setRendaBruta(double rendaBruta) { + this.rendaBruta = rendaBruta; + } + + public double getDeducoes() { + return deducoes; + } + + public void setDeducoes(double deduçoes) { + this.deducoes = deduçoes; + } + + public double getParcelaAdeduzir() { + return parcelaAdeduzir; + } + + public void setParcelaAdeduzir(double parcelaAdeduzir) { + this.parcelaAdeduzir = parcelaAdeduzir; + } + + public double getLucroTributavel() { + return lucroTributavel; + } + + public void setLucroTributavel(double lucroTributavel) { + this.lucroTributavel = lucroTributavel; + } +} \ No newline at end of file diff --git a/mod13/ExemplosMod13/src/Exercise_mod13/pessoa_fisica.java b/mod13/ExemplosMod13/src/Exercise_mod13/pessoa_fisica.java new file mode 100644 index 0000000..f2c10fc --- /dev/null +++ b/mod13/ExemplosMod13/src/Exercise_mod13/pessoa_fisica.java @@ -0,0 +1,36 @@ +package Exercise_mod13; + +public class pessoa_fisica extends pessoa { + // Propriedades da pessoa física. + private String existenciaBiologica; + private String CaracterísticasHumanaseEmoções; + private double IRPF; + + public pessoa_fisica(String name, int aliquota, double rendaBruta, double deduçoes, double parcelaAdeduzir, double lucroTributavel) { + super(name, aliquota, rendaBruta, deduçoes, parcelaAdeduzir, 0); + } + + public String getExistenciaBiologica() { + return existenciaBiologica; + } + + public void setExistenciaBiologica(String existenciaBiologica) { + this.existenciaBiologica = existenciaBiologica; + } + + public String getCaracterísticasHumanaseEmoções() { + return CaracterísticasHumanaseEmoções; + } + + public void setCaracterísticasHumanaseEmoções(String característicasHumanaseEmoções) { + CaracterísticasHumanaseEmoções = característicasHumanaseEmoções; + } + + public double getIRPF() { + return IRPF; + } + + public void setIRPF(double IRPF) { + this.IRPF = IRPF; + } +} \ No newline at end of file diff --git a/mod13/ExemplosMod13/src/Exercise_mod13/pessoa_juridica.java b/mod13/ExemplosMod13/src/Exercise_mod13/pessoa_juridica.java new file mode 100644 index 0000000..a485598 --- /dev/null +++ b/mod13/ExemplosMod13/src/Exercise_mod13/pessoa_juridica.java @@ -0,0 +1,36 @@ +package Exercise_mod13; + +public class pessoa_juridica extends pessoa { + // Propriedades da pessoa jurídica. + private int TributaçãoDiferenciada; + private String ExistênciaPermanente; + private double IRPJ; + + public pessoa_juridica(String name, int aliquota, double rendaBruta, double deduçoes, double parcelaAdeduzir, double lucroTributavel) { + super(name, aliquota, rendaBruta, deduçoes, parcelaAdeduzir, lucroTributavel); + } + + public String getExistênciaPermanente() { + return ExistênciaPermanente; + } + + public void setExistênciaPermanente(String existênciaPermanente) { + ExistênciaPermanente = existênciaPermanente; + } + + public int getTributaçãoDiferenciada() { + return TributaçãoDiferenciada; + } + + public void setTributaçãoDiferenciada(int tributaçãoDiferenciada) { + TributaçãoDiferenciada = tributaçãoDiferenciada; + } + + public double getIRPJ() { + return IRPJ; + } + + public void setIRPJ(double IRPJ) { + this.IRPJ = IRPJ; + } +} \ No newline at end of file diff --git a/mod13/ExemplosMod13/src/br/com/rpires/Composicao/App.java b/mod13/ExemplosMod13/src/br/com/rpires/Composicao/App.java index cb75d28..3848150 100644 --- a/mod13/ExemplosMod13/src/br/com/rpires/Composicao/App.java +++ b/mod13/ExemplosMod13/src/br/com/rpires/Composicao/App.java @@ -1,7 +1,7 @@ package br.com.rpires.Composicao; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class App { @@ -21,7 +21,6 @@ public static void main(String aargs[]) { banco.add(cc); banco.add(cp); - Banco banco2 = new Banco(); banco.setCodigo(10L); banco.setNome("Banco Pires2"); } diff --git a/mod13/ExemplosMod13/src/br/com/rpires/Composicao/Banco.java b/mod13/ExemplosMod13/src/br/com/rpires/Composicao/Banco.java index 5be8b16..0c81b98 100644 --- a/mod13/ExemplosMod13/src/br/com/rpires/Composicao/Banco.java +++ b/mod13/ExemplosMod13/src/br/com/rpires/Composicao/Banco.java @@ -1,11 +1,10 @@ package br.com.rpires.Composicao; import java.util.HashSet; -import java.util.List; import java.util.Set; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class Banco { diff --git a/mod13/ExemplosMod13/src/br/com/rpires/interfaces/ClasseTeste.java b/mod13/ExemplosMod13/src/br/com/rpires/interfaces/ClasseTeste.java index a775abe..09c44b8 100644 --- a/mod13/ExemplosMod13/src/br/com/rpires/interfaces/ClasseTeste.java +++ b/mod13/ExemplosMod13/src/br/com/rpires/interfaces/ClasseTeste.java @@ -1,11 +1,7 @@ package br.com.rpires.interfaces; -import br.com.rpires.interfaces.*; - -import java.util.List; - /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class ClasseTeste { @@ -16,12 +12,12 @@ public static void main(String args[]) { System.out.println(caneta.getCor()); ICaneta giz = new Giz(); - giz.escrever("Olá Rodrigo"); + giz.escrever("Olá Steve"); giz.escreverComumATodas(); System.out.println(giz.getCor()); Lapis lapis = new Lapis(); - lapis.escrever("Olá Rodrigo"); + lapis.escrever("Olá Steve"); lapis.escreverComumATodas(); System.out.println(lapis.getCor()); diff --git a/mod14/.gitignore b/mod14/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/mod14/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/mod14/CadastroCliente/src/br/com/rpires/App.java b/mod14/CadastroCliente/src/br/com/rpires/App.java index 05de957..3feeef2 100644 --- a/mod14/CadastroCliente/src/br/com/rpires/App.java +++ b/mod14/CadastroCliente/src/br/com/rpires/App.java @@ -7,7 +7,7 @@ import javax.swing.*; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class App { @@ -109,11 +109,4 @@ private static boolean isOpcaoValida(String opcao) { } return false; } - - private static boolean isOpcaoCadastro(String opcao) { - if ("1".equals(opcao)) { - return true; - } - return false; - } } diff --git a/mod14/ExemplosMod14Professor/src/br/com/rpires/App.java b/mod14/ExemplosMod14Professor/src/br/com/rpires/App.java index b91abbd..e99c1b0 100644 --- a/mod14/ExemplosMod14Professor/src/br/com/rpires/App.java +++ b/mod14/ExemplosMod14Professor/src/br/com/rpires/App.java @@ -1,6 +1,5 @@ package br.com.rpires; -import br.com.rpires.dao.ClienteMapDAO; import br.com.rpires.dao.ClienteSetDAO; import br.com.rpires.dao.IClienteDAO; import br.com.rpires.domain.Cliente; @@ -8,7 +7,7 @@ import javax.swing.*; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class App { diff --git a/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/ClienteSetDAO.java b/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/ClienteSetDAO.java index cac1991..bde7821 100644 --- a/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/ClienteSetDAO.java +++ b/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/ClienteSetDAO.java @@ -7,7 +7,6 @@ import java.util.Collection; import java.util.HashSet; -import java.util.List; import java.util.Set; import br.com.rpires.domain.Cliente; diff --git a/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/IClienteDAO.java b/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/IClienteDAO.java index 2fac6c0..ab38565 100644 --- a/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/IClienteDAO.java +++ b/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/IClienteDAO.java @@ -6,9 +6,7 @@ package br.com.rpires.dao; import br.com.rpires.domain.Cliente; - -;import java.util.Collection; -import java.util.List; +import java.util.Collection; /** * diff --git a/mod14/ExemplosNetBeans/CadastroClienteSwing/src/cadastroclienteswing/TelaPrincipal.java b/mod14/ExemplosNetBeans/CadastroClienteSwing/src/cadastroclienteswing/TelaPrincipal.java index 7b48f5c..754b0ff 100644 --- a/mod14/ExemplosNetBeans/CadastroClienteSwing/src/cadastroclienteswing/TelaPrincipal.java +++ b/mod14/ExemplosNetBeans/CadastroClienteSwing/src/cadastroclienteswing/TelaPrincipal.java @@ -17,7 +17,11 @@ */ public class TelaPrincipal extends javax.swing.JFrame { - private DefaultTableModel modelo = new DefaultTableModel(); + /** + * + */ + private static final long serialVersionUID = 1L; + private DefaultTableModel modelo = new DefaultTableModel(); private IClienteDAO clienteDAO = new ClienteMapDAO(); /** diff --git a/mod14/ExemplosNetBeans/CadastroClienteSwing/src/javaapplication1/dao/ClienteMapDAO.java b/mod14/ExemplosNetBeans/CadastroClienteSwing/src/javaapplication1/dao/ClienteMapDAO.java index 5826f7e..bee608c 100644 --- a/mod14/ExemplosNetBeans/CadastroClienteSwing/src/javaapplication1/dao/ClienteMapDAO.java +++ b/mod14/ExemplosNetBeans/CadastroClienteSwing/src/javaapplication1/dao/ClienteMapDAO.java @@ -5,11 +5,9 @@ */ package javaapplication1.dao; -import java.util.HashMap; import java.util.Map; import java.util.TreeMap; import javaapplication1.domain.Cliente; -import javax.swing.JOptionPane; /** * diff --git a/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/JavaApplication1.java b/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/JavaApplication1.java index e26cb21..affc670 100644 --- a/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/JavaApplication1.java +++ b/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/JavaApplication1.java @@ -7,7 +7,7 @@ /** * - * @author rodrigo.pires + * @author Steve.Vaz */ public class JavaApplication1 { diff --git a/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/PrincipalJFrame.java b/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/PrincipalJFrame.java index 22b7c05..e85c562 100644 --- a/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/PrincipalJFrame.java +++ b/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/PrincipalJFrame.java @@ -11,11 +11,15 @@ /** * - * @author rodrigo.pires + * @author Steve.Vaz */ public class PrincipalJFrame extends javax.swing.JFrame { /** + * + */ + private static final long serialVersionUID = 1L; + /** * Creates new form PrincipalJFrame */ public PrincipalJFrame() { @@ -27,7 +31,7 @@ public PrincipalJFrame() { * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ - @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents private void initComponents() { diff --git a/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/TabsJFrame.java b/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/TabsJFrame.java index a0f6d37..8ce582b 100644 --- a/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/TabsJFrame.java +++ b/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/TabsJFrame.java @@ -5,7 +5,6 @@ */ package javaapplication1; -import javaapplication1.dao.ClienteMapDAO; import javaapplication1.dao.ClienteSetDAO; import javaapplication1.dao.IClienteDAO; import javaapplication1.domain.Cliente; @@ -14,11 +13,16 @@ /** * - * @author rodrigo.pires + * @author Steve.Vaz */ public class TabsJFrame extends javax.swing.JFrame { - private DefaultTableModel modelo = new DefaultTableModel(); + /** + * + */ + private static final long serialVersionUID = 1L; + + private DefaultTableModel modelo = new DefaultTableModel(); private IClienteDAO clienteDAO; From 0689a1744087fa16315e47bb2e9aeb14c386b597 Mon Sep 17 00:00:00 2001 From: Steve Date: Thu, 28 Sep 2023 22:17:41 -0300 Subject: [PATCH 27/65] =?UTF-8?q?Correcting=20some=20errors=20=C2=AF?= =?UTF-8?q?=E2=81=A0\=E2=81=A0=5F=E2=81=A0(=E2=81=A0=E3=83=84=E2=81=A0)?= =?UTF-8?q?=E2=81=A0=5F=E2=81=A0/=E2=81=A0=C2=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/Exercise_mod13/pessoa_fisica.java | 10 +++++----- .../src/Exercise_mod13/pessoa_juridica.java | 20 +++++++++---------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/mod13/ExemplosMod13/src/Exercise_mod13/pessoa_fisica.java b/mod13/ExemplosMod13/src/Exercise_mod13/pessoa_fisica.java index f2c10fc..3da2ae1 100644 --- a/mod13/ExemplosMod13/src/Exercise_mod13/pessoa_fisica.java +++ b/mod13/ExemplosMod13/src/Exercise_mod13/pessoa_fisica.java @@ -3,7 +3,7 @@ public class pessoa_fisica extends pessoa { // Propriedades da pessoa física. private String existenciaBiologica; - private String CaracterísticasHumanaseEmoções; + private String CaracteristicasHumanaseEmocoes; private double IRPF; public pessoa_fisica(String name, int aliquota, double rendaBruta, double deduçoes, double parcelaAdeduzir, double lucroTributavel) { @@ -18,12 +18,12 @@ public void setExistenciaBiologica(String existenciaBiologica) { this.existenciaBiologica = existenciaBiologica; } - public String getCaracterísticasHumanaseEmoções() { - return CaracterísticasHumanaseEmoções; + public String getCaracteristicasHumanaseEmocoes() { + return CaracteristicasHumanaseEmocoes; } - public void setCaracterísticasHumanaseEmoções(String característicasHumanaseEmoções) { - CaracterísticasHumanaseEmoções = característicasHumanaseEmoções; + public void setCaracterísticasHumanaseEmocoes(String caracteristicasHumanaseEmocoes) { + CaracteristicasHumanaseEmocoes = caracteristicasHumanaseEmocoes; } public double getIRPF() { diff --git a/mod13/ExemplosMod13/src/Exercise_mod13/pessoa_juridica.java b/mod13/ExemplosMod13/src/Exercise_mod13/pessoa_juridica.java index a485598..4a5fd5f 100644 --- a/mod13/ExemplosMod13/src/Exercise_mod13/pessoa_juridica.java +++ b/mod13/ExemplosMod13/src/Exercise_mod13/pessoa_juridica.java @@ -2,28 +2,28 @@ public class pessoa_juridica extends pessoa { // Propriedades da pessoa jurídica. - private int TributaçãoDiferenciada; - private String ExistênciaPermanente; + private int TributacaoDiferenciada; + private String ExistenciaPermanente; private double IRPJ; public pessoa_juridica(String name, int aliquota, double rendaBruta, double deduçoes, double parcelaAdeduzir, double lucroTributavel) { super(name, aliquota, rendaBruta, deduçoes, parcelaAdeduzir, lucroTributavel); } - public String getExistênciaPermanente() { - return ExistênciaPermanente; + public String getExistenciaPermanente() { + return ExistenciaPermanente; } - public void setExistênciaPermanente(String existênciaPermanente) { - ExistênciaPermanente = existênciaPermanente; + public void setExistenciaPermanente(String existenciaPermanente) { + ExistenciaPermanente = existenciaPermanente; } - public int getTributaçãoDiferenciada() { - return TributaçãoDiferenciada; + public int getTributacaoDiferenciada() { + return TributacaoDiferenciada; } - public void setTributaçãoDiferenciada(int tributaçãoDiferenciada) { - TributaçãoDiferenciada = tributaçãoDiferenciada; + public void setTributacaoDiferenciada(int tributaçãoDiferenciada) { + TributacaoDiferenciada = tributaçãoDiferenciada; } public double getIRPJ() { From 476cf1a734eb8649b2e5bbfa509d39808de63357 Mon Sep 17 00:00:00 2001 From: Steve Date: Wed, 4 Oct 2023 00:09:12 -0300 Subject: [PATCH 28/65] =?UTF-8?q?Un=20changement=20suppl=C3=A9mentaire?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/br/com/rpires/array/ExemploBubbleSortDinamico.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortDinamico.java b/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortDinamico.java index 9cef07e..ded50a3 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortDinamico.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortDinamico.java @@ -3,7 +3,7 @@ import java.util.Scanner; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemploBubbleSortDinamico { From fb624747913ec149f325b3456150a9fcb8e0b22f Mon Sep 17 00:00:00 2001 From: Steve Date: Thu, 5 Oct 2023 12:16:33 -0300 Subject: [PATCH 29/65] =?UTF-8?q?Mod15=20termin=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mod15/.gitignore | 1 + .../Exercise_Abstract_Factory_Cars.java | 60 +++++++++++++++++++ .../src/Exercise_mod15/package-info.java | 1 + 3 files changed, 62 insertions(+) create mode 100644 mod15/.gitignore create mode 100644 mod15/ExemplosMod15/src/Exercise_mod15/Exercise_Abstract_Factory_Cars.java create mode 100644 mod15/ExemplosMod15/src/Exercise_mod15/package-info.java diff --git a/mod15/.gitignore b/mod15/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/mod15/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/mod15/ExemplosMod15/src/Exercise_mod15/Exercise_Abstract_Factory_Cars.java b/mod15/ExemplosMod15/src/Exercise_mod15/Exercise_Abstract_Factory_Cars.java new file mode 100644 index 0000000..d32619e --- /dev/null +++ b/mod15/ExemplosMod15/src/Exercise_mod15/Exercise_Abstract_Factory_Cars.java @@ -0,0 +1,60 @@ +// Interface abstrata para a fábrica de carros +package Exercise_mod15; + +interface CarFactory { + Car createCar(); +} + +// Interface abstrata para os carros +interface Car { + void assemble(); +} + +// Classes concretas para diferentes tipos de carros +class SportsCar implements Car { + @Override + public void assemble() { + System.out.println("Montando um carro esportivo."); + } +} + +class CompactCar implements Car { + @Override + public void assemble() { + System.out.println("Montando um carro compacto."); + } +} + +// Fábrica concreta para carros esportivos +class SportsCarFactory implements CarFactory { + @Override + public Car createCar() { + return new SportsCar(); + } +} + +// Fábrica concreta para carros compactos +class CompactCarFactory implements CarFactory { + @Override + public Car createCar() { + return new CompactCar(); + } +} + +public class Exercise_Abstract_Factory_Cars { + public static void main(String[] args) { + // Crie uma fábrica de carros esportivos + CarFactory sportsCarFactory = new SportsCarFactory(); + + // Use a fábrica para criar um carro esportivo + Car sportsCar = sportsCarFactory.createCar(); + sportsCar.assemble(); + + // Crie uma fábrica de carros compactos + CarFactory compactCarFactory = new CompactCarFactory(); + + // Use a fábrica para criar um carro compacto + Car compactCar = compactCarFactory.createCar(); + compactCar.assemble(); + } +} \ No newline at end of file diff --git a/mod15/ExemplosMod15/src/Exercise_mod15/package-info.java b/mod15/ExemplosMod15/src/Exercise_mod15/package-info.java new file mode 100644 index 0000000..e2bea24 --- /dev/null +++ b/mod15/ExemplosMod15/src/Exercise_mod15/package-info.java @@ -0,0 +1 @@ +package Exercise_mod15; \ No newline at end of file From 2089d67de03c097f6a373cc21e424010e0d0f2af Mon Sep 17 00:00:00 2001 From: Steve Date: Sat, 7 Oct 2023 21:32:21 -0300 Subject: [PATCH 30/65] A little bit modification. --- .../src/cadastroclienteswing/TelaPrincipal.java | 2 +- .../JavaApplication1/src/javaapplication1/TabsJFrame.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mod14/ExemplosNetBeans/CadastroClienteSwing/src/cadastroclienteswing/TelaPrincipal.java b/mod14/ExemplosNetBeans/CadastroClienteSwing/src/cadastroclienteswing/TelaPrincipal.java index 754b0ff..6cd1651 100644 --- a/mod14/ExemplosNetBeans/CadastroClienteSwing/src/cadastroclienteswing/TelaPrincipal.java +++ b/mod14/ExemplosNetBeans/CadastroClienteSwing/src/cadastroclienteswing/TelaPrincipal.java @@ -37,7 +37,7 @@ public TelaPrincipal() { * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ - @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents private void initComponents() { diff --git a/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/TabsJFrame.java b/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/TabsJFrame.java index 8ce582b..5c43160 100644 --- a/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/TabsJFrame.java +++ b/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/TabsJFrame.java @@ -43,7 +43,7 @@ public TabsJFrame() { * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ - @SuppressWarnings("unchecked") + // //GEN-BEGIN:initComponents private void initComponents() { From 19581809c93ed6f3fcd73bd34e3b5a8efdc9465e Mon Sep 17 00:00:00 2001 From: Steve Date: Thu, 12 Oct 2023 21:15:42 -0300 Subject: [PATCH 31/65] Saving some changes --- mod17/.gitignore | 1 + .../Generics_exercise_cars.java | 42 +++++++++++++++++++ .../src/Exercise_generics/package-info.java | 1 + 3 files changed, 44 insertions(+) create mode 100644 mod17/.gitignore create mode 100644 mod17/ExemplosMod17/src/Exercise_generics/Generics_exercise_cars.java create mode 100644 mod17/ExemplosMod17/src/Exercise_generics/package-info.java diff --git a/mod17/.gitignore b/mod17/.gitignore new file mode 100644 index 0000000..ae3c172 --- /dev/null +++ b/mod17/.gitignore @@ -0,0 +1 @@ +/bin/ diff --git a/mod17/ExemplosMod17/src/Exercise_generics/Generics_exercise_cars.java b/mod17/ExemplosMod17/src/Exercise_generics/Generics_exercise_cars.java new file mode 100644 index 0000000..1505cc2 --- /dev/null +++ b/mod17/ExemplosMod17/src/Exercise_generics/Generics_exercise_cars.java @@ -0,0 +1,42 @@ +package Exercise_generics; + +public class Generics_exercise_cars { + private T marca; + private String modelo; + + public Generics_exercise_cars(T marca, String modelo) { + this.marca = marca; + this.modelo = modelo; + } + + public T getMarca() { + return marca; + } + + public String getModelo() { + return modelo; + } + + public void setMarca(T marca) { + this.marca = marca; + } + + public void setModelo(String modelo) { + this.modelo = modelo; + } + + @Override + public String toString() { + return "Carro [Marca=" + marca + ", Modelo=" + modelo + "]"; + } + + public static void main(String[] args) { + Generics_exercise_cars carro1 = new Generics_exercise_cars<>("Toyota", "Corolla"); + Generics_exercise_cars carro2 = new Generics_exercise_cars<>("Honda", "Civic"); + Generics_exercise_cars carro3 = new Generics_exercise_cars<>("Ford", "Mustang"); + + System.out.println(carro1); + System.out.println(carro2); + System.out.println(carro3); + } +} diff --git a/mod17/ExemplosMod17/src/Exercise_generics/package-info.java b/mod17/ExemplosMod17/src/Exercise_generics/package-info.java new file mode 100644 index 0000000..b1e11de --- /dev/null +++ b/mod17/ExemplosMod17/src/Exercise_generics/package-info.java @@ -0,0 +1 @@ +package Exercise_generics; \ No newline at end of file From 3dd286b6de1228445dedf86d4dff2684a27bb14f Mon Sep 17 00:00:00 2001 From: Steve Date: Thu, 12 Oct 2023 21:40:53 -0300 Subject: [PATCH 32/65] Modifying once again --- .../src/{Exercise_generics => }/Generics_exercise_cars.java | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename mod17/ExemplosMod17/src/{Exercise_generics => }/Generics_exercise_cars.java (100%) diff --git a/mod17/ExemplosMod17/src/Exercise_generics/Generics_exercise_cars.java b/mod17/ExemplosMod17/src/Generics_exercise_cars.java similarity index 100% rename from mod17/ExemplosMod17/src/Exercise_generics/Generics_exercise_cars.java rename to mod17/ExemplosMod17/src/Generics_exercise_cars.java From 1040e541115f5b8644a912c3ce020228643db642 Mon Sep 17 00:00:00 2001 From: Steve Date: Thu, 12 Oct 2023 21:41:01 -0300 Subject: [PATCH 33/65] Modifying once again --- .../src/Exercise_generics/package-info.java | 1 - .../src/Generics_exercise_cars.java | 73 +++++++++++++------ 2 files changed, 49 insertions(+), 25 deletions(-) delete mode 100644 mod17/ExemplosMod17/src/Exercise_generics/package-info.java diff --git a/mod17/ExemplosMod17/src/Exercise_generics/package-info.java b/mod17/ExemplosMod17/src/Exercise_generics/package-info.java deleted file mode 100644 index b1e11de..0000000 --- a/mod17/ExemplosMod17/src/Exercise_generics/package-info.java +++ /dev/null @@ -1 +0,0 @@ -package Exercise_generics; \ No newline at end of file diff --git a/mod17/ExemplosMod17/src/Generics_exercise_cars.java b/mod17/ExemplosMod17/src/Generics_exercise_cars.java index 1505cc2..39c230f 100644 --- a/mod17/ExemplosMod17/src/Generics_exercise_cars.java +++ b/mod17/ExemplosMod17/src/Generics_exercise_cars.java @@ -1,42 +1,67 @@ -package Exercise_generics; +class MarcaCarro { + private String nome; + private String sede; -public class Generics_exercise_cars { - private T marca; - private String modelo; + public MarcaCarro(String nome, String sede) { + this.nome = nome; + this.sede = sede; + } - public Generics_exercise_cars(T marca, String modelo) { - this.marca = marca; - this.modelo = modelo; + public String getNome() { + return nome; } - public T getMarca() { - return marca; + public String getSede() { + return sede; } +} - public String getModelo() { - return modelo; +class Ford extends MarcaCarro { + public Ford() { + super("Ford", "Dearborn, Michigan, EUA"); } +} - public void setMarca(T marca) { - this.marca = marca; +class Toyota extends MarcaCarro { + public Toyota() { + super("Toyota", "Toyota City, Japão"); + } +} + +class Honda extends MarcaCarro { + public Honda() { + super("Honda", "Tóquio, Japão"); } +} - public void setModelo(String modelo) { - this.modelo = modelo; +class Carro { + private T marca; + + public Carro(T marca) { + this.marca = marca; } - @Override - public String toString() { - return "Carro [Marca=" + marca + ", Modelo=" + modelo + "]"; + public T getMarca() { + return marca; } +} +public class Generics_exercise_cars { public static void main(String[] args) { - Generics_exercise_cars carro1 = new Generics_exercise_cars<>("Toyota", "Corolla"); - Generics_exercise_cars carro2 = new Generics_exercise_cars<>("Honda", "Civic"); - Generics_exercise_cars carro3 = new Generics_exercise_cars<>("Ford", "Mustang"); + Carro carroFord = new Carro<>(new Ford()); + Carro carroToyota = new Carro<>(new Toyota()); + Carro carroHonda = new Carro<>(new Honda()); + + System.out.println("Detalhes do Carro Ford:"); + System.out.println("Marca: " + carroFord.getMarca().getNome()); + System.out.println("Sede: " + carroFord.getMarca().getSede()); + + System.out.println("\nDetalhes do Carro Toyota:"); + System.out.println("Marca: " + carroToyota.getMarca().getNome()); + System.out.println("Sede: " + carroToyota.getMarca().getSede()); - System.out.println(carro1); - System.out.println(carro2); - System.out.println(carro3); + System.out.println("\nDetalhes do Carro Honda:"); + System.out.println("Marca: " + carroHonda.getMarca().getNome()); + System.out.println("Sede: " + carroHonda.getMarca().getSede()); } } From 4bd69855cb1923128b340d2c90b85fe8ea298a1f Mon Sep 17 00:00:00 2001 From: Steve Date: Thu, 12 Oct 2023 21:43:40 -0300 Subject: [PATCH 34/65] Again --- .../src/{ => Exercise_generics_cars}/Generics_exercise_cars.java | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename mod17/ExemplosMod17/src/{ => Exercise_generics_cars}/Generics_exercise_cars.java (100%) diff --git a/mod17/ExemplosMod17/src/Generics_exercise_cars.java b/mod17/ExemplosMod17/src/Exercise_generics_cars/Generics_exercise_cars.java similarity index 100% rename from mod17/ExemplosMod17/src/Generics_exercise_cars.java rename to mod17/ExemplosMod17/src/Exercise_generics_cars/Generics_exercise_cars.java From 0081ea365575e4ad4351a146c64ddf192dff3aec Mon Sep 17 00:00:00 2001 From: Steve Date: Thu, 12 Oct 2023 21:44:16 -0300 Subject: [PATCH 35/65] Again modifying the package --- .../src/Exercise_generics_cars/Generics_exercise_cars.java | 2 ++ .../ExemplosMod17/src/Exercise_generics_cars/package-info.java | 1 + 2 files changed, 3 insertions(+) create mode 100644 mod17/ExemplosMod17/src/Exercise_generics_cars/package-info.java diff --git a/mod17/ExemplosMod17/src/Exercise_generics_cars/Generics_exercise_cars.java b/mod17/ExemplosMod17/src/Exercise_generics_cars/Generics_exercise_cars.java index 39c230f..3bd36a6 100644 --- a/mod17/ExemplosMod17/src/Exercise_generics_cars/Generics_exercise_cars.java +++ b/mod17/ExemplosMod17/src/Exercise_generics_cars/Generics_exercise_cars.java @@ -1,3 +1,5 @@ +package Exercise_generics_cars; + class MarcaCarro { private String nome; private String sede; diff --git a/mod17/ExemplosMod17/src/Exercise_generics_cars/package-info.java b/mod17/ExemplosMod17/src/Exercise_generics_cars/package-info.java new file mode 100644 index 0000000..c905044 --- /dev/null +++ b/mod17/ExemplosMod17/src/Exercise_generics_cars/package-info.java @@ -0,0 +1 @@ +package Exercise_generics_cars; \ No newline at end of file From 9c5dfddd52eb6f21689807e3a99d389d79ff3c40 Mon Sep 17 00:00:00 2001 From: Steve Date: Fri, 20 Oct 2023 14:24:44 -0300 Subject: [PATCH 36/65] Restoring everything. --- (2).gitignore | 81 +++++++++++++++++++++++ (2).hintrc | 28 ++++++++ .run/Template Java Scratch.run (2).xml | 11 ++++ README (2).md | 3 + docker/postgresl/docker-compose (2).yml | 39 +++++++++++ docker/servicos/docker-compose (2).yml | 88 +++++++++++++++++++++++++ docker/servicos/prometheus (2).yml | 26 ++++++++ 7 files changed, 276 insertions(+) create mode 100644 (2).gitignore create mode 100644 (2).hintrc create mode 100644 .run/Template Java Scratch.run (2).xml create mode 100644 README (2).md create mode 100644 docker/postgresl/docker-compose (2).yml create mode 100644 docker/servicos/docker-compose (2).yml create mode 100644 docker/servicos/prometheus (2).yml diff --git a/ (2).gitignore b/ (2).gitignore new file mode 100644 index 0000000..246fb8c --- /dev/null +++ b/ (2).gitignore @@ -0,0 +1,81 @@ +# Compiled class file +*.class + +# Log file +*.log + +# BlueJ files +*.ctxt + +# Mobile Tools for Java (J2ME) +.mtj.tmp/ + +# Package Files # +*.jar +*.war +*.nar +*.ear +*.zip +*.tar.gz +*.rar + +# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml +hs_err_pid* + +build/ +target +target/* +target/** +.mvn +.mvn/* + +# compiled output +/dist +/tmp +/out-tsc +# Only exists if Bazel was run +/bazel-out + +# dependencies +/node_modules + +# profiling files +chrome-profiler-events*.json + +# IDEs and editors +/.idea +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# IDE - VSCode +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# misc +/.sass-cache +/connect.lock +/coverage +/libpeerconnection.log +npm-debug.log +yarn-error.log +testem.log +/typings + +# System Files +.DS_Store +Thumbs.db + +.idea/* +.idea/** +*.iml +*/.idea + +/.metadata/ diff --git a/ (2).hintrc b/ (2).hintrc new file mode 100644 index 0000000..dc105b7 --- /dev/null +++ b/ (2).hintrc @@ -0,0 +1,28 @@ +{ + "extends": [ + "development" + ], + "hints": { + "axe/name-role-value": [ + "default", + { + "button-name": "off" + } + ], + "button-type": "off", + "axe/text-alternatives": [ + "default", + { + "document-title": "off" + } + ], + "axe/language": [ + "default", + { + "html-has-lang": "off" + } + ], + "meta-charset-utf-8": "off", + "meta-viewport": "off" + } +} \ No newline at end of file diff --git a/.run/Template Java Scratch.run (2).xml b/.run/Template Java Scratch.run (2).xml new file mode 100644 index 0000000..b3a53d9 --- /dev/null +++ b/.run/Template Java Scratch.run (2).xml @@ -0,0 +1,11 @@ + + + + \ No newline at end of file diff --git a/README (2).md b/README (2).md new file mode 100644 index 0000000..3e45ccc --- /dev/null +++ b/README (2).md @@ -0,0 +1,3 @@ +# backend-java-ebac +Examples of projects for the Ebac Backend Java course. + diff --git a/docker/postgresl/docker-compose (2).yml b/docker/postgresl/docker-compose (2).yml new file mode 100644 index 0000000..08d7e52 --- /dev/null +++ b/docker/postgresl/docker-compose (2).yml @@ -0,0 +1,39 @@ +version: '3' + +services: + ebac-postgres-compose: + image: postgres + environment: + POSTGRES_PASSWORD: "admin" + ports: + - "15432:5432" + volumes: + - /Users/rodrigo.pires/dev/docker/volumes/PostgreSQL:/var/lib/postgresql/data + networks: + - postgres-ebac-network + + ebac-pgadmin-compose: + image: dpage/pgadmin4 + environment: + PGADMIN_DEFAULT_EMAIL: "rpires@admin.com" + PGADMIN_DEFAULT_PASSWORD: "admin" + ports: + - "16543:80" + depends_on: + - ebac-postgres-compose + networks: + - postgres-ebac-network + + ebac-mysql-compose: + image: mysql/mysql-server:latest + environment: + MYSQL_ROOT_PASSWORD: "admin" + MYSQL_DATABASE: 'vendas_online' + MYSQL_USER: 'admin' + MYSQL_PASSWORD: 'admin' + ports: + - "3306:3306" + +networks: + postgres-ebac-network: + driver: bridge \ No newline at end of file diff --git a/docker/servicos/docker-compose (2).yml b/docker/servicos/docker-compose (2).yml new file mode 100644 index 0000000..4900d89 --- /dev/null +++ b/docker/servicos/docker-compose (2).yml @@ -0,0 +1,88 @@ +version: "3.7" + +networks: + vendas-online-net: + name: vendas-online-net + driver: bridge + + +services: + + config-server: + image: vendas-online/config-server:latest + container_name: "vendas-online-config-server" + networks: + - vendas-online-net + ports: + - 8888:8888 + + discovery-service: + image: vendas-online/dicovery-server:latest + container_name: "vendas-online-discovery-server" + environment: + SPRING_CLOUD_CONFIG_URI: http://config-server:8888 + networks: + - vendas-online-net + ports: + - 9091:9091 + depends_on: + - config-server + + vendas-online-mongo-database: + image: mongo:latest + container_name: "vendas-online-database" + networks: + - vendas-online-net + ports: + - 28017:27017 + + cliente-service: + image: vendas-online/cliente-service:latest + container_name: "vendas-online-cliente-service" + environment: + PORT: "8080" + SPRING_CLOUD_CONFIG_URI: http://config-server:8888 + MONGODB_URL: vendas-online-mongo-database + DISCOVERY_HOST: discovery-service + networks: + - vendas-online-net + ports: + - 8081:8080 + depends_on: + - config-server + - discovery-service + - vendas-online-mongo-database + + produto-service: + image: vendas-online/produto-service:latest + container_name: "vendas-online-produto-service" + environment: + PORT: "8080" + SPRING_CLOUD_CONFIG_URI: http://config-server:8888 + MONGODB_URL: vendas-online-mongo-database + DISCOVERY_HOST: discovery-service + networks: + - vendas-online-net + ports: + - 8082:8080 + depends_on: + - config-server + - discovery-service + - vendas-online-mongo-database + + venda-service: + image: vendas-online/venda-service:latest + container_name: "vendas-online-venda-service" + environment: + PORT: "8080" + SPRING_CLOUD_CONFIG_URI: http://config-server:8888 + MONGODB_URL: vendas-online-mongo-database + DISCOVERY_HOST: discovery-service + networks: + - vendas-online-net + ports: + - 8083:8080 + depends_on: + - config-server + - discovery-service + - vendas-online-mongo-database \ No newline at end of file diff --git a/docker/servicos/prometheus (2).yml b/docker/servicos/prometheus (2).yml new file mode 100644 index 0000000..5384c1f --- /dev/null +++ b/docker/servicos/prometheus (2).yml @@ -0,0 +1,26 @@ +# my global config +global: + scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. + evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. + # scrape_timeout is set to the global default (10s). + +# Load rules once and periodically evaluate them according to the global 'evaluation_interval'. +rule_files: + # - "first_rules.yml" + # - "second_rules.yml" + +# A scrape configuration containing exactly one endpoint to scrape: +# Here it's Prometheus itself. +scrape_configs: + # The job name is added as a label `job=` to any timeseries scraped from this config. + - job_name: 'prometheus' + # metrics_path defaults to '/metrics' + # scheme defaults to 'http'. + static_configs: + - targets: ['127.0.0.1:9090'] + + - job_name: 'spring-actuator' + metrics_path: '/actuator/prometheus' + scrape_interval: 5s + static_configs: + - targets: ['192.168.99.113:8080'] \ No newline at end of file From 3f8fea0d8a8fb6001b9dce22e74f702e338b1724 Mon Sep 17 00:00:00 2001 From: Steve Date: Sun, 22 Oct 2023 14:34:37 -0300 Subject: [PATCH 37/65] A some alterations --- .../br/com/rpires/TesteAPI/GetMapping.java | 7 ++++ .../rpires/TesteAPI/HttpServletResponse.java | 10 +++++ .../br/com/rpires/TesteAPI/PathVariable.java | 5 +++ .../com/rpires/TesteAPI/RequestMapping.java | 7 ++++ .../br/com/rpires/TesteAPI/ResponseBody.java | 5 +++ .../com/rpires/TesteAPI/ResponseEntity.java | 15 ++++++++ .../com/rpires/TesteAPI/RestController.java | 5 +++ .../TesteAPI/SpringBootApplication.java | 5 +++ .../rpires/TesteAPI/TesteApiApplication.java | 5 +-- .../com/rpires/TesteAPI/TesteController.java | 5 +-- mod1/TesteAPI/src/main/java/module-info.java | 2 + .../com/rpires/TesteAPI/SpringBootTest.java | 5 +++ .../TesteAPI/TesteApiApplicationTests.java | 5 +-- .../src/Exercise_mod18/Produto.java | 37 +++++++++++++++++++ .../src/Exercise_mod18/Program.java | 14 +++++++ .../rpires/anotacao/ClasseComAnotacao.java | 2 +- .../com/rpires/anotacao/PrimeiraAnotacao.java | 2 +- .../br/com/rpires/exceptions/APPCliente.java | 3 +- .../ClienteNaoEncontradoException.java | 6 ++- .../ClienteNaoEncontrato2Exception.java | 6 ++- .../ebac/Springbootjsp/ComponentScan.java | 9 +++++ .../SpringbootJspApplication.java | 19 +++++----- 22 files changed, 150 insertions(+), 29 deletions(-) create mode 100644 mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/GetMapping.java create mode 100644 mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/HttpServletResponse.java create mode 100644 mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/PathVariable.java create mode 100644 mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/RequestMapping.java create mode 100644 mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/ResponseBody.java create mode 100644 mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/ResponseEntity.java create mode 100644 mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/RestController.java create mode 100644 mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/SpringBootApplication.java create mode 100644 mod1/TesteAPI/src/test/java/br/com/rpires/TesteAPI/SpringBootTest.java create mode 100644 mod18/ExemplosMod18/src/Exercise_mod18/Produto.java create mode 100644 mod18/ExemplosMod18/src/Exercise_mod18/Program.java create mode 100644 mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/ComponentScan.java diff --git a/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/GetMapping.java b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/GetMapping.java new file mode 100644 index 0000000..a30a766 --- /dev/null +++ b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/GetMapping.java @@ -0,0 +1,7 @@ +package br.com.rpires.TesteAPI; + +public @interface GetMapping { + + String value(); + +} diff --git a/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/HttpServletResponse.java b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/HttpServletResponse.java new file mode 100644 index 0000000..5d132e1 --- /dev/null +++ b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/HttpServletResponse.java @@ -0,0 +1,10 @@ +package br.com.rpires.TesteAPI; + +public record HttpServletResponse() { + + public Object getWriter() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/PathVariable.java b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/PathVariable.java new file mode 100644 index 0000000..d71244e --- /dev/null +++ b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/PathVariable.java @@ -0,0 +1,5 @@ +package br.com.rpires.TesteAPI; + +public @interface PathVariable { + +} diff --git a/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/RequestMapping.java b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/RequestMapping.java new file mode 100644 index 0000000..bcc0d87 --- /dev/null +++ b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/RequestMapping.java @@ -0,0 +1,7 @@ +package br.com.rpires.TesteAPI; + +public @interface RequestMapping { + + String value(); + +} diff --git a/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/ResponseBody.java b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/ResponseBody.java new file mode 100644 index 0000000..5110cfb --- /dev/null +++ b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/ResponseBody.java @@ -0,0 +1,5 @@ +package br.com.rpires.TesteAPI; + +public @interface ResponseBody { + +} diff --git a/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/ResponseEntity.java b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/ResponseEntity.java new file mode 100644 index 0000000..70b346b --- /dev/null +++ b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/ResponseEntity.java @@ -0,0 +1,15 @@ +package br.com.rpires.TesteAPI; + +public class ResponseEntity { + + public static void main(String[] args) { + // TODO Auto-generated method stub + + } + + public static ResponseEntity ok(String string) { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/RestController.java b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/RestController.java new file mode 100644 index 0000000..bd6ebe7 --- /dev/null +++ b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/RestController.java @@ -0,0 +1,5 @@ +package br.com.rpires.TesteAPI; + +public @interface RestController { + +} diff --git a/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/SpringBootApplication.java b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/SpringBootApplication.java new file mode 100644 index 0000000..79ef775 --- /dev/null +++ b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/SpringBootApplication.java @@ -0,0 +1,5 @@ +package br.com.rpires.TesteAPI; + +public @interface SpringBootApplication { + +} diff --git a/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/TesteApiApplication.java b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/TesteApiApplication.java index da7a877..5b50916 100644 --- a/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/TesteApiApplication.java +++ b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/TesteApiApplication.java @@ -1,13 +1,12 @@ package br.com.rpires.TesteAPI; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; +import br.com.rpires.ebac.Springbootjsp.SpringbootJspApplication; @SpringBootApplication public class TesteApiApplication { public static void main(String[] args) { - SpringApplication.run(TesteApiApplication.class, args); + SpringbootJspApplication.run(TesteApiApplication.class, args); } } diff --git a/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/TesteController.java b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/TesteController.java index bc55557..e8bf284 100644 --- a/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/TesteController.java +++ b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/TesteController.java @@ -1,14 +1,11 @@ package br.com.rpires.TesteAPI; -import org.springframework.http.ResponseEntity; -import org.springframework.web.bind.annotation.*; -import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.net.http.HttpResponse; /** - * @author rodrigo.pires + * @author Steve.Vaz */ @RestController @RequestMapping(value = "/api/v1/teste") diff --git a/mod1/TesteAPI/src/main/java/module-info.java b/mod1/TesteAPI/src/main/java/module-info.java index d39631a..f2ac319 100644 --- a/mod1/TesteAPI/src/main/java/module-info.java +++ b/mod1/TesteAPI/src/main/java/module-info.java @@ -5,4 +5,6 @@ * */ module backend_java_ebac { + requires java.net.http; + requires java.desktop; } \ No newline at end of file diff --git a/mod1/TesteAPI/src/test/java/br/com/rpires/TesteAPI/SpringBootTest.java b/mod1/TesteAPI/src/test/java/br/com/rpires/TesteAPI/SpringBootTest.java new file mode 100644 index 0000000..8da35a3 --- /dev/null +++ b/mod1/TesteAPI/src/test/java/br/com/rpires/TesteAPI/SpringBootTest.java @@ -0,0 +1,5 @@ +package br.com.rpires.TesteAPI; + +public @interface SpringBootTest { + +} diff --git a/mod1/TesteAPI/src/test/java/br/com/rpires/TesteAPI/TesteApiApplicationTests.java b/mod1/TesteAPI/src/test/java/br/com/rpires/TesteAPI/TesteApiApplicationTests.java index 96094fd..be6fe26 100644 --- a/mod1/TesteAPI/src/test/java/br/com/rpires/TesteAPI/TesteApiApplicationTests.java +++ b/mod1/TesteAPI/src/test/java/br/com/rpires/TesteAPI/TesteApiApplicationTests.java @@ -1,12 +1,9 @@ package br.com.rpires.TesteAPI; -import org.junit.jupiter.api.Test; -import org.springframework.boot.test.context.SpringBootTest; - @SpringBootTest class TesteApiApplicationTests { - @Test + void contextLoads() { } diff --git a/mod18/ExemplosMod18/src/Exercise_mod18/Produto.java b/mod18/ExemplosMod18/src/Exercise_mod18/Produto.java new file mode 100644 index 0000000..78b970e --- /dev/null +++ b/mod18/ExemplosMod18/src/Exercise_mod18/Produto.java @@ -0,0 +1,37 @@ +package Exercise_mod18; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.TYPE) +@interface Tabela { + String nome(); +} + +@Tabela(nome = "produtos") // Atribui a anotação "Tabela" à classe Produto com o nome da tabela no banco de dados +class Produto { + private int id; + private String nome; + private double preco; + + public Produto(int id, String nome, double preco) { + this.id = id; + this.nome = nome; + this.preco = preco; + } + + public int getId() { + return id; + } + + public String getNome() { + return nome; + } + + public double getPreco() { + return preco; + } +} diff --git a/mod18/ExemplosMod18/src/Exercise_mod18/Program.java b/mod18/ExemplosMod18/src/Exercise_mod18/Program.java new file mode 100644 index 0000000..14794fa --- /dev/null +++ b/mod18/ExemplosMod18/src/Exercise_mod18/Program.java @@ -0,0 +1,14 @@ +package Exercise_mod18; + + +public class Program { + public static void main(String[] args) { + + if (Produto.class.isAnnotationPresent(Tabela.class)) { + Tabela tabelaAnnotation = Produto.class.getAnnotation(Tabela.class); + System.out.println("Nome da tabela: " + tabelaAnnotation.nome()); + } else { + System.out.println("A anotação de tabela não está presente na classe Produto."); + } + } +} diff --git a/mod18/ExemplosMod18/src/br/com/rpires/anotacao/ClasseComAnotacao.java b/mod18/ExemplosMod18/src/br/com/rpires/anotacao/ClasseComAnotacao.java index 3e922cc..f6c2fb6 100644 --- a/mod18/ExemplosMod18/src/br/com/rpires/anotacao/ClasseComAnotacao.java +++ b/mod18/ExemplosMod18/src/br/com/rpires/anotacao/ClasseComAnotacao.java @@ -1,7 +1,7 @@ package br.com.rpires.anotacao; /** - * @author rodrigo.pires + * @author Steve.Vaz */ @PrimeiraAnotacao(value = "Rodrigo", bairros = "Teste", numeroCasa = 10) public class ClasseComAnotacao { diff --git a/mod18/ExemplosMod18/src/br/com/rpires/anotacao/PrimeiraAnotacao.java b/mod18/ExemplosMod18/src/br/com/rpires/anotacao/PrimeiraAnotacao.java index 6e43eb7..f2b8cfb 100644 --- a/mod18/ExemplosMod18/src/br/com/rpires/anotacao/PrimeiraAnotacao.java +++ b/mod18/ExemplosMod18/src/br/com/rpires/anotacao/PrimeiraAnotacao.java @@ -3,7 +3,7 @@ import java.lang.annotation.*; /** - * @author rodrigo.pires + * @author Steve.Vaz */ @Documented @Retention(RetentionPolicy.RUNTIME) diff --git a/mod18/ExemplosMod18/src/br/com/rpires/exceptions/APPCliente.java b/mod18/ExemplosMod18/src/br/com/rpires/exceptions/APPCliente.java index c1b5012..742c776 100644 --- a/mod18/ExemplosMod18/src/br/com/rpires/exceptions/APPCliente.java +++ b/mod18/ExemplosMod18/src/br/com/rpires/exceptions/APPCliente.java @@ -1,10 +1,9 @@ package br.com.rpires.exceptions; import javax.swing.*; -import java.util.Scanner; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class APPCliente { diff --git a/mod18/ExemplosMod18/src/br/com/rpires/exceptions/ClienteNaoEncontradoException.java b/mod18/ExemplosMod18/src/br/com/rpires/exceptions/ClienteNaoEncontradoException.java index 1f82be3..f1a248f 100644 --- a/mod18/ExemplosMod18/src/br/com/rpires/exceptions/ClienteNaoEncontradoException.java +++ b/mod18/ExemplosMod18/src/br/com/rpires/exceptions/ClienteNaoEncontradoException.java @@ -1,11 +1,13 @@ package br.com.rpires.exceptions; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class ClienteNaoEncontradoException extends Exception { - public ClienteNaoEncontradoException(String msg) { + private static final long serialVersionUID = 7532237876687060105L; + + public ClienteNaoEncontradoException(String msg) { super(msg); } } diff --git a/mod18/ExemplosMod18/src/br/com/rpires/exceptions/ClienteNaoEncontrato2Exception.java b/mod18/ExemplosMod18/src/br/com/rpires/exceptions/ClienteNaoEncontrato2Exception.java index 2e366cf..58b8024 100644 --- a/mod18/ExemplosMod18/src/br/com/rpires/exceptions/ClienteNaoEncontrato2Exception.java +++ b/mod18/ExemplosMod18/src/br/com/rpires/exceptions/ClienteNaoEncontrato2Exception.java @@ -1,11 +1,13 @@ package br.com.rpires.exceptions; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class ClienteNaoEncontrato2Exception extends Exception{ - public ClienteNaoEncontrato2Exception(String msg, Throwable e) { + private static final long serialVersionUID = 1L; + + public ClienteNaoEncontrato2Exception(String msg, Throwable e) { super(msg,e); } } diff --git a/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/ComponentScan.java b/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/ComponentScan.java new file mode 100644 index 0000000..6c3e42c --- /dev/null +++ b/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/ComponentScan.java @@ -0,0 +1,9 @@ +package br.com.rpires.ebac.Springbootjsp; + +public @interface ComponentScan { + + String value(); + + + +} diff --git a/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/SpringbootJspApplication.java b/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/SpringbootJspApplication.java index 167d0d5..6c14cda 100644 --- a/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/SpringbootJspApplication.java +++ b/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/SpringbootJspApplication.java @@ -1,20 +1,19 @@ package br.com.rpires.ebac.Springbootjsp; -import org.springframework.boot.SpringApplication; -import org.springframework.boot.autoconfigure.SpringBootApplication; -import org.springframework.boot.builder.SpringApplicationBuilder; -import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.ComponentScan; -import org.springframework.web.servlet.config.annotation.EnableWebMvc; -import org.springframework.web.servlet.view.InternalResourceViewResolver; +import java.lang.reflect.GenericDeclaration; -@SpringBootApplication +@br.com.rpires.TesteAPI.SpringBootApplication @ComponentScan("br.com.rpires.ebac.Springbootjsp") public class SpringbootJspApplication { public static void main(String[] args) { - SpringApplication.run(SpringbootJspApplication.class, args); + SpringbootJspApplication.run(SpringbootJspApplication.class, args); + } + + + public static void run(GenericDeclaration class1, String[] args) { + // TODO Auto-generated method stub + } } From 3a608d9b4601f3312d9b2c2b6494600821ea32bb Mon Sep 17 00:00:00 2001 From: Steve Date: Tue, 24 Oct 2023 23:43:42 -0300 Subject: [PATCH 38/65] A more alterations --- .../src/br/com/rpires/ExemploScanner.java | 2 +- .../src/br/com/rpires/ExemploScanner1.java | 2 +- .../src/br/com/rpires/applicationGrades.java | 2 +- .../br/com/rpires/forewhile/ExemploPPT1.java | 2 +- .../br/com/rpires/forewhile/ExemploPPT2.java | 2 +- .../br/com/rpires/forewhile/ExemploPPT3.java | 2 +- .../br/com/rpires/forewhile/ExemploPPT4.java | 2 +- .../com/rpires/forewhile/TabuadaDoWhile.java | 2 +- .../br/com/rpires/forewhile/TabuadaFor.java | 2 +- .../br/com/rpires/forewhile/TabuadaWhile.java | 2 +- .../br/com/rpires/ifelse/ExemploAnimal.java | 2 +- .../src/br/com/rpires/ifelse/ExemploIdade.java | 2 +- .../src/br/com/rpires/ifelse/ExemploPPT1.java | 2 +- .../com/rpires/ifelse/ExemploPPT1Console.java | 2 +- .../src/br/com/rpires/ifelse/ExemploPPT2.java | 2 +- .../com/rpires/switchcase/ExemploAnimal.java | 2 +- .../br/com/rpires/switchcase/ExemploIdade.java | 2 +- .../controller/LoginController.java | 2 +- .../controller/UsuarioController.java | 2 +- .../ebac/Springbootjsp/domain/Usuario.java | 2 +- .../Springbootjsp/service/LoginService.java | 2 +- .../Springbootjsp/service/UsuarioService.java | 2 +- mod2/TesteAngular/TesteRodrigo/.browserslistrc | 18 +++++++++++------- .../TesteRodrigo/src/app/app.component.spec.ts | 4 ++++ .../src/br/com/rpires/Programa1.java | 2 +- .../src/br/com/rpires/Cliente.java | 2 +- .../src/br/com/rpires/Funcionario.java | 2 +- .../src/br/com/rpires/ItemVenda.java | 2 +- .../src/br/com/rpires/PrimeiraClasse.java | 2 +- .../src/br/com/rpires/Produto.java | 2 +- mod7/ExemplosMod7/src/br/com/rpires/Venda.java | 2 +- .../src/br/com/rpires/pacote1/Classe1.java | 2 +- .../src/br/com/rpires/pacote1/Classe2.java | 2 +- .../src/br/com/rpires/pacote2/Classe3.java | 2 +- .../src/br/com/rpires/Exemplo2.java | 2 +- .../src/br/com/rpires/Exemplos.java | 2 +- .../src/br/com/rpires/Operadores.java | 2 +- .../src/br/com/rpires/applicationGrades.java | 2 +- .../src/br/com/rpires/Cliente.java | 2 +- .../src/br/com/rpires/Exemplo1.java | 2 +- .../src/br/com/rpires/Exemplo2.java | 2 +- .../rpires/Exercise_mod9/Probabilidade.java | 7 +++++++ 42 files changed, 61 insertions(+), 46 deletions(-) diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner.java b/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner.java index 003376c..aeba2c3 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner.java @@ -3,7 +3,7 @@ import java.util.Scanner; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class ExemploScanner { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner1.java b/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner1.java index baba1b3..849f673 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner1.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner1.java @@ -3,7 +3,7 @@ import java.util.Scanner; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class ExemploScanner1 { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/applicationGrades.java b/mod10/ExemplosMod10/src/br/com/rpires/applicationGrades.java index a65790b..e9e4559 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/applicationGrades.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/applicationGrades.java @@ -4,7 +4,7 @@ import java.util.Scanner; /* -* @author: Steve Vaz +* @author: Steve.Vaz */ import entities.Grades; diff --git a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT1.java b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT1.java index 33d92a6..9ca22d8 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT1.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT1.java @@ -4,7 +4,7 @@ import java.util.List; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class ExemploPPT1 { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT2.java b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT2.java index f541200..2758e0b 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT2.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT2.java @@ -1,7 +1,7 @@ package br.com.rpires.forewhile; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class ExemploPPT2 { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT3.java b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT3.java index a9b0aeb..7d37183 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT3.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT3.java @@ -1,7 +1,7 @@ package br.com.rpires.forewhile; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class ExemploPPT3 { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT4.java b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT4.java index 105ea03..6ba74b1 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT4.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT4.java @@ -1,7 +1,7 @@ package br.com.rpires.forewhile; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class ExemploPPT4 { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaDoWhile.java b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaDoWhile.java index 59ca2bf..3cdb5bd 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaDoWhile.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaDoWhile.java @@ -3,7 +3,7 @@ import java.util.Scanner; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class TabuadaDoWhile { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaFor.java b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaFor.java index 43c8697..eecd32a 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaFor.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaFor.java @@ -3,7 +3,7 @@ import java.util.Scanner; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class TabuadaFor { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaWhile.java b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaWhile.java index 7485ae6..c23e5ec 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaWhile.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaWhile.java @@ -3,7 +3,7 @@ import java.util.Scanner; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class TabuadaWhile { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploAnimal.java b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploAnimal.java index eeb75b2..f41a69d 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploAnimal.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploAnimal.java @@ -3,7 +3,7 @@ import java.util.Scanner; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class ExemploAnimal { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploIdade.java b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploIdade.java index 129ce85..5e4111c 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploIdade.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploIdade.java @@ -3,7 +3,7 @@ import java.util.Scanner; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class ExemploIdade { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT1.java b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT1.java index 0b2e9bf..a3ec391 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT1.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT1.java @@ -1,7 +1,7 @@ package br.com.rpires.ifelse; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class ExemploPPT1 { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT1Console.java b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT1Console.java index d23fc0b..450b3a9 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT1Console.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT1Console.java @@ -3,7 +3,7 @@ import java.util.Scanner; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class ExemploPPT1Console { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT2.java b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT2.java index 858bd77..367fc5f 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT2.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT2.java @@ -1,7 +1,7 @@ package br.com.rpires.ifelse; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class ExemploPPT2 { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploAnimal.java b/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploAnimal.java index 258206a..dbd7adf 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploAnimal.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploAnimal.java @@ -3,7 +3,7 @@ import java.util.Scanner; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class ExemploAnimal { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploIdade.java b/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploIdade.java index a1cc157..0c32a75 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploIdade.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploIdade.java @@ -3,7 +3,7 @@ import java.util.Scanner; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class ExemploIdade { diff --git a/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/controller/LoginController.java b/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/controller/LoginController.java index 133bb05..b04190f 100644 --- a/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/controller/LoginController.java +++ b/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/controller/LoginController.java @@ -7,7 +7,7 @@ import org.springframework.web.bind.annotation.*; /** - * @author rodrigo.pires + * @author Steve.Vaz */ @Controller @SessionAttributes("name") diff --git a/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/controller/UsuarioController.java b/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/controller/UsuarioController.java index 84083a3..da5cbbc 100644 --- a/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/controller/UsuarioController.java +++ b/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/controller/UsuarioController.java @@ -10,7 +10,7 @@ import java.util.List; /** - * @author rodrigo.pires + * @author Steve.Vaz */ @Controller @SessionAttributes("name") diff --git a/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/domain/Usuario.java b/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/domain/Usuario.java index 8538443..916aab2 100644 --- a/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/domain/Usuario.java +++ b/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/domain/Usuario.java @@ -1,7 +1,7 @@ package br.com.rpires.ebac.Springbootjsp.domain; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class Usuario { diff --git a/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/service/LoginService.java b/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/service/LoginService.java index 84ec1c8..67b3ab8 100644 --- a/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/service/LoginService.java +++ b/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/service/LoginService.java @@ -3,7 +3,7 @@ import org.springframework.stereotype.Service; /** - * @author rodrigo.pires + * @author Steve.Vaz */ @Service public class LoginService { diff --git a/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/service/UsuarioService.java b/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/service/UsuarioService.java index bb03073..c6274a8 100644 --- a/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/service/UsuarioService.java +++ b/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/service/UsuarioService.java @@ -9,7 +9,7 @@ import java.util.stream.Collectors; /** - * @author rodrigo.pires + * @author Steve.Vaz */ @Service public class UsuarioService { diff --git a/mod2/TesteAngular/TesteRodrigo/.browserslistrc b/mod2/TesteAngular/TesteRodrigo/.browserslistrc index 427441d..396a03a 100644 --- a/mod2/TesteAngular/TesteRodrigo/.browserslistrc +++ b/mod2/TesteAngular/TesteRodrigo/.browserslistrc @@ -1,12 +1,16 @@ -# This file is used by the build system to adjust CSS and JS output to support the specified browsers below. -# For additional information regarding the format and rule options, please see: -# https://github.com/browserslist/browserslist#queries +# This file is used by the build system to adjust CSS and JS output to support the specified browsers below -# For the full list of supported browsers by the Angular framework, please see: -# https://angular.io/guide/browser-support +# For additional information regarding the format and rule options, please see -# You can see what browsers were selected by your queries by running: -# npx browserslist +# + +# For the full list of supported browsers by the Angular framework, please see + +# + +# You can see what browsers were selected by your queries by running + +# npx browserslist last 1 Chrome version last 1 Firefox version diff --git a/mod2/TesteAngular/TesteRodrigo/src/app/app.component.spec.ts b/mod2/TesteAngular/TesteRodrigo/src/app/app.component.spec.ts index 43885b2..98decaf 100644 --- a/mod2/TesteAngular/TesteRodrigo/src/app/app.component.spec.ts +++ b/mod2/TesteAngular/TesteRodrigo/src/app/app.component.spec.ts @@ -33,3 +33,7 @@ describe('AppComponent', () => { expect(compiled.querySelector('.content span').textContent).toContain('TesteRodrigo app is running!'); }); }); + +function expect(app: any) { + throw new Error('Function not implemented.'); +} diff --git a/mod6/ProjetoVersaoEstruturada/src/br/com/rpires/Programa1.java b/mod6/ProjetoVersaoEstruturada/src/br/com/rpires/Programa1.java index 3dcf05a..0afb27b 100644 --- a/mod6/ProjetoVersaoEstruturada/src/br/com/rpires/Programa1.java +++ b/mod6/ProjetoVersaoEstruturada/src/br/com/rpires/Programa1.java @@ -1,7 +1,7 @@ package br.com.rpires; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class Programa1 { diff --git a/mod7/ExemplosMod7/src/br/com/rpires/Cliente.java b/mod7/ExemplosMod7/src/br/com/rpires/Cliente.java index 40c2867..c6db68e 100644 --- a/mod7/ExemplosMod7/src/br/com/rpires/Cliente.java +++ b/mod7/ExemplosMod7/src/br/com/rpires/Cliente.java @@ -1,7 +1,7 @@ package br.com.rpires; /** - * @author rodrigo.pires + * @author Steve.Vaz * * @class br.com.rpires.Cliente * @see br.com.rpires.Venda diff --git a/mod7/ExemplosMod7/src/br/com/rpires/Funcionario.java b/mod7/ExemplosMod7/src/br/com/rpires/Funcionario.java index 510eb1b..7952aea 100644 --- a/mod7/ExemplosMod7/src/br/com/rpires/Funcionario.java +++ b/mod7/ExemplosMod7/src/br/com/rpires/Funcionario.java @@ -1,7 +1,7 @@ package br.com.rpires; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class Funcionario { diff --git a/mod7/ExemplosMod7/src/br/com/rpires/ItemVenda.java b/mod7/ExemplosMod7/src/br/com/rpires/ItemVenda.java index 6e5a9ea..2486b1b 100644 --- a/mod7/ExemplosMod7/src/br/com/rpires/ItemVenda.java +++ b/mod7/ExemplosMod7/src/br/com/rpires/ItemVenda.java @@ -3,7 +3,7 @@ /** * Classe responsável para controlar a quantidade de itens. * - * @author rodrigo.pires + * @author Steve.Vaz */ public class ItemVenda { diff --git a/mod7/ExemplosMod7/src/br/com/rpires/PrimeiraClasse.java b/mod7/ExemplosMod7/src/br/com/rpires/PrimeiraClasse.java index 421fd9a..c09c356 100644 --- a/mod7/ExemplosMod7/src/br/com/rpires/PrimeiraClasse.java +++ b/mod7/ExemplosMod7/src/br/com/rpires/PrimeiraClasse.java @@ -1,7 +1,7 @@ package br.com.rpires; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class PrimeiraClasse { diff --git a/mod7/ExemplosMod7/src/br/com/rpires/Produto.java b/mod7/ExemplosMod7/src/br/com/rpires/Produto.java index 41a1277..88fc1b3 100644 --- a/mod7/ExemplosMod7/src/br/com/rpires/Produto.java +++ b/mod7/ExemplosMod7/src/br/com/rpires/Produto.java @@ -1,7 +1,7 @@ package br.com.rpires; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class Produto { diff --git a/mod7/ExemplosMod7/src/br/com/rpires/Venda.java b/mod7/ExemplosMod7/src/br/com/rpires/Venda.java index 9f305c8..5f7e74a 100644 --- a/mod7/ExemplosMod7/src/br/com/rpires/Venda.java +++ b/mod7/ExemplosMod7/src/br/com/rpires/Venda.java @@ -1,7 +1,7 @@ package br.com.rpires; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class Venda { } diff --git a/mod7/ExemplosMod7/src/br/com/rpires/pacote1/Classe1.java b/mod7/ExemplosMod7/src/br/com/rpires/pacote1/Classe1.java index c73def0..a2be5c9 100644 --- a/mod7/ExemplosMod7/src/br/com/rpires/pacote1/Classe1.java +++ b/mod7/ExemplosMod7/src/br/com/rpires/pacote1/Classe1.java @@ -1,7 +1,7 @@ package br.com.rpires.pacote1; /** - * @author rodrigo.pires + * @author Steve.Vaz * * */ diff --git a/mod7/ExemplosMod7/src/br/com/rpires/pacote1/Classe2.java b/mod7/ExemplosMod7/src/br/com/rpires/pacote1/Classe2.java index dcf85a3..3799f26 100644 --- a/mod7/ExemplosMod7/src/br/com/rpires/pacote1/Classe2.java +++ b/mod7/ExemplosMod7/src/br/com/rpires/pacote1/Classe2.java @@ -1,7 +1,7 @@ package br.com.rpires.pacote1; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class Classe2 { diff --git a/mod7/ExemplosMod7/src/br/com/rpires/pacote2/Classe3.java b/mod7/ExemplosMod7/src/br/com/rpires/pacote2/Classe3.java index 81bcb75..257edff 100644 --- a/mod7/ExemplosMod7/src/br/com/rpires/pacote2/Classe3.java +++ b/mod7/ExemplosMod7/src/br/com/rpires/pacote2/Classe3.java @@ -8,7 +8,7 @@ /** - * @author rodrigo.pires + * @author Steve.Vaz * * */ diff --git a/mod8/ExemplosMod8/src/br/com/rpires/Exemplo2.java b/mod8/ExemplosMod8/src/br/com/rpires/Exemplo2.java index 35a7e92..22e16f5 100644 --- a/mod8/ExemplosMod8/src/br/com/rpires/Exemplo2.java +++ b/mod8/ExemplosMod8/src/br/com/rpires/Exemplo2.java @@ -1,7 +1,7 @@ package br.com.rpires; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class Exemplo2 { diff --git a/mod8/ExemplosMod8/src/br/com/rpires/Exemplos.java b/mod8/ExemplosMod8/src/br/com/rpires/Exemplos.java index 04bca7a..2e1537c 100644 --- a/mod8/ExemplosMod8/src/br/com/rpires/Exemplos.java +++ b/mod8/ExemplosMod8/src/br/com/rpires/Exemplos.java @@ -1,7 +1,7 @@ package br.com.rpires; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class Exemplos { diff --git a/mod8/ExemplosMod8/src/br/com/rpires/Operadores.java b/mod8/ExemplosMod8/src/br/com/rpires/Operadores.java index f45e194..e1e3cd2 100644 --- a/mod8/ExemplosMod8/src/br/com/rpires/Operadores.java +++ b/mod8/ExemplosMod8/src/br/com/rpires/Operadores.java @@ -1,7 +1,7 @@ package br.com.rpires; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class Operadores { diff --git a/mod8/ExemplosMod8/src/br/com/rpires/applicationGrades.java b/mod8/ExemplosMod8/src/br/com/rpires/applicationGrades.java index d4ceb06..db76192 100644 --- a/mod8/ExemplosMod8/src/br/com/rpires/applicationGrades.java +++ b/mod8/ExemplosMod8/src/br/com/rpires/applicationGrades.java @@ -6,7 +6,7 @@ import entities.Grades; /* -* @author: Steve Vaz +* @author: Steve.Vaz */ public class applicationGrades { diff --git a/mod9/ExemplosMod9/src/br/com/rpires/Cliente.java b/mod9/ExemplosMod9/src/br/com/rpires/Cliente.java index 029a48a..43022d8 100644 --- a/mod9/ExemplosMod9/src/br/com/rpires/Cliente.java +++ b/mod9/ExemplosMod9/src/br/com/rpires/Cliente.java @@ -1,7 +1,7 @@ package br.com.rpires; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class Cliente { diff --git a/mod9/ExemplosMod9/src/br/com/rpires/Exemplo1.java b/mod9/ExemplosMod9/src/br/com/rpires/Exemplo1.java index 4f8b331..68acc70 100644 --- a/mod9/ExemplosMod9/src/br/com/rpires/Exemplo1.java +++ b/mod9/ExemplosMod9/src/br/com/rpires/Exemplo1.java @@ -1,7 +1,7 @@ package br.com.rpires; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class Exemplo1 { diff --git a/mod9/ExemplosMod9/src/br/com/rpires/Exemplo2.java b/mod9/ExemplosMod9/src/br/com/rpires/Exemplo2.java index 50f1e4c..6410689 100644 --- a/mod9/ExemplosMod9/src/br/com/rpires/Exemplo2.java +++ b/mod9/ExemplosMod9/src/br/com/rpires/Exemplo2.java @@ -1,7 +1,7 @@ package br.com.rpires; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class Exemplo2 { diff --git a/mod9/ExemplosMod9/src/br/com/rpires/Exercise_mod9/Probabilidade.java b/mod9/ExemplosMod9/src/br/com/rpires/Exercise_mod9/Probabilidade.java index 501802d..2f1421f 100644 --- a/mod9/ExemplosMod9/src/br/com/rpires/Exercise_mod9/Probabilidade.java +++ b/mod9/ExemplosMod9/src/br/com/rpires/Exercise_mod9/Probabilidade.java @@ -1,5 +1,12 @@ package Tests_java_bySteve; +/* + * + * @author Steve.Vaz + * + * +*/ + public class Probabilidade { public static void main(String[] args) { int totalNumeros = Integer.valueOf(25); From c5fa237126976634f23fb3437fd8afe0a2be3b5f Mon Sep 17 00:00:00 2001 From: Steve Date: Wed, 25 Oct 2023 00:12:38 -0300 Subject: [PATCH 39/65] A more one --- .../ExemplosMod11/src/Collections_part_2/Exercise_mod11.java | 5 +++++ .../src/br/com/rpires/array/ExemploBubbleSortDinamico.java | 2 +- .../src/br/com/rpires/array/ExemploBubbleSortFixo.java | 2 +- .../ExemplosMod11/src/br/com/rpires/array/ExemplosArray.java | 2 +- mod11/ExemplosMod11/src/br/com/rpires/domain/Aluno.java | 2 +- mod11/ExemplosMod11/src/br/com/rpires/domain/Biblioteca.java | 2 +- .../src/br/com/rpires/domain/ComparaNotaAluno.java | 2 +- mod11/ExemplosMod11/src/br/com/rpires/domain/Livro.java | 2 +- .../src/br/com/rpires/iterator/ExemploIterator.java | 2 +- .../src/br/com/rpires/list/ExemploArrayList.java | 2 +- .../src/br/com/rpires/list/ExemploArrayListAluno.java | 2 +- .../src/br/com/rpires/list/ExemploLinkedList.java | 2 +- .../src/br/com/rpires/list/ExemploLinkedListAluno.java | 2 +- .../src/br/com/rpires/list/TestesPerformanceList.java | 2 +- .../ExemplosMod11/src/br/com/rpires/map/ExemploHashMap.java | 2 +- .../src/br/com/rpires/map/ExemploLinkedHashMap.java | 2 +- .../ExemplosMod11/src/br/com/rpires/map/ExemploSalaAula.java | 2 +- .../ExemplosMod11/src/br/com/rpires/map/ExemploTreeMap.java | 2 +- .../src/br/com/rpires/map/ExemploTreeMapAluno.java | 2 +- .../src/br/com/rpires/queue/ExemploArrayDeque.java | 2 +- .../src/br/com/rpires/queue/ExemploLinkedList.java | 2 +- .../src/br/com/rpires/queue/ExemploPriorityQueue.java | 2 +- .../ExemplosMod11/src/br/com/rpires/set/ExemploHashSet.java | 2 +- .../src/br/com/rpires/set/ExemploHashSetAluno.java | 2 +- .../src/br/com/rpires/set/ExemploLinkedHashSet.java | 2 +- .../ExemplosMod11/src/br/com/rpires/set/ExemploTreeSet.java | 2 +- .../src/br/com/rpires/set/ExemploTreeSetAluno.java | 2 +- .../src/br/com/rpires/set/TestesPerformanceSet.java | 2 +- .../src/Collections_part_2/Exercise_mod12_part1.java | 4 ++++ .../src/Collections_part_2/Exercise_mod12_part2.java | 4 ++++ .../src/br/com/rpires/array/ExemploBubbleSortDinamico.java | 2 +- .../src/br/com/rpires/array/ExemploBubbleSortFixo.java | 2 +- .../ExemplosMod12/src/br/com/rpires/array/ExemplosArray.java | 2 +- mod12/ExemplosMod12/src/br/com/rpires/domain/Aluno.java | 2 +- mod12/ExemplosMod12/src/br/com/rpires/domain/Biblioteca.java | 2 +- .../src/br/com/rpires/domain/ComparaNotaAluno.java | 2 +- mod12/ExemplosMod12/src/br/com/rpires/domain/Livro.java | 2 +- .../ExemplosMod12/src/br/com/rpires/map/ExemploHashMap.java | 2 +- .../src/br/com/rpires/map/ExemploLinkedHashMap.java | 2 +- .../ExemplosMod12/src/br/com/rpires/map/ExemploSalaAula.java | 2 +- .../ExemplosMod12/src/br/com/rpires/map/ExemploTreeMap.java | 2 +- .../src/br/com/rpires/map/ExemploTreeMapAluno.java | 2 +- .../src/br/com/rpires/Composicao/ContaCorrente.java | 2 +- .../src/br/com/rpires/Composicao/ContaPoupanca.java | 2 +- .../src/br/com/rpires/abstratas/Assalariado.java | 2 +- .../src/br/com/rpires/abstratas/Comissionado.java | 2 +- .../ExemplosMod13/src/br/com/rpires/abstratas/Empregado.java | 2 +- mod13/ExemplosMod13/src/br/com/rpires/abstratas/Horista.java | 2 +- .../ExemplosMod13/src/br/com/rpires/abstratas/Programa.java | 2 +- .../ExemplosMod13/src/br/com/rpires/agregacao/Comprador.java | 2 +- mod13/ExemplosMod13/src/br/com/rpires/agregacao/Produto.java | 2 +- .../ExemplosMod13/src/br/com/rpires/agregacao/Programa.java | 2 +- mod13/ExemplosMod13/src/br/com/rpires/agregacao/Venda.java | 2 +- .../ExemplosMod13/src/br/com/rpires/agregacao/Vendedor.java | 2 +- .../src/br/com/rpires/exemplo/abstracao/bonus/App.java | 2 +- .../com/rpires/exemplo/abstracao/bonus/AppExemploMapa.java | 2 +- .../rpires/exemplo/abstracao/bonus/ClasseGeraProdutos.java | 2 +- 57 files changed, 67 insertions(+), 54 deletions(-) diff --git a/mod11/ExemplosMod11/src/Collections_part_2/Exercise_mod11.java b/mod11/ExemplosMod11/src/Collections_part_2/Exercise_mod11.java index 3b8dde9..088990c 100644 --- a/mod11/ExemplosMod11/src/Collections_part_2/Exercise_mod11.java +++ b/mod11/ExemplosMod11/src/Collections_part_2/Exercise_mod11.java @@ -5,6 +5,11 @@ import java.util.Locale; import java.util.Scanner; +/* + * + * @author Steve.Vaz + * +*/ enum Gender { MALE, FEMALE; } diff --git a/mod11/ExemplosMod11/src/br/com/rpires/array/ExemploBubbleSortDinamico.java b/mod11/ExemplosMod11/src/br/com/rpires/array/ExemploBubbleSortDinamico.java index ded50a3..cf35d2c 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/array/ExemploBubbleSortDinamico.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/array/ExemploBubbleSortDinamico.java @@ -3,7 +3,7 @@ import java.util.Scanner; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class ExemploBubbleSortDinamico { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/array/ExemploBubbleSortFixo.java b/mod11/ExemplosMod11/src/br/com/rpires/array/ExemploBubbleSortFixo.java index 3bcea74..f93f593 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/array/ExemploBubbleSortFixo.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/array/ExemploBubbleSortFixo.java @@ -1,7 +1,7 @@ package br.com.rpires.array; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class ExemploBubbleSortFixo { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/array/ExemplosArray.java b/mod11/ExemplosMod11/src/br/com/rpires/array/ExemplosArray.java index 5cfa810..b014bb0 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/array/ExemplosArray.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/array/ExemplosArray.java @@ -1,7 +1,7 @@ package br.com.rpires.array; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class ExemplosArray { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/domain/Aluno.java b/mod11/ExemplosMod11/src/br/com/rpires/domain/Aluno.java index f752466..c1ca5f7 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/domain/Aluno.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/domain/Aluno.java @@ -3,7 +3,7 @@ import java.util.Objects; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class Aluno implements Comparable{ diff --git a/mod11/ExemplosMod11/src/br/com/rpires/domain/Biblioteca.java b/mod11/ExemplosMod11/src/br/com/rpires/domain/Biblioteca.java index 318f1b9..6080ef3 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/domain/Biblioteca.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/domain/Biblioteca.java @@ -4,7 +4,7 @@ import java.util.Set; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class Biblioteca { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/domain/ComparaNotaAluno.java b/mod11/ExemplosMod11/src/br/com/rpires/domain/ComparaNotaAluno.java index 0129627..07d0ef3 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/domain/ComparaNotaAluno.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/domain/ComparaNotaAluno.java @@ -3,7 +3,7 @@ import java.util.Comparator; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class ComparaNotaAluno implements Comparator { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/domain/Livro.java b/mod11/ExemplosMod11/src/br/com/rpires/domain/Livro.java index 7f16fe9..e3c6259 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/domain/Livro.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/domain/Livro.java @@ -1,7 +1,7 @@ package br.com.rpires.domain; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class Livro { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/iterator/ExemploIterator.java b/mod11/ExemplosMod11/src/br/com/rpires/iterator/ExemploIterator.java index 2e3ee06..277c3d4 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/iterator/ExemploIterator.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/iterator/ExemploIterator.java @@ -5,7 +5,7 @@ import java.util.List; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class ExemploIterator { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploArrayList.java b/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploArrayList.java index f49e024..a7e8078 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploArrayList.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploArrayList.java @@ -9,7 +9,7 @@ * It's like an array whose size can grow. * Searching for an element is fast, but insertions and deletions are not.. * - * @author Steve Vaz + * @author Steve.Vaz */ public class ExemploArrayList { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploArrayListAluno.java b/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploArrayListAluno.java index 136cdc2..19be606 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploArrayListAluno.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploArrayListAluno.java @@ -8,7 +8,7 @@ import java.util.List; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class ExemploArrayListAluno { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploLinkedList.java b/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploLinkedList.java index 1d0bc5a..1345378 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploLinkedList.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploLinkedList.java @@ -8,7 +8,7 @@ /** * Ao contrário do ArrayList, as buscas são lentas e inserções e exclusões são rápidas. * - * @author rodrigo.pires + * @author Steve.Vaz */ public class ExemploLinkedList { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploLinkedListAluno.java b/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploLinkedListAluno.java index 6480f60..a73e78f 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploLinkedListAluno.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploLinkedListAluno.java @@ -9,7 +9,7 @@ import java.util.List; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class ExemploLinkedListAluno { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/list/TestesPerformanceList.java b/mod11/ExemplosMod11/src/br/com/rpires/list/TestesPerformanceList.java index f4166b7..409152a 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/list/TestesPerformanceList.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/list/TestesPerformanceList.java @@ -5,7 +5,7 @@ import java.util.List; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class TestesPerformanceList { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploHashMap.java b/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploHashMap.java index a6a87d7..fa166f0 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploHashMap.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploHashMap.java @@ -3,7 +3,7 @@ import java.util.*; /** - * @author rodrigo.pires + * @author Steve.Vaz * * Permite chaves e valores null. Não existe garantia que os dados ficarão ordenados. * diff --git a/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploLinkedHashMap.java b/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploLinkedHashMap.java index fdeb12c..665191c 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploLinkedHashMap.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploLinkedHashMap.java @@ -4,7 +4,7 @@ import java.util.Map; /** - * @author rodrigo.pires + * @author Steve.Vaz * * A ordem de iteração é a ordem em que as chaves são inseridas no mapa. */ diff --git a/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploSalaAula.java b/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploSalaAula.java index 6533566..c514a36 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploSalaAula.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploSalaAula.java @@ -8,7 +8,7 @@ import java.util.Map; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class ExemploSalaAula { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploTreeMap.java b/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploTreeMap.java index 6eb66b0..a57e74e 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploTreeMap.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploTreeMap.java @@ -3,7 +3,7 @@ import java.util.*; /** - * @author rodrigo.pires + * @author Steve.Vaz * * Garante que as chaves estarão em ordem ascendente. * diff --git a/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploTreeMapAluno.java b/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploTreeMapAluno.java index 59b76c2..89a5400 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploTreeMapAluno.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploTreeMapAluno.java @@ -7,7 +7,7 @@ import java.util.TreeMap; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class ExemploTreeMapAluno { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/queue/ExemploArrayDeque.java b/mod11/ExemplosMod11/src/br/com/rpires/queue/ExemploArrayDeque.java index 1ca02c0..33ec73d 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/queue/ExemploArrayDeque.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/queue/ExemploArrayDeque.java @@ -4,7 +4,7 @@ import java.util.Deque; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class ExemploArrayDeque { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/queue/ExemploLinkedList.java b/mod11/ExemplosMod11/src/br/com/rpires/queue/ExemploLinkedList.java index 60a4cb4..893bba9 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/queue/ExemploLinkedList.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/queue/ExemploLinkedList.java @@ -4,7 +4,7 @@ import java.util.LinkedList; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class ExemploLinkedList { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/queue/ExemploPriorityQueue.java b/mod11/ExemplosMod11/src/br/com/rpires/queue/ExemploPriorityQueue.java index 4cf63c0..13a6289 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/queue/ExemploPriorityQueue.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/queue/ExemploPriorityQueue.java @@ -6,7 +6,7 @@ /** * Possuí ordenação natural * - * @author rodrigo.pires + * @author Steve.Vaz */ public class ExemploPriorityQueue { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploHashSet.java b/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploHashSet.java index 158fa95..e5ef95c 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploHashSet.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploHashSet.java @@ -7,7 +7,7 @@ * O acesso aos dados é mais rápido que em um TreeSet, mas nada garante que os dados estaram ordenados. * Não repete valores na lista * - * @author rodrigo.pires + * @author Steve.Vaz */ public class ExemploHashSet { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploHashSetAluno.java b/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploHashSetAluno.java index b0e7057..33e064d 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploHashSetAluno.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploHashSetAluno.java @@ -6,7 +6,7 @@ import java.util.Set; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class ExemploHashSetAluno { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploLinkedHashSet.java b/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploLinkedHashSet.java index 0e7753f..9498b2d 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploLinkedHashSet.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploLinkedHashSet.java @@ -6,7 +6,7 @@ /** * Seus elementos são iterados na ordem em que foram inseridos. * - * @author rodrigo.pires + * @author Steve.Vaz */ public class ExemploLinkedHashSet { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploTreeSet.java b/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploTreeSet.java index 6675403..dad0b27 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploTreeSet.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploTreeSet.java @@ -8,7 +8,7 @@ * Os dados são classificados, mas o acesso é mais lento que em um HashSet. * Não repete valores na lista * - * @author rodrigo.pires + * @author Steve.Vaz */ public class ExemploTreeSet { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploTreeSetAluno.java b/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploTreeSetAluno.java index f0252d1..538a062 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploTreeSetAluno.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploTreeSetAluno.java @@ -6,7 +6,7 @@ import java.util.TreeSet; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class ExemploTreeSetAluno { diff --git a/mod11/ExemplosMod11/src/br/com/rpires/set/TestesPerformanceSet.java b/mod11/ExemplosMod11/src/br/com/rpires/set/TestesPerformanceSet.java index 8d8ddc9..9b3e06c 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/set/TestesPerformanceSet.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/set/TestesPerformanceSet.java @@ -8,7 +8,7 @@ import java.util.TreeSet; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class TestesPerformanceSet { diff --git a/mod12/ExemplosMod12/src/Collections_part_2/Exercise_mod12_part1.java b/mod12/ExemplosMod12/src/Collections_part_2/Exercise_mod12_part1.java index 28ec41d..5f8553a 100644 --- a/mod12/ExemplosMod12/src/Collections_part_2/Exercise_mod12_part1.java +++ b/mod12/ExemplosMod12/src/Collections_part_2/Exercise_mod12_part1.java @@ -6,6 +6,10 @@ import java.util.Locale; import java.util.Scanner; +/** + * @author Steve.Vaz + */ + public class Exercise_mod12_part1 implements Comparable { private String name; diff --git a/mod12/ExemplosMod12/src/Collections_part_2/Exercise_mod12_part2.java b/mod12/ExemplosMod12/src/Collections_part_2/Exercise_mod12_part2.java index f6d208d..fb9fff7 100644 --- a/mod12/ExemplosMod12/src/Collections_part_2/Exercise_mod12_part2.java +++ b/mod12/ExemplosMod12/src/Collections_part_2/Exercise_mod12_part2.java @@ -5,6 +5,10 @@ import java.util.Locale; import java.util.Scanner; +/** + * @author Steve.Vaz + */ + enum Gender { MALE, FEMALE; } diff --git a/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortDinamico.java b/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortDinamico.java index ded50a3..cf35d2c 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortDinamico.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortDinamico.java @@ -3,7 +3,7 @@ import java.util.Scanner; /** - * @author Steve Vaz + * @author Steve.Vaz */ public class ExemploBubbleSortDinamico { diff --git a/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortFixo.java b/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortFixo.java index 0aeb15d..f93f593 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortFixo.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortFixo.java @@ -1,7 +1,7 @@ package br.com.rpires.array; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class ExemploBubbleSortFixo { diff --git a/mod12/ExemplosMod12/src/br/com/rpires/array/ExemplosArray.java b/mod12/ExemplosMod12/src/br/com/rpires/array/ExemplosArray.java index 6669d5f..08cf2dc 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/array/ExemplosArray.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/array/ExemplosArray.java @@ -1,7 +1,7 @@ package br.com.rpires.array; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class ExemplosArray { diff --git a/mod12/ExemplosMod12/src/br/com/rpires/domain/Aluno.java b/mod12/ExemplosMod12/src/br/com/rpires/domain/Aluno.java index cdd8662..c1ca5f7 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/domain/Aluno.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/domain/Aluno.java @@ -3,7 +3,7 @@ import java.util.Objects; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class Aluno implements Comparable{ diff --git a/mod12/ExemplosMod12/src/br/com/rpires/domain/Biblioteca.java b/mod12/ExemplosMod12/src/br/com/rpires/domain/Biblioteca.java index ffec7f4..6080ef3 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/domain/Biblioteca.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/domain/Biblioteca.java @@ -4,7 +4,7 @@ import java.util.Set; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class Biblioteca { diff --git a/mod12/ExemplosMod12/src/br/com/rpires/domain/ComparaNotaAluno.java b/mod12/ExemplosMod12/src/br/com/rpires/domain/ComparaNotaAluno.java index 50f485c..07d0ef3 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/domain/ComparaNotaAluno.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/domain/ComparaNotaAluno.java @@ -3,7 +3,7 @@ import java.util.Comparator; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class ComparaNotaAluno implements Comparator { diff --git a/mod12/ExemplosMod12/src/br/com/rpires/domain/Livro.java b/mod12/ExemplosMod12/src/br/com/rpires/domain/Livro.java index 3895684..e3c6259 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/domain/Livro.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/domain/Livro.java @@ -1,7 +1,7 @@ package br.com.rpires.domain; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class Livro { diff --git a/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploHashMap.java b/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploHashMap.java index 69ce3a4..8cb19c6 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploHashMap.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploHashMap.java @@ -6,7 +6,7 @@ import java.util.Set; /** - * @author rodrigo.pires + * @author Steve.Vaz * * Permite chaves e valores null. Não existe garantia que os dados ficarão ordenados. * diff --git a/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploLinkedHashMap.java b/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploLinkedHashMap.java index fdeb12c..665191c 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploLinkedHashMap.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploLinkedHashMap.java @@ -4,7 +4,7 @@ import java.util.Map; /** - * @author rodrigo.pires + * @author Steve.Vaz * * A ordem de iteração é a ordem em que as chaves são inseridas no mapa. */ diff --git a/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploSalaAula.java b/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploSalaAula.java index 6533566..c514a36 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploSalaAula.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploSalaAula.java @@ -8,7 +8,7 @@ import java.util.Map; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class ExemploSalaAula { diff --git a/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploTreeMap.java b/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploTreeMap.java index 69a6d98..b48251f 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploTreeMap.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploTreeMap.java @@ -6,7 +6,7 @@ import java.util.TreeMap; /** - * @author rodrigo.pires + * @author Steve.Vaz * * Garante que as chaves estarão em ordem ascendente. * diff --git a/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploTreeMapAluno.java b/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploTreeMapAluno.java index 59b76c2..89a5400 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploTreeMapAluno.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploTreeMapAluno.java @@ -7,7 +7,7 @@ import java.util.TreeMap; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class ExemploTreeMapAluno { diff --git a/mod13/ExemplosMod13/src/br/com/rpires/Composicao/ContaCorrente.java b/mod13/ExemplosMod13/src/br/com/rpires/Composicao/ContaCorrente.java index 6018600..06e71e5 100644 --- a/mod13/ExemplosMod13/src/br/com/rpires/Composicao/ContaCorrente.java +++ b/mod13/ExemplosMod13/src/br/com/rpires/Composicao/ContaCorrente.java @@ -1,7 +1,7 @@ package br.com.rpires.Composicao; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class ContaCorrente { diff --git a/mod13/ExemplosMod13/src/br/com/rpires/Composicao/ContaPoupanca.java b/mod13/ExemplosMod13/src/br/com/rpires/Composicao/ContaPoupanca.java index 6f79b20..8815978 100644 --- a/mod13/ExemplosMod13/src/br/com/rpires/Composicao/ContaPoupanca.java +++ b/mod13/ExemplosMod13/src/br/com/rpires/Composicao/ContaPoupanca.java @@ -1,7 +1,7 @@ package br.com.rpires.Composicao; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class ContaPoupanca { diff --git a/mod13/ExemplosMod13/src/br/com/rpires/abstratas/Assalariado.java b/mod13/ExemplosMod13/src/br/com/rpires/abstratas/Assalariado.java index b6f0ebc..ad66db5 100644 --- a/mod13/ExemplosMod13/src/br/com/rpires/abstratas/Assalariado.java +++ b/mod13/ExemplosMod13/src/br/com/rpires/abstratas/Assalariado.java @@ -1,7 +1,7 @@ package br.com.rpires.abstratas; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class Assalariado extends Empregado { diff --git a/mod13/ExemplosMod13/src/br/com/rpires/abstratas/Comissionado.java b/mod13/ExemplosMod13/src/br/com/rpires/abstratas/Comissionado.java index e5cbda1..f86160c 100644 --- a/mod13/ExemplosMod13/src/br/com/rpires/abstratas/Comissionado.java +++ b/mod13/ExemplosMod13/src/br/com/rpires/abstratas/Comissionado.java @@ -1,7 +1,7 @@ package br.com.rpires.abstratas; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class Comissionado extends Empregado { diff --git a/mod13/ExemplosMod13/src/br/com/rpires/abstratas/Empregado.java b/mod13/ExemplosMod13/src/br/com/rpires/abstratas/Empregado.java index 3e6fe69..51c1b7d 100644 --- a/mod13/ExemplosMod13/src/br/com/rpires/abstratas/Empregado.java +++ b/mod13/ExemplosMod13/src/br/com/rpires/abstratas/Empregado.java @@ -1,7 +1,7 @@ package br.com.rpires.abstratas; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public abstract class Empregado { diff --git a/mod13/ExemplosMod13/src/br/com/rpires/abstratas/Horista.java b/mod13/ExemplosMod13/src/br/com/rpires/abstratas/Horista.java index 363d6f3..a1a1884 100644 --- a/mod13/ExemplosMod13/src/br/com/rpires/abstratas/Horista.java +++ b/mod13/ExemplosMod13/src/br/com/rpires/abstratas/Horista.java @@ -1,7 +1,7 @@ package br.com.rpires.abstratas; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class Horista extends Empregado { diff --git a/mod13/ExemplosMod13/src/br/com/rpires/abstratas/Programa.java b/mod13/ExemplosMod13/src/br/com/rpires/abstratas/Programa.java index da1a06c..47d5267 100644 --- a/mod13/ExemplosMod13/src/br/com/rpires/abstratas/Programa.java +++ b/mod13/ExemplosMod13/src/br/com/rpires/abstratas/Programa.java @@ -1,7 +1,7 @@ package br.com.rpires.abstratas; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class Programa { diff --git a/mod13/ExemplosMod13/src/br/com/rpires/agregacao/Comprador.java b/mod13/ExemplosMod13/src/br/com/rpires/agregacao/Comprador.java index 5a925ac..9c32626 100644 --- a/mod13/ExemplosMod13/src/br/com/rpires/agregacao/Comprador.java +++ b/mod13/ExemplosMod13/src/br/com/rpires/agregacao/Comprador.java @@ -1,7 +1,7 @@ package br.com.rpires.agregacao; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class Comprador { diff --git a/mod13/ExemplosMod13/src/br/com/rpires/agregacao/Produto.java b/mod13/ExemplosMod13/src/br/com/rpires/agregacao/Produto.java index 36b6af5..fb003c6 100644 --- a/mod13/ExemplosMod13/src/br/com/rpires/agregacao/Produto.java +++ b/mod13/ExemplosMod13/src/br/com/rpires/agregacao/Produto.java @@ -1,7 +1,7 @@ package br.com.rpires.agregacao; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class Produto { diff --git a/mod13/ExemplosMod13/src/br/com/rpires/agregacao/Programa.java b/mod13/ExemplosMod13/src/br/com/rpires/agregacao/Programa.java index 929887e..c8f1d2d 100644 --- a/mod13/ExemplosMod13/src/br/com/rpires/agregacao/Programa.java +++ b/mod13/ExemplosMod13/src/br/com/rpires/agregacao/Programa.java @@ -1,7 +1,7 @@ package br.com.rpires.agregacao; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class Programa { diff --git a/mod13/ExemplosMod13/src/br/com/rpires/agregacao/Venda.java b/mod13/ExemplosMod13/src/br/com/rpires/agregacao/Venda.java index da41991..f34117d 100644 --- a/mod13/ExemplosMod13/src/br/com/rpires/agregacao/Venda.java +++ b/mod13/ExemplosMod13/src/br/com/rpires/agregacao/Venda.java @@ -4,7 +4,7 @@ import java.util.List; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class Venda { diff --git a/mod13/ExemplosMod13/src/br/com/rpires/agregacao/Vendedor.java b/mod13/ExemplosMod13/src/br/com/rpires/agregacao/Vendedor.java index fc3d909..e6a58f1 100644 --- a/mod13/ExemplosMod13/src/br/com/rpires/agregacao/Vendedor.java +++ b/mod13/ExemplosMod13/src/br/com/rpires/agregacao/Vendedor.java @@ -1,7 +1,7 @@ package br.com.rpires.agregacao; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class Vendedor { diff --git a/mod13/ExemplosMod13/src/br/com/rpires/exemplo/abstracao/bonus/App.java b/mod13/ExemplosMod13/src/br/com/rpires/exemplo/abstracao/bonus/App.java index 74bf76f..f737b1f 100644 --- a/mod13/ExemplosMod13/src/br/com/rpires/exemplo/abstracao/bonus/App.java +++ b/mod13/ExemplosMod13/src/br/com/rpires/exemplo/abstracao/bonus/App.java @@ -5,7 +5,7 @@ import java.util.Random; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class App { diff --git a/mod13/ExemplosMod13/src/br/com/rpires/exemplo/abstracao/bonus/AppExemploMapa.java b/mod13/ExemplosMod13/src/br/com/rpires/exemplo/abstracao/bonus/AppExemploMapa.java index 0216437..06b4eb8 100644 --- a/mod13/ExemplosMod13/src/br/com/rpires/exemplo/abstracao/bonus/AppExemploMapa.java +++ b/mod13/ExemplosMod13/src/br/com/rpires/exemplo/abstracao/bonus/AppExemploMapa.java @@ -5,7 +5,7 @@ import java.util.Random; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class AppExemploMapa { diff --git a/mod13/ExemplosMod13/src/br/com/rpires/exemplo/abstracao/bonus/ClasseGeraProdutos.java b/mod13/ExemplosMod13/src/br/com/rpires/exemplo/abstracao/bonus/ClasseGeraProdutos.java index 468dd4e..c62e3f4 100644 --- a/mod13/ExemplosMod13/src/br/com/rpires/exemplo/abstracao/bonus/ClasseGeraProdutos.java +++ b/mod13/ExemplosMod13/src/br/com/rpires/exemplo/abstracao/bonus/ClasseGeraProdutos.java @@ -4,7 +4,7 @@ import java.util.List; /** - * @author rodrigo.pires + * @author Steve.Vaz */ public class ClasseGeraProdutos { From 4153983b4fb9f3739105081111044548457883aa Mon Sep 17 00:00:00 2001 From: Steve Date: Wed, 25 Oct 2023 09:39:17 -0300 Subject: [PATCH 40/65] Exercise_mod19 finished --- .../src/Exercise_Reflections/Produto.java | 50 +++++++++++++++++++ .../src/Exercise_Reflections/Program.java | 9 ++++ .../Exercise_Reflections/package-info.java | 2 + 3 files changed, 61 insertions(+) create mode 100644 mod19/ExemplosMod19/src/Exercise_Reflections/Produto.java create mode 100644 mod19/ExemplosMod19/src/Exercise_Reflections/Program.java create mode 100644 mod19/ExemplosMod19/src/Exercise_Reflections/package-info.java diff --git a/mod19/ExemplosMod19/src/Exercise_Reflections/Produto.java b/mod19/ExemplosMod19/src/Exercise_Reflections/Produto.java new file mode 100644 index 0000000..3ca9858 --- /dev/null +++ b/mod19/ExemplosMod19/src/Exercise_Reflections/Produto.java @@ -0,0 +1,50 @@ +package Exercise_Reflections; + +import java.lang.annotation.Annotation; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +@Retention(RetentionPolicy.RUNTIME) +@Target(ElementType.TYPE) +@interface Tabela { + String nome(); +} + +@Tabela(nome = "produtos") // Atribui a anotação "Tabela" à classe Produto com o nome da tabela no banco de dados + +class Produto { + private int id; + private String nome; + private double preco; + + public Produto(int id, String nome, double preco) { + this.id = id; + this.nome = nome; + this.preco = preco; + } + + public int getId() { + return id; + } + + public String getNome() { + return nome; + } + + public double getPreco() { + return preco; + } + + public void imprimirNomeDaTabela() { + Class classeProduto = this.getClass(); + if (classeProduto.isAnnotationPresent(Tabela.class)) { + Annotation tabelaAnnotation = classeProduto.getAnnotation(Tabela.class); + Tabela tabela = (Tabela) tabelaAnnotation; + System.out.println("Nome da tabela: " + tabela.nome()); + } else { + System.out.println("A anotação de tabela não está presente na classe Produto."); + } + } +} \ No newline at end of file diff --git a/mod19/ExemplosMod19/src/Exercise_Reflections/Program.java b/mod19/ExemplosMod19/src/Exercise_Reflections/Program.java new file mode 100644 index 0000000..3fe6710 --- /dev/null +++ b/mod19/ExemplosMod19/src/Exercise_Reflections/Program.java @@ -0,0 +1,9 @@ +package Exercise_Reflections; + +public class Program { + + public static void main(String[] args) { + Produto produto = new Produto(1, "Produto A", 19.99); + produto.imprimirNomeDaTabela(); + } +} \ No newline at end of file diff --git a/mod19/ExemplosMod19/src/Exercise_Reflections/package-info.java b/mod19/ExemplosMod19/src/Exercise_Reflections/package-info.java new file mode 100644 index 0000000..e696095 --- /dev/null +++ b/mod19/ExemplosMod19/src/Exercise_Reflections/package-info.java @@ -0,0 +1,2 @@ +package Exercise_Reflections; + From de7f5db4f692bb3a56efba947033910bebf74a57 Mon Sep 17 00:00:00 2001 From: Steve <123308294+Ste452@users.noreply.github.com> Date: Wed, 25 Oct 2023 19:47:30 -0300 Subject: [PATCH 41/65] Update README.md --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 3e45ccc..e2fb4a0 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ # backend-java-ebac -Examples of projects for the Ebac Backend Java course. + +- Classes taught by professor Rodrigo Pires. EBAC. From 69999eb42fe9d57cb9d152b3338fac9d69610fd6 Mon Sep 17 00:00:00 2001 From: Steve Date: Wed, 25 Oct 2023 19:52:47 -0300 Subject: [PATCH 42/65] Removing Readme (2).md --- README (2).md | 3 --- 1 file changed, 3 deletions(-) delete mode 100644 README (2).md diff --git a/README (2).md b/README (2).md deleted file mode 100644 index 3e45ccc..0000000 --- a/README (2).md +++ /dev/null @@ -1,3 +0,0 @@ -# backend-java-ebac -Examples of projects for the Ebac Backend Java course. - From e8cc59df39952d6bfa6dfc5b56577da685a9d6e8 Mon Sep 17 00:00:00 2001 From: Steve Date: Sun, 29 Oct 2023 14:42:37 -0300 Subject: [PATCH 43/65] Finished --- .../src/br/com/rpires/ExemploScanner.java | 6 +- .../src/br/com/rpires/ExemploScanner1.java | 8 ++- .../com/rpires/forewhile/TabuadaDoWhile.java | 8 ++- .../br/com/rpires/forewhile/TabuadaFor.java | 6 +- .../br/com/rpires/forewhile/TabuadaWhile.java | 10 ++-- .../br/com/rpires/ifelse/ExemploAnimal.java | 5 +- .../br/com/rpires/ifelse/ExemploIdade.java | 5 +- .../com/rpires/ifelse/ExemploPPT1Console.java | 6 +- .../com/rpires/switchcase/ExemploAnimal.java | 6 +- .../com/rpires/switchcase/ExemploIdade.java | 6 +- mod17/ExemplosMod17/src/cadastro/App2.java | 4 +- .../src/cadastro/SingletonMap.java | 6 +- .../src/cadastro/dao/generic/IGenericDAO.java | 6 +- mod22/src/br/com/rpires/ExemplosOPtional.java | 19 ++++++- mod22/src/br/com/rpires/Pessoa.java | 1 + mod22/src/exercise_22/Genders_list.java | 56 +++++++++++++++++++ 16 files changed, 126 insertions(+), 32 deletions(-) create mode 100644 mod22/src/exercise_22/Genders_list.java diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner.java b/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner.java index aeba2c3..56a7ebf 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner.java @@ -8,11 +8,13 @@ public class ExemploScanner { public static void main(String args[]) { - Scanner s = new Scanner(System.in); + Scanner sc = new Scanner(System.in); System.out.println("Digite sua idade: "); - int idade = s.nextInt(); + int idade = sc.nextInt(); System.out.println("Vc tem " + idade + " anos."); + + sc.close(); } diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner1.java b/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner1.java index 849f673..5a97946 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner1.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner1.java @@ -8,14 +8,16 @@ public class ExemploScanner1 { public static void main(String args[]) { - Scanner s = new Scanner(System.in); + Scanner sc = new Scanner(System.in); System.out.println("Digite seu nome: "); - String nome = s.nextLine(); + String nome = sc.nextLine(); System.out.println("\nDigite sua altura: "); - double altura = s.nextDouble(); + double altura = sc.nextDouble(); System.out.println(nome + " tem " + altura + " de altura."); + + sc.close(); } } diff --git a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaDoWhile.java b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaDoWhile.java index 3cdb5bd..67eafc0 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaDoWhile.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaDoWhile.java @@ -8,20 +8,22 @@ public class TabuadaDoWhile { public static void main(String args[]) { - Scanner s = new Scanner(System.in); + Scanner sc = new Scanner(System.in); String resposta = ""; do { System.out.println("Digite um número para gerar a tabuada: "); - int num = s.nextInt(); + int num = sc.nextInt(); for (int i = 0; i<=10;i++) { System.out.println(num + " X " + i + " = " + num*i); } System.out.println("Deseja gerar novamente a tabuada de algum número? "); - resposta = s.next(); + resposta = sc.next(); } while (resposta.equals("Sim")); System.out.println("Obrigado. "); + + sc.close(); } } diff --git a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaFor.java b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaFor.java index eecd32a..0ddbfa3 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaFor.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaFor.java @@ -8,14 +8,16 @@ public class TabuadaFor { public static void main(String args[]) { - Scanner s = new Scanner(System.in); + Scanner sc = new Scanner(System.in); System.out.println("Digite um número para gerar a tabuada: "); - int num = s.nextInt(); + int num = sc.nextInt(); for (int i = 0; i<=10;i++) { System.out.println(num + " X " + i + " = " + num*i); } //1 X 0 = 0; //1 X 1 = 1; + + sc.close(); } } diff --git a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaWhile.java b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaWhile.java index c23e5ec..201bb92 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaWhile.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaWhile.java @@ -8,22 +8,24 @@ public class TabuadaWhile { public static void main(String args[]) { - Scanner s = new Scanner(System.in); + Scanner sc = new Scanner(System.in); System.out.println("Deseja gerar a tabuada de algum número? "); - String resposta = s.next(); + String resposta = sc.next(); while(resposta.equalsIgnoreCase("Sim")) { System.out.println("Digite um número para gerar a tabuada: "); - int num = s.nextInt(); + int num = sc.nextInt(); for (int i = 0; i<=10;i++) { System.out.println(num + " X " + i + " = " + num*i); } System.out.println("Deseja gerar novamente a tabuada de algum número? "); - resposta = s.next(); + resposta = sc.next(); } System.out.println("Obrigado. "); + + sc.close(); } } diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploAnimal.java b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploAnimal.java index f41a69d..af5fc9b 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploAnimal.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploAnimal.java @@ -8,13 +8,14 @@ public class ExemploAnimal { public static void main(String args[]) { - Scanner s = new Scanner(System.in); + Scanner sc = new Scanner(System.in); System.out.println("Digite o nome de uma animal: "); - String texto = s.next(); + String texto = sc.next(); String animal = exampleOfIF(texto); System.out.println(animal); + sc.close(); } public static String exampleOfIF(String animal) { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploIdade.java b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploIdade.java index 5e4111c..1464e73 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploIdade.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploIdade.java @@ -8,12 +8,13 @@ public class ExemploIdade { public static void main(String args[]) { - Scanner s = new Scanner(System.in); + Scanner sc = new Scanner(System.in); System.out.println("Digite sua idade: "); - int idade = s.nextInt(); + int idade = sc.nextInt(); String idadeSt = getIdade(idade); System.out.println(idadeSt); + sc.close(); } public static String getIdade(int idade) { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT1Console.java b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT1Console.java index 450b3a9..64287d0 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT1Console.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT1Console.java @@ -8,10 +8,10 @@ public class ExemploPPT1Console { public static void main(String args[]) { - Scanner s = new Scanner(System.in); + Scanner sc = new Scanner(System.in); System.out.println("Digite um número: "); - int result = s.nextInt(); + int result = sc.nextInt(); if (result == 1) { System.out.println("Resultado igual a 1"); @@ -21,5 +21,7 @@ public static void main(String args[]) { else { System.out.println("Resultado menor que 1"); } + + sc.close(); } } diff --git a/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploAnimal.java b/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploAnimal.java index dbd7adf..199e305 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploAnimal.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploAnimal.java @@ -8,12 +8,14 @@ public class ExemploAnimal { public static void main(String args[]) { - Scanner s = new Scanner(System.in); + Scanner sc = new Scanner(System.in); System.out.println("Digite o nome de uma animal: "); - String texto = s.next(); + String texto = sc.next(); String animal = exampleOfSwitch(texto); System.out.println(animal); + + sc.close(); } public static String exampleOfSwitch(String animal) { diff --git a/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploIdade.java b/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploIdade.java index 0c32a75..f286141 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploIdade.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploIdade.java @@ -8,12 +8,14 @@ public class ExemploIdade { public static void main(String args[]) { - Scanner s = new Scanner(System.in); + Scanner sc = new Scanner(System.in); System.out.println("Digite sua idade: "); - int idade = s.nextInt(); + int idade = sc.nextInt(); String idadeSt = getIdade(idade); System.out.println(idadeSt); + + sc.close(); } public static String getIdade(int idade) { diff --git a/mod17/ExemplosMod17/src/cadastro/App2.java b/mod17/ExemplosMod17/src/cadastro/App2.java index a405c90..4c339f7 100644 --- a/mod17/ExemplosMod17/src/cadastro/App2.java +++ b/mod17/ExemplosMod17/src/cadastro/App2.java @@ -21,7 +21,7 @@ */ public class App2 { - private static IClienteDAO iClienteDAO; + private static IProdutoDAO iClienteDAO; private static IProdutoDAO iProdutoDAO; public static void main(String args[]) { @@ -164,7 +164,7 @@ private static void inicializarDAO() { * @param opcaoMenuGeral Opção selecionada no menu inicial da aaplicação - 1 para cliente e 2 para produto * @return IGenericDAO interface genérica que contém os métodos de CRUD */ - public static IGenericDAO getDAO(String opcaoMenuGeral) { + public static IProdutoDAO getDAO(String opcaoMenuGeral) { if ("1".equals(opcaoMenuGeral)) { return iClienteDAO; } else { diff --git a/mod17/ExemplosMod17/src/cadastro/SingletonMap.java b/mod17/ExemplosMod17/src/cadastro/SingletonMap.java index 7eaf470..453bb78 100644 --- a/mod17/ExemplosMod17/src/cadastro/SingletonMap.java +++ b/mod17/ExemplosMod17/src/cadastro/SingletonMap.java @@ -17,7 +17,8 @@ public class SingletonMap { * Contém todos os registros da aplicação. * Simula o banco de dados */ - protected Map> map; + @SuppressWarnings("rawtypes") + protected Map> map; private SingletonMap() { map = new HashMap<>(); @@ -35,7 +36,8 @@ public static SingletonMap getInstance() { return singletonMap; } - public Map> getMap() { + @SuppressWarnings("rawtypes") + public Map> getMap() { return this.map; } } diff --git a/mod17/ExemplosMod17/src/cadastro/dao/generic/IGenericDAO.java b/mod17/ExemplosMod17/src/cadastro/dao/generic/IGenericDAO.java index ca6341c..ecbbd55 100644 --- a/mod17/ExemplosMod17/src/cadastro/dao/generic/IGenericDAO.java +++ b/mod17/ExemplosMod17/src/cadastro/dao/generic/IGenericDAO.java @@ -1,7 +1,7 @@ package cadastro.dao.generic; +import cadastro.domain.Cliente; import cadastro.domain.Persistente; -import cadastro.domain.Produto; import java.util.Collection; @@ -30,9 +30,9 @@ public interface IGenericDAO { /** *Método para alterar um registro no bando de dados. * - * @param entity a ser atualizado + * @param cliente a ser atualizado */ - public void alterar(T entity); + public void alterar(Cliente cliente); /** * Método para consultar um registro no banco de dados diff --git a/mod22/src/br/com/rpires/ExemplosOPtional.java b/mod22/src/br/com/rpires/ExemplosOPtional.java index e58c405..5e9b63c 100644 --- a/mod22/src/br/com/rpires/ExemplosOPtional.java +++ b/mod22/src/br/com/rpires/ExemplosOPtional.java @@ -1,5 +1,6 @@ package br.com.rpires; +import java.util.Collection; import java.util.Comparator; import java.util.List; import java.util.Optional; @@ -9,7 +10,7 @@ */ public class ExemplosOPtional { - public static void main(String[] args) { + public static void main(String[] args, Collection pessoas) { List lista = new Pessoa().populaPessoas(); Optional opcional = lista.stream() @@ -20,5 +21,21 @@ public static void main(String[] args) { } opcional.ifPresent(System.out::println); + + Optional min = pessoas.stream() + .min(Comparator.comparing(Pessoa::getIdade)); + min.ifPresentOrElse(System.out::println, new Runnable() { + + @Override + public void run() { + // TODO Auto-generated method stub + + } + + }); + + Pessoa value = min.orElseThrow(); + + System.out.println(value); } } diff --git a/mod22/src/br/com/rpires/Pessoa.java b/mod22/src/br/com/rpires/Pessoa.java index 0e6db5e..bb58f8a 100644 --- a/mod22/src/br/com/rpires/Pessoa.java +++ b/mod22/src/br/com/rpires/Pessoa.java @@ -71,6 +71,7 @@ public List populaPessoas() { Pessoa pessoa4 = new Pessoa("p4" , "Neymar Junior", "Brasil", 22); return List.of(pessoa1,pessoa2,pessoa3,pessoa4); } + @Override public boolean equals(Object o) { diff --git a/mod22/src/exercise_22/Genders_list.java b/mod22/src/exercise_22/Genders_list.java new file mode 100644 index 0000000..8ed4f19 --- /dev/null +++ b/mod22/src/exercise_22/Genders_list.java @@ -0,0 +1,56 @@ +package exercise_22; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +class Pessoa { + private String nome; + private String sexo; + private String nacionalidade; + + public Pessoa() { + + } + + public Pessoa(String nome, String sexo, String nacionalidade) { + this.nome = nome; + this.sexo = sexo; + this.nacionalidade = nacionalidade; + } + + public String getNome() { + return nome; + } + + public String getSexo() { + return sexo; + } + + public String getNacionalidade() { + return nacionalidade; + } +} + +public class Genders_list { + public static void main(String[] args) { + List pessoas = new ArrayList<>(); + pessoas.add(new Pessoa("Maria", "Feminino", "Brasileira")); + pessoas.add(new Pessoa("João", "Masculino", "Brasileiro")); + pessoas.add(new Pessoa("Sophia", "Feminino", "Espanhola")); + pessoas.add(new Pessoa("Lucas", "Masculino", "Espanhol")); + pessoas.add(new Pessoa("Isabella", "Feminino", "Italiana")); + pessoas.add(new Pessoa("Liam", "Masculino", "Italiano")); + + // Usando Stream e Expressão Lambda para filtrar apenas as mulheres + List mulheres = pessoas.stream() + .filter(pessoa -> pessoa.getSexo().equals("Feminino")) + .collect(Collectors.toList()); + + // Imprimir o nome, sexo e nacionalidade das mulheres + mulheres.forEach(pessoa -> System.out.println("Nome: " + + pessoa.getNome() + ", Sexo: " + pessoa.getSexo() + + ", Nacionalidade: " + + pessoa.getNacionalidade())); + } +} From a0e79b9ec3245b5d150d2782f5117d5fd80ddf42 Mon Sep 17 00:00:00 2001 From: Steve Date: Wed, 1 Nov 2023 19:13:19 -0300 Subject: [PATCH 44/65] =?UTF-8?q?Mod23=20termin=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/Exercise_mod23/Genders_list.java | 60 +++++++++ .../src/Exercise_mod23/package-info.java | 1 + .../br/com/rpires/ClienteServiceTest.java | 14 ++- .../test/br/com/rpires/TesteClienteTest.java | 2 - .../.factorypath | 117 ++++++++++++++++++ 5 files changed, 186 insertions(+), 8 deletions(-) create mode 100644 mod23e24/ExemplosMod23e24/src/Exercise_mod23/Genders_list.java create mode 100644 mod23e24/ExemplosMod23e24/src/Exercise_mod23/package-info.java create mode 100644 mod34/ExemploJPAHibernateOGMMongoDB/.factorypath diff --git a/mod23e24/ExemplosMod23e24/src/Exercise_mod23/Genders_list.java b/mod23e24/ExemplosMod23e24/src/Exercise_mod23/Genders_list.java new file mode 100644 index 0000000..f405c4b --- /dev/null +++ b/mod23e24/ExemplosMod23e24/src/Exercise_mod23/Genders_list.java @@ -0,0 +1,60 @@ +package Exercise_mod23; + +import java.util.ArrayList; +import java.util.List; +import java.util.stream.Collectors; + +import org.junit.Test; + +class Pessoa { + private String nome; + private String sexo; + private String nacionalidade; + + public Pessoa() { + + } + + public Pessoa(String nome, String sexo, String nacionalidade) { + this.nome = nome; + this.sexo = sexo; + this.nacionalidade = nacionalidade; + } + + public String getNome() { + return nome; + } + + public String getSexo() { + return sexo; + } + + public String getNacionalidade() { + return nacionalidade; + } +} + +public class Genders_list { + @Test + public void main() { + + List pessoas = new ArrayList<>(); + pessoas.add(new Pessoa("Maria", "Feminino", "Brasileira")); + pessoas.add(new Pessoa("João", "Masculino", "Brasileiro")); + pessoas.add(new Pessoa("Sophia", "Feminino", "Espanhola")); + pessoas.add(new Pessoa("Lucas", "Masculino", "Espanhol")); + pessoas.add(new Pessoa("Isabella", "Feminino", "Italiana")); + pessoas.add(new Pessoa("Liam", "Masculino", "Italiano")); + + // Usando Stream e Expressão Lambda para filtrar apenas as mulheres + List mulheres = pessoas.stream() + .filter(pessoa -> pessoa.getSexo().equals("Feminino")) + .collect(Collectors.toList()); + + // Imprimir o nome, sexo e nacionalidade das mulheres + mulheres.forEach(pessoa -> System.out.println("Nome: " + + pessoa.getNome() + ", Sexo: " + pessoa.getSexo() + + ", Nacionalidade: " + + pessoa.getNacionalidade())); + } +} diff --git a/mod23e24/ExemplosMod23e24/src/Exercise_mod23/package-info.java b/mod23e24/ExemplosMod23e24/src/Exercise_mod23/package-info.java new file mode 100644 index 0000000..47873ae --- /dev/null +++ b/mod23e24/ExemplosMod23e24/src/Exercise_mod23/package-info.java @@ -0,0 +1 @@ +package Exercise_mod23; \ No newline at end of file diff --git a/mod23e24/ExemplosMod23e24/test/br/com/rpires/ClienteServiceTest.java b/mod23e24/ExemplosMod23e24/test/br/com/rpires/ClienteServiceTest.java index d6b9cd6..b69f47b 100644 --- a/mod23e24/ExemplosMod23e24/test/br/com/rpires/ClienteServiceTest.java +++ b/mod23e24/ExemplosMod23e24/test/br/com/rpires/ClienteServiceTest.java @@ -1,30 +1,32 @@ package br.com.rpires; +import org.junit.Test; + import br.com.rpires.dao.ClienteDao; import br.com.rpires.dao.ClienteDaoMock; import br.com.rpires.dao.IClienteDao; import br.com.rpires.service.ClienteService; -import org.junit.Assert; -import org.junit.Test; /** * @author rodrigo.pires */ public class ClienteServiceTest { - @Test + @SuppressWarnings("deprecation") + @Test public void salvarTest() { IClienteDao mockDao = new ClienteDaoMock(); ClienteService service = new ClienteService(mockDao); String retorno = service.salvar(); - Assert.assertEquals("Sucesso", retorno); + junit.framework.Assert.assertEquals("Sucesso", retorno); } - @Test(expected = UnsupportedOperationException.class) + @SuppressWarnings("deprecation") + @Test(expected = UnsupportedOperationException.class) public void esperadoErroNoSalvarTest() { IClienteDao mockDao = new ClienteDao(); ClienteService service = new ClienteService(mockDao); String retorno = service.salvar(); - Assert.assertEquals("Sucesso", retorno); + junit.framework.Assert.assertEquals("Sucesso", retorno); } } diff --git a/mod23e24/ExemplosMod23e24/test/br/com/rpires/TesteClienteTest.java b/mod23e24/ExemplosMod23e24/test/br/com/rpires/TesteClienteTest.java index e3f6646..0afd89b 100644 --- a/mod23e24/ExemplosMod23e24/test/br/com/rpires/TesteClienteTest.java +++ b/mod23e24/ExemplosMod23e24/test/br/com/rpires/TesteClienteTest.java @@ -3,8 +3,6 @@ import org.junit.Assert; import org.junit.Test; -import br.com.rpires.TesteCliente; - public class TesteClienteTest { @Test diff --git a/mod34/ExemploJPAHibernateOGMMongoDB/.factorypath b/mod34/ExemploJPAHibernateOGMMongoDB/.factorypath new file mode 100644 index 0000000..686acad --- /dev/null +++ b/mod34/ExemploJPAHibernateOGMMongoDB/.factorypath @@ -0,0 +1,117 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From 1ab12defd4dbdde147a058edf27906c81d7ad70e Mon Sep 17 00:00:00 2001 From: Steve Date: Mon, 6 Nov 2023 00:53:21 -0300 Subject: [PATCH 45/65] A lot modfications in Junit in mod24 --- .../{ => br/com/rpires}/ifelse/ExemploAnimal.java | 0 .../{ => br/com/rpires}/ifelse/ExemploIdade.java | 0 .../rpires/{ => br/com/rpires}/ifelse/ExemploPPT1.java | 0 .../{ => br/com/rpires}/ifelse/ExemploPPT1Console.java | 0 .../rpires/{ => br/com/rpires}/ifelse/ExemploPPT2.java | 0 .../{ => exercise_module8}/applicationGrades.java | 0 mod23e24/ExemplosMod23e24/.idea/runConfigurations.xml | 10 ---------- .../src/br/com/rpires/dao/{ => Junit}/ClienteDao.java | 0 .../br/com/rpires/dao/{ => Junit}/ClienteDaoMock.java | 0 .../src/br/com/rpires/dao/{ => Junit}/ContratoDao.java | 0 .../src/br/com/rpires/dao/{ => Junit}/IClienteDao.java | 0 .../br/com/rpires/dao/{ => Junit}/IContratoDao.java | 0 12 files changed, 10 deletions(-) rename mod10/ExemplosMod10/src/br/com/rpires/{ => br/com/rpires}/ifelse/ExemploAnimal.java (100%) rename mod10/ExemplosMod10/src/br/com/rpires/{ => br/com/rpires}/ifelse/ExemploIdade.java (100%) rename mod10/ExemplosMod10/src/br/com/rpires/{ => br/com/rpires}/ifelse/ExemploPPT1.java (100%) rename mod10/ExemplosMod10/src/br/com/rpires/{ => br/com/rpires}/ifelse/ExemploPPT1Console.java (100%) rename mod10/ExemplosMod10/src/br/com/rpires/{ => br/com/rpires}/ifelse/ExemploPPT2.java (100%) rename mod10/ExemplosMod10/src/br/com/rpires/{ => exercise_module8}/applicationGrades.java (100%) delete mode 100644 mod23e24/ExemplosMod23e24/.idea/runConfigurations.xml rename mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/{ => Junit}/ClienteDao.java (100%) rename mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/{ => Junit}/ClienteDaoMock.java (100%) rename mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/{ => Junit}/ContratoDao.java (100%) rename mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/{ => Junit}/IClienteDao.java (100%) rename mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/{ => Junit}/IContratoDao.java (100%) diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploAnimal.java b/mod10/ExemplosMod10/src/br/com/rpires/br/com/rpires/ifelse/ExemploAnimal.java similarity index 100% rename from mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploAnimal.java rename to mod10/ExemplosMod10/src/br/com/rpires/br/com/rpires/ifelse/ExemploAnimal.java diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploIdade.java b/mod10/ExemplosMod10/src/br/com/rpires/br/com/rpires/ifelse/ExemploIdade.java similarity index 100% rename from mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploIdade.java rename to mod10/ExemplosMod10/src/br/com/rpires/br/com/rpires/ifelse/ExemploIdade.java diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT1.java b/mod10/ExemplosMod10/src/br/com/rpires/br/com/rpires/ifelse/ExemploPPT1.java similarity index 100% rename from mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT1.java rename to mod10/ExemplosMod10/src/br/com/rpires/br/com/rpires/ifelse/ExemploPPT1.java diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT1Console.java b/mod10/ExemplosMod10/src/br/com/rpires/br/com/rpires/ifelse/ExemploPPT1Console.java similarity index 100% rename from mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT1Console.java rename to mod10/ExemplosMod10/src/br/com/rpires/br/com/rpires/ifelse/ExemploPPT1Console.java diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT2.java b/mod10/ExemplosMod10/src/br/com/rpires/br/com/rpires/ifelse/ExemploPPT2.java similarity index 100% rename from mod10/ExemplosMod10/src/br/com/rpires/ifelse/ExemploPPT2.java rename to mod10/ExemplosMod10/src/br/com/rpires/br/com/rpires/ifelse/ExemploPPT2.java diff --git a/mod10/ExemplosMod10/src/br/com/rpires/applicationGrades.java b/mod10/ExemplosMod10/src/br/com/rpires/exercise_module8/applicationGrades.java similarity index 100% rename from mod10/ExemplosMod10/src/br/com/rpires/applicationGrades.java rename to mod10/ExemplosMod10/src/br/com/rpires/exercise_module8/applicationGrades.java diff --git a/mod23e24/ExemplosMod23e24/.idea/runConfigurations.xml b/mod23e24/ExemplosMod23e24/.idea/runConfigurations.xml deleted file mode 100644 index 797acea..0000000 --- a/mod23e24/ExemplosMod23e24/.idea/runConfigurations.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/ClienteDao.java b/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/ClienteDao.java similarity index 100% rename from mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/ClienteDao.java rename to mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/ClienteDao.java diff --git a/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/ClienteDaoMock.java b/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/ClienteDaoMock.java similarity index 100% rename from mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/ClienteDaoMock.java rename to mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/ClienteDaoMock.java diff --git a/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/ContratoDao.java b/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/ContratoDao.java similarity index 100% rename from mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/ContratoDao.java rename to mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/ContratoDao.java diff --git a/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/IClienteDao.java b/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/IClienteDao.java similarity index 100% rename from mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/IClienteDao.java rename to mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/IClienteDao.java diff --git a/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/IContratoDao.java b/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/IContratoDao.java similarity index 100% rename from mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/IContratoDao.java rename to mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/IContratoDao.java From 23c11c931daa32d7d20c6239ac0614d8ba9dd534 Mon Sep 17 00:00:00 2001 From: Steve Date: Mon, 6 Nov 2023 00:54:05 -0300 Subject: [PATCH 46/65] A lot modifications in junit in the mod24 --- mod1/TesteAPI/src/main/java/module-info.java | 3 + .../br/com/rpires/forewhile/ExemploPPT1.java | 2 +- .../br/com/rpires/forewhile/ExemploPPT2.java | 2 +- .../br/com/rpires/forewhile/ExemploPPT3.java | 2 +- .../br/com/rpires/forewhile/ExemploPPT4.java | 2 +- .../com/rpires/forewhile/TabuadaDoWhile.java | 2 +- .../br/com/rpires/forewhile/TabuadaFor.java | 2 +- .../br/com/rpires/forewhile/TabuadaWhile.java | 2 +- mod23e24/ExemplosMod23e24/.idea/misc.xml | 1 - .../src/Exercise_mod23/Genders_list.java | 11 +-- .../br/com/rpires/dao/Junit/ClienteDao.java | 2 +- .../com/rpires/dao/Junit/ClienteDaoMock.java | 2 +- .../br/com/rpires/dao/Junit/ContratoDao.java | 22 ++++- .../br/com/rpires/dao/Junit/IClienteDao.java | 3 +- .../br/com/rpires/dao/Junit/IContratoDao.java | 13 ++- .../com/rpires/dao/mocks/ContratoDaoMock.java | 7 +- .../br/com/rpires/service/ClienteService.java | 4 +- .../com/rpires/service/ContratoService.java | 4 +- .../com/rpires/service/IContratoService.java | 4 + .../br/com/rpires/ClienteServiceTest.java | 6 +- .../br/com/rpires/ContratoServiceTest.java | 82 +++++++++++++++++-- .../rpires/jpa/ClienteJpaDao3BancosTest.java | 20 +++-- 22 files changed, 156 insertions(+), 42 deletions(-) diff --git a/mod1/TesteAPI/src/main/java/module-info.java b/mod1/TesteAPI/src/main/java/module-info.java index f2ac319..8a3f359 100644 --- a/mod1/TesteAPI/src/main/java/module-info.java +++ b/mod1/TesteAPI/src/main/java/module-info.java @@ -7,4 +7,7 @@ module backend_java_ebac { requires java.net.http; requires java.desktop; + requires jdk.incubator.vector; + requires org.junit.jupiter.api; + requires junit; } \ No newline at end of file diff --git a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT1.java b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT1.java index 9ca22d8..0899e27 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT1.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT1.java @@ -1,4 +1,4 @@ -package br.com.rpires.forewhile; +package forewhile; import java.util.ArrayList; import java.util.List; diff --git a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT2.java b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT2.java index 2758e0b..5531329 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT2.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT2.java @@ -1,4 +1,4 @@ -package br.com.rpires.forewhile; +package forewhile; /** * @author Steve.Vaz diff --git a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT3.java b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT3.java index 7d37183..fe9d05b 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT3.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT3.java @@ -1,4 +1,4 @@ -package br.com.rpires.forewhile; +package forewhile; /** * @author Steve.Vaz diff --git a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT4.java b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT4.java index 6ba74b1..e669e4d 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT4.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/ExemploPPT4.java @@ -1,4 +1,4 @@ -package br.com.rpires.forewhile; +package forewhile; /** * @author Steve.Vaz diff --git a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaDoWhile.java b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaDoWhile.java index 67eafc0..308d81b 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaDoWhile.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaDoWhile.java @@ -1,4 +1,4 @@ -package br.com.rpires.forewhile; +package forewhile; import java.util.Scanner; diff --git a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaFor.java b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaFor.java index 0ddbfa3..8f553d0 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaFor.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaFor.java @@ -1,4 +1,4 @@ -package br.com.rpires.forewhile; +package forewhile; import java.util.Scanner; diff --git a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaWhile.java b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaWhile.java index 201bb92..722d5e5 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaWhile.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/forewhile/TabuadaWhile.java @@ -1,4 +1,4 @@ -package br.com.rpires.forewhile; +package forewhile; import java.util.Scanner; diff --git a/mod23e24/ExemplosMod23e24/.idea/misc.xml b/mod23e24/ExemplosMod23e24/.idea/misc.xml index e0844bc..0a44d59 100644 --- a/mod23e24/ExemplosMod23e24/.idea/misc.xml +++ b/mod23e24/ExemplosMod23e24/.idea/misc.xml @@ -1,4 +1,3 @@ - diff --git a/mod23e24/ExemplosMod23e24/src/Exercise_mod23/Genders_list.java b/mod23e24/ExemplosMod23e24/src/Exercise_mod23/Genders_list.java index f405c4b..47bc3a6 100644 --- a/mod23e24/ExemplosMod23e24/src/Exercise_mod23/Genders_list.java +++ b/mod23e24/ExemplosMod23e24/src/Exercise_mod23/Genders_list.java @@ -3,8 +3,9 @@ import java.util.ArrayList; import java.util.List; import java.util.stream.Collectors; - -import org.junit.Test; +import org.junit.Test; // Importe do pacote correto +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; class Pessoa { private String nome; @@ -34,10 +35,10 @@ public String getNacionalidade() { } } +@RunWith(JUnit4.class) public class Genders_list { - @Test - public void main() { - + @Test + public void testFilterWomen() { List pessoas = new ArrayList<>(); pessoas.add(new Pessoa("Maria", "Feminino", "Brasileira")); pessoas.add(new Pessoa("João", "Masculino", "Brasileiro")); diff --git a/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/ClienteDao.java b/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/ClienteDao.java index de6e5cf..0a32449 100644 --- a/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/ClienteDao.java +++ b/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/ClienteDao.java @@ -1,4 +1,4 @@ -package br.com.rpires.dao; +package br.com.rpires.dao.Junit; /** * @author rodrigo.pires diff --git a/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/ClienteDaoMock.java b/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/ClienteDaoMock.java index cd7725f..95a5698 100644 --- a/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/ClienteDaoMock.java +++ b/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/ClienteDaoMock.java @@ -1,4 +1,4 @@ -package br.com.rpires.dao; +package br.com.rpires.dao.Junit; /** * @author rodrigo.pires diff --git a/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/ContratoDao.java b/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/ContratoDao.java index 4c829db..a58005b 100644 --- a/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/ContratoDao.java +++ b/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/ContratoDao.java @@ -1,4 +1,4 @@ -package br.com.rpires.dao; +package br.com.rpires.dao.Junit; /** * @author rodrigo.pires @@ -6,7 +6,25 @@ public class ContratoDao implements IContratoDao { @Override - public void salvar() { + public String salvar() { throw new UnsupportedOperationException("Não funciona com o banco"); } + + @Override + public void buscar() { + // TODO Auto-generated method stub + + } + + @Override + public void excluir() { + // TODO Auto-generated method stub + + } + + @Override + public void atualizar() { + // TODO Auto-generated method stub + + } } diff --git a/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/IClienteDao.java b/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/IClienteDao.java index 49db171..f23df86 100644 --- a/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/IClienteDao.java +++ b/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/IClienteDao.java @@ -1,4 +1,5 @@ -package br.com.rpires.dao; +package br.com.rpires.dao.Junit; + /** * @author rodrigo.pires diff --git a/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/IContratoDao.java b/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/IContratoDao.java index 1a25852..e704572 100644 --- a/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/IContratoDao.java +++ b/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/IContratoDao.java @@ -1,11 +1,18 @@ -package br.com.rpires.dao; +package br.com.rpires.dao.Junit; + +import br.com.rpires.service.IContratoService; /** * @author rodrigo.pires */ -public interface IContratoDao { - void salvar(); +public interface IContratoDao extends IContratoService { + String salvar(); //TODO //Fazer métodos de buscar, excluir e atualizar + + void buscar(); + void excluir(); + void atualizar(); + } diff --git a/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/mocks/ContratoDaoMock.java b/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/mocks/ContratoDaoMock.java index f034c67..96ba4b1 100644 --- a/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/mocks/ContratoDaoMock.java +++ b/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/mocks/ContratoDaoMock.java @@ -1,14 +1,15 @@ package br.com.rpires.dao.mocks; -import br.com.rpires.dao.IContratoDao; +import br.com.rpires.dao.Junit.IContratoDao; /** * @author rodrigo.pires */ -public class ContratoDaoMock implements IContratoDao { +public abstract class ContratoDaoMock implements IContratoDao { @Override - public void salvar() { + public String salvar() { + return null; } } diff --git a/mod23e24/ExemplosMod23e24/src/br/com/rpires/service/ClienteService.java b/mod23e24/ExemplosMod23e24/src/br/com/rpires/service/ClienteService.java index 9a876c1..503d239 100644 --- a/mod23e24/ExemplosMod23e24/src/br/com/rpires/service/ClienteService.java +++ b/mod23e24/ExemplosMod23e24/src/br/com/rpires/service/ClienteService.java @@ -1,8 +1,6 @@ package br.com.rpires.service; -import br.com.rpires.dao.ClienteDao; -import br.com.rpires.dao.ClienteDaoMock; -import br.com.rpires.dao.IClienteDao; +import br.com.rpires.dao.Junit.IClienteDao; /** * @author rodrigo.pires diff --git a/mod23e24/ExemplosMod23e24/src/br/com/rpires/service/ContratoService.java b/mod23e24/ExemplosMod23e24/src/br/com/rpires/service/ContratoService.java index cf97b77..0c9b18c 100644 --- a/mod23e24/ExemplosMod23e24/src/br/com/rpires/service/ContratoService.java +++ b/mod23e24/ExemplosMod23e24/src/br/com/rpires/service/ContratoService.java @@ -1,11 +1,11 @@ package br.com.rpires.service; -import br.com.rpires.dao.IContratoDao; +import br.com.rpires.dao.Junit.IContratoDao; /** * @author rodrigo.pires */ -public class ContratoService implements IContratoService { +public abstract class ContratoService implements IContratoService { private IContratoDao contratoDao; diff --git a/mod23e24/ExemplosMod23e24/src/br/com/rpires/service/IContratoService.java b/mod23e24/ExemplosMod23e24/src/br/com/rpires/service/IContratoService.java index 0c71291..c4f6b3e 100644 --- a/mod23e24/ExemplosMod23e24/src/br/com/rpires/service/IContratoService.java +++ b/mod23e24/ExemplosMod23e24/src/br/com/rpires/service/IContratoService.java @@ -8,4 +8,8 @@ public interface IContratoService { //TODO //Fazer métodos de buscar, excluir e atualizar + + void buscar(); + void excluir(); + void atualizar(); } diff --git a/mod23e24/ExemplosMod23e24/test/br/com/rpires/ClienteServiceTest.java b/mod23e24/ExemplosMod23e24/test/br/com/rpires/ClienteServiceTest.java index b69f47b..ca38fac 100644 --- a/mod23e24/ExemplosMod23e24/test/br/com/rpires/ClienteServiceTest.java +++ b/mod23e24/ExemplosMod23e24/test/br/com/rpires/ClienteServiceTest.java @@ -2,9 +2,9 @@ import org.junit.Test; -import br.com.rpires.dao.ClienteDao; -import br.com.rpires.dao.ClienteDaoMock; -import br.com.rpires.dao.IClienteDao; +import br.com.rpires.dao.Junit.ClienteDao; +import br.com.rpires.dao.Junit.ClienteDaoMock; +import br.com.rpires.dao.Junit.IClienteDao; import br.com.rpires.service.ClienteService; /** diff --git a/mod23e24/ExemplosMod23e24/test/br/com/rpires/ContratoServiceTest.java b/mod23e24/ExemplosMod23e24/test/br/com/rpires/ContratoServiceTest.java index 4526ca8..b016f6d 100644 --- a/mod23e24/ExemplosMod23e24/test/br/com/rpires/ContratoServiceTest.java +++ b/mod23e24/ExemplosMod23e24/test/br/com/rpires/ContratoServiceTest.java @@ -1,7 +1,7 @@ package br.com.rpires; -import br.com.rpires.dao.ContratoDao; -import br.com.rpires.dao.IContratoDao; +import br.com.rpires.dao.Junit.ContratoDao; +import br.com.rpires.dao.Junit.IContratoDao; import br.com.rpires.dao.mocks.ContratoDaoMock; import br.com.rpires.service.ContratoService; import br.com.rpires.service.IContratoService; @@ -13,10 +13,42 @@ */ public class ContratoServiceTest { + private Object atualizar; + @Test public void salvarTest() { - IContratoDao dao = new ContratoDaoMock(); - IContratoService service = new ContratoService(dao); + IContratoDao dao = new ContratoDaoMock() { + @Override + public void buscar() { + + } + + @Override + public void excluir() { + + } + + @Override + public void atualizar() { + + } + }; + IContratoService service = new ContratoService(dao) { + @Override + public void buscar() { + + } + + @Override + public void excluir() { + + } + + @Override + public void atualizar() { + + } + }; String retorno = service.salvar(); Assert.assertEquals("Sucesso", retorno); } @@ -24,11 +56,51 @@ public void salvarTest() { @Test(expected = UnsupportedOperationException.class) public void esperadoErroNoSalvarComBancoDeDadosTest() { IContratoDao dao = new ContratoDao(); - IContratoService service = new ContratoService(dao); + IContratoService service = new ContratoService(dao) { + @Override + public void buscar() { + + } + + @Override + public void excluir() { + + } + + @Override + public void atualizar() { + + } + }; String retorno = service.salvar(); Assert.assertEquals("Sucesso", retorno); } //TODO //Fazer métodos de buscar, excluir e atualizar + + @Test(expected = UnsupportedOperationException.class) + public void methods() { + IContratoDao dao; + Object excluir = new Object(); + dao = new ContratoDao(buscar, excluir, atualizar); + IContratoService service = new ContratoService(dao) { + @Override + public void buscar() { + + } + + @Override + public void excluir() { + + } + + @Override + public void atualizar() { + + } + }; + String retorno = service.salvar(); + Assert.assertEquals("Sucesso", retorno); + } } diff --git a/mod36-1/ExemploVendasMod36/src/test/java/br/com/rpires/jpa/ClienteJpaDao3BancosTest.java b/mod36-1/ExemploVendasMod36/src/test/java/br/com/rpires/jpa/ClienteJpaDao3BancosTest.java index 0a2e028..8003abd 100644 --- a/mod36-1/ExemploVendasMod36/src/test/java/br/com/rpires/jpa/ClienteJpaDao3BancosTest.java +++ b/mod36-1/ExemploVendasMod36/src/test/java/br/com/rpires/jpa/ClienteJpaDao3BancosTest.java @@ -29,17 +29,17 @@ */ public class ClienteJpaDao3BancosTest { - private IClienteJpaDAO clienteDao; + private IClienteJpaDAO clienteDao; - private IClienteJpaDAO clienteDB2Dao; + private IClienteJpaDAO clienteDB2Dao; - private IClienteJpaDAO clienteDB3Dao; + private ClienteJpaDB3DAO clienteDB3Dao; private Random rd; public ClienteJpaDao3BancosTest() { this.clienteDao = new ClienteJpaDAO(); - this.clienteDB2Dao = new ClienteJpaDB2DAO(); + this.clienteDB2Dao = (IClienteJpaDAO) new ClienteJpaDB2DAO(); this.clienteDB3Dao = new ClienteJpaDB3DAO(); rd = new Random(); } @@ -56,7 +56,12 @@ public void end() throws DAOException { excluir3(list3); } - private void excluir(Collection list, IClienteJpaDAO clienteDao) { + private void excluir(Collection list, IClienteJpaDAO clienteDao2) { + // TODO Auto-generated method stub + + } + + private void excluir1(Collection list, IClienteJpaDAO clienteDao) { list.forEach(cli -> { try { clienteDao.excluir(cli); @@ -178,6 +183,11 @@ public void buscarTodos() throws TipoChaveNaoEncontradaException, DAOException { assertTrue(list1.size() == 0); } + private void assertTrue(boolean b) { + // TODO Auto-generated method stub + + } + private ClienteJpa criarCliente() { ClienteJpa cliente = new ClienteJpa(); cliente.setCpf(rd.nextLong()); From d71b8857c1a11184ebf9a2a88f5afa56548cd62a Mon Sep 17 00:00:00 2001 From: Steve Date: Wed, 8 Nov 2023 21:24:52 -0300 Subject: [PATCH 47/65] A some implemetentions --- .../com/rpires/TesteAPI/TesteController.java | 10 ++++---- .../src/br/com/rpires/dao/IClienteDAO.java | 11 ++++---- mod17/ExemplosMod17/src/cadastro/App.java | 7 ------ mod17/ExemplosMod17/src/cadastro/App2.java | 25 +++++++++++-------- .../src/cadastro/dao/ClienteMapDAO.java | 13 ++++++++-- .../src/cadastro/dao/IClienteDAO.java | 3 +++ .../src/cadastro/dao/IProdutoDAO.java | 3 +++ .../src/cadastro/dao/generic/GenericDAO.java | 20 +++++++++------ .../src/cadastro/dao/generic/IGenericDAO.java | 2 ++ .../src/Exercise_mod23/Genders_list.java | 3 --- .../services/generic/GenericService.java | 21 ++++++++++++---- 11 files changed, 72 insertions(+), 46 deletions(-) diff --git a/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/TesteController.java b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/TesteController.java index e8bf284..9cd2f24 100644 --- a/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/TesteController.java +++ b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/TesteController.java @@ -18,11 +18,11 @@ public ResponseEntity teste1() { @GetMapping(value = "/teste2") public void teste2(HttpServletResponse response) throws IOException { - response.getWriter().write(""); - response.getWriter().write(" "); - response.getWriter().write("

Olá

"); - response.getWriter().write(" "); - response.getWriter().write(""); + ((Object) response.getWriter()).write(""); + ((Object) response.getWriter()).write(" "); + ((Object) response.getWriter()).write("

Olá

"); + ((Object) response.getWriter()).write(" "); + ((Object) response.getWriter()).write(""); } @GetMapping(value = "/teste3/{nome}") diff --git a/mod14/CadastroCliente/src/br/com/rpires/dao/IClienteDAO.java b/mod14/CadastroCliente/src/br/com/rpires/dao/IClienteDAO.java index 430732d..864c900 100644 --- a/mod14/CadastroCliente/src/br/com/rpires/dao/IClienteDAO.java +++ b/mod14/CadastroCliente/src/br/com/rpires/dao/IClienteDAO.java @@ -6,16 +6,17 @@ /** * @author rodrigo.pires + * */ -public interface IClienteDAO { +public interface IClienteDAO { - public Boolean cadastrar(Cliente cliente); + public Boolean cadastrar(T entity); - public void excluir(Long cpf); + public void excluir(E valor); - public void alterar(Cliente cliente); + public void alterar(T entity); - public Cliente consultar(Long cpf); + public Cliente consultar(E valor); public Collection buscarTodos(); } diff --git a/mod17/ExemplosMod17/src/cadastro/App.java b/mod17/ExemplosMod17/src/cadastro/App.java index 9f47dd7..6ce92c9 100644 --- a/mod17/ExemplosMod17/src/cadastro/App.java +++ b/mod17/ExemplosMod17/src/cadastro/App.java @@ -110,11 +110,4 @@ private static boolean isOpcaoValida(String opcao) { } return false; } - - private static boolean isOpcaoCadastro(String opcao) { - if ("1".equals(opcao)) { - return true; - } - return false; - } } diff --git a/mod17/ExemplosMod17/src/cadastro/App2.java b/mod17/ExemplosMod17/src/cadastro/App2.java index 4c339f7..0af7ddf 100644 --- a/mod17/ExemplosMod17/src/cadastro/App2.java +++ b/mod17/ExemplosMod17/src/cadastro/App2.java @@ -1,12 +1,12 @@ package cadastro; import cadastro.dao.ClienteMapDAO; -import cadastro.dao.IClienteDAO; -import cadastro.dao.IProdutoDAO; import cadastro.dao.ProdutoDAO; +import cadastro.dao.generic.GenericDAO; import cadastro.dao.generic.IGenericDAO; import cadastro.domain.Cliente; import cadastro.domain.Persistente; +import cadastro.domain.Produto; import cadastro.fabrica.FabricaPersistente; import cadastro.fabrica.Factory; import cadastro.fabrica.IFactory; @@ -21,8 +21,8 @@ */ public class App2 { - private static IProdutoDAO iClienteDAO; - private static IProdutoDAO iProdutoDAO; + private static GenericDAO iClienteDAO; + private static GenericDAO iProdutoDAO; public static void main(String args[]) { inicializarDAO(); @@ -102,12 +102,13 @@ private static void executarOpcaoAtualizar(String opcaoMenuGeral) { * * @param opcaoMenuGeral Opção selecionada no menu inicial da aaplicação - 1 para cliente e 2 para produto */ - private static void executarOpcaoExcluir(String opcaoMenuGeral) { + @SuppressWarnings("unchecked") + private static void executarOpcaoExcluir(String opcaoMenuGeral) { String msg = opcaoMenuGeral.equals("1") ? "Digite o CPF" : "Digite o código"; String dados = JOptionPane.showInputDialog(null, msg, "Exclusão de dados", JOptionPane.INFORMATION_MESSAGE); - getDAO(opcaoMenuGeral).excluir(Long.parseLong(dados)); + ((IGenericDAO) getDAO(opcaoMenuGeral)).excluir(Long.parseLong(dados)); JOptionPane.showMessageDialog(null, "Dados excluídos com sucesso: ", "Sucesso",JOptionPane.INFORMATION_MESSAGE); } @@ -164,7 +165,7 @@ private static void inicializarDAO() { * @param opcaoMenuGeral Opção selecionada no menu inicial da aaplicação - 1 para cliente e 2 para produto * @return IGenericDAO interface genérica que contém os métodos de CRUD */ - public static IProdutoDAO getDAO(String opcaoMenuGeral) { + public static Object getDAO(String opcaoMenuGeral) { if ("1".equals(opcaoMenuGeral)) { return iClienteDAO; } else { @@ -179,8 +180,9 @@ public static IProdutoDAO getDAO(String opcaoMenuGeral) { * @param opcaoMenuGeral Opção selecionada no menu inicial da aaplicação - 1 para cliente e 2 para produto * @return retorna o objeto Persistente que é pai de todas as entidades da aplicação */ - private static Persistente consultar(String dados, String opcaoMenuGeral) { - return getDAO(opcaoMenuGeral).consultar(Long.valueOf(dados)); + @SuppressWarnings("unchecked") + private static Persistente consultar(String dados, String opcaoMenuGeral) { + return ((IGenericDAO) getDAO(opcaoMenuGeral)).consultar(Long.valueOf(dados)); } /** @@ -208,8 +210,9 @@ private static void cadastrar(String dados, String opcaoMenuGeral) { * @param persistente objeto pai que representa todas as entidades da aplicação * @return */ - private static Boolean cadastrarObjeto(String opcaoMenuGeral, Persistente persistente) { - return getDAO(opcaoMenuGeral).cadastrar(persistente); + @SuppressWarnings("unchecked") + private static Boolean cadastrarObjeto(String opcaoMenuGeral, Persistente persistente) { + return ((GenericDAO) getDAO(opcaoMenuGeral)).cadastrar((Cliente) persistente); } /** diff --git a/mod17/ExemplosMod17/src/cadastro/dao/ClienteMapDAO.java b/mod17/ExemplosMod17/src/cadastro/dao/ClienteMapDAO.java index 26bfc11..fec45da 100644 --- a/mod17/ExemplosMod17/src/cadastro/dao/ClienteMapDAO.java +++ b/mod17/ExemplosMod17/src/cadastro/dao/ClienteMapDAO.java @@ -3,19 +3,21 @@ import cadastro.SingletonMap; import cadastro.dao.generic.GenericDAO; import cadastro.domain.Cliente; +import cadastro.domain.Persistente; -import java.util.Collection; import java.util.HashMap; import java.util.Map; /** * @author rodrigo.pires */ + public class ClienteMapDAO extends GenericDAO implements IClienteDAO { public ClienteMapDAO() { super(); - Map mapaInterno = + @SuppressWarnings("unchecked") + Map mapaInterno = (Map) SingletonMap.getInstance().getMap().get(getTipoClasse()); if (mapaInterno == null) { mapaInterno = new HashMap<>(); @@ -38,4 +40,11 @@ public void atualiarDados(Cliente cliente, Cliente entityCadastrado) { entityCadastrado.setEstado(cliente.getEstado()); } + @Override + public void alterar(Cliente cliente) { + // TODO Auto-generated method stub + + } + + } diff --git a/mod17/ExemplosMod17/src/cadastro/dao/IClienteDAO.java b/mod17/ExemplosMod17/src/cadastro/dao/IClienteDAO.java index 1f29d09..93ee62c 100644 --- a/mod17/ExemplosMod17/src/cadastro/dao/IClienteDAO.java +++ b/mod17/ExemplosMod17/src/cadastro/dao/IClienteDAO.java @@ -2,6 +2,7 @@ import cadastro.dao.generic.IGenericDAO; import cadastro.domain.Cliente; +import cadastro.domain.Persistente; import java.util.Collection; @@ -12,6 +13,8 @@ */ public interface IClienteDAO extends IGenericDAO { + Boolean cadastrar(Persistente persistente); + // public Boolean cadastrar(Cliente cliente); // // public void excluir(Long cpf); diff --git a/mod17/ExemplosMod17/src/cadastro/dao/IProdutoDAO.java b/mod17/ExemplosMod17/src/cadastro/dao/IProdutoDAO.java index bf85ce9..efd53e2 100644 --- a/mod17/ExemplosMod17/src/cadastro/dao/IProdutoDAO.java +++ b/mod17/ExemplosMod17/src/cadastro/dao/IProdutoDAO.java @@ -2,6 +2,7 @@ import cadastro.dao.generic.IGenericDAO; import cadastro.domain.Cliente; +import cadastro.domain.Persistente; import cadastro.domain.Produto; import java.util.Collection; @@ -13,4 +14,6 @@ */ public interface IProdutoDAO extends IGenericDAO { + Boolean cadastrar(Persistente persistente); + } diff --git a/mod17/ExemplosMod17/src/cadastro/dao/generic/GenericDAO.java b/mod17/ExemplosMod17/src/cadastro/dao/generic/GenericDAO.java index 0a817e1..3966262 100644 --- a/mod17/ExemplosMod17/src/cadastro/dao/generic/GenericDAO.java +++ b/mod17/ExemplosMod17/src/cadastro/dao/generic/GenericDAO.java @@ -3,10 +3,7 @@ import cadastro.SingletonMap; import cadastro.domain.Cliente; import cadastro.domain.Persistente; -import cadastro.domain.Produto; - import java.util.Collection; -import java.util.HashMap; import java.util.Map; /** @@ -34,7 +31,7 @@ public GenericDAO() { @Override public Boolean cadastrar(T entity) { //Map mapaInterno = this.map.get(getTipoClasse()); - Map mapaInterno = (Map) this.singletonMap.getMap().get(getTipoClasse()); + Map mapaInterno = extracted(); if (mapaInterno.containsKey(entity.getCodigo())) { return false; } @@ -45,7 +42,7 @@ public Boolean cadastrar(T entity) { @Override public void excluir(Long valor) { //Map mapaInterno = this.map.get(getTipoClasse()); - Map mapaInterno = (Map) this.singletonMap.getMap().get(getTipoClasse()); + Map mapaInterno = extracted(); T objetoCadastrado = mapaInterno.get(valor); if (objetoCadastrado != null) { mapaInterno.remove(valor, objetoCadastrado); @@ -55,7 +52,7 @@ public void excluir(Long valor) { @Override public void alterar(T entity) { //Map mapaInterno = this.map.get(getTipoClasse()); - Map mapaInterno = (Map) this.singletonMap.getMap().get(getTipoClasse()); + Map mapaInterno = extracted(); T objetoCadastrado = mapaInterno.get(entity.getCodigo()); if (objetoCadastrado != null) { atualiarDados(entity, objetoCadastrado); @@ -65,14 +62,21 @@ public void alterar(T entity) { @Override public T consultar(Long valor) { //Map mapaInterno = this.map.get(getTipoClasse()); - Map mapaInterno = (Map) this.singletonMap.getMap().get(getTipoClasse()); + Map mapaInterno = extracted(); return mapaInterno.get(valor); } @Override public Collection buscarTodos() { //Map mapaInterno = this.map.get(getTipoClasse()); - Map mapaInterno = (Map) this.singletonMap.getMap().get(getTipoClasse()); + Map mapaInterno = extracted(); return mapaInterno.values(); } + + @SuppressWarnings("unchecked") + private Map extracted() { + return (Map) this.singletonMap.getMap().get(getTipoClasse()); + } + + public abstract Boolean cadastrar(Cliente persistente); } diff --git a/mod17/ExemplosMod17/src/cadastro/dao/generic/IGenericDAO.java b/mod17/ExemplosMod17/src/cadastro/dao/generic/IGenericDAO.java index ecbbd55..e2dcc7e 100644 --- a/mod17/ExemplosMod17/src/cadastro/dao/generic/IGenericDAO.java +++ b/mod17/ExemplosMod17/src/cadastro/dao/generic/IGenericDAO.java @@ -48,4 +48,6 @@ public interface IGenericDAO { * @return Registros encontrados */ public Collection buscarTodos(); + + void alterar(T entity); } diff --git a/mod23e24/ExemplosMod23e24/src/Exercise_mod23/Genders_list.java b/mod23e24/ExemplosMod23e24/src/Exercise_mod23/Genders_list.java index 47bc3a6..3b43589 100644 --- a/mod23e24/ExemplosMod23e24/src/Exercise_mod23/Genders_list.java +++ b/mod23e24/ExemplosMod23e24/src/Exercise_mod23/Genders_list.java @@ -4,8 +4,6 @@ import java.util.List; import java.util.stream.Collectors; import org.junit.Test; // Importe do pacote correto -import org.junit.runner.RunWith; -import org.junit.runners.JUnit4; class Pessoa { private String nome; @@ -35,7 +33,6 @@ public String getNacionalidade() { } } -@RunWith(JUnit4.class) public class Genders_list { @Test public void testFilterWomen() { diff --git a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/generic/GenericService.java b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/generic/GenericService.java index 11b43a3..10bd693 100644 --- a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/generic/GenericService.java +++ b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/generic/GenericService.java @@ -6,8 +6,8 @@ import java.io.Serializable; import java.util.Collection; +import br.com.rpires.dao.IClienteDAO; import br.com.rpires.dao.Persistente; -import br.com.rpires.dao.generic.IGenericDAO; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; /** @@ -17,32 +17,43 @@ public abstract class GenericService implements IGenericService { - protected IGenericDAO dao; + @SuppressWarnings("rawtypes") + protected IClienteDAO dao; - public GenericService(IGenericDAO dao) { - this.dao = dao; + public GenericService(@SuppressWarnings("rawtypes") IClienteDAO clienteDAO) { + this.dao = clienteDAO; } + @SuppressWarnings("rawtypes") + public void GenericService11(IClienteDAO clienteDAO) { + // TODO Auto-generated constructor stub + } + + @SuppressWarnings("unchecked") @Override public Boolean cadastrar(T entity) throws TipoChaveNaoEncontradaException { return this.dao.cadastrar(entity); } + @SuppressWarnings("unchecked") @Override public void excluir(E valor) { this.dao.excluir(valor); } + @SuppressWarnings("unchecked") @Override public void alterar(T entity) throws TipoChaveNaoEncontradaException { this.dao.alterar(entity); } + @SuppressWarnings("unchecked") @Override public T consultar(E valor) { - return this.dao.consultar(valor); + return (T) this.dao.consultar(valor); } + @SuppressWarnings("unchecked") @Override public Collection buscarTodos() { return this.dao.buscarTodos(); From 2ebbcb8892fcc67ab29216b549e4dcf76cf30331 Mon Sep 17 00:00:00 2001 From: Steve Date: Thu, 30 Nov 2023 23:58:05 -0300 Subject: [PATCH 48/65] A lot modifications about a error in module 23 --- .../src/br/com/rpires/{ => br/com/rpires}/ExemploScanner.java | 0 .../com/rpires/{ => br/com/rpires}/switchcase/ExemploAnimal.java | 0 .../com/rpires/{ => br/com/rpires}/switchcase/ExemploIdade.java | 0 3 files changed, 0 insertions(+), 0 deletions(-) rename mod10/ExemplosMod10/src/br/com/rpires/{ => br/com/rpires}/ExemploScanner.java (100%) rename mod10/ExemplosMod10/src/br/com/rpires/{ => br/com/rpires}/switchcase/ExemploAnimal.java (100%) rename mod10/ExemplosMod10/src/br/com/rpires/{ => br/com/rpires}/switchcase/ExemploIdade.java (100%) diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner.java b/mod10/ExemplosMod10/src/br/com/rpires/br/com/rpires/ExemploScanner.java similarity index 100% rename from mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner.java rename to mod10/ExemplosMod10/src/br/com/rpires/br/com/rpires/ExemploScanner.java diff --git a/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploAnimal.java b/mod10/ExemplosMod10/src/br/com/rpires/br/com/rpires/switchcase/ExemploAnimal.java similarity index 100% rename from mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploAnimal.java rename to mod10/ExemplosMod10/src/br/com/rpires/br/com/rpires/switchcase/ExemploAnimal.java diff --git a/mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploIdade.java b/mod10/ExemplosMod10/src/br/com/rpires/br/com/rpires/switchcase/ExemploIdade.java similarity index 100% rename from mod10/ExemplosMod10/src/br/com/rpires/switchcase/ExemploIdade.java rename to mod10/ExemplosMod10/src/br/com/rpires/br/com/rpires/switchcase/ExemploIdade.java From 129610aded9dcfcbc36e95ff3fd6a854e34eff88 Mon Sep 17 00:00:00 2001 From: Steve Date: Thu, 30 Nov 2023 23:58:17 -0300 Subject: [PATCH 49/65] A lot modifications about a error in module 23 --- docker/postgresl/docker-compose (2).yml | 39 -------- docker/postgresl/docker-compose.yml | 2 +- docker/servicos/docker-compose (2).yml | 88 ------------------ docker/servicos/prometheus (2).yml | 26 ------ mod1/TesteAPI/src/main/java/module-info.java | 13 --- .../array/ExemploBubbleSortDinamico.java | 2 +- .../src/br/com/rpires/dao/ClienteMapDAO.java | 26 +++++- .../src/br/com/rpires/dao/IClienteDAO.java | 8 ++ .../src/br/com/rpires/dao/ClienteSetDAO.java | 25 +++++- .../cadastroclienteswing/TelaPrincipal.java | 2 +- mod23e24/ExemplosMod23e24/bin/.gitignore | 2 + .../src/Exercise_mod23/Genders_list.java | 90 +++++++++---------- .../src/Exercise_mod23/Person.java | 30 +++++++ .../br/com/rpires/dao/Junit/ContratoDao.java | 6 +- .../br/com/rpires/ContratoServiceTest.java | 5 +- .../br/com/rpires/dao/generic/GenericDAO.java | 4 +- 16 files changed, 143 insertions(+), 225 deletions(-) delete mode 100644 docker/postgresl/docker-compose (2).yml delete mode 100644 docker/servicos/docker-compose (2).yml delete mode 100644 docker/servicos/prometheus (2).yml delete mode 100644 mod1/TesteAPI/src/main/java/module-info.java create mode 100644 mod23e24/ExemplosMod23e24/bin/.gitignore create mode 100644 mod23e24/ExemplosMod23e24/src/Exercise_mod23/Person.java diff --git a/docker/postgresl/docker-compose (2).yml b/docker/postgresl/docker-compose (2).yml deleted file mode 100644 index 08d7e52..0000000 --- a/docker/postgresl/docker-compose (2).yml +++ /dev/null @@ -1,39 +0,0 @@ -version: '3' - -services: - ebac-postgres-compose: - image: postgres - environment: - POSTGRES_PASSWORD: "admin" - ports: - - "15432:5432" - volumes: - - /Users/rodrigo.pires/dev/docker/volumes/PostgreSQL:/var/lib/postgresql/data - networks: - - postgres-ebac-network - - ebac-pgadmin-compose: - image: dpage/pgadmin4 - environment: - PGADMIN_DEFAULT_EMAIL: "rpires@admin.com" - PGADMIN_DEFAULT_PASSWORD: "admin" - ports: - - "16543:80" - depends_on: - - ebac-postgres-compose - networks: - - postgres-ebac-network - - ebac-mysql-compose: - image: mysql/mysql-server:latest - environment: - MYSQL_ROOT_PASSWORD: "admin" - MYSQL_DATABASE: 'vendas_online' - MYSQL_USER: 'admin' - MYSQL_PASSWORD: 'admin' - ports: - - "3306:3306" - -networks: - postgres-ebac-network: - driver: bridge \ No newline at end of file diff --git a/docker/postgresl/docker-compose.yml b/docker/postgresl/docker-compose.yml index 08d7e52..4a1f091 100644 --- a/docker/postgresl/docker-compose.yml +++ b/docker/postgresl/docker-compose.yml @@ -8,7 +8,7 @@ services: ports: - "15432:5432" volumes: - - /Users/rodrigo.pires/dev/docker/volumes/PostgreSQL:/var/lib/postgresql/data + - C:\Users\Micro\IdeaProjects\Java_EBAC\backend-java-ebac\docker\postgresl:/var/lib/postgresql/data2 networks: - postgres-ebac-network diff --git a/docker/servicos/docker-compose (2).yml b/docker/servicos/docker-compose (2).yml deleted file mode 100644 index 4900d89..0000000 --- a/docker/servicos/docker-compose (2).yml +++ /dev/null @@ -1,88 +0,0 @@ -version: "3.7" - -networks: - vendas-online-net: - name: vendas-online-net - driver: bridge - - -services: - - config-server: - image: vendas-online/config-server:latest - container_name: "vendas-online-config-server" - networks: - - vendas-online-net - ports: - - 8888:8888 - - discovery-service: - image: vendas-online/dicovery-server:latest - container_name: "vendas-online-discovery-server" - environment: - SPRING_CLOUD_CONFIG_URI: http://config-server:8888 - networks: - - vendas-online-net - ports: - - 9091:9091 - depends_on: - - config-server - - vendas-online-mongo-database: - image: mongo:latest - container_name: "vendas-online-database" - networks: - - vendas-online-net - ports: - - 28017:27017 - - cliente-service: - image: vendas-online/cliente-service:latest - container_name: "vendas-online-cliente-service" - environment: - PORT: "8080" - SPRING_CLOUD_CONFIG_URI: http://config-server:8888 - MONGODB_URL: vendas-online-mongo-database - DISCOVERY_HOST: discovery-service - networks: - - vendas-online-net - ports: - - 8081:8080 - depends_on: - - config-server - - discovery-service - - vendas-online-mongo-database - - produto-service: - image: vendas-online/produto-service:latest - container_name: "vendas-online-produto-service" - environment: - PORT: "8080" - SPRING_CLOUD_CONFIG_URI: http://config-server:8888 - MONGODB_URL: vendas-online-mongo-database - DISCOVERY_HOST: discovery-service - networks: - - vendas-online-net - ports: - - 8082:8080 - depends_on: - - config-server - - discovery-service - - vendas-online-mongo-database - - venda-service: - image: vendas-online/venda-service:latest - container_name: "vendas-online-venda-service" - environment: - PORT: "8080" - SPRING_CLOUD_CONFIG_URI: http://config-server:8888 - MONGODB_URL: vendas-online-mongo-database - DISCOVERY_HOST: discovery-service - networks: - - vendas-online-net - ports: - - 8083:8080 - depends_on: - - config-server - - discovery-service - - vendas-online-mongo-database \ No newline at end of file diff --git a/docker/servicos/prometheus (2).yml b/docker/servicos/prometheus (2).yml deleted file mode 100644 index 5384c1f..0000000 --- a/docker/servicos/prometheus (2).yml +++ /dev/null @@ -1,26 +0,0 @@ -# my global config -global: - scrape_interval: 15s # Set the scrape interval to every 15 seconds. Default is every 1 minute. - evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute. - # scrape_timeout is set to the global default (10s). - -# Load rules once and periodically evaluate them according to the global 'evaluation_interval'. -rule_files: - # - "first_rules.yml" - # - "second_rules.yml" - -# A scrape configuration containing exactly one endpoint to scrape: -# Here it's Prometheus itself. -scrape_configs: - # The job name is added as a label `job=` to any timeseries scraped from this config. - - job_name: 'prometheus' - # metrics_path defaults to '/metrics' - # scheme defaults to 'http'. - static_configs: - - targets: ['127.0.0.1:9090'] - - - job_name: 'spring-actuator' - metrics_path: '/actuator/prometheus' - scrape_interval: 5s - static_configs: - - targets: ['192.168.99.113:8080'] \ No newline at end of file diff --git a/mod1/TesteAPI/src/main/java/module-info.java b/mod1/TesteAPI/src/main/java/module-info.java deleted file mode 100644 index 8a3f359..0000000 --- a/mod1/TesteAPI/src/main/java/module-info.java +++ /dev/null @@ -1,13 +0,0 @@ -/** - * - */ -/** - * - */ -module backend_java_ebac { - requires java.net.http; - requires java.desktop; - requires jdk.incubator.vector; - requires org.junit.jupiter.api; - requires junit; -} \ No newline at end of file diff --git a/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortDinamico.java b/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortDinamico.java index cf35d2c..5ec79d7 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortDinamico.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortDinamico.java @@ -24,7 +24,7 @@ public static void main(String args[]) { System.out.println(" "); for(i = 0; i vet[j + 1]){ aux = vet[j]; vet[j] = vet[j+1]; diff --git a/mod14/CadastroCliente/src/br/com/rpires/dao/ClienteMapDAO.java b/mod14/CadastroCliente/src/br/com/rpires/dao/ClienteMapDAO.java index 2436e7d..6bc344a 100644 --- a/mod14/CadastroCliente/src/br/com/rpires/dao/ClienteMapDAO.java +++ b/mod14/CadastroCliente/src/br/com/rpires/dao/ClienteMapDAO.java @@ -9,7 +9,7 @@ /** * @author rodrigo.pires */ -public class ClienteMapDAO implements IClienteDAO { +public class ClienteMapDAO implements IClienteDAO { private Map map; @@ -57,4 +57,28 @@ public Cliente consultar(Long cpf) { public Collection buscarTodos() { return this.map.values(); } + + @Override + public Boolean cadastrar(Object entity) { + // TODO Auto-generated method stub + return null; + } + + @Override + public void excluir(Object valor) { + // TODO Auto-generated method stub + + } + + @Override + public void alterar(Object entity) { + // TODO Auto-generated method stub + + } + + @Override + public Cliente consultar(Object valor) { + // TODO Auto-generated method stub + return null; + } } diff --git a/mod14/CadastroCliente/src/br/com/rpires/dao/IClienteDAO.java b/mod14/CadastroCliente/src/br/com/rpires/dao/IClienteDAO.java index 864c900..ec10348 100644 --- a/mod14/CadastroCliente/src/br/com/rpires/dao/IClienteDAO.java +++ b/mod14/CadastroCliente/src/br/com/rpires/dao/IClienteDAO.java @@ -19,4 +19,12 @@ public interface IClienteDAO { public Cliente consultar(E valor); public Collection buscarTodos(); + + void excluir(Long cpf); + + void alterar(Cliente cliente); + + Cliente consultar(Long cpf); + + Boolean cadastrar(Cliente cliente); } diff --git a/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/ClienteSetDAO.java b/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/ClienteSetDAO.java index bde7821..c804c23 100644 --- a/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/ClienteSetDAO.java +++ b/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/ClienteSetDAO.java @@ -13,8 +13,9 @@ /** * - * @author rodrigo.pires + * @author Steve Vaz */ +@SuppressWarnings("rawtypes") public class ClienteSetDAO implements IClienteDAO { private Set set; @@ -75,4 +76,26 @@ public Collection buscarTodos() { return this.set; } + public Boolean cadastrar(Object entity) { + // TODO Auto-generated method stub + return null; + } + + public void excluir(Object valor) { + // TODO Auto-generated method stub + + } + + @Override + public void alterar(Object entity) { + // TODO Auto-generated method stub + + } + + @Override + public Cliente consultar(Object valor) { + // TODO Auto-generated method stub + return null; + } + } diff --git a/mod14/ExemplosNetBeans/CadastroClienteSwing/src/cadastroclienteswing/TelaPrincipal.java b/mod14/ExemplosNetBeans/CadastroClienteSwing/src/cadastroclienteswing/TelaPrincipal.java index 6cd1651..0bcc4c2 100644 --- a/mod14/ExemplosNetBeans/CadastroClienteSwing/src/cadastroclienteswing/TelaPrincipal.java +++ b/mod14/ExemplosNetBeans/CadastroClienteSwing/src/cadastroclienteswing/TelaPrincipal.java @@ -13,7 +13,7 @@ /** * - * @author rodrigo.pires + * @author Steve Vaz */ public class TelaPrincipal extends javax.swing.JFrame { diff --git a/mod23e24/ExemplosMod23e24/bin/.gitignore b/mod23e24/ExemplosMod23e24/bin/.gitignore new file mode 100644 index 0000000..a503b91 --- /dev/null +++ b/mod23e24/ExemplosMod23e24/bin/.gitignore @@ -0,0 +1,2 @@ +/Exercise_mod23/ +/br/ diff --git a/mod23e24/ExemplosMod23e24/src/Exercise_mod23/Genders_list.java b/mod23e24/ExemplosMod23e24/src/Exercise_mod23/Genders_list.java index 3b43589..4e35bcd 100644 --- a/mod23e24/ExemplosMod23e24/src/Exercise_mod23/Genders_list.java +++ b/mod23e24/ExemplosMod23e24/src/Exercise_mod23/Genders_list.java @@ -2,57 +2,47 @@ import java.util.ArrayList; import java.util.List; +import java.util.Scanner; import java.util.stream.Collectors; -import org.junit.Test; // Importe do pacote correto - -class Pessoa { - private String nome; - private String sexo; - private String nacionalidade; - - public Pessoa() { - - } - - public Pessoa(String nome, String sexo, String nacionalidade) { - this.nome = nome; - this.sexo = sexo; - this.nacionalidade = nacionalidade; - } - - public String getNome() { - return nome; - } - - public String getSexo() { - return sexo; - } - - public String getNacionalidade() { - return nacionalidade; - } -} + +import org.junit.Test; public class Genders_list { - @Test - public void testFilterWomen() { - List pessoas = new ArrayList<>(); - pessoas.add(new Pessoa("Maria", "Feminino", "Brasileira")); - pessoas.add(new Pessoa("João", "Masculino", "Brasileiro")); - pessoas.add(new Pessoa("Sophia", "Feminino", "Espanhola")); - pessoas.add(new Pessoa("Lucas", "Masculino", "Espanhol")); - pessoas.add(new Pessoa("Isabella", "Feminino", "Italiana")); - pessoas.add(new Pessoa("Liam", "Masculino", "Italiano")); - - // Usando Stream e Expressão Lambda para filtrar apenas as mulheres - List mulheres = pessoas.stream() - .filter(pessoa -> pessoa.getSexo().equals("Feminino")) - .collect(Collectors.toList()); - - // Imprimir o nome, sexo e nacionalidade das mulheres - mulheres.forEach(pessoa -> System.out.println("Nome: " - + pessoa.getNome() + ", Sexo: " + pessoa.getSexo() - + ", Nacionalidade: " - + pessoa.getNacionalidade())); - } + + @Test + public void testFilterWomen() { + Scanner sc = new Scanner(System.in); + List pessoas = new ArrayList<>(); + + System.out.print("Enter the number of persons in the list: "); + int n = sc.nextInt(); + + for (int i = 1; i <= n; i++) { + System.out.println("Person #" + i + " data:"); + System.out.print("Enter the name: "); + String name = sc.next(); + System.out.print("Enter the gender of the person (F/M): "); + char gender = sc.next().charAt(0); + System.out.print("Enter the nationality: "); + String nationality = sc.next(); + + Person person = new Person(name, gender, nationality); + pessoas.add(person); + } + + // Usando Stream e Expressão Lambda para filtrar apenas as mulheres + List mulheres = pessoas.stream().filter(pessoa -> pessoa.getGender() == 'F') + .collect(Collectors.toList()); + + // Imprimir o nome, sexo e nacionalidade das mulheres + mulheres.forEach(pessoa -> System.out.println( + "\nNome: " + + pessoa.getNome() + ", Sexo: " + + (pessoa.getGender() == 'F' + ? "Feminino" : "Masculino") + + ", Nacionalidade: " + pessoa.getNationality())); + + sc.close(); + } + } diff --git a/mod23e24/ExemplosMod23e24/src/Exercise_mod23/Person.java b/mod23e24/ExemplosMod23e24/src/Exercise_mod23/Person.java new file mode 100644 index 0000000..8333844 --- /dev/null +++ b/mod23e24/ExemplosMod23e24/src/Exercise_mod23/Person.java @@ -0,0 +1,30 @@ +package Exercise_mod23; + +class Person{ + private String name; + private char gender; + private String nationality; + + public Person() { + + } + + public Person(String name, char gender2, String nationality) { + this.name = name; + this.gender = gender2; + this.nationality = nationality; + } + + public String getNome() { + return name; + } + + public char getGender() { + return gender; + } + + public String getNationality() { + return nationality; + } +} + diff --git a/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/ContratoDao.java b/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/ContratoDao.java index a58005b..a17eda2 100644 --- a/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/ContratoDao.java +++ b/mod23e24/ExemplosMod23e24/src/br/com/rpires/dao/Junit/ContratoDao.java @@ -5,7 +5,11 @@ */ public class ContratoDao implements IContratoDao { - @Override + public ContratoDao(Object buscar, Object excluir, Object atualizar) { + // TODO Auto-generated constructor stub + } + + @Override public String salvar() { throw new UnsupportedOperationException("Não funciona com o banco"); } diff --git a/mod23e24/ExemplosMod23e24/test/br/com/rpires/ContratoServiceTest.java b/mod23e24/ExemplosMod23e24/test/br/com/rpires/ContratoServiceTest.java index b016f6d..f56d204 100644 --- a/mod23e24/ExemplosMod23e24/test/br/com/rpires/ContratoServiceTest.java +++ b/mod23e24/ExemplosMod23e24/test/br/com/rpires/ContratoServiceTest.java @@ -55,7 +55,7 @@ public void atualizar() { @Test(expected = UnsupportedOperationException.class) public void esperadoErroNoSalvarComBancoDeDadosTest() { - IContratoDao dao = new ContratoDao(); + IContratoDao dao = new ContratoDao(atualizar, atualizar, atualizar); IContratoService service = new ContratoService(dao) { @Override public void buscar() { @@ -83,7 +83,8 @@ public void atualizar() { public void methods() { IContratoDao dao; Object excluir = new Object(); - dao = new ContratoDao(buscar, excluir, atualizar); + Object buscar = null; + dao = new ContratoDao(buscar, excluir, atualizar); IContratoService service = new ContratoService(dao) { @Override public void buscar() { diff --git a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/generic/GenericDAO.java b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/generic/GenericDAO.java index 58e3285..f848d45 100644 --- a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/generic/GenericDAO.java +++ b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/generic/GenericDAO.java @@ -34,7 +34,8 @@ public GenericDAO() { this.singletonMap = SingletonMap.getInstance(); } - public E getChave(T entity) throws TipoChaveNaoEncontradaException { + @SuppressWarnings({ "unchecked", "unused" }) + public E getChave(T entity) throws TipoChaveNaoEncontradaException { Field[] fields = entity.getClass().getDeclaredFields(); E returnValue = null; for (Field field : fields) { @@ -74,6 +75,7 @@ public Boolean cadastrar(T entity) throws TipoChaveNaoEncontradaException { } private Map getMapa() { + @SuppressWarnings("unchecked") Map mapaInterno = (Map) this.singletonMap.getMap().get(getTipoClasse()); if (mapaInterno == null) { mapaInterno = new HashMap<>(); From bad390b2e5bb5d60f2ec9aa1896d6aa04e281251 Mon Sep 17 00:00:00 2001 From: Steve Date: Thu, 21 Dec 2023 16:21:25 -0300 Subject: [PATCH 50/65] Modifications in the files and the classes --- .../{ => br/com/rpires}/ExemploScanner1.java | 0 .../applicationGrades.java | 0 ...o.java => ExemploBubbleSortDinamico1.java} | 0 ...tFixo.java => ExemploBubbleSortFixo2.java} | 0 ...ExemplosArray.java => ExemplosArray3.java} | 0 .../rpires/domain/{Aluno.java => Aluno1.java} | 0 .../{Biblioteca.java => Biblioteca2.java} | 0 ...aNotaAluno.java => ComparaNotaAluno3.java} | 0 .../rpires/domain/{Livro.java => Livro4.java} | 0 ...emploHashMap.java => ExemploHashMap1.java} | 0 ...ashMap.java => ExemploLinkedHashMap1.java} | 0 ...ploSalaAula.java => ExemploSalaAula1.java} | 0 ...emploTreeMap.java => ExemploTreeMap1.java} | 0 ...apAluno.java => ExemploTreeMapAluno1.java} | 0 .../src/br/com/rpires/{App.java => App1.java} | 0 ...ClienteMapDAO.java => ClienteMapDAO1.java} | 0 .../{IClienteDAO.java => IClienteDAO1.java} | 0 .../domain/{Cliente.java => Cliente1.java} | 0 ...ClienteMapDAO.java => ClienteMapDAO2.java} | 0 ...ClienteSetDAO.java => ClienteSetDAO2.java} | 0 .../{IClienteDAO.java => IClienteDAO2.java} | 0 .../domain/{Cliente.java => Cliente2.java} | 0 ...ClienteMapDAO.java => ClienteMapDAO3.java} | 0 .../dao/{IClienteDAO.java => IClientDAO.java} | 3 +- .../domain/{Cliente.java => Cliente_2.java} | 0 .../java/br/com/rpires/domain/Produto.java | 12 ++- .../rpires/{AllTests.java => AllTests1.java} | 0 ...viceTest.java => ClienteServiceTest1.java} | 0 .../dao/{ClienteDAO.java => ClienteDAO1.java} | 0 .../{IClienteDAO.java => IClienteDAO2.java} | 0 .../domain/{Cliente.java => Cliente2.java} | 0 .../src/test/main/exercise_mod29/Cliente.java | 55 ++++++++++ .../test/main/exercise_mod29/ClienteDAO.java | 39 +++++++ .../main/exercise_mod29/ClienteDAOTest_1.java | 74 +++++++++++++ .../test/main/exercise_mod29/IClienteDAO.java | 6 ++ .../test/main/exercise_mod29/IProdutoDAO.java | 6 ++ .../test/main/exercise_mod29/IVendasDAO.java | 5 + .../test/main/exercise_mod29/Produto_1.java | 17 +++ .../src/test/main/exercise_mod29/Venda.java | 23 ++++ .../{TipoChave.java => ChaveTipo.java} | 0 .../java/br/com/rpires/dao/ClienteDAO.java | 100 ------------------ .../java/br/com/rpires/dao/IProdutoDAO.java | 15 --- .../{IClienteDAO.java => IProdutoDAO_1.java} | 5 +- .../dao/{IVendaDAO.java => IVendaDAO_1.java} | 0 .../{Persistente.java => Persistence.java} | 0 .../{ProdutoDAO.java => ProdutoDAO_3.java} | 39 +++---- .../domain/{Produto.java => Produto_4.java} | 0 47 files changed, 253 insertions(+), 146 deletions(-) rename mod10/ExemplosMod10/src/br/com/rpires/{ => br/com/rpires}/ExemploScanner1.java (100%) rename mod10/ExemplosMod10/src/br/com/rpires/{exercise_module8 => exercise_module10}/applicationGrades.java (100%) rename mod12/ExemplosMod12/src/br/com/rpires/array/{ExemploBubbleSortDinamico.java => ExemploBubbleSortDinamico1.java} (100%) rename mod12/ExemplosMod12/src/br/com/rpires/array/{ExemploBubbleSortFixo.java => ExemploBubbleSortFixo2.java} (100%) rename mod12/ExemplosMod12/src/br/com/rpires/array/{ExemplosArray.java => ExemplosArray3.java} (100%) rename mod12/ExemplosMod12/src/br/com/rpires/domain/{Aluno.java => Aluno1.java} (100%) rename mod12/ExemplosMod12/src/br/com/rpires/domain/{Biblioteca.java => Biblioteca2.java} (100%) rename mod12/ExemplosMod12/src/br/com/rpires/domain/{ComparaNotaAluno.java => ComparaNotaAluno3.java} (100%) rename mod12/ExemplosMod12/src/br/com/rpires/domain/{Livro.java => Livro4.java} (100%) rename mod12/ExemplosMod12/src/br/com/rpires/map/{ExemploHashMap.java => ExemploHashMap1.java} (100%) rename mod12/ExemplosMod12/src/br/com/rpires/map/{ExemploLinkedHashMap.java => ExemploLinkedHashMap1.java} (100%) rename mod12/ExemplosMod12/src/br/com/rpires/map/{ExemploSalaAula.java => ExemploSalaAula1.java} (100%) rename mod12/ExemplosMod12/src/br/com/rpires/map/{ExemploTreeMap.java => ExemploTreeMap1.java} (100%) rename mod12/ExemplosMod12/src/br/com/rpires/map/{ExemploTreeMapAluno.java => ExemploTreeMapAluno1.java} (100%) rename mod14/ExemplosMod14Professor/src/br/com/rpires/{App.java => App1.java} (100%) rename mod14/ExemplosMod14Professor/src/br/com/rpires/dao/{ClienteMapDAO.java => ClienteMapDAO1.java} (100%) rename mod14/ExemplosMod14Professor/src/br/com/rpires/dao/{IClienteDAO.java => IClienteDAO1.java} (100%) rename mod14/ExemplosMod14Professor/src/br/com/rpires/domain/{Cliente.java => Cliente1.java} (100%) rename mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/{ClienteMapDAO.java => ClienteMapDAO2.java} (100%) rename mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/{ClienteSetDAO.java => ClienteSetDAO2.java} (100%) rename mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/{IClienteDAO.java => IClienteDAO2.java} (100%) rename mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/domain/{Cliente.java => Cliente2.java} (100%) rename mod17/ExemplosMod17/src/cadastro/dao/{ClienteMapDAO.java => ClienteMapDAO3.java} (100%) rename mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/{IClienteDAO.java => IClientDAO.java} (66%) rename mod25/ExemploVendasMod25/src/main/java/br/com/rpires/domain/{Cliente.java => Cliente_2.java} (100%) rename mod25/ExemploVendasMod25/src/test/java/br/com/rpires/{AllTests.java => AllTests1.java} (100%) rename mod25/ExemploVendasMod25/src/test/java/br/com/rpires/{ClienteServiceTest.java => ClienteServiceTest1.java} (100%) rename mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/dao/{ClienteDAO.java => ClienteDAO1.java} (100%) rename mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/dao/{IClienteDAO.java => IClienteDAO2.java} (100%) rename mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/domain/{Cliente.java => Cliente2.java} (100%) create mode 100644 mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/Cliente.java create mode 100644 mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/ClienteDAO.java create mode 100644 mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/ClienteDAOTest_1.java create mode 100644 mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/IClienteDAO.java create mode 100644 mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/IProdutoDAO.java create mode 100644 mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/IVendasDAO.java create mode 100644 mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/Produto_1.java create mode 100644 mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/Venda.java rename mod30/ExemploVendasMod30/src/main/java/anotacao/{TipoChave.java => ChaveTipo.java} (100%) delete mode 100644 mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/ClienteDAO.java delete mode 100644 mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/IProdutoDAO.java rename mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/{IClienteDAO.java => IProdutoDAO_1.java} (53%) rename mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/{IVendaDAO.java => IVendaDAO_1.java} (100%) rename mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/{Persistente.java => Persistence.java} (100%) rename mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/{ProdutoDAO.java => ProdutoDAO_3.java} (65%) rename mod30/ExemploVendasMod30/src/main/java/br/com/rpires/domain/{Produto.java => Produto_4.java} (100%) diff --git a/mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner1.java b/mod10/ExemplosMod10/src/br/com/rpires/br/com/rpires/ExemploScanner1.java similarity index 100% rename from mod10/ExemplosMod10/src/br/com/rpires/ExemploScanner1.java rename to mod10/ExemplosMod10/src/br/com/rpires/br/com/rpires/ExemploScanner1.java diff --git a/mod10/ExemplosMod10/src/br/com/rpires/exercise_module8/applicationGrades.java b/mod10/ExemplosMod10/src/br/com/rpires/exercise_module10/applicationGrades.java similarity index 100% rename from mod10/ExemplosMod10/src/br/com/rpires/exercise_module8/applicationGrades.java rename to mod10/ExemplosMod10/src/br/com/rpires/exercise_module10/applicationGrades.java diff --git a/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortDinamico.java b/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortDinamico1.java similarity index 100% rename from mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortDinamico.java rename to mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortDinamico1.java diff --git a/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortFixo.java b/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortFixo2.java similarity index 100% rename from mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortFixo.java rename to mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortFixo2.java diff --git a/mod12/ExemplosMod12/src/br/com/rpires/array/ExemplosArray.java b/mod12/ExemplosMod12/src/br/com/rpires/array/ExemplosArray3.java similarity index 100% rename from mod12/ExemplosMod12/src/br/com/rpires/array/ExemplosArray.java rename to mod12/ExemplosMod12/src/br/com/rpires/array/ExemplosArray3.java diff --git a/mod12/ExemplosMod12/src/br/com/rpires/domain/Aluno.java b/mod12/ExemplosMod12/src/br/com/rpires/domain/Aluno1.java similarity index 100% rename from mod12/ExemplosMod12/src/br/com/rpires/domain/Aluno.java rename to mod12/ExemplosMod12/src/br/com/rpires/domain/Aluno1.java diff --git a/mod12/ExemplosMod12/src/br/com/rpires/domain/Biblioteca.java b/mod12/ExemplosMod12/src/br/com/rpires/domain/Biblioteca2.java similarity index 100% rename from mod12/ExemplosMod12/src/br/com/rpires/domain/Biblioteca.java rename to mod12/ExemplosMod12/src/br/com/rpires/domain/Biblioteca2.java diff --git a/mod12/ExemplosMod12/src/br/com/rpires/domain/ComparaNotaAluno.java b/mod12/ExemplosMod12/src/br/com/rpires/domain/ComparaNotaAluno3.java similarity index 100% rename from mod12/ExemplosMod12/src/br/com/rpires/domain/ComparaNotaAluno.java rename to mod12/ExemplosMod12/src/br/com/rpires/domain/ComparaNotaAluno3.java diff --git a/mod12/ExemplosMod12/src/br/com/rpires/domain/Livro.java b/mod12/ExemplosMod12/src/br/com/rpires/domain/Livro4.java similarity index 100% rename from mod12/ExemplosMod12/src/br/com/rpires/domain/Livro.java rename to mod12/ExemplosMod12/src/br/com/rpires/domain/Livro4.java diff --git a/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploHashMap.java b/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploHashMap1.java similarity index 100% rename from mod12/ExemplosMod12/src/br/com/rpires/map/ExemploHashMap.java rename to mod12/ExemplosMod12/src/br/com/rpires/map/ExemploHashMap1.java diff --git a/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploLinkedHashMap.java b/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploLinkedHashMap1.java similarity index 100% rename from mod12/ExemplosMod12/src/br/com/rpires/map/ExemploLinkedHashMap.java rename to mod12/ExemplosMod12/src/br/com/rpires/map/ExemploLinkedHashMap1.java diff --git a/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploSalaAula.java b/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploSalaAula1.java similarity index 100% rename from mod12/ExemplosMod12/src/br/com/rpires/map/ExemploSalaAula.java rename to mod12/ExemplosMod12/src/br/com/rpires/map/ExemploSalaAula1.java diff --git a/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploTreeMap.java b/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploTreeMap1.java similarity index 100% rename from mod12/ExemplosMod12/src/br/com/rpires/map/ExemploTreeMap.java rename to mod12/ExemplosMod12/src/br/com/rpires/map/ExemploTreeMap1.java diff --git a/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploTreeMapAluno.java b/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploTreeMapAluno1.java similarity index 100% rename from mod12/ExemplosMod12/src/br/com/rpires/map/ExemploTreeMapAluno.java rename to mod12/ExemplosMod12/src/br/com/rpires/map/ExemploTreeMapAluno1.java diff --git a/mod14/ExemplosMod14Professor/src/br/com/rpires/App.java b/mod14/ExemplosMod14Professor/src/br/com/rpires/App1.java similarity index 100% rename from mod14/ExemplosMod14Professor/src/br/com/rpires/App.java rename to mod14/ExemplosMod14Professor/src/br/com/rpires/App1.java diff --git a/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/ClienteMapDAO.java b/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/ClienteMapDAO1.java similarity index 100% rename from mod14/ExemplosMod14Professor/src/br/com/rpires/dao/ClienteMapDAO.java rename to mod14/ExemplosMod14Professor/src/br/com/rpires/dao/ClienteMapDAO1.java diff --git a/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/IClienteDAO.java b/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/IClienteDAO1.java similarity index 100% rename from mod14/ExemplosMod14Professor/src/br/com/rpires/dao/IClienteDAO.java rename to mod14/ExemplosMod14Professor/src/br/com/rpires/dao/IClienteDAO1.java diff --git a/mod14/ExemplosMod14Professor/src/br/com/rpires/domain/Cliente.java b/mod14/ExemplosMod14Professor/src/br/com/rpires/domain/Cliente1.java similarity index 100% rename from mod14/ExemplosMod14Professor/src/br/com/rpires/domain/Cliente.java rename to mod14/ExemplosMod14Professor/src/br/com/rpires/domain/Cliente1.java diff --git a/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/ClienteMapDAO.java b/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/ClienteMapDAO2.java similarity index 100% rename from mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/ClienteMapDAO.java rename to mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/ClienteMapDAO2.java diff --git a/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/ClienteSetDAO.java b/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/ClienteSetDAO2.java similarity index 100% rename from mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/ClienteSetDAO.java rename to mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/ClienteSetDAO2.java diff --git a/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/IClienteDAO.java b/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/IClienteDAO2.java similarity index 100% rename from mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/IClienteDAO.java rename to mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/IClienteDAO2.java diff --git a/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/domain/Cliente.java b/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/domain/Cliente2.java similarity index 100% rename from mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/domain/Cliente.java rename to mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/domain/Cliente2.java diff --git a/mod17/ExemplosMod17/src/cadastro/dao/ClienteMapDAO.java b/mod17/ExemplosMod17/src/cadastro/dao/ClienteMapDAO3.java similarity index 100% rename from mod17/ExemplosMod17/src/cadastro/dao/ClienteMapDAO.java rename to mod17/ExemplosMod17/src/cadastro/dao/ClienteMapDAO3.java diff --git a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/IClienteDAO.java b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/IClientDAO.java similarity index 66% rename from mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/IClienteDAO.java rename to mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/IClientDAO.java index 42b1cea..87bbe30 100644 --- a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/IClienteDAO.java +++ b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/IClientDAO.java @@ -8,9 +8,8 @@ /** * @author rodrigo.pires - * */ -public interface IClienteDAO extends IGenericDAO { +public interface IClienteDAO extends IGenericDAO { } diff --git a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/domain/Cliente.java b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/domain/Cliente_2.java similarity index 100% rename from mod25/ExemploVendasMod25/src/main/java/br/com/rpires/domain/Cliente.java rename to mod25/ExemploVendasMod25/src/main/java/br/com/rpires/domain/Cliente_2.java diff --git a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/domain/Produto.java b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/domain/Produto.java index ba1a753..66e3730 100644 --- a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/domain/Produto.java +++ b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/domain/Produto.java @@ -3,16 +3,16 @@ */ package br.com.rpires.domain; -import java.math.BigDecimal; - import anotacao.TipoChave; import br.com.rpires.dao.Persistente; +import java.math.BigDecimal; + /** * @author rodrigo.pires * */ -public class Produto implements Persistente { +public class Produto_5 implements Persistente { @TipoChave("getCodigo") private String codigo; @@ -54,5 +54,9 @@ public BigDecimal getValor() { public void setValor(BigDecimal valor) { this.valor = valor; } - + + @Override + public String getEndereco() { + return null; + } } diff --git a/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/AllTests.java b/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/AllTests1.java similarity index 100% rename from mod25/ExemploVendasMod25/src/test/java/br/com/rpires/AllTests.java rename to mod25/ExemploVendasMod25/src/test/java/br/com/rpires/AllTests1.java diff --git a/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/ClienteServiceTest.java b/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/ClienteServiceTest1.java similarity index 100% rename from mod25/ExemploVendasMod25/src/test/java/br/com/rpires/ClienteServiceTest.java rename to mod25/ExemploVendasMod25/src/test/java/br/com/rpires/ClienteServiceTest1.java diff --git a/mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/dao/ClienteDAO.java b/mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/dao/ClienteDAO1.java similarity index 100% rename from mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/dao/ClienteDAO.java rename to mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/dao/ClienteDAO1.java diff --git a/mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/dao/IClienteDAO.java b/mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/dao/IClienteDAO2.java similarity index 100% rename from mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/dao/IClienteDAO.java rename to mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/dao/IClienteDAO2.java diff --git a/mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/domain/Cliente.java b/mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/domain/Cliente2.java similarity index 100% rename from mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/domain/Cliente.java rename to mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/domain/Cliente2.java diff --git a/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/Cliente.java b/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/Cliente.java new file mode 100644 index 0000000..57c6a12 --- /dev/null +++ b/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/Cliente.java @@ -0,0 +1,55 @@ +package exercise_mod29; + +public class Cliente_1 { + private String nome; + private String email; + private String telefone; + private int id; + private int ClienteId; + + public Cliente_1(String nome, String email, String telefone, int id) { + this.nome = nome; + this.email = email; + this.telefone = telefone; + this.id = id; + } + + // getters e setters + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public String getTelefone() { + return telefone; + } + + public void setTelefone(String telefone) { + this.telefone = telefone; + } + + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public int getClienteId() { + return ClienteId; + } +} + diff --git a/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/ClienteDAO.java b/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/ClienteDAO.java new file mode 100644 index 0000000..46bff5a --- /dev/null +++ b/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/ClienteDAO.java @@ -0,0 +1,39 @@ +package exercise_mod29; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.SQLException; + +public class ClienteDAO { + + private static final String URL = "jdbc:postgresql://localhost:15432/postgres"; + private static final String USER = "rpires@admin.com"; + private static final String PASSWORD = "admin"; + + public void cadastrarCliente(Cliente cliente) throws SQLException { + try (Connection connection = DriverManager.getConnection(URL, USER, PASSWORD)) { + String sql = "INSERT INTO cliente (nome, email, telefone) VALUES (?, ?, ?)"; + try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) { + preparedStatement.setString(1, cliente.getNome()); + preparedStatement.setString(2, cliente.getEmail()); + preparedStatement.setString(3, cliente.getTelefone()); + + preparedStatement.executeUpdate(); + } + } + } + + public void excluirCliente(int clienteId) { + try (Connection connection = DriverManager.getConnection(URL, USER, PASSWORD)) { + String sql = "DELETE FROM clientes WHERE cliente_id = ?"; + try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) { + preparedStatement.setInt(1, clienteId); + preparedStatement.executeUpdate(); + } + } catch (SQLException e) { + e.printStackTrace(); + } + } + +} diff --git a/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/ClienteDAOTest_1.java b/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/ClienteDAOTest_1.java new file mode 100644 index 0000000..7467e29 --- /dev/null +++ b/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/ClienteDAOTest_1.java @@ -0,0 +1,74 @@ +package exercise_mod29; + +import static org.junit.Assert.*; + +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; + +import br.com.rpires.Cliente; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class ClienteDAOTest_1 { + + private static final String URL = "jdbc:postgresql://localhost:15432/cliente"; + private static final String USER = "rpires@admin.com"; + private static final String PASSWORD = "admin"; + + private ClienteDAO_1 clienteDAO; + + @Before + public void setUp() throws SQLException { + clienteDAO = new ClienteDAO_1(); + criarTabelaCliente(); + } + + @After + public void tearDown() throws SQLException { + droparTabelaCliente(); + } + + @Test + public void testCadastrarCliente() throws SQLException { + Cliente cliente = new Cliente("Teste", "steve@gmail.com", "123456789", 4); + clienteDAO.cadastrarCliente(cliente); + + // Verifica se o cliente foi cadastrado corretamente + try (Connection connection = DriverManager.getConnection(URL, USER, PASSWORD)) { + String sql = "SELECT * FROM cliente WHERE nome = 'Teste'"; + try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) { + try (ResultSet resultSet = preparedStatement.executeQuery()) { + assertTrue(resultSet.next()); + assertEquals("rpires@admin.com", resultSet.getString("email")); + } + } + } + } + + private void criarTabelaCliente() throws SQLException { + try (Connection connection = DriverManager.getConnection(URL, USER, PASSWORD)) { + String sql = "CREATE TABLE IF NOT EXISTS cliente (" + + "id SERIAL PRIMARY KEY," + + "nome VARCHAR(255) NOT NULL," + + "email VARCHAR(255) NOT NULL," + + "telefone VARCHAR(20)" + + ")"; + try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) { + preparedStatement.executeUpdate(); + } + } + } + + private void droparTabelaCliente() throws SQLException { + try (Connection connection = DriverManager.getConnection(URL, USER, PASSWORD)) { + String sql = "DROP TABLE IF EXISTS cliente"; + try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) { + preparedStatement.executeUpdate(); + } + } + } +} diff --git a/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/IClienteDAO.java b/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/IClienteDAO.java new file mode 100644 index 0000000..832ecdf --- /dev/null +++ b/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/IClienteDAO.java @@ -0,0 +1,6 @@ +package exercise_mod29; + +public interface IClienteDAO { + void cadastrarCliente(Cliente cliente); +} + diff --git a/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/IProdutoDAO.java b/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/IProdutoDAO.java new file mode 100644 index 0000000..4366b8d --- /dev/null +++ b/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/IProdutoDAO.java @@ -0,0 +1,6 @@ +package exercise_mod29; + +public interface IProdutoDAO { + void cadastrarProduto(Produto produto); +} + diff --git a/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/IVendasDAO.java b/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/IVendasDAO.java new file mode 100644 index 0000000..6a7dbf3 --- /dev/null +++ b/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/IVendasDAO.java @@ -0,0 +1,5 @@ +package exercise_mod29; + +public interface IVendasDAO { + void registrarVenda(Venda venda); +} diff --git a/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/Produto_1.java b/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/Produto_1.java new file mode 100644 index 0000000..903fd40 --- /dev/null +++ b/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/Produto_1.java @@ -0,0 +1,17 @@ +package exercise_mod29; + +import java.math.BigDecimal; + +public class Produto { + private final String nome; + + public Produto(String nome, BigDecimal ignoredPreco) { + this.nome = nome; + } + + // getters e setters + public String getNome() { + return nome; + } + +} diff --git a/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/Venda.java b/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/Venda.java new file mode 100644 index 0000000..41de0ae --- /dev/null +++ b/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/Venda.java @@ -0,0 +1,23 @@ +package exercise_mod29; + +import java.math.BigDecimal; + +public class Venda { + private final int clienteId; + private final int quantidade; + + public Venda(int clienteId, int ignoredProdutoId, int quantidade, BigDecimal ignoredTotal) { + this.clienteId = clienteId; + this.quantidade = quantidade; + } + + // getters e setters + public int getClienteId() { + return clienteId; + } + + public int getQuantidade() { + return quantidade; + } + +} diff --git a/mod30/ExemploVendasMod30/src/main/java/anotacao/TipoChave.java b/mod30/ExemploVendasMod30/src/main/java/anotacao/ChaveTipo.java similarity index 100% rename from mod30/ExemploVendasMod30/src/main/java/anotacao/TipoChave.java rename to mod30/ExemploVendasMod30/src/main/java/anotacao/ChaveTipo.java diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/ClienteDAO.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/ClienteDAO.java deleted file mode 100644 index 9479efb..0000000 --- a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/ClienteDAO.java +++ /dev/null @@ -1,100 +0,0 @@ -/** - * - */ -package br.com.rpires.dao; - -import java.sql.PreparedStatement; -import java.sql.SQLException; - -import br.com.rpires.dao.generic.GenericDAO; -import br.com.rpires.domain.Cliente; - -/** - * @author rodrigo.pires - * - */ -public class ClienteDAO extends GenericDAO implements IClienteDAO { - - public ClienteDAO() { - super(); - } - - @Override - public Class getTipoClasse() { - return Cliente.class; - } - - @Override - public void atualiarDados(Cliente entity, Cliente entityCadastrado) { - entityCadastrado.setCidade(entity.getCidade()); - entityCadastrado.setCpf(entity.getCpf()); - entityCadastrado.setEnd(entity.getEnd()); - entityCadastrado.setEstado(entity.getEstado()); - entityCadastrado.setNome(entity.getNome()); - entityCadastrado.setNumero(entity.getNumero()); - entityCadastrado.setTel(entity.getTel()); - - } - - @Override - protected String getQueryInsercao() { - StringBuilder sb = new StringBuilder(); - sb.append("INSERT INTO TB_CLIENTE "); - sb.append("(ID, NOME, CPF, TEL, ENDERECO, NUMERO, CIDADE, ESTADO)"); - sb.append("VALUES (nextval('sq_cliente'),?,?,?,?,?,?,?)"); - return sb.toString(); - } - - @Override - protected void setParametrosQueryInsercao(PreparedStatement stmInsert, Cliente entity) throws SQLException { - stmInsert.setString(1, entity.getNome()); - stmInsert.setLong(2, entity.getCpf()); - stmInsert.setLong(3, entity.getTel()); - stmInsert.setString(4, entity.getEnd()); - stmInsert.setLong(5, entity.getNumero()); - stmInsert.setString(6, entity.getCidade()); - stmInsert.setString(7, entity.getEstado()); - - } - - @Override - protected String getQueryExclusao() { - return "DELETE FROM TB_CLIENTE WHERE CPF = ?"; - } - - @Override - protected void setParametrosQueryExclusao(PreparedStatement stmExclusao, Long valor) throws SQLException { - stmExclusao.setLong(1, valor); - } - - @Override - protected String getQueryAtualizacao() { - StringBuilder sb = new StringBuilder(); - sb.append("UPDATE TB_CLIENTE "); - sb.append("SET NOME = ?,"); - sb.append("TEL = ?,"); - sb.append("ENDERECO = ?,"); - sb.append("NUMERO = ?,"); - sb.append("CIDADE = ?,"); - sb.append("ESTADO = ?"); - sb.append(" WHERE CPF = ?"); - return sb.toString(); - } - - @Override - protected void setParametrosQueryAtualizacao(PreparedStatement stmUpdate, Cliente entity) throws SQLException { - stmUpdate.setString(1, entity.getNome()); - stmUpdate.setLong(2, entity.getTel()); - stmUpdate.setString(3, entity.getEnd()); - stmUpdate.setLong(4, entity.getNumero()); - stmUpdate.setString(5, entity.getCidade()); - stmUpdate.setString(6, entity.getEstado()); - stmUpdate.setLong(7, entity.getCpf()); - } - - @Override - protected void setParametrosQuerySelect(PreparedStatement stmSelect, Long valor) throws SQLException { - stmSelect.setLong(1, valor); - } - -} diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/IProdutoDAO.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/IProdutoDAO.java deleted file mode 100644 index 83321b7..0000000 --- a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/IProdutoDAO.java +++ /dev/null @@ -1,15 +0,0 @@ -/** - * - */ -package br.com.rpires.dao; - -import br.com.rpires.dao.generic.IGenericDAO; -import br.com.rpires.domain.Produto; - -/** - * @author rodrigo.pires - * - */ -public interface IProdutoDAO extends IGenericDAO{ - -} diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/IClienteDAO.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/IProdutoDAO_1.java similarity index 53% rename from mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/IClienteDAO.java rename to mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/IProdutoDAO_1.java index 42b1cea..1ccc41c 100644 --- a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/IClienteDAO.java +++ b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/IProdutoDAO_1.java @@ -4,13 +4,12 @@ package br.com.rpires.dao; import br.com.rpires.dao.generic.IGenericDAO; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Produto_4; /** * @author rodrigo.pires * */ -public interface IClienteDAO extends IGenericDAO { - +public interface IProdutoDAO extends IGenericDAO{ } diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/IVendaDAO.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/IVendaDAO_1.java similarity index 100% rename from mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/IVendaDAO.java rename to mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/IVendaDAO_1.java diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/Persistente.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/Persistence.java similarity index 100% rename from mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/Persistente.java rename to mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/Persistence.java diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/ProdutoDAO.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/ProdutoDAO_3.java similarity index 65% rename from mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/ProdutoDAO.java rename to mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/ProdutoDAO_3.java index 22764ac..1e1b970 100644 --- a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/ProdutoDAO.java +++ b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/ProdutoDAO_3.java @@ -7,25 +7,25 @@ import java.sql.SQLException; import br.com.rpires.dao.generic.GenericDAO; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Produto_4; /** * @author rodrigo.pires * */ -public class ProdutoDAO extends GenericDAO implements IProdutoDAO { +public abstract class ProdutoDAO extends GenericDAO implements IProdutoDAO_1 { public ProdutoDAO() { super(); } @Override - public Class getTipoClasse() { - return Produto.class; + public Class getTipoClasse() { + return Produto_4.class; } @Override - public void atualiarDados(Produto entity, Produto entityCadastrado) { + public void atualiarDados(Produto_4 entity, Produto_4 entityCadastrado) { entityCadastrado.setCodigo(entity.getCodigo()); entityCadastrado.setDescricao(entity.getDescricao()); entityCadastrado.setNome(entity.getNome()); @@ -34,15 +34,11 @@ public void atualiarDados(Produto entity, Produto entityCadastrado) { @Override protected String getQueryInsercao() { - StringBuilder sb = new StringBuilder(); - sb.append("INSERT INTO TB_PRODUTO "); - sb.append("(ID, CODIGO, NOME, DESCRICAO, VALOR)"); - sb.append("VALUES (nextval('sq_produto'),?,?,?,?)"); - return sb.toString(); + return "INSERT INTO TB_PRODUTO " + + "(ID, CODIGO, NOME, DESCRICAO, VALOR)" + + "VALUES (nextval('sq_produto'),?,?,?,?)"; } - - @Override - protected void setParametrosQueryInsercao(PreparedStatement stmInsert, Produto entity) throws SQLException { + protected void setParametrosQueryInsercao(PreparedStatement stmInsert, Produto_4 entity) throws SQLException { stmInsert.setString(1, entity.getCodigo()); stmInsert.setString(2, entity.getNome()); stmInsert.setString(3, entity.getDescricao()); @@ -61,18 +57,17 @@ protected void setParametrosQueryExclusao(PreparedStatement stmExclusao, String @Override protected String getQueryAtualizacao() { - StringBuilder sb = new StringBuilder(); - sb.append("UPDATE TB_PRODUTO "); - sb.append("SET CODIGO = ?,"); - sb.append("NOME = ?,"); - sb.append("DESCRICAO = ?,"); - sb.append("VALOR = ?"); - sb.append(" WHERE CODIGO = ?"); - return sb.toString(); + String sb = "UPDATE TB_PRODUTO " + + "SET CODIGO = ?," + + "NOME = ?," + + "DESCRICAO = ?," + + "VALOR = ?" + + " WHERE CODIGO = ?"; + return sb; } @Override - protected void setParametrosQueryAtualizacao(PreparedStatement stmUpdate, Produto entity) throws SQLException { + protected void setParametrosQueryAtualizacao(PreparedStatement stmUpdate, Produto_4 entity) throws SQLException { stmUpdate.setString(1, entity.getCodigo()); stmUpdate.setString(2, entity.getNome()); stmUpdate.setString(3, entity.getDescricao()); diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/domain/Produto.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/domain/Produto_4.java similarity index 100% rename from mod30/ExemploVendasMod30/src/main/java/br/com/rpires/domain/Produto.java rename to mod30/ExemploVendasMod30/src/main/java/br/com/rpires/domain/Produto_4.java From 0155e5fcc0d91cc8f53e2f84b5cfc29147319cf7 Mon Sep 17 00:00:00 2001 From: Steve Date: Thu, 21 Dec 2023 16:21:38 -0300 Subject: [PATCH 51/65] Modifications in the files and the classes --- .gitignore | 1 + docker/postgresl/docker-compose.yml | 7 +- mod1/TesteAPI/Untitled 1 | 4 + .../rpires/TesteAPI/HttpServletResponse.java | 10 - .../com/rpires/TesteAPI/RequestMapping.java | 7 - .../com/rpires/TesteAPI/TesteController.java | 19 +- .../exercise_module10/applicationGrades.java | 4 +- .../src/br/com/rpires/domain/Aluno.java | 10 +- .../src/br/com/rpires/domain/Biblioteca.java | 8 +- .../com/rpires/domain/ComparaNotaAluno.java | 4 +- .../rpires/list/ExemploArrayListAluno.java | 43 ++- .../rpires/list/ExemploLinkedListAluno.java | 22 +- .../br/com/rpires/map/ExemploSalaAula.java | 20 +- .../com/rpires/map/ExemploTreeMapAluno.java | 48 +-- .../com/rpires/set/ExemploHashSetAluno.java | 44 +-- .../com/rpires/set/ExemploTreeSetAluno.java | 12 +- .../com/rpires/set/TestesPerformanceSet.java | 14 +- .../Exercise_mod12_part2.java | 24 +- .../array/ExemploBubbleSortDinamico1.java | 2 +- .../rpires/array/ExemploBubbleSortFixo2.java | 2 +- .../br/com/rpires/array/ExemplosArray3.java | 2 +- .../src/br/com/rpires/domain/Aluno1.java | 8 +- .../src/br/com/rpires/domain/Biblioteca2.java | 12 +- .../com/rpires/domain/ComparaNotaAluno3.java | 9 +- .../src/br/com/rpires/domain/Livro4.java | 2 +- .../br/com/rpires/map/ExemploHashMap1.java | 2 +- .../com/rpires/map/ExemploLinkedHashMap1.java | 2 +- .../br/com/rpires/map/ExemploSalaAula1.java | 2 +- .../br/com/rpires/map/ExemploTreeMap1.java | 2 +- .../com/rpires/map/ExemploTreeMapAluno1.java | 2 +- .../src/br/com/rpires/App.java | 15 +- .../src/br/com/rpires/dao/ClienteMapDAO.java | 40 +-- .../src/br/com/rpires/dao/IClienteDAO.java | 30 +- .../src/br/com/rpires/domain/Cliente.java | 32 +- .../src/br/com/rpires/App1.java | 273 +++++++++--------- .../src/br/com/rpires/dao/ClienteMapDAO1.java | 55 +++- .../src/br/com/rpires/dao/ClienteSetDAO.java | 32 +- .../src/br/com/rpires/dao/IClienteDAO1.java | 12 +- .../src/br/com/rpires/domain/Cliente1.java | 8 +- .../javaapplication1/dao/ClienteMapDAO2.java | 6 +- .../javaapplication1/dao/ClienteSetDAO2.java | 4 +- .../javaapplication1/dao/IClienteDAO2.java | 2 +- .../src/javaapplication1/domain/Cliente2.java | 6 +- mod17/ExemplosMod17/src/cadastro/App.java | 4 +- mod17/ExemplosMod17/src/cadastro/App2.java | 140 ++------- .../src/cadastro/dao/ClienteMapDAO3.java | 14 +- .../src/cadastro/dao/IClienteDAO.java | 21 +- .../src/cadastro/dao/IProdutoDAO.java | 12 +- .../src/cadastro/dao/ProdutoDAO.java | 83 ++++-- .../src/cadastro/dao/generic/GenericDAO.java | 18 +- .../src/cadastro/dao/generic/IGenericDAO.java | 6 +- .../src/cadastro/domain/Cliente.java | 2 - .../src/generic/ExemplosJavaGenerics.java | 4 +- .../rpires/reflections/AppReflections.java | 8 +- .../reflections/anotacao/cadastro/App.java | 7 - .../reflections/anotacao/cadastro/App2.java | 6 +- .../anotacao/cadastro/SingletonMap.java | 6 +- .../anotacao/cadastro/dao/ClienteMapDAO.java | 13 + .../anotacao/cadastro/dao/IClienteDAO.java | 7 + .../anotacao/cadastro/dao/ProdutoDAO.java | 5 +- .../cadastro/dao/generic/GenericDAO.java | 26 +- .../cadastro/dao/generic/IGenericDAO.java | 6 + .../controller/LoginController.java | 11 +- .../SpringbootJspApplicationTests.java | 2 +- .../controller/StudentController.java | 23 +- .../repository/StudentRepository.java | 13 - .../lambdas/IntBinaryOperatorClass.java | 2 +- .../br/com/rpires/lambdas/TesteLambdas.java | 7 +- .../rpires/lambdas/TesteLambdasThreads.java | 2 +- .../lambdas/anonimas/AnonimasTeste.java | 4 +- .../lambdas/anonimas/MetodosComLambdas.java | 2 +- .../lambdas/anonimas/MyEventConsumer.java | 2 +- .../anonimas/MyEventConsumerReturn.java | 2 +- .../anonimas/QuandoUtilizarParenteses.java | 12 +- .../lambdas/anonimas/ReferenciaMetodos.java | 2 +- mod22/src/br/com/rpires/CriandoStreams.java | 12 +- mod22/src/br/com/rpires/ExemploDistinct.java | 4 +- mod22/src/br/com/rpires/ExemplosAllMach.java | 4 +- mod22/src/br/com/rpires/ExemplosCollect.java | 2 +- mod22/src/br/com/rpires/ExemplosCount.java | 2 +- mod22/src/br/com/rpires/ExemplosFilter.java | 11 +- mod22/src/br/com/rpires/ExemplosForEach.java | 2 +- mod22/src/br/com/rpires/ExemplosLimit.java | 4 +- mod22/src/br/com/rpires/ExemplosMap.java | 8 +- mod22/src/br/com/rpires/ExemplosOPtional.java | 2 +- mod22/src/br/com/rpires/ExemplosSorted.java | 9 +- mod23e24/ExemplosMod23e24/bin/.gitignore | 2 - .../test/br/com/rpires/AllTests.java | 2 +- .../java/br/com/rpires/dao/ClienteDAO.java | 69 ++++- .../java/br/com/rpires/dao/IClientDAO.java | 5 +- .../java/br/com/rpires/dao/IProdutoDAO.java | 8 +- .../java/br/com/rpires/dao/Persistente.java | 1 + .../java/br/com/rpires/dao/ProdutoDAO.java | 11 +- .../main/java/br/com/rpires/dao/VendaDAO.java | 5 +- .../br/com/rpires/dao/generic/GenericDAO.java | 46 ++- .../com/rpires/dao/generic/IGenericDAO.java | 25 +- .../java/br/com/rpires/domain/Cliente_2.java | 23 +- .../java/br/com/rpires/domain/Produto.java | 4 +- .../com/rpires/domain/ProdutoQuantidade.java | 6 +- .../main/java/br/com/rpires/domain/Venda.java | 14 +- .../com/rpires/services/ClienteService.java | 11 +- .../com/rpires/services/IClienteService.java | 8 +- .../com/rpires/services/IProdutoService.java | 4 +- .../com/rpires/services/ProdutoService.java | 8 +- .../services/generic/GenericService.java | 12 +- .../services/generic/IGenericService.java | 11 +- .../test/java/br/com/rpires/AllTests1.java | 4 +- .../java/br/com/rpires/ClienteDAOTest.java | 40 ++- .../br/com/rpires/ClienteServiceTest1.java | 16 +- .../java/br/com/rpires/ProdutoDAOTest.java | 18 +- .../br/com/rpires/ProdutoServiceTest.java | 12 +- .../test/java/br/com/rpires/VendaDAOTest.java | 46 +-- .../br/com/rpires/dao/ClienteDaoMock.java | 17 +- .../br/com/rpires/dao/ProdutoDaoMock.java | 21 +- .../dao/generic/jdbc/ConnectionFactory.java | 2 +- .../dao/generic/jdbc/dao/ClienteDAO.java | 3 +- .../dao/generic/jdbc/dao/IClienteDAO.java | 2 +- .../java/br/com/rpires/domin/Cliente.java | 4 +- .../test/java/br/com/rpires/ClienteTest.java | 3 +- .../main/br/com/rpires/dao/ClienteDAO1.java | 19 +- .../main/br/com/rpires/dao/IClienteDAO2.java | 16 +- .../main/br/com/rpires/domain/Cliente2.java | 2 +- .../test/main/br/com/rpires/ClienteTest.java | 135 ++++++++- .../src/test/main/exercise_mod29/Cliente.java | 55 ---- .../test/main/exercise_mod29/ClienteDAO.java | 39 --- .../main/exercise_mod29/ClienteDAOTest_1.java | 74 ----- .../test/main/exercise_mod29/IClienteDAO.java | 6 - .../test/main/exercise_mod29/IProdutoDAO.java | 6 - .../test/main/exercise_mod29/IVendasDAO.java | 5 - .../test/main/exercise_mod29/Produto_1.java | 17 -- .../src/test/main/exercise_mod29/Venda.java | 23 -- mod29/exercise_mod29/db.properties | 4 + .../src/application/Program.java | 56 ++++ mod29/exercise_mod29/src/db/DB.java | 70 +++++ mod29/exercise_mod29/src/db/DbException.java | 9 + .../src/db/DbIntegrityException.java | 9 + .../src/model/dao/DaoFactory.java | 16 + .../src/model/dao/DepartmentDao.java | 14 + .../src/model/dao/SellerDao.java | 16 + .../src/model/dao/impl/DepartmentDaoJDBC.java | 153 ++++++++++ .../src/model/dao/impl/SellerDaoJDBC.java | 238 +++++++++++++++ .../src/model/entities/Department.java | 65 +++++ .../src/model/entities/Seller.java | 108 +++++++ .../src/main/java/anotacao/ChaveTipo.java | 2 +- .../java/br/com/rpires/dao/IProdutoDAO_1.java | 2 +- .../java/br/com/rpires/dao/IVendaDAO_1.java | 6 +- .../java/br/com/rpires/dao/Persistence.java | 2 +- .../java/br/com/rpires/dao/ProdutoDAO_3.java | 44 +-- .../main/java/br/com/rpires/dao/VendaDAO.java | 265 +++-------------- .../rpires/dao/factory/ClienteFactory.java | 6 +- .../rpires/dao/factory/ProdutoFactory.java | 6 +- .../dao/factory/ProdutoQuantidadeFactory.java | 4 +- .../com/rpires/dao/factory/VendaFactory.java | 4 +- .../br/com/rpires/dao/generic/GenericDAO.java | 6 +- .../com/rpires/dao/generic/IGenericDAO.java | 4 +- .../java/br/com/rpires/domain/Cliente.java | 4 +- .../com/rpires/domain/ProdutoQuantidade.java | 6 +- .../java/br/com/rpires/domain/Produto_4.java | 15 +- .../main/java/br/com/rpires/domain/Venda.java | 14 +- .../com/rpires/services/ClienteService.java | 11 +- .../com/rpires/services/IClienteService.java | 7 +- .../com/rpires/services/IProdutoService.java | 4 +- .../com/rpires/services/ProdutoService.java | 8 +- .../services/generic/GenericService.java | 5 +- .../services/generic/IGenericService.java | 4 +- .../java/br/com/rpires/ClienteDAOTest.java | 34 +-- .../br/com/rpires/ClienteServiceTest.java | 12 +- .../java/br/com/rpires/ProdutoDAOTest.java | 43 ++- .../br/com/rpires/ProdutoServiceTest.java | 12 +- .../test/java/br/com/rpires/VendaDAOTest.java | 44 +-- .../br/com/rpires/dao/ClienteDaoMock.java | 14 +- .../br/com/rpires/dao/ProdutoDaoMock.java | 14 +- .../src/main/java/META-INF/persistence.xml | 2 +- .../java/br/com/rpires/dao/ClienteDAO.java | 20 +- .../java/br/com/rpires/dao/IClienteDAO.java | 12 +- .../java/br/com/rpires/ClienteDAOTest.java | 22 +- .../main/java/br/com/rpires/dao/AlunoDao.java | 4 +- .../java/br/com/rpires/dao/IAlunoDao.java | 4 +- .../java/br/com/rpires/domain/Computador.java | 8 +- .../java/br/com/rpires/domain/Matricula.java | 6 +- .../java/br/com/rpires/MatriculaTest.java | 8 +- .../java/br/com/rpires/dao/ClienteDAO.java | 14 +- .../java/br/com/rpires/dao/IClienteDAO.java | 4 +- .../java/br/com/rpires/dao/IProdutoDAO.java | 4 +- .../java/br/com/rpires/dao/ProdutoDAO.java | 15 +- .../main/java/br/com/rpires/dao/VendaDAO.java | 5 +- .../rpires/dao/factory/ClienteFactory.java | 6 +- .../rpires/dao/factory/ProdutoFactory.java | 6 +- .../dao/factory/ProdutoQuantidadeFactory.java | 4 +- .../com/rpires/dao/factory/VendaFactory.java | 4 +- .../br/com/rpires/dao/generic/GenericDAO.java | 6 +- .../com/rpires/dao/generic/IGenericDAO.java | 4 +- .../rpires/dao/generic/jpa/GenericJpaDAO.java | 4 +- .../dao/generic/jpa/IGenericJapDAO.java | 4 +- .../java/br/com/rpires/domain/Cliente.java | 4 +- .../java/br/com/rpires/domain/Produto.java | 4 +- .../com/rpires/domain/ProdutoQuantidade.java | 6 +- .../main/java/br/com/rpires/domain/Venda.java | 14 +- .../br/com/rpires/domain/jpa/ClienteJpa.java | 4 +- .../br/com/rpires/domain/jpa/ProdutoJpa.java | 4 +- .../br/com/rpires/domain/jpa/VendaJpa.java | 4 +- .../com/rpires/services/ClienteService.java | 10 +- .../com/rpires/services/IClienteService.java | 6 +- .../com/rpires/services/IProdutoService.java | 4 +- .../com/rpires/services/ProdutoService.java | 8 +- .../services/generic/GenericService.java | 4 +- .../services/generic/IGenericService.java | 4 +- .../generic/jpa/GenericJpaService.java | 5 +- .../generic/jpa/IGenericJpaService.java | 4 +- .../java/br/com/rpires/ClienteDAOTest.java | 34 +-- .../br/com/rpires/ClienteServiceTest.java | 12 +- .../java/br/com/rpires/ProdutoDAOTest.java | 36 +-- .../br/com/rpires/ProdutoServiceTest.java | 12 +- .../test/java/br/com/rpires/VendaDAOTest.java | 44 +-- .../br/com/rpires/dao/ClienteDaoMock.java | 14 +- .../br/com/rpires/dao/ProdutoDaoMock.java | 14 +- .../multistore/shop/OrderRepository.java | 13 +- .../multistore/shop/Repository.java | 5 + .../rpires/controller/ClienteController.java | 24 +- .../java/br/com/rpires/dao/ClienteDAO.java | 6 +- .../java/br/com/rpires/dao/IClienteDAO.java | 4 +- .../br/com/rpires/service/ClienteService.java | 10 +- .../com/rpires/service/IClienteService.java | 6 +- .../rpires/controller/ClienteController.java | 24 +- .../rpires/controller/ProdutoController.java | 24 +- .../rpires/controller/VendaController.java | 14 +- .../rpires/converter/ClienteConverter.java | 6 +- .../rpires/converter/ProdutoConverter.java | 6 +- .../java/br/com/rpires/dao/ClienteDAO.java | 10 +- .../java/br/com/rpires/dao/IClienteDAO.java | 6 +- .../java/br/com/rpires/dao/IProdutoDAO.java | 6 +- .../java/br/com/rpires/dao/ProdutoDAO.java | 10 +- .../main/java/br/com/rpires/dao/VendaDAO.java | 10 +- .../com/rpires/domain/ProdutoQuantidade.java | 6 +- .../main/java/br/com/rpires/domain/Venda.java | 10 +- .../br/com/rpires/service/ClienteService.java | 14 +- .../com/rpires/service/IClienteService.java | 8 +- .../com/rpires/service/IProdutoService.java | 6 +- .../br/com/rpires/service/ProdutoService.java | 12 +- .../br/com/rpires/service/VendaService.java | 6 +- .../DemoSpringBootApplication.java | 8 +- .../rpires/repository/IClienteRepository.java | 4 +- .../SpringBootPrimeiroExemploApplication.java | 8 +- .../rpires/repository/IClienteRepository.java | 4 +- .../exception/RestExceptionHandler.java | 1 - .../vendas/online/errorhandling/ApiError.java | 35 +-- .../errorhandling/ApiValidationError.java | 62 +++- .../src/br/com/rpires/domain/ItemVenda.java | 8 +- .../src/br/com/rpires/domain/Pedido.java | 26 +- .../src/br/com/rpires/domain/Programa1.java | 39 ++- pom.xml | 33 +++ 251 files changed, 2610 insertions(+), 1896 deletions(-) create mode 100644 mod1/TesteAPI/Untitled 1 delete mode 100644 mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/HttpServletResponse.java delete mode 100644 mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/RequestMapping.java delete mode 100644 mod2/springboot-thymeleaf-web-app/src/main/java/net/springboot/javaguides/repository/StudentRepository.java delete mode 100644 mod23e24/ExemplosMod23e24/bin/.gitignore delete mode 100644 mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/Cliente.java delete mode 100644 mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/ClienteDAO.java delete mode 100644 mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/ClienteDAOTest_1.java delete mode 100644 mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/IClienteDAO.java delete mode 100644 mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/IProdutoDAO.java delete mode 100644 mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/IVendasDAO.java delete mode 100644 mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/Produto_1.java delete mode 100644 mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/Venda.java create mode 100644 mod29/exercise_mod29/db.properties create mode 100644 mod29/exercise_mod29/src/application/Program.java create mode 100644 mod29/exercise_mod29/src/db/DB.java create mode 100644 mod29/exercise_mod29/src/db/DbException.java create mode 100644 mod29/exercise_mod29/src/db/DbIntegrityException.java create mode 100644 mod29/exercise_mod29/src/model/dao/DaoFactory.java create mode 100644 mod29/exercise_mod29/src/model/dao/DepartmentDao.java create mode 100644 mod29/exercise_mod29/src/model/dao/SellerDao.java create mode 100644 mod29/exercise_mod29/src/model/dao/impl/DepartmentDaoJDBC.java create mode 100644 mod29/exercise_mod29/src/model/dao/impl/SellerDaoJDBC.java create mode 100644 mod29/exercise_mod29/src/model/entities/Department.java create mode 100644 mod29/exercise_mod29/src/model/entities/Seller.java create mode 100644 mod36-1/exemplos_internet/spring-data-examples/multi-store/src/main/java/example/springdata/multistore/shop/Repository.java create mode 100644 pom.xml diff --git a/.gitignore b/.gitignore index 246fb8c..d42e355 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ # Compiled class file +*bin *.class # Log file diff --git a/docker/postgresl/docker-compose.yml b/docker/postgresl/docker-compose.yml index 4a1f091..dbe88e9 100644 --- a/docker/postgresl/docker-compose.yml +++ b/docker/postgresl/docker-compose.yml @@ -4,19 +4,22 @@ services: ebac-postgres-compose: image: postgres environment: - POSTGRES_PASSWORD: "admin" + PGADMIN_DEFAULT_EMAIL: "rpires@admin.com" + PGADMIN_DEFAULT_PASSWORD: "admin" + PGADMIN_DEFAULT_USERNAME: "steve" ports: - "15432:5432" volumes: - C:\Users\Micro\IdeaProjects\Java_EBAC\backend-java-ebac\docker\postgresl:/var/lib/postgresql/data2 networks: - postgres-ebac-network - + ebac-pgadmin-compose: image: dpage/pgadmin4 environment: PGADMIN_DEFAULT_EMAIL: "rpires@admin.com" PGADMIN_DEFAULT_PASSWORD: "admin" + PGADMIN_DEFAULT_USERNAME: "steve" ports: - "16543:80" depends_on: diff --git a/mod1/TesteAPI/Untitled 1 b/mod1/TesteAPI/Untitled 1 new file mode 100644 index 0000000..c70bcd8 --- /dev/null +++ b/mod1/TesteAPI/Untitled 1 @@ -0,0 +1,4 @@ + + org.springframework.boot + spring-boot-starter-web + diff --git a/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/HttpServletResponse.java b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/HttpServletResponse.java deleted file mode 100644 index 5d132e1..0000000 --- a/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/HttpServletResponse.java +++ /dev/null @@ -1,10 +0,0 @@ -package br.com.rpires.TesteAPI; - -public record HttpServletResponse() { - - public Object getWriter() { - // TODO Auto-generated method stub - return null; - } - -} diff --git a/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/RequestMapping.java b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/RequestMapping.java deleted file mode 100644 index bcc0d87..0000000 --- a/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/RequestMapping.java +++ /dev/null @@ -1,7 +0,0 @@ -package br.com.rpires.TesteAPI; - -public @interface RequestMapping { - - String value(); - -} diff --git a/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/TesteController.java b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/TesteController.java index 9cd2f24..67a2532 100644 --- a/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/TesteController.java +++ b/mod1/TesteAPI/src/main/java/br/com/rpires/TesteAPI/TesteController.java @@ -4,6 +4,8 @@ import java.io.IOException; import java.net.http.HttpResponse; +import org.springframework.web.bind.annotation.RequestMapping; + /** * @author Steve.Vaz */ @@ -16,13 +18,16 @@ public ResponseEntity teste1() { return ResponseEntity.ok("Teste"); } - @GetMapping(value = "/teste2") - public void teste2(HttpServletResponse response) throws IOException { - ((Object) response.getWriter()).write(""); - ((Object) response.getWriter()).write(" "); - ((Object) response.getWriter()).write("

Olá

"); - ((Object) response.getWriter()).write(" "); - ((Object) response.getWriter()).write(""); + @GetMapping(value = "/api/v1/teste/teste2") + @ResponseBody + public String teste2(HttpResponse response) throws IOException { + StringBuilder html = new StringBuilder(); + html.append(""); + html.append(" "); + html.append("

Olá

"); + html.append(" "); + html.append(""); + return html.toString(); } @GetMapping(value = "/teste3/{nome}") diff --git a/mod10/ExemplosMod10/src/br/com/rpires/exercise_module10/applicationGrades.java b/mod10/ExemplosMod10/src/br/com/rpires/exercise_module10/applicationGrades.java index e9e4559..66f7a0d 100644 --- a/mod10/ExemplosMod10/src/br/com/rpires/exercise_module10/applicationGrades.java +++ b/mod10/ExemplosMod10/src/br/com/rpires/exercise_module10/applicationGrades.java @@ -1,4 +1,4 @@ -package exercise_module8; +package exercise_module10; import java.util.Locale; import java.util.Scanner; @@ -39,5 +39,7 @@ public static void main(String[] args) { System.out.println(); System.out.println("Disaproved"); } + + sc.close(); } } diff --git a/mod11/ExemplosMod11/src/br/com/rpires/domain/Aluno.java b/mod11/ExemplosMod11/src/br/com/rpires/domain/Aluno.java index c1ca5f7..04a374e 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/domain/Aluno.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/domain/Aluno.java @@ -5,9 +5,9 @@ /** * @author Steve.Vaz */ -public class Aluno implements Comparable{ +public class Aluno implements Comparable{ - private String nome; + String nome; private String curso; private double nota; private String sala; @@ -81,7 +81,7 @@ public String toString() { * @return */ @Override - public int compareTo(Aluno aluno) { + public int compareTo(Aluno1 aluno) { return this.nome.compareTo(aluno.getNome()); } @@ -89,8 +89,8 @@ public int compareTo(Aluno aluno) { public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - Aluno aluno = (Aluno) o; - return Objects.equals(nome, aluno.nome); + Aluno1 aluno = (Aluno1) o; + return Objects.equals(nome, aluno.getNome()); } @Override diff --git a/mod11/ExemplosMod11/src/br/com/rpires/domain/Biblioteca.java b/mod11/ExemplosMod11/src/br/com/rpires/domain/Biblioteca.java index 6080ef3..a1795ad 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/domain/Biblioteca.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/domain/Biblioteca.java @@ -14,7 +14,7 @@ public class Biblioteca { private String endereco; - private Set livros; + private Set livros; public Biblioteca() { this.livros = new HashSet<>(); @@ -44,7 +44,7 @@ public void setEndereco(String endereco) { this.endereco = endereco; } - public Set getLivros() { + public Set getLivros() { return livros; } @@ -52,11 +52,11 @@ public Set getLivros() { // this.livros = livros; // } - public boolean addLivro(Livro livro) { + public boolean addLivro(Livro4 livro) { return this.livros.add(livro); } - public boolean removeLivro(Livro livro) { + public boolean removeLivro(Livro4 livro) { return this.livros.remove(livro); } } diff --git a/mod11/ExemplosMod11/src/br/com/rpires/domain/ComparaNotaAluno.java b/mod11/ExemplosMod11/src/br/com/rpires/domain/ComparaNotaAluno.java index 07d0ef3..098c71d 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/domain/ComparaNotaAluno.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/domain/ComparaNotaAluno.java @@ -5,10 +5,10 @@ /** * @author Steve.Vaz */ -public class ComparaNotaAluno implements Comparator { +public class ComparaNotaAluno implements Comparator { @Override - public int compare(Aluno o1, Aluno o2) { + public int compare(Aluno1 o1, Aluno1 o2) { //return Double.valueOf(o1.getNota()).compareTo(Double.valueOf(o2.getNota())); //return Double.compare(o2.getNota(), o1.getNota()); return Double.compare(o2.getNota(), o1.getNota()); diff --git a/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploArrayListAluno.java b/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploArrayListAluno.java index 19be606..c0ac654 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploArrayListAluno.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploArrayListAluno.java @@ -1,15 +1,13 @@ package br.com.rpires.list; -import br.com.rpires.domain.Aluno; -import br.com.rpires.domain.ComparaNotaAluno; +import br.com.rpires.domain.Aluno1; +import br.com.rpires.domain.ComparaNotaAluno3; import java.util.ArrayList; import java.util.Collections; +import java.util.Comparator; import java.util.List; -/** - * @author Steve.Vaz - */ public class ExemploArrayListAluno { public static void main(String args[]) { @@ -19,38 +17,37 @@ public static void main(String args[]) { private static void exemploListaSimplesOrdenadaClasseExterna() { System.out.println("****** exemploListaSimplesOrdenadaClasseExterna ******"); - List lista = new ArrayList(); + List lista = new ArrayList<>(); - Aluno a = new Aluno("João da Silva", "Linux básico", 0); - Aluno b = new Aluno("Antonio Sousa", "OpenOffice", 0); - Aluno c = new Aluno("Lúcia Ferreira", "Internet", 0); + Aluno1 a = new Aluno1("João da Silva", "Linux básico", 0); + Aluno1 b = new Aluno1("Antonio Sousa", "OpenOffice", 0); + Aluno1 c = new Aluno1("Lúcia Ferreira", "Internet", 0); lista.add(a); lista.add(b); lista.add(c); - System.out.println(lista); - Collections.sort(lista); - System.out.println(lista); - System.out.println(""); + + System.out.println("Lista sem ordenação:\n" + lista); + System.out.println("Lista com ordenação:\n" + lista); // Não é necessário ordenar aqui sem Comparable + System.out.println(); } private static void exemploListaSimplesOrdenadaComparatorAluno() { System.out.println("****** exemploListaSimplesOrdenadaComparatorAluno ******"); - List lista = new ArrayList(); + List lista = new ArrayList<>(); - Aluno a = new Aluno("João da Silva", "Linux básico", 20); - Aluno b = new Aluno("Antonio Sousa", "OpenOffice", 30); - Aluno c = new Aluno("Lúcia Ferreira", "Internet", 10); + Aluno1 a = new Aluno1("João da Silva", "Linux básico", 20); + Aluno1 b = new Aluno1("Antonio Sousa", "OpenOffice", 30); + Aluno1 c = new Aluno1("Lúcia Ferreira", "Internet", 10); lista.add(a); lista.add(b); lista.add(c); - System.out.println("Lista sem ordenação" + lista); - Collections.sort(lista); - System.out.println("Lista com ordenação" + lista); - ComparaNotaAluno comparaNotaAluno = new ComparaNotaAluno(); + System.out.println("Lista sem ordenação:\n" + lista); + + Comparator comparaNotaAluno = new ComparaNotaAluno3(); Collections.sort(lista, comparaNotaAluno); - System.out.println("Lista com ordenação por nota" + lista); - System.out.println(""); + System.out.println("Lista com ordenação por nota:\n" + lista); + System.out.println(); } } diff --git a/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploLinkedListAluno.java b/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploLinkedListAluno.java index a73e78f..5c441b6 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploLinkedListAluno.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/list/ExemploLinkedListAluno.java @@ -1,7 +1,7 @@ package br.com.rpires.list; -import br.com.rpires.domain.Aluno; -import br.com.rpires.domain.ComparaNotaAluno; +import br.com.rpires.domain.Aluno1; +import br.com.rpires.domain.ComparaNotaAluno3; import java.util.Collections; @@ -20,11 +20,11 @@ public static void main(String args[]) { private static void exemploListaSimplesOrdenadaClasseExterna() { System.out.println("****** exemploListaSimplesOrdenadaComparatorAluno ******"); - List lista = new LinkedList<>(); + List lista = new LinkedList<>(); - Aluno a = new Aluno("João da Silva", "Linux básico", 0); - Aluno b = new Aluno("Antonio Sousa", "OpenOffice", 0); - Aluno c = new Aluno("Lúcia Ferreira", "Internet", 0); + Aluno1 a = new Aluno1("João da Silva", "Linux básico", 0); + Aluno1 b = new Aluno1("Antonio Sousa", "OpenOffice", 0); + Aluno1 c = new Aluno1("Lúcia Ferreira", "Internet", 0); lista.add(a); lista.add(b); lista.add(c); @@ -36,11 +36,11 @@ private static void exemploListaSimplesOrdenadaClasseExterna() { private static void exemploListaSimplesOrdenadaComparatorAluno() { System.out.println("****** exemploListaSimplesOrdenadaComparatorAluno ******"); - List lista = new LinkedList(); + List lista = new LinkedList(); - Aluno a = new Aluno("João da Silva", "Linux básico", 30); - Aluno b = new Aluno("Antonio Sousa", "OpenOffice", 20); - Aluno c = new Aluno("Lúcia Ferreira", "Internet", 10); + Aluno1 a = new Aluno1("João da Silva", "Linux básico", 30); + Aluno1 b = new Aluno1("Antonio Sousa", "OpenOffice", 20); + Aluno1 c = new Aluno1("Lúcia Ferreira", "Internet", 10); lista.add(a); lista.add(b); lista.add(c); @@ -48,7 +48,7 @@ private static void exemploListaSimplesOrdenadaComparatorAluno() { //Collections.sort(lista); System.out.println("Lista com ordenação" + lista); - ComparaNotaAluno comparaNotaAluno = new ComparaNotaAluno(); + ComparaNotaAluno3 comparaNotaAluno = new ComparaNotaAluno3(); Collections.sort(lista, comparaNotaAluno); System.out.println("Lista com ordenação por nota" + lista); diff --git a/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploSalaAula.java b/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploSalaAula.java index c514a36..469063b 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploSalaAula.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploSalaAula.java @@ -1,6 +1,6 @@ package br.com.rpires.map; -import br.com.rpires.domain.Aluno; +import br.com.rpires.domain.Aluno1; import java.util.ArrayList; import java.util.HashMap; @@ -13,41 +13,41 @@ public class ExemploSalaAula { public static void main(String args[]) { - Map> listaSala = new HashMap<>(); + Map> listaSala = new HashMap<>(); - List alunosSala1 = criarTurma("Sala 1",10); + List alunosSala1 = criarTurma("Sala 1",10); listaSala.put(1, alunosSala1); - List alunosSala2 = criarTurma("Sala 2",30); + List alunosSala2 = criarTurma("Sala 2",30); listaSala.put(2, alunosSala2); imprimirAlunosSala(listaSala.get(1)); } - private static List criarTurma(String sala, int count) { - List alunos = new ArrayList<>(); + private static List criarTurma(String sala, int count) { + List alunos = new ArrayList<>(); for (int i = 0; i< count; i++) { - Aluno aluno = new Aluno("Nome aluno " + i, "Curso" + i, i, sala); + Aluno1 aluno = new Aluno1("Nome aluno " + i, "Curso" + i, i, sala); alunos.add(aluno); } return alunos; } - private static void imprimirAlunosSala(List alunos) { + private static void imprimirAlunosSala(List alunos) { //for java 8 API stream System.out.println("for java 8 API stream"); alunos.forEach(aluno->System.out.println("Nome: " + aluno.getNome() + " Sala: " + aluno.getSala())); System.out.println(""); System.out.println("for java"); - for (Aluno aluno : alunos) { + for (Aluno1 aluno : alunos) { System.out.println("Nome: " + aluno.getNome() + " Sala: " + aluno.getSala()); } System.out.println(""); System.out.println("for java com contador"); for (int i = 0; i < alunos.size(); i++) { - Aluno aluno = alunos.get(i); + Aluno1 aluno = alunos.get(i); System.out.println("Nome: " + aluno.getNome() + " Sala: " + aluno.getSala()); } } diff --git a/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploTreeMapAluno.java b/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploTreeMapAluno.java index 89a5400..7600640 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploTreeMapAluno.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/map/ExemploTreeMapAluno.java @@ -1,6 +1,6 @@ package br.com.rpires.map; -import br.com.rpires.domain.Aluno; +import br.com.rpires.domain.Aluno1; import java.util.Collection; import java.util.Map; @@ -20,12 +20,12 @@ public static void main(String[] args) { private static void verificaSeExiste() { System.out.println("****** verificaSeExiste ******"); - Map mapa = new TreeMap(); + Map mapa = new TreeMap(); - Aluno a = new Aluno("João da Silva", "Linux básico", 0); - Aluno b = new Aluno("Antonio Sousa", "OpenOffice", 0); - Aluno c = new Aluno("Lúcia Ferreira", "Internet", 0); - Aluno d = new Aluno("Benedito Silva", "OpenOffice", 0); + Aluno1 a = new Aluno1("João da Silva", "Linux básico", 0); + Aluno1 b = new Aluno1("Antonio Sousa", "OpenOffice", 0); + Aluno1 c = new Aluno1("Lúcia Ferreira", "Internet", 0); + Aluno1 d = new Aluno1("Benedito Silva", "OpenOffice", 0); mapa.put("João da Silva", a); mapa.put("Antonio Sousa", b); mapa.put("Lúcia Ferreira", c); @@ -40,7 +40,7 @@ private static void verificaSeExiste() { System.out.println("containsValue Aluno b = " + true); } - Aluno e = new Aluno("Novo Aluno", "OpenOffice", 0); + Aluno1 e = new Aluno1("Novo Aluno", "OpenOffice", 0); System.out.println("containsValue Novo Aluno = " + mapa.containsValue(e)); System.out.println(""); } @@ -48,12 +48,12 @@ private static void verificaSeExiste() { private static void addSeNaoExistir() { System.out.println("****** addSeNaoExistir ******"); - Map mapa = new TreeMap(); + Map mapa = new TreeMap(); - Aluno a = new Aluno("João da Silva", "Linux básico", 0); - Aluno b = new Aluno("Antonio Sousa", "OpenOffice", 0); - Aluno c = new Aluno("Lúcia Ferreira", "Internet", 0); - Aluno d = new Aluno("Benedito Silva", "OpenOffice", 0); + Aluno1 a = new Aluno1("João da Silva", "Linux básico", 0); + Aluno1 b = new Aluno1("Antonio Sousa", "OpenOffice", 0); + Aluno1 c = new Aluno1("Lúcia Ferreira", "Internet", 0); + Aluno1 d = new Aluno1("Benedito Silva", "OpenOffice", 0); mapa.put("João da Silva", a); mapa.put("Antonio Sousa", b); mapa.put("Lúcia Ferreira", c); @@ -65,12 +65,12 @@ private static void addSeNaoExistir() { private static void removendoDoMap() { System.out.println("****** removendoDoMap ******"); - Map mapa = new TreeMap(); + Map mapa = new TreeMap(); - Aluno a = new Aluno("João da Silva", "Linux básico", 0); - Aluno b = new Aluno("Antonio Sousa", "OpenOffice", 0); - Aluno c = new Aluno("Lúcia Ferreira", "Internet", 0); - Aluno d = new Aluno("Benedito Silva", "OpenOffice", 0); + Aluno1 a = new Aluno1("João da Silva", "Linux básico", 0); + Aluno1 b = new Aluno1("Antonio Sousa", "OpenOffice", 0); + Aluno1 c = new Aluno1("Lúcia Ferreira", "Internet", 0); + Aluno1 d = new Aluno1("Benedito Silva", "OpenOffice", 0); mapa.put("João da Silva", a); mapa.put("Antonio Sousa", b); mapa.put("Lúcia Ferreira", c); @@ -85,12 +85,12 @@ private static void removendoDoMap() { private static void mapSimples() { System.out.println("****** mapSimples ******"); - Map mapa = new TreeMap(); + Map mapa = new TreeMap(); - Aluno a = new Aluno("João da Silva", "Linux básico", 0); - Aluno b = new Aluno("Antonio Sousa", "OpenOffice", 0); - Aluno c = new Aluno("Lúcia Ferreira", "Internet", 0); - Aluno d = new Aluno("Benedito Silva", "OpenOffice", 0); + Aluno1 a = new Aluno1("João da Silva", "Linux básico", 0); + Aluno1 b = new Aluno1("Antonio Sousa", "OpenOffice", 0); + Aluno1 c = new Aluno1("Lúcia Ferreira", "Internet", 0); + Aluno1 d = new Aluno1("Benedito Silva", "OpenOffice", 0); mapa.put("João da Silva", a); mapa.put("Antonio Sousa", b); mapa.put("Lúcia Ferreira", c); @@ -98,8 +98,8 @@ private static void mapSimples() { System.out.println(mapa); System.out.println(mapa.get("Lúcia Ferreira")); - Collection alunos = mapa.values(); - for (Aluno e : alunos) { + Collection alunos = mapa.values(); + for (Aluno1 e : alunos) { System.out.println(e); } System.out.println(""); diff --git a/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploHashSetAluno.java b/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploHashSetAluno.java index 33e064d..e0199eb 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploHashSetAluno.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploHashSetAluno.java @@ -1,6 +1,6 @@ package br.com.rpires.set; -import br.com.rpires.domain.Aluno; +import br.com.rpires.domain.Aluno1; import java.util.HashSet; import java.util.Set; @@ -10,7 +10,7 @@ */ public class ExemploHashSetAluno { - private static Aluno e; + private static Aluno1 e; public static void main(String args[]) { exemploListaSimples(); @@ -20,13 +20,13 @@ public static void main(String args[]) { private static void exemploRemover() { System.out.println("**** exemploRemover ****"); - Set conjunto = new HashSet(); + Set conjunto = new HashSet(); - Aluno a = new Aluno("João da Silva", "Linux básico", 0); - Aluno b = new Aluno("Antonio Sousa", "OpenOffice", 0); - Aluno c = new Aluno("Lúcia Ferreira", "Internet", 0); - Aluno d = new Aluno("Antonio Sousa", "OpenOffice", 10); - setE(new Aluno("Teste", "OpenOffice", 10)); + Aluno1 a = new Aluno1("João da Silva", "Linux básico", 0); + Aluno1 b = new Aluno1("Antonio Sousa", "OpenOffice", 0); + Aluno1 c = new Aluno1("Lúcia Ferreira", "Internet", 0); + Aluno1 d = new Aluno1("Antonio Sousa", "OpenOffice", 10); + setE(new Aluno1("Teste", "OpenOffice", 10)); conjunto.add(a); conjunto.add(b); conjunto.add(c); @@ -36,20 +36,20 @@ private static void exemploRemover() { conjunto.remove(a); System.out.println(conjunto); - for (Aluno aluno : conjunto) { + for (Aluno1 aluno : conjunto) { System.out.println(aluno); } } private static void exemploConsultando() { System.out.println("**** exemploConsultando ****"); - Set conjunto = new HashSet(); + Set conjunto = new HashSet(); - Aluno a = new Aluno("João da Silva", "Linux básico", 0); - Aluno b = new Aluno("Antonio Sousa", "OpenOffice", 0); - Aluno c = new Aluno("Lúcia Ferreira", "Internet", 0); - Aluno d = new Aluno("Antonio Sousa", "OpenOffice", 10); - Aluno e = new Aluno("Teste", "OpenOffice", 10); + Aluno1 a = new Aluno1("João da Silva", "Linux básico", 0); + Aluno1 b = new Aluno1("Antonio Sousa", "OpenOffice", 0); + Aluno1 c = new Aluno1("Lúcia Ferreira", "Internet", 0); + Aluno1 d = new Aluno1("Antonio Sousa", "OpenOffice", 10); + Aluno1 e = new Aluno1("Teste", "OpenOffice", 10); conjunto.add(a); conjunto.add(b); conjunto.add(c); @@ -63,12 +63,12 @@ private static void exemploConsultando() { * Aluno implemente o equals e hashcode */ private static void exemploListaSimples() { - Set conjunto = new HashSet(); + Set conjunto = new HashSet(); - Aluno a = new Aluno("João da Silva", "Linux básico", 0); - Aluno b = new Aluno("Antonio Sousa", "OpenOffice", 0); - Aluno c = new Aluno("Lúcia Ferreira", "Internet", 0); - Aluno d = new Aluno("Antonio Sousa", "OpenOffice", 10); + Aluno1 a = new Aluno1("João da Silva", "Linux básico", 0); + Aluno1 b = new Aluno1("Antonio Sousa", "OpenOffice", 0); + Aluno1 c = new Aluno1("Lúcia Ferreira", "Internet", 0); + Aluno1 d = new Aluno1("Antonio Sousa", "OpenOffice", 10); conjunto.add(a); conjunto.add(b); conjunto.add(c); @@ -76,11 +76,11 @@ private static void exemploListaSimples() { System.out.println(conjunto); } - public static Aluno getE() { + public static Aluno1 getE() { return e; } - public static void setE(Aluno e) { + public static void setE(Aluno1 e) { ExemploHashSetAluno.e = e; } } diff --git a/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploTreeSetAluno.java b/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploTreeSetAluno.java index 538a062..0643177 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploTreeSetAluno.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/set/ExemploTreeSetAluno.java @@ -1,6 +1,6 @@ package br.com.rpires.set; -import br.com.rpires.domain.Aluno; +import br.com.rpires.domain.Aluno1; import java.util.Set; import java.util.TreeSet; @@ -20,12 +20,12 @@ public static void main(String args[]) { * Tem ordem natural dos objetos */ private static void exemploListaSimples() { - Set conjunto = new TreeSet<>(); + Set conjunto = new TreeSet<>(); - Aluno a = new Aluno("João da Silva", "Linux básico", 0); - Aluno b = new Aluno("Antonio Sousa", "OpenOffice", 0); - Aluno c = new Aluno("Lúcia Ferreira", "Internet", 0); - Aluno d = new Aluno("Antonio Sousa", "OpenOffice", 0); + Aluno1 a = new Aluno1("João da Silva", "Linux básico", 0); + Aluno1 b = new Aluno1("Antonio Sousa", "OpenOffice", 0); + Aluno1 c = new Aluno1("Lúcia Ferreira", "Internet", 0); + Aluno1 d = new Aluno1("Antonio Sousa", "OpenOffice", 0); conjunto.add(a); conjunto.add(b); conjunto.add(c); diff --git a/mod11/ExemplosMod11/src/br/com/rpires/set/TestesPerformanceSet.java b/mod11/ExemplosMod11/src/br/com/rpires/set/TestesPerformanceSet.java index 9b3e06c..2bd4422 100644 --- a/mod11/ExemplosMod11/src/br/com/rpires/set/TestesPerformanceSet.java +++ b/mod11/ExemplosMod11/src/br/com/rpires/set/TestesPerformanceSet.java @@ -1,6 +1,6 @@ package br.com.rpires.set; -import br.com.rpires.domain.Aluno; +import br.com.rpires.domain.Aluno1; import java.util.HashSet; import java.util.LinkedHashSet; @@ -15,16 +15,16 @@ public class TestesPerformanceSet { public static void main(String args[]) { Random r = new Random(); - HashSet hashSet = new HashSet(); - TreeSet treeSet = new TreeSet(); - LinkedHashSet linkedSet = new LinkedHashSet(); + HashSet hashSet = new HashSet(); + TreeSet treeSet = new TreeSet(); + LinkedHashSet linkedSet = new LinkedHashSet(); // start time long startTime = System.currentTimeMillis(); for (int i = 0; i < 1000; i++) { int x = r.nextInt(1000 - 10) + 10; - hashSet.add(new Aluno("João da Silva", "Linux básico", x)); + hashSet.add(new Aluno1("João da Silva", "Linux básico", x)); } // end time long endTime = System.currentTimeMillis(); @@ -39,7 +39,7 @@ public static void main(String args[]) { for (int i = 0; i < 1000; i++) { int x = r.nextInt(1000 - 10) + 10; - treeSet.add(new Aluno("João da Silva", "Linux básico", x)); + treeSet.add(new Aluno1("João da Silva", "Linux básico", x)); } // end time endTime = System.currentTimeMillis(); @@ -54,7 +54,7 @@ public static void main(String args[]) { for (int i = 0; i < 1000; i++) { int x = r.nextInt(1000 - 10) + 10; - linkedSet.add(new Aluno("João da Silva", "Linux básico", x)); + linkedSet.add(new Aluno1("João da Silva", "Linux básico", x)); } // end time endTime = System.currentTimeMillis(); diff --git a/mod12/ExemplosMod12/src/Collections_part_2/Exercise_mod12_part2.java b/mod12/ExemplosMod12/src/Collections_part_2/Exercise_mod12_part2.java index fb9fff7..5557799 100644 --- a/mod12/ExemplosMod12/src/Collections_part_2/Exercise_mod12_part2.java +++ b/mod12/ExemplosMod12/src/Collections_part_2/Exercise_mod12_part2.java @@ -9,17 +9,17 @@ * @author Steve.Vaz */ -enum Gender { +enum Gender1 { MALE, FEMALE; } -class Person { +class Person1 { private int id; private String name; private double salary; - private Gender gender; + private Gender1 gender; - public Person(int id, String name, double salary, Gender gender) { + public Person1(int id, String name, double salary, Gender1 gender) { this.id = id; this.name = name; this.salary = salary; @@ -38,7 +38,7 @@ public double getSalary() { return salary; } - public Gender getGender() { + public Gender1 getGender() { return gender; } @@ -57,7 +57,7 @@ public static void main(String[] args) { Locale.setDefault(Locale.US); Scanner sc = new Scanner(System.in); - List personList = new ArrayList<>(); + List personList = new ArrayList<>(); System.out.print("How many employees will be registered? "); int N = sc.nextInt(); @@ -82,9 +82,9 @@ public static void main(String[] args) { System.out.print("Gender (M/F): "); char genderChar = sc.next().charAt(0); - Gender gender = (genderChar == 'M' || genderChar == 'm') ? Gender.MALE : Gender.FEMALE; + Gender1 gender = (genderChar == 'M' || genderChar == 'm') ? Gender1.MALE : Gender1.FEMALE; - Person person = new Person(id, name, salary, gender); + Person1 person = new Person1(id, name, salary, gender); personList.add(person); } @@ -92,7 +92,7 @@ public static void main(String[] args) { System.out.print("Enter the employee id that will have salary increase: "); int idSalary = sc.nextInt(); - Person emp = personList.stream().filter(x -> x.getId() == idSalary).findFirst().orElse(null); + Person1 emp = personList.stream().filter(x -> x.getId() == idSalary).findFirst().orElse(null); System.out.println(); if (emp == null) { @@ -107,15 +107,15 @@ public static void main(String[] args) { System.out.println("List of employees: "); System.out.println(); - for (Person e : personList) { + for (Person1 e : personList) { System.out.println(e); } sc.close(); } - public static boolean hasId(List list, int id) { - for (Person person : list) { + public static boolean hasId(List list, int id) { + for (Person1 person : list) { if (person.getId() == id) { return true; } diff --git a/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortDinamico1.java b/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortDinamico1.java index 5ec79d7..d46c46b 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortDinamico1.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortDinamico1.java @@ -5,7 +5,7 @@ /** * @author Steve.Vaz */ -public class ExemploBubbleSortDinamico { +public class ExemploBubbleSortDinamico1 { public static void main(String args[]) { try (Scanner sc = new Scanner(System.in)) { diff --git a/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortFixo2.java b/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortFixo2.java index f93f593..e7e9165 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortFixo2.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/array/ExemploBubbleSortFixo2.java @@ -3,7 +3,7 @@ /** * @author Steve.Vaz */ -public class ExemploBubbleSortFixo { +public class ExemploBubbleSortFixo2 { public static void main(String args[]) { int[] vet = {8, 9, 3, 5, 1}; diff --git a/mod12/ExemplosMod12/src/br/com/rpires/array/ExemplosArray3.java b/mod12/ExemplosMod12/src/br/com/rpires/array/ExemplosArray3.java index 08cf2dc..4325c35 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/array/ExemplosArray3.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/array/ExemplosArray3.java @@ -3,7 +3,7 @@ /** * @author Steve.Vaz */ -public class ExemplosArray { +public class ExemplosArray3 { public static void main(String args[]) { declaracaoArray(); diff --git a/mod12/ExemplosMod12/src/br/com/rpires/domain/Aluno1.java b/mod12/ExemplosMod12/src/br/com/rpires/domain/Aluno1.java index c1ca5f7..9b4b633 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/domain/Aluno1.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/domain/Aluno1.java @@ -5,20 +5,20 @@ /** * @author Steve.Vaz */ -public class Aluno implements Comparable{ +public class Aluno1 implements Comparable{ private String nome; private String curso; private double nota; private String sala; - public Aluno(String nome, String curso, double nota) { + public Aluno1(String nome, String curso, double nota) { this.nome = nome; this.curso = curso; this.nota = nota; } - public Aluno(String nome, String curso, double nota, String sala) { + public Aluno1(String nome, String curso, double nota, String sala) { this(nome, curso, nota); this.sala = sala; } @@ -90,7 +90,7 @@ public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Aluno aluno = (Aluno) o; - return Objects.equals(nome, aluno.nome); + return Objects.equals(nome, aluno.getNome()); } @Override diff --git a/mod12/ExemplosMod12/src/br/com/rpires/domain/Biblioteca2.java b/mod12/ExemplosMod12/src/br/com/rpires/domain/Biblioteca2.java index 6080ef3..c5c1be6 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/domain/Biblioteca2.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/domain/Biblioteca2.java @@ -6,7 +6,7 @@ /** * @author Steve.Vaz */ -public class Biblioteca { +public class Biblioteca2 { private Long codigo; @@ -14,9 +14,9 @@ public class Biblioteca { private String endereco; - private Set livros; + private Set livros; - public Biblioteca() { + public Biblioteca2() { this.livros = new HashSet<>(); } @@ -44,7 +44,7 @@ public void setEndereco(String endereco) { this.endereco = endereco; } - public Set getLivros() { + public Set getLivros() { return livros; } @@ -52,11 +52,11 @@ public Set getLivros() { // this.livros = livros; // } - public boolean addLivro(Livro livro) { + public boolean addLivro(Livro4 livro) { return this.livros.add(livro); } - public boolean removeLivro(Livro livro) { + public boolean removeLivro(Livro4 livro) { return this.livros.remove(livro); } } diff --git a/mod12/ExemplosMod12/src/br/com/rpires/domain/ComparaNotaAluno3.java b/mod12/ExemplosMod12/src/br/com/rpires/domain/ComparaNotaAluno3.java index 07d0ef3..41d6f8c 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/domain/ComparaNotaAluno3.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/domain/ComparaNotaAluno3.java @@ -2,15 +2,10 @@ import java.util.Comparator; -/** - * @author Steve.Vaz - */ -public class ComparaNotaAluno implements Comparator { +public class ComparaNotaAluno3 implements Comparator { @Override - public int compare(Aluno o1, Aluno o2) { - //return Double.valueOf(o1.getNota()).compareTo(Double.valueOf(o2.getNota())); - //return Double.compare(o2.getNota(), o1.getNota()); + public int compare(Aluno1 o1, Aluno1 o2) { return Double.compare(o2.getNota(), o1.getNota()); } } diff --git a/mod12/ExemplosMod12/src/br/com/rpires/domain/Livro4.java b/mod12/ExemplosMod12/src/br/com/rpires/domain/Livro4.java index e3c6259..ef63ff0 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/domain/Livro4.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/domain/Livro4.java @@ -3,7 +3,7 @@ /** * @author Steve.Vaz */ -public class Livro { +public class Livro4 { private Long codigo; diff --git a/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploHashMap1.java b/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploHashMap1.java index 8cb19c6..00fd12e 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploHashMap1.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploHashMap1.java @@ -13,7 +13,7 @@ * Para usar uma classe que implementa Map, quaisquer classes que forem utilizadas como chave * devem sobrescrever os métodos hashCode() e equals(). */ -public class ExemploHashMap { +public class ExemploHashMap1 { public static void main(String args[]) { exemploListaSimples(); diff --git a/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploLinkedHashMap1.java b/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploLinkedHashMap1.java index 665191c..63eee35 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploLinkedHashMap1.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploLinkedHashMap1.java @@ -8,7 +8,7 @@ * * A ordem de iteração é a ordem em que as chaves são inseridas no mapa. */ -public class ExemploLinkedHashMap { +public class ExemploLinkedHashMap1 { public static void main(String args[]) { exemploListaSimples(); diff --git a/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploSalaAula1.java b/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploSalaAula1.java index c514a36..9157d47 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploSalaAula1.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploSalaAula1.java @@ -10,7 +10,7 @@ /** * @author Steve.Vaz */ -public class ExemploSalaAula { +public class ExemploSalaAula1 { public static void main(String args[]) { Map> listaSala = new HashMap<>(); diff --git a/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploTreeMap1.java b/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploTreeMap1.java index b48251f..1e8595f 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploTreeMap1.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploTreeMap1.java @@ -13,7 +13,7 @@ * Para usar uma classe que implementa Map, quaisquer classes que forem utilizadas como chave * devem sobrescrever os métodos hashCode() e equals(). */ -public class ExemploTreeMap { +public class ExemploTreeMap1 { public static void main(String args[]) { exemploListaSimples(); diff --git a/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploTreeMapAluno1.java b/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploTreeMapAluno1.java index 89a5400..cc310de 100644 --- a/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploTreeMapAluno1.java +++ b/mod12/ExemplosMod12/src/br/com/rpires/map/ExemploTreeMapAluno1.java @@ -9,7 +9,7 @@ /** * @author Steve.Vaz */ -public class ExemploTreeMapAluno { +public class ExemploTreeMapAluno1 { public static void main(String[] args) { mapSimples(); diff --git a/mod14/CadastroCliente/src/br/com/rpires/App.java b/mod14/CadastroCliente/src/br/com/rpires/App.java index 3feeef2..588876b 100644 --- a/mod14/CadastroCliente/src/br/com/rpires/App.java +++ b/mod14/CadastroCliente/src/br/com/rpires/App.java @@ -1,17 +1,16 @@ package br.com.rpires; -import br.com.rpires.dao.ClienteMapDAO; -import br.com.rpires.dao.IClienteDAO; -import br.com.rpires.domain.Cliente; +import javax.swing.JOptionPane; -import javax.swing.*; +import br.com.rpires.dao.ClienteMapDAO; +import br.com.rpires.domain.Cliente_2; /** * @author Steve.Vaz */ public class App { - private static IClienteDAO iClienteDAO; + private static ClienteMapDAO iClienteDAO; public static void main(String args[]) { iClienteDAO = new ClienteMapDAO(); @@ -53,7 +52,7 @@ public static void main(String args[]) { private static void consultar(String dados) { //Validar se foi passado somente o cpf - Cliente cliente = iClienteDAO.consultar(Long.parseLong(dados)); + Cliente_2 cliente = iClienteDAO.consultar(Long.parseLong(dados)); if (cliente != null) { JOptionPane.showMessageDialog(null, "Cliente encontrado: " + cliente.toString(), "Sucesso",JOptionPane.INFORMATION_MESSAGE); } else { @@ -74,7 +73,7 @@ private static void cadastrar(String dados) { //Tentar validar se todos os campos estão preenchidos. //Se não tiver, passr null no construtor onde o valor é nulo //Cliente cliente = new Cliente(dadosSeparados[0],dadosSeparados[1],null,dadosSeparados[3],dadosSeparados[4],dadosSeparados[5],dadosSeparados[6]) - Cliente cliente = new Cliente(dadosSeparados[0],dadosSeparados[1],dadosSeparados[2],dadosSeparados[3],dadosSeparados[4],dadosSeparados[5],dadosSeparados[6]); + Cliente_2 cliente = new Cliente_2(dadosSeparados[0],dadosSeparados[1],dadosSeparados[2],dadosSeparados[3],dadosSeparados[4],dadosSeparados[5],dadosSeparados[6]); Boolean isCadastrado = iClienteDAO.cadastrar(cliente); if (isCadastrado) { JOptionPane.showMessageDialog(null, "Cliente cadastrado com sucesso ", "Sucesso",JOptionPane.INFORMATION_MESSAGE); @@ -109,4 +108,4 @@ private static boolean isOpcaoValida(String opcao) { } return false; } -} +} \ No newline at end of file diff --git a/mod14/CadastroCliente/src/br/com/rpires/dao/ClienteMapDAO.java b/mod14/CadastroCliente/src/br/com/rpires/dao/ClienteMapDAO.java index 6bc344a..b124f72 100644 --- a/mod14/CadastroCliente/src/br/com/rpires/dao/ClienteMapDAO.java +++ b/mod14/CadastroCliente/src/br/com/rpires/dao/ClienteMapDAO.java @@ -1,6 +1,6 @@ package br.com.rpires.dao; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; import java.util.Collection; import java.util.HashMap; @@ -9,16 +9,16 @@ /** * @author rodrigo.pires */ -public class ClienteMapDAO implements IClienteDAO { +public class ClienteMapDAO implements IClientDAO { - private Map map; + private Map map; public ClienteMapDAO() { this.map = new HashMap<>(); } @Override - public Boolean cadastrar(Cliente cliente) { + public Boolean cadastrar(Cliente_2 cliente) { if (this.map.containsKey(cliente.getCpf())) { return false; } @@ -26,9 +26,8 @@ public Boolean cadastrar(Cliente cliente) { return true; } - @Override public void excluir(Long cpf) { - Cliente clienteCadastrado = this.map.get(cpf); + Cliente_2 clienteCadastrado = this.map.get(cpf); if (clienteCadastrado != null) { this.map.remove(clienteCadastrado.getCpf(), clienteCadastrado); @@ -36,8 +35,8 @@ public void excluir(Long cpf) { } @Override - public void alterar(Cliente cliente) { - Cliente clienteCadastrado = this.map.get(cliente.getCpf()); + public void alterar(Cliente_2 cliente) { + Cliente_2 clienteCadastrado = this.map.get(cliente.getCpf()); if (clienteCadastrado != null) { clienteCadastrado.setNome(cliente.getNome()); clienteCadastrado.setTel(cliente.getTel()); @@ -48,37 +47,42 @@ public void alterar(Cliente cliente) { } } - @Override - public Cliente consultar(Long cpf) { + public Cliente_2 consultar(Long cpf) { return this.map.get(cpf); } - @Override - public Collection buscarTodos() { + public Collection buscarTodos() { return this.map.values(); } - @Override public Boolean cadastrar(Object entity) { // TODO Auto-generated method stub return null; } - @Override public void excluir(Object valor) { // TODO Auto-generated method stub } - @Override public void alterar(Object entity) { // TODO Auto-generated method stub } - @Override - public Cliente consultar(Object valor) { + public Cliente_2 consultar(Object valor) { + // TODO Auto-generated method stub + return null; + } + + public Class getTipoClasse() { // TODO Auto-generated method stub return null; } -} + + @Override + public void excluir(long parseLong) { + // TODO Auto-generated method stub + + } +} \ No newline at end of file diff --git a/mod14/CadastroCliente/src/br/com/rpires/dao/IClienteDAO.java b/mod14/CadastroCliente/src/br/com/rpires/dao/IClienteDAO.java index ec10348..bf49e9f 100644 --- a/mod14/CadastroCliente/src/br/com/rpires/dao/IClienteDAO.java +++ b/mod14/CadastroCliente/src/br/com/rpires/dao/IClienteDAO.java @@ -1,30 +1,28 @@ package br.com.rpires.dao; -import br.com.rpires.domain.Cliente; - import java.util.Collection; -/** - * @author rodrigo.pires - * - */ -public interface IClienteDAO { +import br.com.rpires.domain.Cliente_2; + +public interface IClienteDAO { + + int cadastrar(Cliente_2 cliente) throws Exception; - public Boolean cadastrar(T entity); + Integer excluir(Cliente_2 clienteBD) throws Exception; - public void excluir(E valor); + void alterar(Cliente_2 cliente); - public void alterar(T entity); + Cliente_2 consultar(Object valor); - public Cliente consultar(E valor); + Collection buscarTodos(); - public Collection buscarTodos(); + Class getTipoClasse(); - void excluir(Long cpf); + Boolean cadastrar(Object entity); - void alterar(Cliente cliente); + void excluir(long parseLong); - Cliente consultar(Long cpf); + Cliente_2 consultar(Long cpf); - Boolean cadastrar(Cliente cliente); + void alterar(Object entity); } diff --git a/mod14/CadastroCliente/src/br/com/rpires/domain/Cliente.java b/mod14/CadastroCliente/src/br/com/rpires/domain/Cliente.java index 71d9d69..ce23c67 100644 --- a/mod14/CadastroCliente/src/br/com/rpires/domain/Cliente.java +++ b/mod14/CadastroCliente/src/br/com/rpires/domain/Cliente.java @@ -5,7 +5,7 @@ /** * @author rodrigo.pires */ -public class Cliente { +public class Cliente extends Cliente_2 { private String nome; private Long cpf; @@ -26,7 +26,11 @@ public Cliente(String nome, String cpf, String tel, String end, String num, Stri } - public String getNome() { + public Cliente() { + // TODO Auto-generated constructor stub + } + + public String getNome() { return nome; } @@ -86,8 +90,8 @@ public void setEstado(String estado) { public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - Cliente cliente = (Cliente) o; - return Objects.equals(cpf, cliente.cpf); + Cliente_2 cliente = (Cliente) o; + return Objects.equals(cpf, ((Cliente) cliente).cpf); } @Override @@ -102,4 +106,24 @@ public String toString() { ", cpf=" + cpf + '}'; } + + public String getCodigo() { + // TODO Auto-generated method stub + return null; + } + + public void setCodigo(String string) { + // TODO Auto-generated method stub + + } + + public void setId(long long1) { + // TODO Auto-generated method stub + + } + + public Object getId() { + // TODO Auto-generated method stub + return null; + } } diff --git a/mod14/ExemplosMod14Professor/src/br/com/rpires/App1.java b/mod14/ExemplosMod14Professor/src/br/com/rpires/App1.java index e99c1b0..9d0bb2d 100644 --- a/mod14/ExemplosMod14Professor/src/br/com/rpires/App1.java +++ b/mod14/ExemplosMod14Professor/src/br/com/rpires/App1.java @@ -1,146 +1,149 @@ package br.com.rpires; import br.com.rpires.dao.ClienteSetDAO; -import br.com.rpires.dao.IClienteDAO; -import br.com.rpires.domain.Cliente; +import br.com.rpires.dao.IClientDAO; +import br.com.rpires.domain.Cliente_2; import javax.swing.*; /** * @author Steve.Vaz */ -public class App { - - private static IClienteDAO iClienteDAO; - - public static void main(String args[]) { - iClienteDAO = new ClienteSetDAO(); - - String opcao = JOptionPane.showInputDialog(null, - "Digite 1 para cadastro, 2 para consultar, 3 para exclusão, 4 para alteração ou 5 para sair", - "Green dinner", JOptionPane.INFORMATION_MESSAGE); - - while (!isOpcaoValida(opcao)) { - if ("".equals(opcao)) { - sair(); - } - opcao = JOptionPane.showInputDialog(null, - "Opção inválida digite 1 para cadastro, 2 para consulta, 3 para cadastro, 4 para alteração ou 5 para sair", - "Green dinner", JOptionPane.INFORMATION_MESSAGE); - } - - while (isOpcaoValida(opcao)) { - - if (isOpcaoSair(opcao)) { - sair(); - }else if (isCadastro(opcao)) { - String dados = JOptionPane.showInputDialog(null, - "Digite os dados do cliente separados por vígula, conforme exemplo: Nome, CPF, Telefone, Endereço, Número, Cidade e Estado", - "Cadastro", JOptionPane.INFORMATION_MESSAGE); - cadastrar(dados); - } else if (isConsulta(opcao)) { - String dados = JOptionPane.showInputDialog(null, - "Digite o CPF do cliente", - "Consulta cliente", JOptionPane.INFORMATION_MESSAGE); - consultar(dados); - } else if (isExclusao(opcao)) { - String dados = JOptionPane.showInputDialog(null, - "Digite o CPF do cliente", - "Consulta cliente", JOptionPane.INFORMATION_MESSAGE); - excluir(dados); - } else { - String dados = JOptionPane.showInputDialog(null, - "Digite os dados do cliente separados por vígula, conforme exemplo: Nome, CPF, Telefone, Endereço, Número, Cidade e Estado", - "Atualização", JOptionPane.INFORMATION_MESSAGE); - atualizar(dados); - } - - opcao = JOptionPane.showInputDialog(null, - "Digite 1 para cadastro, 2 para consulta, 3 para cadastro, 4 para alteração ou 5 para sair", - "Green dinner", JOptionPane.INFORMATION_MESSAGE); - - } - - } - - private static void atualizar(String dados) { - String[] dadosSeparados = dados.split(","); - Cliente cliente = new Cliente(dadosSeparados[0],dadosSeparados[1],dadosSeparados[2],dadosSeparados[3],dadosSeparados[4],dadosSeparados[5],dadosSeparados[6]); - iClienteDAO.alterar(cliente); - } - - private static void excluir(String dados) { - iClienteDAO.excluir(Long.parseLong(dados)); - JOptionPane.showMessageDialog(null, "Cliente excluído com sucesso: ", "Sucesso",JOptionPane.INFORMATION_MESSAGE); - } - - - private static void consultar(String dados) { - Cliente cliente = iClienteDAO.consultar(Long.parseLong(dados)); - if (cliente != null) { - JOptionPane.showMessageDialog(null, "Cliente encontrado com sucesso: " + cliente.toString(), "Sucesso",JOptionPane.INFORMATION_MESSAGE); - } else { - JOptionPane.showMessageDialog(null, "Cliente não encontrado", "ERRO",JOptionPane.INFORMATION_MESSAGE); - } - - } - - private static void cadastrar(String dados) { - String[] dadosSeparados = dados.split(","); - Cliente cliente = new Cliente(dadosSeparados[0],dadosSeparados[1],dadosSeparados[2],dadosSeparados[3],dadosSeparados[4],dadosSeparados[5],dadosSeparados[6]); - Boolean isCadastrado = iClienteDAO.cadastrar(cliente); - if (isCadastrado) { - JOptionPane.showMessageDialog(null, "Cliente cadastrado com sucesso ", "Sucesso",JOptionPane.INFORMATION_MESSAGE); - } else { - JOptionPane.showMessageDialog(null, "Cliente já se encontra cadastrado", "Erro",JOptionPane.INFORMATION_MESSAGE); - } - - } - - private static boolean isExclusao(String opcao) { - if ("3".equals(opcao)) { - return true; - } - return false; - } - - private static boolean isConsulta(String opcao) { - if ("2".equals(opcao)) { - return true; - } - return false; - } - - private static boolean isCadastro(String opcao) { - if ("1".equals(opcao)) { - return true; - } - return false; - } - - private static void sair() { - String clientesCadastrados = ""; - for (Cliente cliente : iClienteDAO.buscarTodos()) { - clientesCadastrados += cliente.toString() + "\n"; - } - - JOptionPane.showMessageDialog(null, "Clientes cadastrados: " + clientesCadastrados, "Até logo",JOptionPane.INFORMATION_MESSAGE); - System.exit(0); - } - - private static boolean isOpcaoSair(String opcao) { - if ("5".equals(opcao)) { - return true; - } - return false; - } - - private static boolean isOpcaoValida(String opcao) { - if ("1".equals(opcao) || "2".equals(opcao) - || "3".equals(opcao) || "4".equals(opcao) || "5".equals(opcao)) { - return true; - } - return false; - } +public class App1 { + + private static IClientDAO iClienteDAO; + + public static void main(String args[]) throws Exception { + iClienteDAO = (IClientDAO) new ClienteSetDAO(); + + String opcao = JOptionPane.showInputDialog(null, + "Digite 1 para cadastro, 2 para consultar, 3 para exclusão, 4 para alteração ou 5 para sair", + "Green dinner", JOptionPane.INFORMATION_MESSAGE); + + while (!isOpcaoValida(opcao)) { + if ("".equals(opcao)) { + sair(); + } + opcao = JOptionPane.showInputDialog(null, + "Opção inválida digite 1 para cadastro, 2 para consulta, 3 para cadastro, 4 para alteração ou 5 para sair", + "Green dinner", JOptionPane.INFORMATION_MESSAGE); + } + + while (isOpcaoValida(opcao)) { + + if (isOpcaoSair(opcao)) { + sair(); + } else if (isCadastro(opcao)) { + String dados = JOptionPane.showInputDialog(null, + "Digite os dados do cliente separados por vígula, conforme exemplo: Nome, CPF, Telefone, Endereço, Número, Cidade e Estado", + "Cadastro", JOptionPane.INFORMATION_MESSAGE); + cadastrar(dados); + } else if (isConsulta(opcao)) { + String dados = JOptionPane.showInputDialog(null, "Digite o CPF do cliente", "Consulta cliente", + JOptionPane.INFORMATION_MESSAGE); + consultar(dados); + } else if (isExclusao(opcao)) { + String dados = JOptionPane.showInputDialog(null, "Digite o CPF do cliente", "Consulta cliente", + JOptionPane.INFORMATION_MESSAGE); + excluir(dados); + } else { + String dados = JOptionPane.showInputDialog(null, + "Digite os dados do cliente separados por vígula, conforme exemplo: Nome, CPF, Telefone, Endereço, Número, Cidade e Estado", + "Atualização", JOptionPane.INFORMATION_MESSAGE); + atualizar(dados); + } + + opcao = JOptionPane.showInputDialog(null, + "Digite 1 para cadastro, 2 para consulta, 3 para cadastro, 4 para alteração ou 5 para sair", + "Green dinner", JOptionPane.INFORMATION_MESSAGE); + + } + + } + + private static void atualizar(String dados) { + String[] dadosSeparados = dados.split(","); + Cliente_2 cliente = new Cliente_2(dadosSeparados[0], dadosSeparados[1], dadosSeparados[2], dadosSeparados[3], + dadosSeparados[4], dadosSeparados[5], dadosSeparados[6]); + iClienteDAO.alterar(cliente); + } + + private static void excluir(String dados) { + iClienteDAO.excluir(Long.parseLong(dados)); + JOptionPane.showMessageDialog(null, "Cliente excluído com sucesso: ", "Sucesso", + JOptionPane.INFORMATION_MESSAGE); + } + + private static void consultar(String dados) { + Cliente_2 cliente = iClienteDAO.consultar(Long.parseLong(dados)); + if (cliente != null) { + JOptionPane.showMessageDialog(null, "Cliente encontrado com sucesso: " + cliente.toString(), "Sucesso", + JOptionPane.INFORMATION_MESSAGE); + } else { + JOptionPane.showMessageDialog(null, "Cliente não encontrado", "ERRO", JOptionPane.INFORMATION_MESSAGE); + } + + } + + private static void cadastrar(String dados) throws Exception { + String[] dadosSeparados = dados.split(","); + Cliente_2 cliente = new Cliente_2(dadosSeparados[0], dadosSeparados[1], dadosSeparados[2], dadosSeparados[3], + dadosSeparados[4], dadosSeparados[5], dadosSeparados[6]); + Boolean isCadastrado = iClienteDAO.cadastrar(cliente); + if (isCadastrado) { + JOptionPane.showMessageDialog(null, "Cliente cadastrado com sucesso ", "Sucesso", + JOptionPane.INFORMATION_MESSAGE); + } else { + JOptionPane.showMessageDialog(null, "Cliente já se encontra cadastrado", "Erro", + JOptionPane.INFORMATION_MESSAGE); + } + + } + + private static boolean isExclusao(String opcao) { + if ("3".equals(opcao)) { + return true; + } + return false; + } + + private static boolean isConsulta(String opcao) { + if ("2".equals(opcao)) { + return true; + } + return false; + } + + private static boolean isCadastro(String opcao) { + if ("1".equals(opcao)) { + return true; + } + return false; + } + + private static void sair() { + String clientesCadastrados = ""; + for (Cliente_2 cliente : iClienteDAO.buscarTodos()) { + clientesCadastrados += cliente.toString() + "\n"; + } + + JOptionPane.showMessageDialog(null, "Clientes cadastrados: " + clientesCadastrados, "Até logo", + JOptionPane.INFORMATION_MESSAGE); + System.exit(0); + } + + private static boolean isOpcaoSair(String opcao) { + if ("5".equals(opcao)) { + return true; + } + return false; + } + + private static boolean isOpcaoValida(String opcao) { + if ("1".equals(opcao) || "2".equals(opcao) || "3".equals(opcao) || "4".equals(opcao) || "5".equals(opcao)) { + return true; + } + return false; + } } diff --git a/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/ClienteMapDAO1.java b/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/ClienteMapDAO1.java index 2020c9b..0630199 100644 --- a/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/ClienteMapDAO1.java +++ b/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/ClienteMapDAO1.java @@ -5,7 +5,7 @@ */ package br.com.rpires.dao; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; import java.util.*; @@ -13,16 +13,15 @@ * * @author rodrigo.pires */ -public class ClienteMapDAO implements IClienteDAO { +public class ClienteMapDAO1 implements IClientDAO { - private Map map; + private Map map; - public ClienteMapDAO() { + public ClienteMapDAO1() { map = new TreeMap<>(); } - @Override - public Boolean cadastrar(Cliente cliente) { + public Boolean cadastrar(Cliente_2 cliente) { if (map.containsKey(cliente.getCpf())) { return false; } @@ -31,15 +30,13 @@ public Boolean cadastrar(Cliente cliente) { return true; } - @Override public void excluir(Long cpf) { - Cliente clienteCadastrado = map.get(cpf); + Cliente_2 clienteCadastrado = map.get(cpf); map.remove(clienteCadastrado.getCpf(), clienteCadastrado); } - @Override - public void alterar(Cliente cliente) { - Cliente clienteCadastrado = map.get(cliente.getCpf()); + public void alterar(Cliente_2 cliente) { + Cliente_2 clienteCadastrado = map.get(cliente.getCpf()); clienteCadastrado.setNome(cliente.getNome()); clienteCadastrado.setTel(cliente.getTel()); clienteCadastrado.setNumero(cliente.getNumero()); @@ -48,14 +45,42 @@ public void alterar(Cliente cliente) { clienteCadastrado.setEstado(cliente.getEstado()); } - @Override - public Cliente consultar(Long cpf) { + public Cliente_2 consultar(Long cpf) { return this.map.get(cpf); } - @Override - public Collection buscarTodos() { + public Collection buscarTodos() { return this.map.values(); } + public Boolean cadastrar(Object entity) { + // TODO Auto-generated method stub + return null; + } + + public void excluir(Object valor) { + // TODO Auto-generated method stub + + } + + public void alterar(Object entity) { + // TODO Auto-generated method stub + + } + + public Cliente_2 consultar(Object valor) { + // TODO Auto-generated method stub + return null; + } + + public Class getTipoClasse() { + // TODO Auto-generated method stub + return null; + } + + public void excluir(long parseLong) { + // TODO Auto-generated method stub + + } + } diff --git a/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/ClienteSetDAO.java b/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/ClienteSetDAO.java index c804c23..9b41b45 100644 --- a/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/ClienteSetDAO.java +++ b/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/ClienteSetDAO.java @@ -9,30 +9,30 @@ import java.util.HashSet; import java.util.Set; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; /** * * @author Steve Vaz */ -@SuppressWarnings("rawtypes") -public class ClienteSetDAO implements IClienteDAO { + +public class ClienteSetDAO implements IClienteDAO2 { - private Set set; + private Set set; public ClienteSetDAO() { this.set = new HashSet<>(); } @Override - public Boolean cadastrar(Cliente cliente) { + public Boolean cadastrar(Cliente_2 cliente) { return this.set.add(cliente); } @Override public void excluir(Long cpf) { - Cliente clienteEncontrato = null; - for (Cliente cliente : this.set) { + Cliente_2 clienteEncontrato = null; + for (Cliente_2 cliente : this.set) { if (cliente.getCpf().equals(cpf)) { clienteEncontrato = cliente; break; @@ -45,9 +45,9 @@ public void excluir(Long cpf) { } @Override - public void alterar(Cliente cliente) { + public void alterar(Cliente_2 cliente) { if (this.set.contains(cliente)) { - for (Cliente clienteCadastrado : this.set) { + for (Cliente_2 clienteCadastrado : this.set) { if (clienteCadastrado.equals(cliente)) { clienteCadastrado.setNome(cliente.getNome()); clienteCadastrado.setTel(cliente.getTel()); @@ -62,8 +62,8 @@ public void alterar(Cliente cliente) { } @Override - public Cliente consultar(Long cpf) { - for (Cliente clienteCadastrado : this.set) { + public Cliente_2 consultar(Long cpf) { + for (Cliente_2 clienteCadastrado : this.set) { if (clienteCadastrado.getCpf().equals(cpf)) { return clienteCadastrado; } @@ -72,7 +72,7 @@ public Cliente consultar(Long cpf) { } @Override - public Collection buscarTodos() { + public Collection buscarTodos() { return this.set; } @@ -86,14 +86,18 @@ public void excluir(Object valor) { } - @Override public void alterar(Object entity) { // TODO Auto-generated method stub } + public Cliente_2 consultar(Object valor) { + // TODO Auto-generated method stub + return null; + } + @Override - public Cliente consultar(Object valor) { + public Class getTipoClasse() { // TODO Auto-generated method stub return null; } diff --git a/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/IClienteDAO1.java b/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/IClienteDAO1.java index ab38565..c254a8f 100644 --- a/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/IClienteDAO1.java +++ b/mod14/ExemplosMod14Professor/src/br/com/rpires/dao/IClienteDAO1.java @@ -5,22 +5,22 @@ */ package br.com.rpires.dao; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; import java.util.Collection; /** * * @author rodrigo.pires */ -public interface IClienteDAO { +public interface IClienteDAO1 { - public Boolean cadastrar(Cliente cliente); + public Boolean cadastrar(Cliente_2 cliente); public void excluir(Long cpf); - public void alterar(Cliente cliente); + public void alterar(Cliente_2 cliente); - public Cliente consultar(Long cpf); + public Cliente_2 consultar(Long cpf); - public Collection buscarTodos(); + public Collection buscarTodos(); } diff --git a/mod14/ExemplosMod14Professor/src/br/com/rpires/domain/Cliente1.java b/mod14/ExemplosMod14Professor/src/br/com/rpires/domain/Cliente1.java index 6c4f6cb..382d201 100644 --- a/mod14/ExemplosMod14Professor/src/br/com/rpires/domain/Cliente1.java +++ b/mod14/ExemplosMod14Professor/src/br/com/rpires/domain/Cliente1.java @@ -11,7 +11,7 @@ * * @author rodrigo.pires */ -public class Cliente { +public class Cliente1 { private String nome; private Long cpf; @@ -21,7 +21,7 @@ public class Cliente { private String cidade; private String estado; - public Cliente(String nome, String cpf, String tel, String end, String num, String cidade, String estado) { + public Cliente1(String nome, String cpf, String tel, String end, String num, String cidade, String estado) { this.nome = nome; this.cpf = Long.valueOf(cpf.trim()); this.tel = Long.valueOf(tel.trim()); @@ -106,8 +106,8 @@ public boolean equals(Object obj) { if (getClass() != obj.getClass()) { return false; } - final Cliente other = (Cliente) obj; - if (!Objects.equals(this.cpf, other.cpf)) { + final Cliente_2 other = (Cliente_2) obj; + if (!Objects.equals(this.cpf, other.getCpf())) { return false; } return true; diff --git a/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/ClienteMapDAO2.java b/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/ClienteMapDAO2.java index 5826f7e..52b87c7 100644 --- a/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/ClienteMapDAO2.java +++ b/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/ClienteMapDAO2.java @@ -5,21 +5,19 @@ */ package javaapplication1.dao; -import java.util.HashMap; import java.util.Map; import java.util.TreeMap; import javaapplication1.domain.Cliente; -import javax.swing.JOptionPane; /** * * @author rodrigo.pires */ -public class ClienteMapDAO implements IClienteDAO { +public class ClienteMapDAO2 implements IClienteDAO { private Map map; - public ClienteMapDAO() { + public ClienteMapDAO2() { map = new TreeMap<>(); } diff --git a/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/ClienteSetDAO2.java b/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/ClienteSetDAO2.java index 0f9876e..7d57e99 100644 --- a/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/ClienteSetDAO2.java +++ b/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/ClienteSetDAO2.java @@ -13,11 +13,11 @@ * * @author rodrigo.pires */ -public class ClienteSetDAO implements IClienteDAO { +public class ClienteSetDAO2 implements IClienteDAO { private Set set; - public ClienteSetDAO() { + public ClienteSetDAO2() { this.set = new HashSet<>(); } diff --git a/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/IClienteDAO2.java b/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/IClienteDAO2.java index 422f11b..da0f8cb 100644 --- a/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/IClienteDAO2.java +++ b/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/dao/IClienteDAO2.java @@ -11,7 +11,7 @@ * * @author rodrigo.pires */ -public interface IClienteDAO { +public interface IClienteDAO2 { public Boolean cadastrar(Cliente cliente); diff --git a/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/domain/Cliente2.java b/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/domain/Cliente2.java index b3e208a..491ce1e 100644 --- a/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/domain/Cliente2.java +++ b/mod14/ExemplosNetBeans/JavaApplication1/src/javaapplication1/domain/Cliente2.java @@ -11,7 +11,7 @@ * * @author rodrigo.pires */ -public class Cliente { +public class Cliente2 { private String nome; private Long cpf; @@ -21,7 +21,7 @@ public class Cliente { private String cidade; private String estado; - public Cliente(String nome, String cpf, String tel, String end, String num, String cidade, String estado) { + public void Cliente(String nome, String cpf, String tel, String end, String num, String cidade, String estado) { this.nome = nome; this.cpf = Long.valueOf(cpf); this.tel = Long.valueOf(tel); @@ -107,7 +107,7 @@ public boolean equals(Object obj) { return false; } final Cliente other = (Cliente) obj; - if (!Objects.equals(this.cpf, other.cpf)) { + if (!Objects.equals(this.cpf, other.getCpf())) { return false; } return true; diff --git a/mod17/ExemplosMod17/src/cadastro/App.java b/mod17/ExemplosMod17/src/cadastro/App.java index 6ce92c9..d9c7508 100644 --- a/mod17/ExemplosMod17/src/cadastro/App.java +++ b/mod17/ExemplosMod17/src/cadastro/App.java @@ -1,7 +1,7 @@ package cadastro; -import cadastro.dao.ClienteMapDAO; +import cadastro.dao.ClienteMapDAO3; import cadastro.dao.IClienteDAO; import cadastro.domain.Cliente; @@ -15,7 +15,7 @@ public class App { private static IClienteDAO iClienteDAO; public static void main(String args[]) { - iClienteDAO = new ClienteMapDAO(); + iClienteDAO = new ClienteMapDAO3(); String opcao = JOptionPane.showInputDialog(null, "Digite 1 para cadastro, 2 para consultar, 3 para exclusão, 4 para alteração ou 5 para sair", diff --git a/mod17/ExemplosMod17/src/cadastro/App2.java b/mod17/ExemplosMod17/src/cadastro/App2.java index 0af7ddf..5483445 100644 --- a/mod17/ExemplosMod17/src/cadastro/App2.java +++ b/mod17/ExemplosMod17/src/cadastro/App2.java @@ -1,6 +1,8 @@ package cadastro; -import cadastro.dao.ClienteMapDAO; +import javax.swing.JOptionPane; + +import br.com.rpires.dao.ClienteDAO; import cadastro.dao.ProdutoDAO; import cadastro.dao.generic.GenericDAO; import cadastro.dao.generic.IGenericDAO; @@ -11,17 +13,9 @@ import cadastro.fabrica.Factory; import cadastro.fabrica.IFactory; -import javax.swing.*; - -/** - * @author rodrigo.pires - * - * Aplicação de exemplo que simula um cadastro de cliente e produto - * - */ public class App2 { - private static GenericDAO iClienteDAO; + private static ClienteDAO iClienteDAO; private static GenericDAO iProdutoDAO; public static void main(String args[]) { @@ -53,21 +47,6 @@ public static void main(String args[]) { } } - /** - * Método que valida e decide qual método de CRUD irá ser chamado - * - * @param opcao selecionada para tratar os registros:
- * - *
    - *
  1. - Para cadastrar dados
  2. - *
  3. - Para consultar dados
  4. - *
  5. - Para excluir dados
  6. - *
  7. - Para atualizar dados
  8. - *
  9. - Para sair da aplicação
  10. - *
- *
- * @param opcaoMenuGeral Opção selecionada no menu inicial da aaplicação - 1 para cliente e 2 para produto - */ private static void executarOpcoes(String opcao, String opcaoMenuGeral) { if (isOpcaoSair(opcao)) { sair(); @@ -82,41 +61,27 @@ private static void executarOpcoes(String opcao, String opcaoMenuGeral) { } } - /** - * Método que trata a atualização dos dados - * - * @param opcaoMenuGeral Opção selecionada no menu inicial da aaplicação - 1 para cliente e 2 para produto - */ - private static void executarOpcaoAtualizar(String opcaoMenuGeral) { + @SuppressWarnings("unchecked") + private static void executarOpcaoAtualizar(String opcaoMenuGeral) { String dados = JOptionPane.showInputDialog(null, "Digite os dados do cliente separados por vígula, conforme exemplo: Nome, CPF, Telefone, Endereço, Número, Cidade e Estado", "Cadastro", JOptionPane.INFORMATION_MESSAGE); String[] dadosSeparados = dados.split(","); Cliente cliente = new Cliente(dadosSeparados[0],dadosSeparados[1],dadosSeparados[2],dadosSeparados[3],dadosSeparados[4],dadosSeparados[5],dadosSeparados[6]); - iClienteDAO.alterar(cliente); + ((IGenericDAO) iClienteDAO).alterar(cliente); JOptionPane.showMessageDialog(null, "Dados atualizados com sucesso: ", "Sucesso",JOptionPane.INFORMATION_MESSAGE); } - /** - * Método que trata a exclusão dos dados - * - * @param opcaoMenuGeral Opção selecionada no menu inicial da aaplicação - 1 para cliente e 2 para produto - */ @SuppressWarnings("unchecked") private static void executarOpcaoExcluir(String opcaoMenuGeral) { String msg = opcaoMenuGeral.equals("1") ? "Digite o CPF" : "Digite o código"; String dados = JOptionPane.showInputDialog(null, msg, "Exclusão de dados", JOptionPane.INFORMATION_MESSAGE); - ((IGenericDAO) getDAO(opcaoMenuGeral)).excluir(Long.parseLong(dados)); + ((IGenericDAO) getDAO(opcaoMenuGeral)).excluir(Long.parseLong(dados)); JOptionPane.showMessageDialog(null, "Dados excluídos com sucesso: ", "Sucesso",JOptionPane.INFORMATION_MESSAGE); } - /** - * Método que trata a consulta dos dados - * - * @param opcaoMenuGeral Opção selecionada no menu inicial da aaplicação - 1 para cliente e 2 para produto - */ private static void executarOpcaoConsultar(String opcaoMenuGeral) { String msg = opcaoMenuGeral.equals("1") ? "Digite o CPF" : "Digite o código"; @@ -132,11 +97,6 @@ private static void executarOpcaoConsultar(String opcaoMenuGeral) { } } - /** - * Método que trata o cadstro dos dados - * - * @param opcaoMenuGeral Opção selecionada no menu inicial da aaplicação - 1 para cliente e 2 para produto - */ private static void executarOpcaoCadastrar(String opcaoMenuGeral) { String dados = ""; if ("1".equals(opcaoMenuGeral)) { @@ -151,20 +111,11 @@ private static void executarOpcaoCadastrar(String opcaoMenuGeral) { cadastrar(dados, opcaoMenuGeral); } - /** - * Inicializa os acessos aos registros do banco de dados. - */ - private static void inicializarDAO() { - iClienteDAO = new ClienteMapDAO(); + private static void inicializarDAO() { + iClienteDAO = new ClienteDAO<>(); iProdutoDAO = new ProdutoDAO(); } - /** - * Método que retorna a instância correta do DAO para o tipo de dados desejado ou selecionado - * - * @param opcaoMenuGeral Opção selecionada no menu inicial da aaplicação - 1 para cliente e 2 para produto - * @return IGenericDAO interface genérica que contém os métodos de CRUD - */ public static Object getDAO(String opcaoMenuGeral) { if ("1".equals(opcaoMenuGeral)) { return iClienteDAO; @@ -173,55 +124,28 @@ public static Object getDAO(String opcaoMenuGeral) { } } - /** - * Método que executa a consulta ao banco de dados - * - * @param dados valor a ser consultado - * @param opcaoMenuGeral Opção selecionada no menu inicial da aaplicação - 1 para cliente e 2 para produto - * @return retorna o objeto Persistente que é pai de todas as entidades da aplicação - */ @SuppressWarnings("unchecked") - private static Persistente consultar(String dados, String opcaoMenuGeral) { - return ((IGenericDAO) getDAO(opcaoMenuGeral)).consultar(Long.valueOf(dados)); + private static Persistente consultar(String dados, String opcaoMenuGeral) { + return ((IGenericDAO) getDAO(opcaoMenuGeral)).consultar(Long.valueOf(dados)); } - /** - * Método que trata o cadastro dos dados no banco de dados - * - * @param dados valor a ser cadsatrado - * @param opcaoMenuGeral Opção selecionada no menu inicial da aaplicação - 1 para cliente e 2 para produto - */ private static void cadastrar(String dados, String opcaoMenuGeral) { String[] dadosSeparados = dados.split(","); Persistente persistente = criarObjetoConcreto(dadosSeparados, opcaoMenuGeral); Boolean isCadastrado = cadastrarObjeto(opcaoMenuGeral, persistente); if (isCadastrado) { - JOptionPane.showMessageDialog(null, "Dados cadastrado com sucesso ", "Sucesso",JOptionPane.INFORMATION_MESSAGE); + JOptionPane.showMessageDialog(null, "Dados cadastrados com sucesso ", "Sucesso",JOptionPane.INFORMATION_MESSAGE); } else { - JOptionPane.showMessageDialog(null, "Dados já se encontra cadastrado", "Erro",JOptionPane.INFORMATION_MESSAGE); + JOptionPane.showMessageDialog(null, "Dados já se encontram cadastrados", "Erro",JOptionPane.INFORMATION_MESSAGE); } } - /** - * Método que executa o cadastro dos dados no banco de dados - * - * @param opcaoMenuGeral Opção selecionada no menu inicial da aaplicação - 1 para cliente e 2 para produto - * @param persistente objeto pai que representa todas as entidades da aplicação - * @return - */ @SuppressWarnings("unchecked") - private static Boolean cadastrarObjeto(String opcaoMenuGeral, Persistente persistente) { - return ((GenericDAO) getDAO(opcaoMenuGeral)).cadastrar((Cliente) persistente); + private static Boolean cadastrarObjeto(String opcaoMenuGeral, Persistente persistente) { + return ((GenericDAO) getDAO(opcaoMenuGeral)).cadastrar(persistente); } - /** - * Método que cria uma fábrica de fábrica de objetos - * - * @param dadosSeparados Dados a serem cadastrados no banco de dados - * @param opcaoMenuGeral Opção selecionada no menu inicial da aaplicação - 1 para cliente e 2 para produto - * @return Retorna o objeto Persistente que é pai de todas as entidades da aplicação - */ private static Persistente criarObjetoConcreto(String[] dadosSeparados, String opcaoMenuGeral) { IFactory factory = new Factory(); FabricaPersistente fabricaPersistente = factory.criarFabrica(opcaoMenuGeral); @@ -229,18 +153,11 @@ private static Persistente criarObjetoConcreto(String[] dadosSeparados, String o } private static boolean isOpcaoValida(String opcao) { - if ("1".equals(opcao) || "2".equals(opcao) - || "3".equals(opcao) || "4".equals(opcao) || "5".equals(opcao)) { - return true; - } - return false; + return "1".equals(opcao) || "2".equals(opcao) || "3".equals(opcao) || "4".equals(opcao) || "5".equals(opcao); } private static boolean isOpcaoMenuValida(String opcao) { - if ("1".equals(opcao) || "2".equals(opcao)) { - return true; - } - return false; + return "1".equals(opcao) || "2".equals(opcao); } private static void sair() { @@ -249,31 +166,18 @@ private static void sair() { } private static boolean isOpcaoSair(String opcao) { - if ("5".equals(opcao)) { - return true; - } - return false; + return "5".equals(opcao); } private static boolean isCadastro(String opcao) { - if ("1".equals(opcao)) { - return true; - } - return false; + return "1".equals(opcao); } private static boolean isConsultar(String opcao) { - if ("2".equals(opcao)) { - return true; - } - return false; + return "2".equals(opcao); } private static boolean isExcluir(String opcao) { - if ("3".equals(opcao)) { - return true; - } - return false; + return "3".equals(opcao); } - } diff --git a/mod17/ExemplosMod17/src/cadastro/dao/ClienteMapDAO3.java b/mod17/ExemplosMod17/src/cadastro/dao/ClienteMapDAO3.java index fec45da..7c85d60 100644 --- a/mod17/ExemplosMod17/src/cadastro/dao/ClienteMapDAO3.java +++ b/mod17/ExemplosMod17/src/cadastro/dao/ClienteMapDAO3.java @@ -3,7 +3,6 @@ import cadastro.SingletonMap; import cadastro.dao.generic.GenericDAO; import cadastro.domain.Cliente; -import cadastro.domain.Persistente; import java.util.HashMap; import java.util.Map; @@ -12,9 +11,9 @@ * @author rodrigo.pires */ -public class ClienteMapDAO extends GenericDAO implements IClienteDAO { +public class ClienteMapDAO3 extends GenericDAO implements IClienteDAO { - public ClienteMapDAO() { + public ClienteMapDAO3() { super(); @SuppressWarnings("unchecked") Map mapaInterno = @@ -24,8 +23,7 @@ public ClienteMapDAO() { SingletonMap.getInstance().getMap().put(getTipoClasse(), mapaInterno); } } - - @Override + public Class getTipoClasse() { return Cliente.class; } @@ -46,5 +44,11 @@ public void alterar(Cliente cliente) { } + @Override + public Boolean cadastrar(Cliente persistente) { + // TODO Auto-generated method stub + return null; + } + } diff --git a/mod17/ExemplosMod17/src/cadastro/dao/IClienteDAO.java b/mod17/ExemplosMod17/src/cadastro/dao/IClienteDAO.java index 93ee62c..450d84f 100644 --- a/mod17/ExemplosMod17/src/cadastro/dao/IClienteDAO.java +++ b/mod17/ExemplosMod17/src/cadastro/dao/IClienteDAO.java @@ -2,26 +2,11 @@ import cadastro.dao.generic.IGenericDAO; import cadastro.domain.Cliente; -import cadastro.domain.Persistente; -import java.util.Collection; - -/** - * @author rodrigo.pires - * - * Interface que representa os dados de Cliente - */ public interface IClienteDAO extends IGenericDAO { - Boolean cadastrar(Persistente persistente); + Boolean cadastrar(Cliente persistente); -// public Boolean cadastrar(Cliente cliente); -// -// public void excluir(Long cpf); -// -// public void alterar(Cliente cliente); -// -// public Cliente consultar(Long cpf); -// -// public Collection buscarTodos(); + // Métodos adicionais conforme necessário } + diff --git a/mod17/ExemplosMod17/src/cadastro/dao/IProdutoDAO.java b/mod17/ExemplosMod17/src/cadastro/dao/IProdutoDAO.java index efd53e2..34bc625 100644 --- a/mod17/ExemplosMod17/src/cadastro/dao/IProdutoDAO.java +++ b/mod17/ExemplosMod17/src/cadastro/dao/IProdutoDAO.java @@ -1,19 +1,11 @@ package cadastro.dao; import cadastro.dao.generic.IGenericDAO; -import cadastro.domain.Cliente; -import cadastro.domain.Persistente; import cadastro.domain.Produto; -import java.util.Collection; - -/** - * @author rodrigo.pires - * - * Interface que representa os dados de Produto - */ public interface IProdutoDAO extends IGenericDAO { - Boolean cadastrar(Persistente persistente); + Boolean cadastrar(Produto persistente); + // Métodos adicionais conforme necessário } diff --git a/mod17/ExemplosMod17/src/cadastro/dao/ProdutoDAO.java b/mod17/ExemplosMod17/src/cadastro/dao/ProdutoDAO.java index 0868d08..f2dee87 100644 --- a/mod17/ExemplosMod17/src/cadastro/dao/ProdutoDAO.java +++ b/mod17/ExemplosMod17/src/cadastro/dao/ProdutoDAO.java @@ -5,34 +5,67 @@ import cadastro.domain.Cliente; import cadastro.domain.Produto; -import java.util.Collection; import java.util.HashMap; import java.util.Map; -/** - * @author rodrigo.pires - */ public class ProdutoDAO extends GenericDAO implements IProdutoDAO { - public ProdutoDAO() { - super(); - Map mapaInterno = - (Map) SingletonMap.getInstance().getMap().get(getTipoClasse()); - if (mapaInterno == null) { - mapaInterno = new HashMap<>(); - SingletonMap.getInstance().getMap().put(getTipoClasse(), mapaInterno); - } - } - - - @Override - public Class getTipoClasse() { - return Produto.class; - } - - @Override - public void atualiarDados(Produto entity, Produto entityCadastrado) { - entityCadastrado.setNome(entity.getNome()); - entityCadastrado.setCodigo(entity.getCodigo()); - } + public ProdutoDAO() { + @SuppressWarnings("unchecked") + Map mapaInterno = (Map) SingletonMap.getInstance().getMap().get(getTipoClasse()); + if (mapaInterno == null) { + mapaInterno = new HashMap<>(); + SingletonMap.getInstance().getMap().put(getTipoClasse(), mapaInterno); + } + } + + @Override + public Class getTipoClasse() { + return Cliente.class; + } + + @Override + public Boolean cadastrar(Produto persistente) { + @SuppressWarnings("unchecked") + Map mapaInterno = (Map) SingletonMap.getInstance().getMap().get(getTipoClasse()); + if (!mapaInterno.containsKey(persistente.getCodigo())) { + mapaInterno.put(persistente.getCodigo(), persistente); + return true; // Cadastro bem-sucedido + } + return false; // Produto já cadastrado + } + + @Override + public void atualizarDados(Produto entity, Produto entityCadastrado) { + entityCadastrado.setNome(entity.getNome()); + entityCadastrado.setCodigo(entity.getCodigo()); + } + + @Override + public void alterar(Produto produto) { + @SuppressWarnings("unchecked") + Map mapaInterno = (Map) SingletonMap.getInstance().getMap().get(getTipoClasse()); + Produto produtoCadastrado = mapaInterno.get(produto.getCodigo()); + if (produtoCadastrado != null) { + atualizarDados(produto, produtoCadastrado); + } + } + + @Override + public void alterar(Cliente cliente) { + // TODO Auto-generated method stub + + } + + @Override + public void atualiarDados(Produto entity, Produto entityCadastrado) { + // TODO Auto-generated method stub + + } + + @Override + public Boolean cadastrar(Cliente persistente) { + // TODO Auto-generated method stub + return null; + } } diff --git a/mod17/ExemplosMod17/src/cadastro/dao/generic/GenericDAO.java b/mod17/ExemplosMod17/src/cadastro/dao/generic/GenericDAO.java index 3966262..f2bcda5 100644 --- a/mod17/ExemplosMod17/src/cadastro/dao/generic/GenericDAO.java +++ b/mod17/ExemplosMod17/src/cadastro/dao/generic/GenericDAO.java @@ -1,10 +1,12 @@ package cadastro.dao.generic; +import java.util.Collection; +import java.util.Map; + import cadastro.SingletonMap; import cadastro.domain.Cliente; import cadastro.domain.Persistente; -import java.util.Collection; -import java.util.Map; +import cadastro.domain.Produto; /** * @author rodrigo.pires @@ -20,8 +22,10 @@ public abstract class GenericDAO implements IGenericDAO getTipoClasse(); - + public Class getTipoClasse() { + return null; + } + public abstract void atualiarDados(T entity, T entityCadastrado); public GenericDAO() { @@ -79,4 +83,10 @@ private Map extracted() { } public abstract Boolean cadastrar(Cliente persistente); + + public void atualizarDados(Produto entity, Produto entityCadastrado) { + // TODO Auto-generated method stub + + } + } diff --git a/mod17/ExemplosMod17/src/cadastro/dao/generic/IGenericDAO.java b/mod17/ExemplosMod17/src/cadastro/dao/generic/IGenericDAO.java index e2dcc7e..3c96e92 100644 --- a/mod17/ExemplosMod17/src/cadastro/dao/generic/IGenericDAO.java +++ b/mod17/ExemplosMod17/src/cadastro/dao/generic/IGenericDAO.java @@ -1,10 +1,10 @@ package cadastro.dao.generic; +import java.util.Collection; + import cadastro.domain.Cliente; import cadastro.domain.Persistente; -import java.util.Collection; - /** * @author rodrigo.pires * @@ -50,4 +50,6 @@ public interface IGenericDAO { public Collection buscarTodos(); void alterar(T entity); + + Class getTipoClasse(); } diff --git a/mod17/ExemplosMod17/src/cadastro/domain/Cliente.java b/mod17/ExemplosMod17/src/cadastro/domain/Cliente.java index 65b1df2..dbe4cf4 100644 --- a/mod17/ExemplosMod17/src/cadastro/domain/Cliente.java +++ b/mod17/ExemplosMod17/src/cadastro/domain/Cliente.java @@ -1,7 +1,5 @@ package cadastro.domain; -import java.lang.annotation.ElementType; -import java.lang.annotation.Target; import java.util.Objects; /** diff --git a/mod17/ExemplosMod17/src/generic/ExemplosJavaGenerics.java b/mod17/ExemplosMod17/src/generic/ExemplosJavaGenerics.java index 250bde5..b54fa8a 100644 --- a/mod17/ExemplosMod17/src/generic/ExemplosJavaGenerics.java +++ b/mod17/ExemplosMod17/src/generic/ExemplosJavaGenerics.java @@ -13,12 +13,12 @@ public class ExemplosJavaGenerics { public static void main(String args[]) { - List lista = new ArrayList(); + List lista = new ArrayList(); lista.add("Rodrigo"); lista.add("1"); imprimir(lista); - List listaLong = new ArrayList(); + List listaLong = new ArrayList(); listaLong.add(1l); listaLong.add(2l); imprimir(listaLong); diff --git a/mod19/ExemplosMod19/src/br/com/rpires/reflections/AppReflections.java b/mod19/ExemplosMod19/src/br/com/rpires/reflections/AppReflections.java index 17dd26a..ea91df6 100644 --- a/mod19/ExemplosMod19/src/br/com/rpires/reflections/AppReflections.java +++ b/mod19/ExemplosMod19/src/br/com/rpires/reflections/AppReflections.java @@ -11,15 +11,15 @@ public class AppReflections { public static void main(String args[]) { - Class clazz = Produto.class; + Class clazz = Produto.class; System.out.println(clazz); Produto prod = new Produto(); - Class clazz1 = prod.getClass(); + Class clazz1 = prod.getClass(); System.out.println(clazz1); try { - Constructor cons = clazz.getConstructor(); + Constructor cons = clazz.getConstructor(); Produto prod1 = (Produto) cons.newInstance(); System.out.println(cons); System.out.println(prod1); @@ -43,7 +43,7 @@ public static void main(String args[]) { if (m.getName().startsWith("get")) { System.out.println(m.invoke(prod1)); } else { - for (Class classesTypes : m.getParameterTypes()) { + for (Class classesTypes : m.getParameterTypes()) { if (classesTypes.equals(String.class)) { System.out.println(m.invoke(prod1, "Rodrigo")); } else if (classesTypes.equals(Long.class)) { diff --git a/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/App.java b/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/App.java index c2285cd..6390105 100644 --- a/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/App.java +++ b/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/App.java @@ -118,11 +118,4 @@ private static boolean isOpcaoValida(String opcao) { } return false; } - - private static boolean isOpcaoCadastro(String opcao) { - if ("1".equals(opcao)) { - return true; - } - return false; - } } diff --git a/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/App2.java b/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/App2.java index bc38db1..ebf36da 100644 --- a/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/App2.java +++ b/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/App2.java @@ -177,7 +177,8 @@ private static void inicializarDAO() { * @param opcaoMenuGeral Opção selecionada no menu inicial da aaplicação - 1 para cliente e 2 para produto * @return IGenericDAO interface genérica que contém os métodos de CRUD */ - public static IGenericDAO getDAO(String opcaoMenuGeral) { + @SuppressWarnings("rawtypes") + public static IGenericDAO getDAO(String opcaoMenuGeral) { if ("1".equals(opcaoMenuGeral)) { return iClienteDAO; } else { @@ -228,7 +229,8 @@ private static void cadastrar(String dados, String opcaoMenuGeral) throws DadosI * @param persistente objeto pai que representa todas as entidades da aplicação * @return */ - private static Boolean cadastrarObjeto(String opcaoMenuGeral, Persistente persistente) throws TipoChaveNaoEncontradaException { + @SuppressWarnings("unchecked") + private static Boolean cadastrarObjeto(String opcaoMenuGeral, Persistente persistente) throws TipoChaveNaoEncontradaException { return getDAO(opcaoMenuGeral).cadastrar(persistente); } diff --git a/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/SingletonMap.java b/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/SingletonMap.java index 3ebccc2..e391130 100644 --- a/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/SingletonMap.java +++ b/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/SingletonMap.java @@ -17,7 +17,8 @@ public class SingletonMap { * Contém todos os registros da aplicação. * Simula o banco de dados */ - protected Map> map; + @SuppressWarnings("rawtypes") + protected Map> map; private SingletonMap() { map = new HashMap<>(); @@ -35,7 +36,8 @@ public static SingletonMap getInstance() { return singletonMap; } - public Map> getMap() { + @SuppressWarnings("rawtypes") + public Map> getMap() { return this.map; } } diff --git a/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/dao/ClienteMapDAO.java b/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/dao/ClienteMapDAO.java index dc39ee0..61a99ee 100644 --- a/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/dao/ClienteMapDAO.java +++ b/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/dao/ClienteMapDAO.java @@ -3,6 +3,7 @@ import br.com.rpires.reflections.anotacao.cadastro.SingletonMap; import br.com.rpires.reflections.anotacao.cadastro.dao.generic.GenericDAO; import br.com.rpires.reflections.anotacao.cadastro.domain.Cliente; +import br.com.rpires.reflections.anotacao.cadastro.exception.TipoChaveNaoEncontradaException; import java.util.HashMap; import java.util.Map; @@ -37,4 +38,16 @@ public void atualiarDados(Cliente cliente, Cliente entityCadastrado) { entityCadastrado.setEstado(cliente.getEstado()); } + @Override + public Boolean cadastrar1(Cliente entity) throws TipoChaveNaoEncontradaException { + // TODO Auto-generated method stub + return null; + } + + @Override + public Boolean cadastrar(T entity) throws TipoChaveNaoEncontradaException { + // TODO Auto-generated method stub + return null; + } + } diff --git a/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/dao/IClienteDAO.java b/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/dao/IClienteDAO.java index 40a0e5a..9145530 100644 --- a/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/dao/IClienteDAO.java +++ b/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/dao/IClienteDAO.java @@ -2,6 +2,8 @@ import br.com.rpires.reflections.anotacao.cadastro.dao.generic.IGenericDAO; import br.com.rpires.reflections.anotacao.cadastro.domain.Cliente; +import br.com.rpires.reflections.anotacao.cadastro.domain.Produto; +import br.com.rpires.reflections.anotacao.cadastro.exception.TipoChaveNaoEncontradaException; /** * @author rodrigo.pires @@ -10,6 +12,11 @@ */ public interface IClienteDAO extends IGenericDAO { + Class getTipoClasse(); + + Boolean cadastrar(T entity) throws TipoChaveNaoEncontradaException; + + // public Boolean cadastrar(Cliente cliente); // // public void excluir(Long cpf); diff --git a/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/dao/ProdutoDAO.java b/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/dao/ProdutoDAO.java index 89b9540..dcea79c 100644 --- a/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/dao/ProdutoDAO.java +++ b/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/dao/ProdutoDAO.java @@ -10,9 +10,10 @@ /** * @author rodrigo.pires */ -public class ProdutoDAO extends GenericDAO implements IProdutoDAO { +public abstract class ProdutoDAO extends GenericDAO implements IProdutoDAO { - public ProdutoDAO() { + @SuppressWarnings("unchecked") + public ProdutoDAO() { super(); Map mapaInterno = (Map) SingletonMap.getInstance().getMap().get(getTipoClasse()); diff --git a/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/dao/generic/GenericDAO.java b/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/dao/generic/GenericDAO.java index cba115b..b2a0e34 100644 --- a/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/dao/generic/GenericDAO.java +++ b/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/dao/generic/GenericDAO.java @@ -2,7 +2,9 @@ import br.com.rpires.reflections.anotacao.cadastro.SingletonMap; import br.com.rpires.reflections.anotacao.cadastro.anotacao.TipoChave; +import br.com.rpires.reflections.anotacao.cadastro.dao.IClienteDAO; import br.com.rpires.reflections.anotacao.cadastro.domain.Persistente; +import br.com.rpires.reflections.anotacao.cadastro.domain.Produto; import br.com.rpires.reflections.anotacao.cadastro.exception.TipoChaveNaoEncontradaException; import java.lang.reflect.Field; @@ -16,7 +18,7 @@ * * Classe genérica que implementa interface genérica com os métodos de CRUD */ -public abstract class GenericDAO implements IGenericDAO { +public abstract class GenericDAO implements IGenericDAO, IClienteDAO { //protected Map> map = new HashMap<>(); @@ -25,7 +27,7 @@ public abstract class GenericDAO implements IGenericDAO getTipoClasse(); + public abstract Class getTipoClasse(); public abstract void atualiarDados(T entity, T entityCadastrado); @@ -59,10 +61,10 @@ public Long getChave(T entity) throws TipoChaveNaoEncontradaException { return null; } - @Override public Boolean cadastrar(T entity) throws TipoChaveNaoEncontradaException { //Map mapaInterno = this.map.get(getTipoClasse()); - Map mapaInterno = (Map) this.singletonMap.getMap().get(getTipoClasse()); + @SuppressWarnings("unchecked") + Map mapaInterno = (Map) this.singletonMap.getMap().get(getTipoClasse()); Long chave = getChave(entity); if (mapaInterno.containsKey(chave)) { return false; @@ -72,20 +74,20 @@ public Boolean cadastrar(T entity) throws TipoChaveNaoEncontradaException { return true; } - @Override public void excluir(Long valor) { //Map mapaInterno = this.map.get(getTipoClasse()); - Map mapaInterno = (Map) this.singletonMap.getMap().get(getTipoClasse()); + @SuppressWarnings({ "unchecked" }) + Map mapaInterno = (Map) this.singletonMap.getMap().get(getTipoClasse()); T objetoCadastrado = mapaInterno.get(valor); if (objetoCadastrado != null) { mapaInterno.remove(valor, objetoCadastrado); } } - @Override public void alterar(T entity) throws TipoChaveNaoEncontradaException { //Map mapaInterno = this.map.get(getTipoClasse()); - Map mapaInterno = (Map) this.singletonMap.getMap().get(getTipoClasse()); + @SuppressWarnings("unchecked") + Map mapaInterno = (Map) this.singletonMap.getMap().get(getTipoClasse()); Long chave = getChave(entity); T objetoCadastrado = mapaInterno.get(chave); if (objetoCadastrado != null) { @@ -93,17 +95,17 @@ public void alterar(T entity) throws TipoChaveNaoEncontradaException { } } - @Override public T consultar(Long valor) { //Map mapaInterno = this.map.get(getTipoClasse()); - Map mapaInterno = (Map) this.singletonMap.getMap().get(getTipoClasse()); + @SuppressWarnings("unchecked") + Map mapaInterno = (Map) this.singletonMap.getMap().get(getTipoClasse()); return mapaInterno.get(valor); } - @Override public Collection buscarTodos() { //Map mapaInterno = this.map.get(getTipoClasse()); - Map mapaInterno = (Map) this.singletonMap.getMap().get(getTipoClasse()); + @SuppressWarnings("unchecked") + Map mapaInterno = (Map) this.singletonMap.getMap().get(getTipoClasse()); return mapaInterno.values(); } } diff --git a/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/dao/generic/IGenericDAO.java b/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/dao/generic/IGenericDAO.java index 68303d7..6c8ef21 100644 --- a/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/dao/generic/IGenericDAO.java +++ b/mod19/ExemplosMod19/src/br/com/rpires/reflections/anotacao/cadastro/dao/generic/IGenericDAO.java @@ -1,6 +1,7 @@ package br.com.rpires.reflections.anotacao.cadastro.dao.generic; import br.com.rpires.reflections.anotacao.cadastro.domain.Persistente; +import br.com.rpires.reflections.anotacao.cadastro.domain.Produto; import br.com.rpires.reflections.anotacao.cadastro.exception.TipoChaveNaoEncontradaException; import java.util.Collection; @@ -48,4 +49,9 @@ public interface IGenericDAO { * @return Registros encontrados */ public Collection buscarTodos(); + + Boolean cadastrar1(T entity) throws TipoChaveNaoEncontradaException; + + Class getTipoClasse(); + } diff --git a/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/controller/LoginController.java b/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/controller/LoginController.java index b04190f..8c09e6d 100644 --- a/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/controller/LoginController.java +++ b/mod2/Springboot-jsp/src/main/java/br/com/rpires/ebac/Springbootjsp/controller/LoginController.java @@ -1,15 +1,16 @@ package br.com.rpires.ebac.Springbootjsp.controller; import br.com.rpires.ebac.Springbootjsp.service.LoginService; + +import javax.management.modelmbean.ModelMBean; + import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.ui.ModelMap; import org.springframework.web.bind.annotation.*; /** * @author Steve.Vaz */ -@Controller +@ControllerAdvice @SessionAttributes("name") public class LoginController { @@ -17,12 +18,12 @@ public class LoginController { LoginService service; @RequestMapping(value="/", method = RequestMethod.GET) - public String showLoginPage(ModelMap model){ + public String showLoginPage(ModelMBean model){ return "login"; } @RequestMapping(value="/login", method = RequestMethod.POST) - public String showWelcomePage(ModelMap model, @RequestParam String name, @RequestParam String password){ + public String showWelcomePage(ModelMBean model, @RequestParam String name, @RequestParam String password){ boolean isValidUser = service.validateUser(name, password); diff --git a/mod2/Springboot-jsp/src/test/java/br/com/rpires/ebac/Springbootjsp/SpringbootJspApplicationTests.java b/mod2/Springboot-jsp/src/test/java/br/com/rpires/ebac/Springbootjsp/SpringbootJspApplicationTests.java index d2fb69d..2ac68ca 100644 --- a/mod2/Springboot-jsp/src/test/java/br/com/rpires/ebac/Springbootjsp/SpringbootJspApplicationTests.java +++ b/mod2/Springboot-jsp/src/test/java/br/com/rpires/ebac/Springbootjsp/SpringbootJspApplicationTests.java @@ -3,7 +3,7 @@ import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest; -@SpringBootTest +@br.com.rpires.TesteAPI.SpringBootTest class SpringbootJspApplicationTests { @Test diff --git a/mod2/springboot-thymeleaf-web-app/src/main/java/net/springboot/javaguides/controller/StudentController.java b/mod2/springboot-thymeleaf-web-app/src/main/java/net/springboot/javaguides/controller/StudentController.java index 776f804..eb0c252 100644 --- a/mod2/springboot-thymeleaf-web-app/src/main/java/net/springboot/javaguides/controller/StudentController.java +++ b/mod2/springboot-thymeleaf-web-app/src/main/java/net/springboot/javaguides/controller/StudentController.java @@ -1,26 +1,27 @@ package net.springboot.javaguides.controller; +import java.awt.image.ColorModel; + +import javax.enterprise.inject.Model; +import javax.naming.Binding; import javax.validation.Valid; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.stereotype.Controller; -import org.springframework.ui.Model; -import org.springframework.validation.BindingResult; -import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; +import example.springdata.multistore.shop.OrderRepository; import net.springboot.javaguides.entity.Student; -import net.springboot.javaguides.repository.StudentRepository; -@Controller +@ControllerAdvice @RequestMapping("/students/") public class StudentController { @Autowired - private StudentRepository studentRepository; + private OrderRepository studentRepository; @GetMapping("showForm") public String showStudentForm(Student student) { @@ -28,13 +29,13 @@ public String showStudentForm(Student student) { } @GetMapping("list") - public String students(Model model) { + public String students(ColorModel model) { model.addAttribute("students", this.studentRepository.findAll()); return "index"; } @PostMapping("add") - public String addStudent(@Valid Student student, BindingResult result, Model model) { + public String addStudent(@Valid Student student, Binding result, Model model) { if(result.hasErrors()) { return "add-student"; } @@ -46,10 +47,10 @@ public String addStudent(@Valid Student student, BindingResult result, Model mod @GetMapping("edit/{id}") public String showUpdateForm(@PathVariable ("id") long id, Model model) { - Student student = this.studentRepository.findById(id) + Student student = ((Object) this.studentRepository.findById(id)) .orElseThrow(() -> new IllegalArgumentException("Invalid student id : " + id)); - model.addAttribute("student", student); + ((Object) model).addAttribute("student", student); return "update-student"; } diff --git a/mod2/springboot-thymeleaf-web-app/src/main/java/net/springboot/javaguides/repository/StudentRepository.java b/mod2/springboot-thymeleaf-web-app/src/main/java/net/springboot/javaguides/repository/StudentRepository.java deleted file mode 100644 index 58fb83b..0000000 --- a/mod2/springboot-thymeleaf-web-app/src/main/java/net/springboot/javaguides/repository/StudentRepository.java +++ /dev/null @@ -1,13 +0,0 @@ -package net.springboot.javaguides.repository; - -import java.util.List; - -import org.springframework.data.jpa.repository.JpaRepository; -import org.springframework.stereotype.Repository; - -import net.springboot.javaguides.entity.Student; - -@Repository -public interface StudentRepository extends JpaRepository{ - List findByName(String name); -} diff --git a/mod20/src/br/com/rpires/lambdas/IntBinaryOperatorClass.java b/mod20/src/br/com/rpires/lambdas/IntBinaryOperatorClass.java index 66e9f1d..ccb75e6 100644 --- a/mod20/src/br/com/rpires/lambdas/IntBinaryOperatorClass.java +++ b/mod20/src/br/com/rpires/lambdas/IntBinaryOperatorClass.java @@ -3,7 +3,7 @@ import java.util.function.IntBinaryOperator; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class IntBinaryOperatorClass implements IntBinaryOperator { @Override diff --git a/mod20/src/br/com/rpires/lambdas/TesteLambdas.java b/mod20/src/br/com/rpires/lambdas/TesteLambdas.java index 36ed31f..43f7eb3 100644 --- a/mod20/src/br/com/rpires/lambdas/TesteLambdas.java +++ b/mod20/src/br/com/rpires/lambdas/TesteLambdas.java @@ -6,7 +6,7 @@ import java.util.function.Supplier; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class TesteLambdas { @@ -50,7 +50,10 @@ public static void main(String[] args) { return 3.1415; }; - + System.out.println(hello_world); + System.out.println(integerCallable); + System.out.println(doubleCallable); + } private static Long calcular(Long t, Long u, BiFunction function) { diff --git a/mod20/src/br/com/rpires/lambdas/TesteLambdasThreads.java b/mod20/src/br/com/rpires/lambdas/TesteLambdasThreads.java index 5d349b3..a409dc3 100644 --- a/mod20/src/br/com/rpires/lambdas/TesteLambdasThreads.java +++ b/mod20/src/br/com/rpires/lambdas/TesteLambdasThreads.java @@ -1,7 +1,7 @@ package br.com.rpires.lambdas; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class TesteLambdasThreads { diff --git a/mod20/src/br/com/rpires/lambdas/anonimas/AnonimasTeste.java b/mod20/src/br/com/rpires/lambdas/anonimas/AnonimasTeste.java index 4ec6dea..247229c 100644 --- a/mod20/src/br/com/rpires/lambdas/anonimas/AnonimasTeste.java +++ b/mod20/src/br/com/rpires/lambdas/anonimas/AnonimasTeste.java @@ -1,9 +1,7 @@ package br.com.rpires.lambdas.anonimas; -import br.com.rpires.lambdas.TesteLambdasThreads; - /** - * @author rodrigo.pires + * @author Steve Vaz */ public class AnonimasTeste { diff --git a/mod20/src/br/com/rpires/lambdas/anonimas/MetodosComLambdas.java b/mod20/src/br/com/rpires/lambdas/anonimas/MetodosComLambdas.java index e342aa4..4ce3c34 100644 --- a/mod20/src/br/com/rpires/lambdas/anonimas/MetodosComLambdas.java +++ b/mod20/src/br/com/rpires/lambdas/anonimas/MetodosComLambdas.java @@ -1,7 +1,7 @@ package br.com.rpires.lambdas.anonimas; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class MetodosComLambdas { diff --git a/mod20/src/br/com/rpires/lambdas/anonimas/MyEventConsumer.java b/mod20/src/br/com/rpires/lambdas/anonimas/MyEventConsumer.java index f2e1d7e..efe180e 100644 --- a/mod20/src/br/com/rpires/lambdas/anonimas/MyEventConsumer.java +++ b/mod20/src/br/com/rpires/lambdas/anonimas/MyEventConsumer.java @@ -1,7 +1,7 @@ package br.com.rpires.lambdas.anonimas; /** - * @author rodrigo.pires + * @author Steve Vaz */ @FunctionalInterface public interface MyEventConsumer { diff --git a/mod20/src/br/com/rpires/lambdas/anonimas/MyEventConsumerReturn.java b/mod20/src/br/com/rpires/lambdas/anonimas/MyEventConsumerReturn.java index fc8f1e4..a29adfe 100644 --- a/mod20/src/br/com/rpires/lambdas/anonimas/MyEventConsumerReturn.java +++ b/mod20/src/br/com/rpires/lambdas/anonimas/MyEventConsumerReturn.java @@ -1,7 +1,7 @@ package br.com.rpires.lambdas.anonimas; /** - * @author rodrigo.pires + * @author Steve Vaz */ @FunctionalInterface public interface MyEventConsumerReturn { diff --git a/mod20/src/br/com/rpires/lambdas/anonimas/QuandoUtilizarParenteses.java b/mod20/src/br/com/rpires/lambdas/anonimas/QuandoUtilizarParenteses.java index 656aea9..2ac71ba 100644 --- a/mod20/src/br/com/rpires/lambdas/anonimas/QuandoUtilizarParenteses.java +++ b/mod20/src/br/com/rpires/lambdas/anonimas/QuandoUtilizarParenteses.java @@ -1,7 +1,7 @@ package br.com.rpires.lambdas.anonimas; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class QuandoUtilizarParenteses { @@ -9,17 +9,23 @@ public static void main(String[] args) { MyEventConsumer myEvent = (Object s) -> { System.out.println(s); }; - + + System.out.println(myEvent); + MyEventConsumer myEvent1 = (s) -> { System.out.println(s); }; + System.out.println(myEvent1); + MyEventConsumer myEvent2 = s -> System.out.println(s); MyEventConsumer myEvent3 = s -> { System.out.println(s); System.out.println(s); }; + + System.out.println(myEvent3); myEvent2.consumer("as"); MyEventConsumerReturn ret = s -> { @@ -34,6 +40,8 @@ public static void main(String[] args) { System.out.println(s); return "Ola"; }; + + System.out.println(retS); ret.consumer(1); MyEventConsumer myEvent4 = s -> imprimir(s); diff --git a/mod20/src/br/com/rpires/lambdas/anonimas/ReferenciaMetodos.java b/mod20/src/br/com/rpires/lambdas/anonimas/ReferenciaMetodos.java index 86c17c4..1f747f1 100644 --- a/mod20/src/br/com/rpires/lambdas/anonimas/ReferenciaMetodos.java +++ b/mod20/src/br/com/rpires/lambdas/anonimas/ReferenciaMetodos.java @@ -1,7 +1,7 @@ package br.com.rpires.lambdas.anonimas; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ReferenciaMetodos { diff --git a/mod22/src/br/com/rpires/CriandoStreams.java b/mod22/src/br/com/rpires/CriandoStreams.java index 9ec32d9..7b48b0c 100644 --- a/mod22/src/br/com/rpires/CriandoStreams.java +++ b/mod22/src/br/com/rpires/CriandoStreams.java @@ -6,19 +6,19 @@ import java.util.stream.Stream; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class CriandoStreams { public static void main(String[] args) { - Stream stream = List.of("Rodrigo", "Pires", "Teste").stream(); + List.of("Rodrigo", "Pires", "Teste").stream(); - Stream set = Set.of("Rodrigo", "Pires", "Teste").stream(); + Set.of("Rodrigo", "Pires", "Teste").stream(); Map map = Map.of("Rodrigo", "Pires"); - Stream chaves = map.keySet().stream(); - Stream valores = map.values().stream(); + map.keySet().stream(); + map.values().stream(); - Stream streamSTS = Stream.of("String", "asds"); + Stream.of("String", "asds"); } } diff --git a/mod22/src/br/com/rpires/ExemploDistinct.java b/mod22/src/br/com/rpires/ExemploDistinct.java index 36413f6..12dc219 100644 --- a/mod22/src/br/com/rpires/ExemploDistinct.java +++ b/mod22/src/br/com/rpires/ExemploDistinct.java @@ -4,7 +4,7 @@ import java.util.stream.Stream; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemploDistinct { @@ -12,5 +12,7 @@ public static void main(String[] args) { List lista = new Pessoa().populaPessoas(); Stream stream = lista.stream().distinct(); + + System.out.println(stream); } } diff --git a/mod22/src/br/com/rpires/ExemplosAllMach.java b/mod22/src/br/com/rpires/ExemplosAllMach.java index f1f6721..e80f6b4 100644 --- a/mod22/src/br/com/rpires/ExemplosAllMach.java +++ b/mod22/src/br/com/rpires/ExemplosAllMach.java @@ -3,7 +3,7 @@ import java.util.List; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemplosAllMach { @@ -21,6 +21,8 @@ public static void main(String[] args) { re=false; break; } + + System.out.println(re); } } } diff --git a/mod22/src/br/com/rpires/ExemplosCollect.java b/mod22/src/br/com/rpires/ExemplosCollect.java index 30bd490..97743d0 100644 --- a/mod22/src/br/com/rpires/ExemplosCollect.java +++ b/mod22/src/br/com/rpires/ExemplosCollect.java @@ -4,7 +4,7 @@ import java.util.stream.Collectors; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemplosCollect { diff --git a/mod22/src/br/com/rpires/ExemplosCount.java b/mod22/src/br/com/rpires/ExemplosCount.java index e5fe59c..9db93c7 100644 --- a/mod22/src/br/com/rpires/ExemplosCount.java +++ b/mod22/src/br/com/rpires/ExemplosCount.java @@ -3,7 +3,7 @@ import java.util.List; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemplosCount { diff --git a/mod22/src/br/com/rpires/ExemplosFilter.java b/mod22/src/br/com/rpires/ExemplosFilter.java index b918389..4a9114c 100644 --- a/mod22/src/br/com/rpires/ExemplosFilter.java +++ b/mod22/src/br/com/rpires/ExemplosFilter.java @@ -2,21 +2,20 @@ import java.util.List; import java.util.function.Predicate; -import java.util.stream.Stream; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemplosFilter { public static void main(String[] args) { List lista = new Pessoa().populaPessoas(); - Stream stream = lista.stream() + lista.stream() .filter(pessoa -> pessoa.getNacionalidade().equals("Brasil")); Predicate pred = pessoa -> pessoa.getNacionalidade().equals("Brasil"); - Stream stream1 = lista.stream().filter(pred); + lista.stream().filter(pred); Predicate pred1 = new Predicate() { @Override @@ -25,9 +24,9 @@ public boolean test(Pessoa pessoa) { } }; - Stream stream2 = lista.stream().filter(pred1); + lista.stream().filter(pred1); - Stream stream3 = lista.stream().filter(new Predicate() { + lista.stream().filter(new Predicate() { @Override public boolean test(Pessoa pessoa) { return pessoa.getNacionalidade().equals("Brasil"); diff --git a/mod22/src/br/com/rpires/ExemplosForEach.java b/mod22/src/br/com/rpires/ExemplosForEach.java index 9ce024d..12c6850 100644 --- a/mod22/src/br/com/rpires/ExemplosForEach.java +++ b/mod22/src/br/com/rpires/ExemplosForEach.java @@ -4,7 +4,7 @@ import java.util.stream.Stream; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemplosForEach { diff --git a/mod22/src/br/com/rpires/ExemplosLimit.java b/mod22/src/br/com/rpires/ExemplosLimit.java index f5d47e5..f447a53 100644 --- a/mod22/src/br/com/rpires/ExemplosLimit.java +++ b/mod22/src/br/com/rpires/ExemplosLimit.java @@ -4,7 +4,7 @@ import java.util.stream.Stream; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemplosLimit { @@ -12,5 +12,7 @@ public static void main(String[] args) { List lista = new Pessoa().populaPessoas(); Stream stream = lista.stream().limit(2); + + System.out.println(stream); } } diff --git a/mod22/src/br/com/rpires/ExemplosMap.java b/mod22/src/br/com/rpires/ExemplosMap.java index e85ba66..a3152a9 100644 --- a/mod22/src/br/com/rpires/ExemplosMap.java +++ b/mod22/src/br/com/rpires/ExemplosMap.java @@ -1,22 +1,20 @@ package br.com.rpires; import java.util.List; -import java.util.stream.IntStream; -import java.util.stream.Stream; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemplosMap { public static void main(String[] args) { List lista = new Pessoa().populaPessoas(); - Stream steam = lista.stream() + lista.stream() .filter(pessoa -> pessoa.getNacionalidade().equals("Brasil")) .map(Pessoa::getIdade); - IntStream steam1 = lista.stream() + lista.stream() .filter(pessoa -> pessoa.getNacionalidade().equals("Brasil")) .mapToInt(Pessoa::getIdade); } diff --git a/mod22/src/br/com/rpires/ExemplosOPtional.java b/mod22/src/br/com/rpires/ExemplosOPtional.java index 5e9b63c..ddb3627 100644 --- a/mod22/src/br/com/rpires/ExemplosOPtional.java +++ b/mod22/src/br/com/rpires/ExemplosOPtional.java @@ -6,7 +6,7 @@ import java.util.Optional; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemplosOPtional { diff --git a/mod22/src/br/com/rpires/ExemplosSorted.java b/mod22/src/br/com/rpires/ExemplosSorted.java index 0589791..40de616 100644 --- a/mod22/src/br/com/rpires/ExemplosSorted.java +++ b/mod22/src/br/com/rpires/ExemplosSorted.java @@ -2,24 +2,23 @@ import java.util.Comparator; import java.util.List; -import java.util.stream.Stream; /** - * @author rodrigo.pires + * @author Steve Vaz */ public class ExemplosSorted { public static void main(String[] args) { List lista = new Pessoa().populaPessoas(); - Stream stream = lista.stream() + lista.stream() .filter(pessoa -> pessoa.getNacionalidade().equals("Brasil")) .sorted(Comparator.comparing(Pessoa::getNome)); - Stream stream1 = lista.stream() + lista.stream() .sorted(Comparator.comparing(Pessoa::getIdade)); - Stream stream2 = lista.stream() + lista.stream() .sorted((p1,p2) -> Integer.compare(p2.getIdade(), p1.getIdade())); } } diff --git a/mod23e24/ExemplosMod23e24/bin/.gitignore b/mod23e24/ExemplosMod23e24/bin/.gitignore deleted file mode 100644 index a503b91..0000000 --- a/mod23e24/ExemplosMod23e24/bin/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/Exercise_mod23/ -/br/ diff --git a/mod23e24/ExemplosMod23e24/test/br/com/rpires/AllTests.java b/mod23e24/ExemplosMod23e24/test/br/com/rpires/AllTests.java index e50173f..21cd945 100644 --- a/mod23e24/ExemplosMod23e24/test/br/com/rpires/AllTests.java +++ b/mod23e24/ExemplosMod23e24/test/br/com/rpires/AllTests.java @@ -7,6 +7,6 @@ * @author rodrigo.pires */ @RunWith(Suite.class) -@Suite.SuiteClasses({ ClienteServiceTest.class, ContratoServiceTest.class }) +@Suite.SuiteClasses({ ClienteServiceTest1.class, ContratoServiceTest.class }) public class AllTests { } diff --git a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/ClienteDAO.java b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/ClienteDAO.java index ade6354..d2839e0 100644 --- a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/ClienteDAO.java +++ b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/ClienteDAO.java @@ -4,25 +4,26 @@ package br.com.rpires.dao; import br.com.rpires.dao.generic.GenericDAO; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; /** * @author rodrigo.pires * */ -public class ClienteDAO extends GenericDAO implements IClienteDAO { + +public class ClienteDAO extends GenericDAO implements IClienteDAO2, IClientDAO { public ClienteDAO() { super(); } @Override - public Class getTipoClasse() { - return Cliente.class; + public Class getTipoClasse() { + return Cliente_2.class; } @Override - public void atualiarDados(Cliente entity, Cliente entityCadastrado) { + public void atualiarDados(Cliente_2 entity, Cliente_2 entityCadastrado) { entityCadastrado.setCidade(entity.getCidade()); entityCadastrado.setCpf(entity.getCpf()); entityCadastrado.setEnd(entity.getEnd()); @@ -34,5 +35,63 @@ public void atualiarDados(Cliente entity, Cliente entityCadastrado) { } + @Override + public Integer excluir(Object valor) { + // TODO Auto-generated method stub + + } + + @Override + public void excluir(Long cpf) { + // TODO Auto-generated method stub + + } + + @Override + public void alterar(Cliente_2 cliente) { + // TODO Auto-generated method stub + + } + + @Override + public Cliente_2 consultar(Long cpf) { + // TODO Auto-generated method stub + return null; + } + @Override + public void atualiarDados(T entity, T entityCadastrado) { + // TODO Auto-generated method stub + + } + + @Override + public Integer cadastrar(Cliente_2 cliente) throws Exception { + // TODO Auto-generated method stub + return null; + } + + @Override + public Cliente_2 consultar(Object valor) { + // TODO Auto-generated method stub + return null; + } + + @Override + public Boolean cadastrar(Object entity) { + // TODO Auto-generated method stub + return null; + } + + @Override + public void excluir(long parseLong) { + // TODO Auto-generated method stub + + } + + @Override + public void alterar(Object entity) { + // TODO Auto-generated method stub + + } } diff --git a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/IClientDAO.java b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/IClientDAO.java index 87bbe30..533a6a5 100644 --- a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/IClientDAO.java +++ b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/IClientDAO.java @@ -4,12 +4,13 @@ package br.com.rpires.dao; import br.com.rpires.dao.generic.IGenericDAO; -import br.com.rpires.domain.Cliente; + +import java.io.Serializable; /** * @author rodrigo.pires */ -public interface IClienteDAO extends IGenericDAO { +public interface IClientDAO extends IGenericDAO { } diff --git a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/IProdutoDAO.java b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/IProdutoDAO.java index 83321b7..fd0f76d 100644 --- a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/IProdutoDAO.java +++ b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/IProdutoDAO.java @@ -4,12 +4,16 @@ package br.com.rpires.dao; import br.com.rpires.dao.generic.IGenericDAO; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Cliente_2; +import br.com.rpires.domain.Produto_4; +import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; /** * @author rodrigo.pires * */ -public interface IProdutoDAO extends IGenericDAO{ +public interface IProdutoDAO extends IGenericDAO{ + + Boolean cadastrar(Cliente_2 cliente) throws TipoChaveNaoEncontradaException; } diff --git a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/Persistente.java b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/Persistente.java index f1253f3..7224c23 100644 --- a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/Persistente.java +++ b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/Persistente.java @@ -6,6 +6,7 @@ * Classe que representa todas as entidades ou objetos da aplicação que seram salvas no banco de dados */ public interface Persistente { + String getEndereco(); //public Long getCodigo(); } diff --git a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/ProdutoDAO.java b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/ProdutoDAO.java index 96e0b3f..783d8b4 100644 --- a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/ProdutoDAO.java +++ b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/ProdutoDAO.java @@ -4,25 +4,26 @@ package br.com.rpires.dao; import br.com.rpires.dao.generic.GenericDAO; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Cliente_2; +import br.com.rpires.domain.Produto_4; /** * @author rodrigo.pires * */ -public class ProdutoDAO extends GenericDAO implements IProdutoDAO { +public class ProdutoDAO extends GenericDAO implements IProdutoDAO_1 { public ProdutoDAO() { super(); } @Override - public Class getTipoClasse() { - return Produto.class; + public Class getTipoClasse() { + return Produto_4.class; } @Override - public void atualiarDados(Produto entity, Produto entityCadastrado) { + public void atualiarDados(Produto_4 entity, Produto_4 entityCadastrado) { entityCadastrado.setCodigo(entity.getCodigo()); entityCadastrado.setDescricao(entity.getDescricao()); entityCadastrado.setNome(entity.getNome()); diff --git a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/VendaDAO.java b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/VendaDAO.java index d3de933..63a641c 100644 --- a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/VendaDAO.java +++ b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/VendaDAO.java @@ -4,6 +4,7 @@ package br.com.rpires.dao; import br.com.rpires.dao.generic.GenericDAO; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.domain.Venda; import br.com.rpires.domain.Venda.Status; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; @@ -12,10 +13,10 @@ * @author rodrigo.pires * */ -public class VendaDAO extends GenericDAO implements IVendaDAO { +public class VendaDAO extends GenericDAO implements IVendaDAO_1 { @Override - public Class getTipoClasse() { + public Class getTipoClasse() { return Venda.class; } diff --git a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/generic/GenericDAO.java b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/generic/GenericDAO.java index f848d45..7ef0fac 100644 --- a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/generic/GenericDAO.java +++ b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/generic/GenericDAO.java @@ -4,12 +4,17 @@ import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; +import java.sql.PreparedStatement; +import java.sql.SQLException; import java.util.Collection; import java.util.HashMap; import java.util.Map; import anotacao.TipoChave; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.Persistence; +import br.com.rpires.domain.Cliente_2; +import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Produto_4; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; /** @@ -17,7 +22,7 @@ * * Classe genérica que implementa interface genérica com os métodos de CRUD */ -public abstract class GenericDAO implements IGenericDAO { +public abstract class GenericDAO implements IGenericDAO { //protected Map> map = new HashMap<>(); @@ -26,7 +31,7 @@ public abstract class GenericDAO */ private SingletonMap singletonMap; - public abstract Class getTipoClasse(); + public abstract Class getTipoClasse(); public abstract void atualiarDados(T entity, T entityCadastrado); @@ -84,14 +89,14 @@ private Map getMapa() { return mapaInterno; } - @Override - public void excluir(E valor) { + public Integer excluir(E valor) { //Map mapaInterno = this.map.get(getTipoClasse()); Map mapaInterno = getMapa(); T objetoCadastrado = mapaInterno.get(valor); if (objetoCadastrado != null) { mapaInterno.remove(valor, objetoCadastrado); } + return null; } @Override @@ -105,10 +110,10 @@ public void alterar(T entity) throws TipoChaveNaoEncontradaException { } @Override - public T consultar(E valor) { + public Cliente_2 consultar(E valor) { //Map mapaInterno = this.map.get(getTipoClasse()); Map mapaInterno = getMapa(); - return mapaInterno.get(valor); + return (Cliente_2) mapaInterno.get(valor); } @Override @@ -116,4 +121,31 @@ public Collection buscarTodos() { Map mapaInterno = getMapa(); return mapaInterno.values(); } + + protected abstract String getQueryInsercao(); + + protected abstract void setParametrosQueryInsercao(PreparedStatement stmInsert, Produto entity) throws SQLException; + + protected abstract void setParametrosQueryInsercao(PreparedStatement stmInsert, Cliente_2 entity) throws SQLException; + + protected abstract String getQueryExclusao(); + + protected abstract void setParametrosQueryExclusao(PreparedStatement stmExclusao, String valor) throws SQLException; + + protected abstract void setParametrosQueryExclusao(PreparedStatement stmExclusao, Long valor) throws SQLException; + + protected abstract String getQueryAtualizacao(); + + protected abstract void setParametrosQueryAtualizacao(PreparedStatement stmUpdate, Produto_4 entity) throws SQLException; + + protected abstract void setParametrosQuerySelect(PreparedStatement stmExclusao, String valor) throws SQLException; + + protected abstract void setParametrosQueryAtualizacao(PreparedStatement stmUpdate, Cliente_2 entity) throws SQLException; + + protected abstract void setParametrosQuerySelect(PreparedStatement stmSelect, Long valor) throws SQLException; + + protected void setParametrosQueryAtualizacao(PreparedStatement stmUpdate, Produto entity) throws SQLException { + // TODO Auto-generated method stub + + } } diff --git a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/generic/IGenericDAO.java b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/generic/IGenericDAO.java index bf392b6..fb51821 100644 --- a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/generic/IGenericDAO.java +++ b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/generic/IGenericDAO.java @@ -1,6 +1,8 @@ package br.com.rpires.dao.generic; -import br.com.rpires.dao.Persistente; +import br.com.rpires.Cliente; +import br.com.rpires.dao.Persistence; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; import java.io.Serializable; @@ -11,22 +13,23 @@ * * Interface genérica para métodos de CRUD(Create, Read, Update and Delete) */ -public interface IGenericDAO { +public interface IGenericDAO { /** * Método para cadastrar novos registro no banco de dados * - * @param entity a ser cadastrado + * @param cliente a ser cadastrado * @return retorna verdadeiro para cadastrado e falso para não cadastrado */ - public Boolean cadastrar(T entity) throws TipoChaveNaoEncontradaException; + public Boolean cadastrar(Cliente_2 cliente) throws TipoChaveNaoEncontradaException; /** * Método para excluir um registro do banco de dados * - * @param valor chave única do dado a ser excluído + * @param long1 chave única do dado a ser excluído + * @return */ - public void excluir(E valor); + public Integer excluir(Long long1); /** *Método para alterar um registro no bando de dados. @@ -41,12 +44,18 @@ public interface IGenericDAO { * @param valor chave única do dado a ser consultado * @return */ - public T consultar(E valor); + public Cliente_2 consultar(E valor); /** * Método que irá retornar todos os registros do banco de dados de uma determinado dado ou tabela * * @return Registros encontrados */ - public Collection buscarTodos(); + public Collection buscarTodos(); + + void atualiarDados(Cliente_2 entity, Cliente_2 entityCadastrado); + + void alterar(Object entity); + + public Boolean cadastrar(T entity) throws TipoChaveNaoEncontradaException; } diff --git a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/domain/Cliente_2.java b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/domain/Cliente_2.java index 5738025..f2dbdba 100644 --- a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/domain/Cliente_2.java +++ b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/domain/Cliente_2.java @@ -4,13 +4,13 @@ package br.com.rpires.domain; import anotacao.TipoChave; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.Persistence; /** * @author rodrigo.pires * */ -public class Cliente implements Persistente { +public class Cliente_2 implements Persistence { private String nome; @@ -26,8 +26,14 @@ public class Cliente implements Persistente { private String cidade; private String estado; - - public String getNome() { + + public Cliente_2(int ignoredCodigo, String ignoredNome, String ignoredEndereco) { + } + + public Cliente_2() { + } + + public String getNome() { return nome; } public void setNome(String nome) { @@ -70,6 +76,13 @@ public void setEstado(String estado) { this.estado = estado; } - + public E getCodigo() { + // TODO Auto-generated method stub + return null; + } + public void setCodigo(String string) { + // TODO Auto-generated method stub + return; + } } diff --git a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/domain/Produto.java b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/domain/Produto.java index 66e3730..0b32c33 100644 --- a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/domain/Produto.java +++ b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/domain/Produto.java @@ -4,7 +4,7 @@ package br.com.rpires.domain; import anotacao.TipoChave; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.Persistence; import java.math.BigDecimal; @@ -12,7 +12,7 @@ * @author rodrigo.pires * */ -public class Produto_5 implements Persistente { +public class Produto implements Persistence { @TipoChave("getCodigo") private String codigo; diff --git a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/domain/ProdutoQuantidade.java b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/domain/ProdutoQuantidade.java index 60071ab..d910de2 100644 --- a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/domain/ProdutoQuantidade.java +++ b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/domain/ProdutoQuantidade.java @@ -11,7 +11,7 @@ */ public class ProdutoQuantidade { - private Produto produto; + private Produto_4 produto; private Integer quantidade; @@ -22,11 +22,11 @@ public ProdutoQuantidade() { this.valorTotal = BigDecimal.ZERO; } - public Produto getProduto() { + public Produto_4 getProduto() { return produto; } - public void setProduto(Produto produto) { + public void setProduto(Produto_4 produto) { this.produto = produto; } diff --git a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/domain/Venda.java b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/domain/Venda.java index c2ffeda..da8db0b 100644 --- a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/domain/Venda.java +++ b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/domain/Venda.java @@ -10,13 +10,13 @@ import java.util.Set; import anotacao.TipoChave; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.Persistence; /** * @author rodrigo.pires * */ -public class Venda implements Persistente { +public class Venda implements Persistence { public enum Status { INICIADA, CONCLUIDA, CANCELADA; @@ -25,7 +25,7 @@ public enum Status { @TipoChave("getCodigo") private String codigo; - private Cliente cliente; + private Cliente_2 cliente; private Set produtos; @@ -47,11 +47,11 @@ public void setCodigo(String codigo) { this.codigo = codigo; } - public Cliente getCliente() { + public Cliente_2 getCliente() { return cliente; } - public void setCliente(Cliente cliente) { + public void setCliente(Cliente_2 cliente) { this.cliente = cliente; } @@ -59,7 +59,7 @@ public Set getProdutos() { return produtos; } - public void adicionarProduto(Produto produto, Integer quantidade) { + public void adicionarProduto(Produto_4 produto, Integer quantidade) { validarStatus(); Optional op = produtos.stream().filter(filter -> filter.getProduto().getCodigo().equals(produto.getCodigo())).findAny(); @@ -82,7 +82,7 @@ private void validarStatus() { } } - public void removerProduto(Produto produto, Integer quantidade) { + public void removerProduto(Produto_4 produto, Integer quantidade) { validarStatus(); Optional op = produtos.stream().filter(filter -> filter.getProduto().getCodigo().equals(produto.getCodigo())).findAny(); diff --git a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/ClienteService.java b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/ClienteService.java index 0aa5943..2c04537 100644 --- a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/ClienteService.java +++ b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/ClienteService.java @@ -3,20 +3,19 @@ */ package br.com.rpires.services; -import br.com.rpires.dao.IClienteDAO; -import br.com.rpires.domain.Cliente; -import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; +import br.com.rpires.dao.IClienteDAO2; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.services.generic.GenericService; /** * @author rodrigo.pires * */ -public class ClienteService extends GenericService implements IClienteService { +public class ClienteService extends GenericService implements IClienteService { //private IClienteDAO clienteDAO; - public ClienteService(IClienteDAO clienteDAO) { + public ClienteService(IClienteDAO2 clienteDAO) { super(clienteDAO); //this.clienteDAO = clienteDAO; } @@ -27,7 +26,7 @@ public ClienteService(IClienteDAO clienteDAO) { // } @Override - public Cliente buscarPorCPF(Long cpf) { + public Cliente_2 buscarPorCPF(Long cpf) { return this.dao.consultar(cpf); } diff --git a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/IClienteService.java b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/IClienteService.java index c4d58bb..ae70854 100644 --- a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/IClienteService.java +++ b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/IClienteService.java @@ -3,7 +3,7 @@ */ package br.com.rpires.services; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; /** @@ -12,12 +12,12 @@ */ public interface IClienteService { - Boolean cadastrar(Cliente cliente) throws TipoChaveNaoEncontradaException; + Boolean cadastrar(Cliente_2 cliente) throws TipoChaveNaoEncontradaException; - Cliente buscarPorCPF(Long cpf); + Cliente_2 buscarPorCPF(Long cpf); void excluir(Long cpf); - void alterar(Cliente cliente) throws TipoChaveNaoEncontradaException; + void alterar(Cliente_2 cliente) throws TipoChaveNaoEncontradaException; } diff --git a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/IProdutoService.java b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/IProdutoService.java index 2880ea4..76116a5 100644 --- a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/IProdutoService.java +++ b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/IProdutoService.java @@ -3,13 +3,13 @@ */ package br.com.rpires.services; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Produto_4; import br.com.rpires.services.generic.IGenericService; /** * @author rodrigo.pires * */ -public interface IProdutoService extends IGenericService { +public interface IProdutoService extends IGenericService { } diff --git a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/ProdutoService.java b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/ProdutoService.java index 4a60343..9d4d6dd 100644 --- a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/ProdutoService.java +++ b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/ProdutoService.java @@ -3,17 +3,17 @@ */ package br.com.rpires.services; -import br.com.rpires.dao.IProdutoDAO; -import br.com.rpires.domain.Produto; +import br.com.rpires.dao.IProdutoDAO_1; +import br.com.rpires.domain.Produto_4; import br.com.rpires.services.generic.GenericService; /** * @author rodrigo.pires * */ -public class ProdutoService extends GenericService implements IProdutoService { +public class ProdutoService extends GenericService implements IProdutoService { - public ProdutoService(IProdutoDAO dao) { + public ProdutoService(IProdutoDAO_1 dao) { super(dao); } diff --git a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/generic/GenericService.java b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/generic/GenericService.java index 10bd693..8430695 100644 --- a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/generic/GenericService.java +++ b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/generic/GenericService.java @@ -6,26 +6,26 @@ import java.io.Serializable; import java.util.Collection; -import br.com.rpires.dao.IClienteDAO; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.IClienteDAO2; +import br.com.rpires.dao.Persistence; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; /** * @author rodrigo.pires * */ -public abstract class GenericService +public abstract class GenericService implements IGenericService { @SuppressWarnings("rawtypes") - protected IClienteDAO dao; + protected IClienteDAO2 dao; - public GenericService(@SuppressWarnings("rawtypes") IClienteDAO clienteDAO) { + public GenericService(@SuppressWarnings("rawtypes") IClienteDAO2 clienteDAO) { this.dao = clienteDAO; } @SuppressWarnings("rawtypes") - public void GenericService11(IClienteDAO clienteDAO) { + public void GenericService11(IClienteDAO2 clienteDAO) { // TODO Auto-generated constructor stub } diff --git a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/generic/IGenericService.java b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/generic/IGenericService.java index 24b6229..11603cc 100644 --- a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/generic/IGenericService.java +++ b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/services/generic/IGenericService.java @@ -6,22 +6,24 @@ import java.io.Serializable; import java.util.Collection; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.Persistence; +import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; /** * @author rodrigo.pires * */ -public interface IGenericService { +public interface IGenericService { /** * Método para cadastrar novos registro no banco de dados * * @param entity a ser cadastrado * @return retorna verdadeiro para cadastrado e falso para não cadastrado + * @throws DAOException */ - public Boolean cadastrar(T entity) throws TipoChaveNaoEncontradaException; + public Boolean cadastrar(T entity) throws TipoChaveNaoEncontradaException, DAOException; /** * Método para excluir um registro do banco de dados @@ -42,8 +44,9 @@ public interface IGenericService * * @param valor chave única do dado a ser consultado * @return + * @throws DAOException */ - public T consultar(E valor); + public T consultar(E valor) throws DAOException; /** * Método que irá retornar todos os registros do banco de dados de uma determinado dado ou tabela diff --git a/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/AllTests1.java b/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/AllTests1.java index 78bd93b..cbcee50 100644 --- a/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/AllTests1.java +++ b/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/AllTests1.java @@ -11,9 +11,9 @@ * */ @RunWith(Suite.class) -@Suite.SuiteClasses({ ClienteServiceTest.class, ClienteDAOTest.class, +@Suite.SuiteClasses({ ClienteServiceTest1.class, ClienteDAOTest.class, ProdutoServiceTest.class, ProdutoDAOTest.class, VendaDAOTest.class}) -public class AllTests { +public class AllTests1 { } diff --git a/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/ClienteDAOTest.java b/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/ClienteDAOTest.java index 07dd458..3098922 100644 --- a/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/ClienteDAOTest.java +++ b/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/ClienteDAOTest.java @@ -11,9 +11,9 @@ import org.junit.Before; import org.junit.Test; -import br.com.rpires.dao.ClienteDAO; -import br.com.rpires.dao.IClienteDAO; -import br.com.rpires.domain.Cliente; +import br.com.rpires.dao.ClienteDAO1; +import br.com.rpires.dao.IClienteDAO2; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; /** @@ -22,17 +22,17 @@ */ public class ClienteDAOTest { - private IClienteDAO clienteDao; + private IClienteDAO2 clienteDao; - private Cliente cliente; + private Cliente_2 cliente; public ClienteDAOTest() { - clienteDao = new ClienteDAO(); + clienteDao = (IClienteDAO2) new ClienteDAO1(); } @Before public void init() throws TipoChaveNaoEncontradaException { - cliente = new Cliente(); + cliente = new Cliente_2(null, null, null, null, null, null, null); cliente.setCpf(12312312312L); cliente.setNome("Rodrigo"); cliente.setCidade("São Paulo"); @@ -40,26 +40,36 @@ public void init() throws TipoChaveNaoEncontradaException { cliente.setEstado("SP"); cliente.setNumero(10); cliente.setTel(1199999999L); - clienteDao.cadastrar(cliente); + try { + clienteDao.cadastrar(cliente); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } } @Test - public void pesquisarCliente() { - Cliente clienteConsultado = clienteDao.consultar(cliente.getCpf()); + public void pesquisarCliente() throws Exception { + Cliente_2 clienteConsultado = clienteDao.consultar(cliente.getCpf()); Assert.assertNotNull(clienteConsultado); } @Test - public void salvarCliente() throws TipoChaveNaoEncontradaException { + public void salvarCliente() throws Exception { cliente.setCpf(56565656565L); - Boolean retorno = clienteDao.cadastrar(cliente); - Assert.assertTrue(retorno); + boolean retorno = clienteDao.cadastrar(cliente); + Assert.assertFalse(retorno); } @Test public void excluirCliente() { - clienteDao.excluir(cliente.getCpf()); + try { + clienteDao.excluir(cliente.getCpf()); + } catch (Exception e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } } @Test @@ -71,7 +81,7 @@ public void alterarCliente() throws TipoChaveNaoEncontradaException { @Test public void buscarTodos() { - Collection list = clienteDao.buscarTodos(); + Collection list = clienteDao.buscarTodos(); assertTrue(list != null); assertTrue(list.size() == 2); } diff --git a/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/ClienteServiceTest1.java b/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/ClienteServiceTest1.java index e4f0253..f1d4bf8 100644 --- a/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/ClienteServiceTest1.java +++ b/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/ClienteServiceTest1.java @@ -8,8 +8,8 @@ import org.junit.Test; import br.com.rpires.dao.ClienteDaoMock; -import br.com.rpires.dao.IClienteDAO; -import br.com.rpires.domain.Cliente; +import br.com.rpires.dao.IClienteDAO2; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; import br.com.rpires.services.ClienteService; import br.com.rpires.services.IClienteService; @@ -18,20 +18,20 @@ * @author rodrigo.pires * */ -public class ClienteServiceTest { +public class ClienteServiceTest1 { private IClienteService clienteService; - private Cliente cliente; + private Cliente_2 cliente; - public ClienteServiceTest() { - IClienteDAO dao = new ClienteDaoMock(); + public ClienteServiceTest1() { + IClienteDAO2 dao = new ClienteDaoMock(); clienteService = new ClienteService(dao); } @Before public void init() { - cliente = new Cliente(); + cliente = new Cliente_2(null, null, null, null, null, null, null); cliente.setCpf(12312312312L); cliente.setNome("Rodrigo"); cliente.setCidade("São Paulo"); @@ -44,7 +44,7 @@ public void init() { @Test public void pesquisarCliente() { - Cliente clienteConsultado = clienteService.buscarPorCPF(cliente.getCpf()); + Cliente_2 clienteConsultado = clienteService.buscarPorCPF(cliente.getCpf()); Assert.assertNotNull(clienteConsultado); } diff --git a/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/ProdutoDAOTest.java b/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/ProdutoDAOTest.java index bcd98bc..73a2c9d 100644 --- a/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/ProdutoDAOTest.java +++ b/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/ProdutoDAOTest.java @@ -12,9 +12,9 @@ import org.junit.Before; import org.junit.Test; -import br.com.rpires.dao.IProdutoDAO; -import br.com.rpires.dao.ProdutoDAO; -import br.com.rpires.domain.Produto; +import br.com.rpires.dao.IProdutoDAO_1; +import br.com.rpires.dao.ProdutoDAO_3; +import br.com.rpires.domain.Produto_4; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; /** @@ -23,17 +23,17 @@ */ public class ProdutoDAOTest { - private IProdutoDAO produtoDao; + private IProdutoDAO_1 produtoDao; - private Produto produto; + private Produto_4 produto; public ProdutoDAOTest() { - produtoDao = new ProdutoDAO(); + produtoDao = new ProdutoDAO_3(); } @Before public void init() throws TipoChaveNaoEncontradaException { - produto = new Produto(); + produto = new Produto_4(); produto.setCodigo("A1"); produto.setDescricao("Produto 1"); produto.setNome("Produto 1"); @@ -43,7 +43,7 @@ public void init() throws TipoChaveNaoEncontradaException { @Test public void pesquisar() { - Produto produto = this.produtoDao.consultar(this.produto.getCodigo()); + Produto_4 produto = this.produtoDao.consultar(this.produto.getCodigo()); Assert.assertNotNull(produto); } @@ -69,7 +69,7 @@ public void alterarCliente() throws TipoChaveNaoEncontradaException { @Test public void buscarTodos() { - Collection list = produtoDao.buscarTodos(); + Collection list = produtoDao.buscarTodos(); assertTrue(list != null); assertTrue(list.size() == 2); } diff --git a/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/ProdutoServiceTest.java b/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/ProdutoServiceTest.java index 3c9cc9b..6a0c89a 100644 --- a/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/ProdutoServiceTest.java +++ b/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/ProdutoServiceTest.java @@ -9,9 +9,9 @@ import org.junit.Before; import org.junit.Test; -import br.com.rpires.dao.IProdutoDAO; +import br.com.rpires.dao.IProdutoDAO_1; import br.com.rpires.dao.ProdutoDaoMock; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Produto_4; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; import br.com.rpires.services.IProdutoService; import br.com.rpires.services.ProdutoService; @@ -24,16 +24,16 @@ public class ProdutoServiceTest { private IProdutoService produtoService; - private Produto produto; + private Produto_4 produto; public ProdutoServiceTest() { - IProdutoDAO dao = new ProdutoDaoMock(); + IProdutoDAO_1 dao = new ProdutoDaoMock(); produtoService = new ProdutoService(dao); } @Before public void init() { - produto = new Produto(); + produto = new Produto_4(); produto.setCodigo("A1"); produto.setDescricao("Produto 1"); produto.setNome("Produto 1"); @@ -42,7 +42,7 @@ public void init() { @Test public void pesquisar() { - Produto produtor = this.produtoService.consultar(produto.getCodigo()); + Produto_4 produtor = this.produtoService.consultar(produto.getCodigo()); Assert.assertNotNull(produtor); } diff --git a/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/VendaDAOTest.java b/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/VendaDAOTest.java index 76a4596..5894193 100644 --- a/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/VendaDAOTest.java +++ b/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/VendaDAOTest.java @@ -14,14 +14,14 @@ import org.junit.Before; import org.junit.Test; -import br.com.rpires.dao.ClienteDAO; -import br.com.rpires.dao.IClienteDAO; -import br.com.rpires.dao.IProdutoDAO; -import br.com.rpires.dao.IVendaDAO; -import br.com.rpires.dao.ProdutoDAO; +import br.com.rpires.dao.ClienteDAO1; +import br.com.rpires.dao.IClienteDAO2; +import br.com.rpires.dao.IProdutoDAO_1; +import br.com.rpires.dao.IVendaDAO_1; +import br.com.rpires.dao.ProdutoDAO_3; import br.com.rpires.dao.VendaDAO; -import br.com.rpires.domain.Cliente; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Cliente_2; +import br.com.rpires.domain.Produto_4; import br.com.rpires.domain.Venda; import br.com.rpires.domain.Venda.Status; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; @@ -32,26 +32,26 @@ */ public class VendaDAOTest { - private IVendaDAO vendaDao; + private IVendaDAO_1 vendaDao; - private IClienteDAO clienteDao; + private IClienteDAO2 clienteDao; - private IProdutoDAO produtoDao; + private IProdutoDAO_1 produtoDao; //private Venda venda; - private Cliente cliente; + private Cliente_2 cliente; - private Produto produto; + private Produto_4 produto; public VendaDAOTest() { vendaDao = new VendaDAO(); - clienteDao = new ClienteDAO(); - produtoDao = new ProdutoDAO(); + clienteDao = (IClienteDAO2) new ClienteDAO1(); + produtoDao = new ProdutoDAO_3(); } @Before - public void init() throws TipoChaveNaoEncontradaException { + public void init() throws Exception { this.cliente = cadastrarCliente(); this.produto = cadastrarProduto("A1", BigDecimal.TEN); } @@ -120,7 +120,7 @@ public void adicionarMaisProdutosDiferentes() throws TipoChaveNaoEncontradaExcep assertNotNull(venda); assertEquals(codigoVenda, venda.getCodigo()); - Produto prod = cadastrarProduto(codigoVenda, BigDecimal.valueOf(50)); + Produto_4 prod = cadastrarProduto(codigoVenda, BigDecimal.valueOf(50)); assertNotNull(prod); assertEquals(codigoVenda, prod.getCodigo()); @@ -152,7 +152,7 @@ public void removerProduto() throws TipoChaveNaoEncontradaException { assertNotNull(venda); assertEquals(codigoVenda, venda.getCodigo()); - Produto prod = cadastrarProduto(codigoVenda, BigDecimal.valueOf(50)); + Produto_4 prod = cadastrarProduto(codigoVenda, BigDecimal.valueOf(50)); assertNotNull(prod); assertEquals(codigoVenda, prod.getCodigo()); @@ -177,7 +177,7 @@ public void removerApenasUmProduto() throws TipoChaveNaoEncontradaException { assertNotNull(venda); assertEquals(codigoVenda, venda.getCodigo()); - Produto prod = cadastrarProduto(codigoVenda, BigDecimal.valueOf(50)); + Produto_4 prod = cadastrarProduto(codigoVenda, BigDecimal.valueOf(50)); assertNotNull(prod); assertEquals(codigoVenda, prod.getCodigo()); @@ -202,7 +202,7 @@ public void removerTodosProdutos() throws TipoChaveNaoEncontradaException { assertNotNull(venda); assertEquals(codigoVenda, venda.getCodigo()); - Produto prod = cadastrarProduto(codigoVenda, BigDecimal.valueOf(50)); + Produto_4 prod = cadastrarProduto(codigoVenda, BigDecimal.valueOf(50)); assertNotNull(prod); assertEquals(codigoVenda, prod.getCodigo()); @@ -252,8 +252,8 @@ public void tentarAdicionarProdutosVendaFinalizada() throws TipoChaveNaoEncontra } - private Produto cadastrarProduto(String codigo, BigDecimal valor) throws TipoChaveNaoEncontradaException { - Produto produto = new Produto(); + private Produto_4 cadastrarProduto(String codigo, BigDecimal valor) throws TipoChaveNaoEncontradaException { + Produto_4 produto = new Produto_4(); produto.setCodigo(codigo); produto.setDescricao("Produto 1"); produto.setNome("Produto 1"); @@ -262,8 +262,8 @@ private Produto cadastrarProduto(String codigo, BigDecimal valor) throws TipoCha return produto; } - private Cliente cadastrarCliente() throws TipoChaveNaoEncontradaException { - Cliente cliente = new Cliente(); + private Cliente_2 cadastrarCliente() throws Exception { + Cliente_2 cliente = new Cliente_2(null, null, null, null, null, null, null); cliente.setCpf(12312312312L); cliente.setNome("Rodrigo"); cliente.setCidade("São Paulo"); diff --git a/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/dao/ClienteDaoMock.java b/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/dao/ClienteDaoMock.java index 10e2604..b6b6939 100644 --- a/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/dao/ClienteDaoMock.java +++ b/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/dao/ClienteDaoMock.java @@ -2,38 +2,39 @@ import java.util.Collection; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; -public class ClienteDaoMock implements IClienteDAO { +public class ClienteDaoMock implements IClienteDAO2 { @Override - public Boolean cadastrar(Cliente entity) throws TipoChaveNaoEncontradaException { + public boolean cadastrar(Cliente_2 entity) throws TipoChaveNaoEncontradaException { // TODO Auto-generated method stub return true; } @Override - public void excluir(Long valor) { + public Long excluir(Long valor) { + return valor; // TODO Auto-generated method stub } @Override - public void alterar(Cliente entity) throws TipoChaveNaoEncontradaException { + public void alterar(Cliente_2 entity) { // TODO Auto-generated method stub } @Override - public Cliente consultar(Long valor) { - Cliente cliente = new Cliente(); + public Cliente_2 consultar(Long valor) { + Cliente_2 cliente = new Cliente_2(null, null, null, null, null, null, null); cliente.setCpf(valor); return cliente; } @Override - public Collection buscarTodos() { + public Collection buscarTodos() { // TODO Auto-generated method stub return null; } diff --git a/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/dao/ProdutoDaoMock.java b/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/dao/ProdutoDaoMock.java index 207975b..c6eea4b 100644 --- a/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/dao/ProdutoDaoMock.java +++ b/mod25/ExemploVendasMod25/src/test/java/br/com/rpires/dao/ProdutoDaoMock.java @@ -5,17 +5,18 @@ import java.util.Collection; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Cliente_2; +import br.com.rpires.domain.Produto_4; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; /** * @author rodrigo.pires * */ -public class ProdutoDaoMock implements IProdutoDAO { +public class ProdutoDaoMock implements IProdutoDAO_1 { @Override - public Boolean cadastrar(Produto entity) throws TipoChaveNaoEncontradaException { + public Boolean cadastrar(Produto_4 entity) throws TipoChaveNaoEncontradaException { // TODO Auto-generated method stub return true; } @@ -27,22 +28,28 @@ public void excluir(String valor) { } @Override - public void alterar(Produto entity) throws TipoChaveNaoEncontradaException { + public void alterar(Produto_4 entity) throws TipoChaveNaoEncontradaException { // TODO Auto-generated method stub } @Override - public Produto consultar(String valor) { - Produto produto = new Produto(); + public Produto_4 consultar(String valor) { + Produto_4 produto = new Produto_4(); produto.setCodigo(valor); return produto; } @Override - public Collection buscarTodos() { + public Collection buscarTodos() { // TODO Auto-generated method stub return null; } + @Override + public void atualiarDados(Cliente_2 entity, Cliente_2 entityCadastrado) { + // TODO Auto-generated method stub + + } + } diff --git a/mod29/ExemploJDBC/src/main/java/br/com/rpires/dao/generic/jdbc/ConnectionFactory.java b/mod29/ExemploJDBC/src/main/java/br/com/rpires/dao/generic/jdbc/ConnectionFactory.java index c5da8bb..7039bd1 100644 --- a/mod29/ExemploJDBC/src/main/java/br/com/rpires/dao/generic/jdbc/ConnectionFactory.java +++ b/mod29/ExemploJDBC/src/main/java/br/com/rpires/dao/generic/jdbc/ConnectionFactory.java @@ -37,4 +37,4 @@ private static Connection initConnection() { } } -} +} \ No newline at end of file diff --git a/mod29/ExemploJDBC/src/main/java/br/com/rpires/dao/generic/jdbc/dao/ClienteDAO.java b/mod29/ExemploJDBC/src/main/java/br/com/rpires/dao/generic/jdbc/dao/ClienteDAO.java index 6332921..f60ea57 100644 --- a/mod29/ExemploJDBC/src/main/java/br/com/rpires/dao/generic/jdbc/dao/ClienteDAO.java +++ b/mod29/ExemploJDBC/src/main/java/br/com/rpires/dao/generic/jdbc/dao/ClienteDAO.java @@ -7,7 +7,6 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; -import java.sql.Statement; import java.util.ArrayList; import java.util.List; @@ -205,4 +204,4 @@ private void closeConnection(Connection connection, PreparedStatement stm, Resul } -} +} \ No newline at end of file diff --git a/mod29/ExemploJDBC/src/main/java/br/com/rpires/dao/generic/jdbc/dao/IClienteDAO.java b/mod29/ExemploJDBC/src/main/java/br/com/rpires/dao/generic/jdbc/dao/IClienteDAO.java index 1825bb2..e99c09e 100644 --- a/mod29/ExemploJDBC/src/main/java/br/com/rpires/dao/generic/jdbc/dao/IClienteDAO.java +++ b/mod29/ExemploJDBC/src/main/java/br/com/rpires/dao/generic/jdbc/dao/IClienteDAO.java @@ -22,4 +22,4 @@ public interface IClienteDAO { public List buscarTodos() throws Exception; public Integer excluir(Cliente cliente) throws Exception; -} +} \ No newline at end of file diff --git a/mod29/ExemploJDBC/src/main/java/br/com/rpires/domin/Cliente.java b/mod29/ExemploJDBC/src/main/java/br/com/rpires/domin/Cliente.java index 87890a5..8dd0c62 100644 --- a/mod29/ExemploJDBC/src/main/java/br/com/rpires/domin/Cliente.java +++ b/mod29/ExemploJDBC/src/main/java/br/com/rpires/domin/Cliente.java @@ -31,6 +31,4 @@ public String getNome() { public void setNome(String nome) { this.nome = nome; } - - -} +} \ No newline at end of file diff --git a/mod29/ExemploJDBC/src/test/java/br/com/rpires/ClienteTest.java b/mod29/ExemploJDBC/src/test/java/br/com/rpires/ClienteTest.java index 25e370f..dec5e45 100644 --- a/mod29/ExemploJDBC/src/test/java/br/com/rpires/ClienteTest.java +++ b/mod29/ExemploJDBC/src/test/java/br/com/rpires/ClienteTest.java @@ -10,7 +10,6 @@ import java.util.List; -import org.junit.Before; import org.junit.Test; import br.com.rpires.dao.generic.jdbc.dao.ClienteDAO; @@ -150,4 +149,4 @@ public void atualizarTest() throws Exception { clienteDAO.excluir(cli); } } -} +} \ No newline at end of file diff --git a/mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/dao/ClienteDAO1.java b/mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/dao/ClienteDAO1.java index 7420d9b..2885ee2 100644 --- a/mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/dao/ClienteDAO1.java +++ b/mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/dao/ClienteDAO1.java @@ -8,16 +8,15 @@ import java.sql.ResultSet; import br.com.rpires.dao.jdbc.ConnectionFactory; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; /** * @author rodrigo.pires * */ -public class ClienteDAO implements IClienteDAO { +public abstract class ClienteDAO1 implements IClienteDAO2 { - @Override - public Integer cadastrar(Cliente cliente) throws Exception { + public int cadastrar(Cliente_2 cliente) throws Exception { Connection connection = null; PreparedStatement stm = null; try { @@ -39,20 +38,19 @@ public Integer cadastrar(Cliente cliente) throws Exception { } } - @Override - public Cliente consultar(String codigo) throws Exception { + public Cliente_2 consultar(String codigo) throws Exception { Connection connection = null; PreparedStatement stm = null; ResultSet rs = null; - Cliente cliente = null; + Cliente_2 cliente = null; try { connection = ConnectionFactory.getConnection(); - String sql = "select * from tb_cliente_2 where codigo = ?"; + String sql = "select * from vendas_online_2 where codigo = ?"; stm = connection.prepareStatement(sql); stm.setString(1, codigo); rs = stm.executeQuery(); if (rs.next()) { - cliente = new Cliente(); + cliente = new Cliente_2(); cliente.setId(rs.getLong("id")); cliente.setCodigo(rs.getString("codigo")); cliente.setNome(rs.getString("nome")); @@ -70,8 +68,7 @@ public Cliente consultar(String codigo) throws Exception { } } - @Override - public Integer excluir(Cliente cliente) throws Exception { + public Integer excluir(Cliente_2 cliente) throws Exception { Connection connection = null; PreparedStatement stm = null; try { diff --git a/mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/dao/IClienteDAO2.java b/mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/dao/IClienteDAO2.java index 3d917c9..25a0c6c 100644 --- a/mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/dao/IClienteDAO2.java +++ b/mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/dao/IClienteDAO2.java @@ -3,18 +3,22 @@ */ package br.com.rpires.dao; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; /** * @author rodrigo.pires * */ -public interface IClienteDAO { +public interface IClienteDAO2 { - public Integer cadastrar(Cliente cliente) throws Exception; + public int cadastrar(Cliente_2 cliente) throws Exception; - public Cliente consultar(String codigo) throws Exception; + public Cliente_2 consultar(String codigo) throws Exception; - public Integer excluir(Cliente clienteBD) throws Exception; -} + public Integer excluir(Cliente_2 clienteBD) throws Exception; + + void alterar(Object entity); + + void excluir(Long cpf); +} \ No newline at end of file diff --git a/mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/domain/Cliente2.java b/mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/domain/Cliente2.java index 183907f..fac4907 100644 --- a/mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/domain/Cliente2.java +++ b/mod29/ExemplosJDBCAlunos/src/java/main/br/com/rpires/domain/Cliente2.java @@ -7,7 +7,7 @@ * @author rodrigo.pires * */ -public class Cliente { +public class Cliente2 { private Long id; diff --git a/mod29/ExemplosJDBCAlunos/src/test/main/br/com/rpires/ClienteTest.java b/mod29/ExemplosJDBCAlunos/src/test/main/br/com/rpires/ClienteTest.java index bfa88e0..a637cd6 100644 --- a/mod29/ExemplosJDBCAlunos/src/test/main/br/com/rpires/ClienteTest.java +++ b/mod29/ExemplosJDBCAlunos/src/test/main/br/com/rpires/ClienteTest.java @@ -5,13 +5,17 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import static org.junit.Assert.assertTrue; +import java.util.List; + +import org.junit.Before; import org.junit.Test; -import br.com.rpires.dao.ClienteDAO; -import br.com.rpires.dao.IClienteDAO; -import br.com.rpires.domain.Cliente; +import br.com.rpires.dao.generic.jdbc.dao.ClienteDAO; +import br.com.rpires.dao.generic.jdbc.dao.IClienteDAO; +import br.com.rpires.domin.Cliente; /** * @author rodrigo.pires @@ -19,24 +23,131 @@ */ public class ClienteTest { + + private IClienteDAO clienteDAO; + + @Test public void cadastrarTest() throws Exception { - IClienteDAO dao = new ClienteDAO(); + clienteDAO = new ClienteDAO(); + + Cliente cliente = new Cliente(); + cliente.setCodigo("10"); + cliente.setNome("Rodrigo Pires"); + Integer countCad = clienteDAO.cadastrar(cliente); + assertTrue(countCad == 1); + + Cliente clienteBD = clienteDAO.buscar("10"); + assertNotNull(clienteBD); + assertEquals(cliente.getCodigo(), clienteBD.getCodigo()); + assertEquals(cliente.getNome(), clienteBD.getNome()); + + Integer countDel = clienteDAO.excluir(clienteBD); + assertTrue(countDel == 1); + } + + @Test + public void buscarTest() throws Exception { + clienteDAO = new ClienteDAO(); Cliente cliente = new Cliente(); - cliente.setCodigo("01"); + cliente.setCodigo("10"); cliente.setNome("Rodrigo Pires"); + Integer countCad = clienteDAO.cadastrar(cliente); + assertTrue(countCad == 1); - Integer qtd = dao.cadastrar(cliente); - assertTrue(qtd == 1); + Cliente clienteBD = clienteDAO.buscar("10"); + assertNotNull(clienteBD); + assertEquals(cliente.getCodigo(), clienteBD.getCodigo()); + assertEquals(cliente.getNome(), clienteBD.getNome()); + + Integer countDel = clienteDAO.excluir(clienteBD); + assertTrue(countDel == 1); + } + + @Test + public void excluirTest() throws Exception { + clienteDAO = new ClienteDAO(); - Cliente clienteBD = dao.consultar(cliente.getCodigo()); + Cliente cliente = new Cliente(); + cliente.setCodigo("10"); + cliente.setNome("Rodrigo Pires"); + Integer countCad = clienteDAO.cadastrar(cliente); + assertTrue(countCad == 1); + + Cliente clienteBD = clienteDAO.buscar("10"); assertNotNull(clienteBD); - assertNotNull(clienteBD.getId()); assertEquals(cliente.getCodigo(), clienteBD.getCodigo()); assertEquals(cliente.getNome(), clienteBD.getNome()); - Integer qtdDel = dao.excluir(clienteBD); - assertNotNull(qtdDel); + Integer countDel = clienteDAO.excluir(clienteBD); + assertTrue(countDel == 1); + } + + @Test + public void buscarTodosTest() throws Exception { + clienteDAO = new ClienteDAO(); + + Cliente cliente = new Cliente(); + cliente.setCodigo("10"); + cliente.setNome("Rodrigo Pires"); + Integer countCad = clienteDAO.cadastrar(cliente); + assertTrue(countCad == 1); + + Cliente clientes = new Cliente(); + clientes.setCodigo("20"); + clientes.setNome("Teste"); + Integer countCad2 = clienteDAO.cadastrar(clientes); + assertTrue(countCad2 == 1); + + List list = clienteDAO.buscarTodos(); + assertNotNull(list); + assertEquals(2, list.size()); + + int countDel = 0; + for (Cliente cli : list) { + clienteDAO.excluir(cli); + countDel++; + } + assertEquals(list.size(), countDel); + + list = clienteDAO.buscarTodos(); + assertEquals(list.size(), 0); + + } + + @Test + public void atualizarTest() throws Exception { + clienteDAO = new ClienteDAO(); + + Cliente cliente = new Cliente(); + cliente.setCodigo("10"); + cliente.setNome("Rodrigo Pires"); + Integer countCad = clienteDAO.cadastrar(cliente); + assertTrue(countCad == 1); + + Cliente clienteBD = clienteDAO.buscar("10"); + assertNotNull(clienteBD); + assertEquals(cliente.getCodigo(), clienteBD.getCodigo()); + assertEquals(cliente.getNome(), clienteBD.getNome()); + + clienteBD.setCodigo("20"); + clienteBD.setNome("Outro nome"); + Integer countUpdate = clienteDAO.atualizar(clienteBD); + assertTrue(countUpdate == 1); + + Cliente clienteBD1 = clienteDAO.buscar("10"); + assertNull(clienteBD1); + + Cliente clienteBD2 = clienteDAO.buscar("20"); + assertNotNull(clienteBD2); + assertEquals(clienteBD.getId(), clienteBD2.getId()); + assertEquals(clienteBD.getCodigo(), clienteBD2.getCodigo()); + assertEquals(clienteBD.getNome(), clienteBD2.getNome()); + + List list = clienteDAO.buscarTodos(); + for (Cliente cli : list) { + clienteDAO.excluir(cli); + } } -} +} \ No newline at end of file diff --git a/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/Cliente.java b/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/Cliente.java deleted file mode 100644 index 57c6a12..0000000 --- a/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/Cliente.java +++ /dev/null @@ -1,55 +0,0 @@ -package exercise_mod29; - -public class Cliente_1 { - private String nome; - private String email; - private String telefone; - private int id; - private int ClienteId; - - public Cliente_1(String nome, String email, String telefone, int id) { - this.nome = nome; - this.email = email; - this.telefone = telefone; - this.id = id; - } - - // getters e setters - - public String getNome() { - return nome; - } - - public void setNome(String nome) { - this.nome = nome; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - - public String getTelefone() { - return telefone; - } - - public void setTelefone(String telefone) { - this.telefone = telefone; - } - - public int getId() { - return id; - } - - public void setId(int id) { - this.id = id; - } - - public int getClienteId() { - return ClienteId; - } -} - diff --git a/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/ClienteDAO.java b/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/ClienteDAO.java deleted file mode 100644 index 46bff5a..0000000 --- a/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/ClienteDAO.java +++ /dev/null @@ -1,39 +0,0 @@ -package exercise_mod29; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.SQLException; - -public class ClienteDAO { - - private static final String URL = "jdbc:postgresql://localhost:15432/postgres"; - private static final String USER = "rpires@admin.com"; - private static final String PASSWORD = "admin"; - - public void cadastrarCliente(Cliente cliente) throws SQLException { - try (Connection connection = DriverManager.getConnection(URL, USER, PASSWORD)) { - String sql = "INSERT INTO cliente (nome, email, telefone) VALUES (?, ?, ?)"; - try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) { - preparedStatement.setString(1, cliente.getNome()); - preparedStatement.setString(2, cliente.getEmail()); - preparedStatement.setString(3, cliente.getTelefone()); - - preparedStatement.executeUpdate(); - } - } - } - - public void excluirCliente(int clienteId) { - try (Connection connection = DriverManager.getConnection(URL, USER, PASSWORD)) { - String sql = "DELETE FROM clientes WHERE cliente_id = ?"; - try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) { - preparedStatement.setInt(1, clienteId); - preparedStatement.executeUpdate(); - } - } catch (SQLException e) { - e.printStackTrace(); - } - } - -} diff --git a/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/ClienteDAOTest_1.java b/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/ClienteDAOTest_1.java deleted file mode 100644 index 7467e29..0000000 --- a/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/ClienteDAOTest_1.java +++ /dev/null @@ -1,74 +0,0 @@ -package exercise_mod29; - -import static org.junit.Assert.*; - -import java.sql.Connection; -import java.sql.DriverManager; -import java.sql.PreparedStatement; -import java.sql.ResultSet; -import java.sql.SQLException; - -import br.com.rpires.Cliente; -import org.junit.After; -import org.junit.Before; -import org.junit.Test; - -public class ClienteDAOTest_1 { - - private static final String URL = "jdbc:postgresql://localhost:15432/cliente"; - private static final String USER = "rpires@admin.com"; - private static final String PASSWORD = "admin"; - - private ClienteDAO_1 clienteDAO; - - @Before - public void setUp() throws SQLException { - clienteDAO = new ClienteDAO_1(); - criarTabelaCliente(); - } - - @After - public void tearDown() throws SQLException { - droparTabelaCliente(); - } - - @Test - public void testCadastrarCliente() throws SQLException { - Cliente cliente = new Cliente("Teste", "steve@gmail.com", "123456789", 4); - clienteDAO.cadastrarCliente(cliente); - - // Verifica se o cliente foi cadastrado corretamente - try (Connection connection = DriverManager.getConnection(URL, USER, PASSWORD)) { - String sql = "SELECT * FROM cliente WHERE nome = 'Teste'"; - try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) { - try (ResultSet resultSet = preparedStatement.executeQuery()) { - assertTrue(resultSet.next()); - assertEquals("rpires@admin.com", resultSet.getString("email")); - } - } - } - } - - private void criarTabelaCliente() throws SQLException { - try (Connection connection = DriverManager.getConnection(URL, USER, PASSWORD)) { - String sql = "CREATE TABLE IF NOT EXISTS cliente (" + - "id SERIAL PRIMARY KEY," + - "nome VARCHAR(255) NOT NULL," + - "email VARCHAR(255) NOT NULL," + - "telefone VARCHAR(20)" + - ")"; - try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) { - preparedStatement.executeUpdate(); - } - } - } - - private void droparTabelaCliente() throws SQLException { - try (Connection connection = DriverManager.getConnection(URL, USER, PASSWORD)) { - String sql = "DROP TABLE IF EXISTS cliente"; - try (PreparedStatement preparedStatement = connection.prepareStatement(sql)) { - preparedStatement.executeUpdate(); - } - } - } -} diff --git a/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/IClienteDAO.java b/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/IClienteDAO.java deleted file mode 100644 index 832ecdf..0000000 --- a/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/IClienteDAO.java +++ /dev/null @@ -1,6 +0,0 @@ -package exercise_mod29; - -public interface IClienteDAO { - void cadastrarCliente(Cliente cliente); -} - diff --git a/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/IProdutoDAO.java b/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/IProdutoDAO.java deleted file mode 100644 index 4366b8d..0000000 --- a/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/IProdutoDAO.java +++ /dev/null @@ -1,6 +0,0 @@ -package exercise_mod29; - -public interface IProdutoDAO { - void cadastrarProduto(Produto produto); -} - diff --git a/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/IVendasDAO.java b/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/IVendasDAO.java deleted file mode 100644 index 6a7dbf3..0000000 --- a/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/IVendasDAO.java +++ /dev/null @@ -1,5 +0,0 @@ -package exercise_mod29; - -public interface IVendasDAO { - void registrarVenda(Venda venda); -} diff --git a/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/Produto_1.java b/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/Produto_1.java deleted file mode 100644 index 903fd40..0000000 --- a/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/Produto_1.java +++ /dev/null @@ -1,17 +0,0 @@ -package exercise_mod29; - -import java.math.BigDecimal; - -public class Produto { - private final String nome; - - public Produto(String nome, BigDecimal ignoredPreco) { - this.nome = nome; - } - - // getters e setters - public String getNome() { - return nome; - } - -} diff --git a/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/Venda.java b/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/Venda.java deleted file mode 100644 index 41de0ae..0000000 --- a/mod29/ExemplosJDBCAlunos/src/test/main/exercise_mod29/Venda.java +++ /dev/null @@ -1,23 +0,0 @@ -package exercise_mod29; - -import java.math.BigDecimal; - -public class Venda { - private final int clienteId; - private final int quantidade; - - public Venda(int clienteId, int ignoredProdutoId, int quantidade, BigDecimal ignoredTotal) { - this.clienteId = clienteId; - this.quantidade = quantidade; - } - - // getters e setters - public int getClienteId() { - return clienteId; - } - - public int getQuantidade() { - return quantidade; - } - -} diff --git a/mod29/exercise_mod29/db.properties b/mod29/exercise_mod29/db.properties new file mode 100644 index 0000000..9b4be24 --- /dev/null +++ b/mod29/exercise_mod29/db.properties @@ -0,0 +1,4 @@ +user=developer +password=1234567 +dburl=jdbc:mysql://localhost:3306/test +useSSL=false \ No newline at end of file diff --git a/mod29/exercise_mod29/src/application/Program.java b/mod29/exercise_mod29/src/application/Program.java new file mode 100644 index 0000000..aff48f3 --- /dev/null +++ b/mod29/exercise_mod29/src/application/Program.java @@ -0,0 +1,56 @@ +package application; + +import java.util.Date; +import java.util.List; +import java.util.Scanner; + +import model.dao.DaoFactory; +import model.dao.SellerDao; +import model.entities.Department; +import model.entities.Seller; + +public class Program { + + public static void main(String[] args) { + + Scanner sc = new Scanner(System.in); + + SellerDao sellerDao = DaoFactory.createSellerDao(); + + System.out.println("=== TEST 1: seller findById ====="); + Seller seller = sellerDao.findById(3); + System.out.println(seller); + + System.out.println("\n=== TEST 2: seller findByDepartment ====="); + Department department = new Department(2, null); + List list = sellerDao.findByDepartment(department); + for (Seller obj : list) { + System.out.println(obj); + } + + System.out.println("\n=== TEST 3: seller findAll ====="); + list = sellerDao.findAll(); + for (Seller obj : list) { + System.out.println(obj); + } + + System.out.println("\n=== TEST 4: seller insert ====="); + Seller newSeller = new Seller(null, "Greg", "greg@gmail.com", new Date(), 4000.0, department); + sellerDao.insert(newSeller); + System.out.println("Inserted! New id = " + newSeller.getId()); + + System.out.println("\n=== TEST 5: seller update ====="); + seller = sellerDao.findById(1); + seller.setName("Martha Waine"); + sellerDao.update(seller); + System.out.println("Update completed"); + + System.out.println("\n=== TEST 6: seller delete ====="); + System.out.println("Enter id for delete test: "); + int id = sc.nextInt(); + sellerDao.deleteById(id); + System.out.println("Delete completed"); + + sc.close(); + } +} diff --git a/mod29/exercise_mod29/src/db/DB.java b/mod29/exercise_mod29/src/db/DB.java new file mode 100644 index 0000000..b0b5fd5 --- /dev/null +++ b/mod29/exercise_mod29/src/db/DB.java @@ -0,0 +1,70 @@ +package db; + +import java.io.FileInputStream; +import java.io.IOException; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.Properties; + +public class DB { + + private static Connection conn = null; + + public static Connection getConnection() { + if (conn == null) { + try { + Properties props = loadProperties(); + String url = props.getProperty("dburl"); + conn = DriverManager.getConnection(url, props); + } + catch (SQLException e) { + throw new DbException(e.getMessage()); + } + } + return conn; + } + + public static void closeConnection() { + if (conn != null) { + try { + conn.close(); + } catch (SQLException e) { + throw new DbException(e.getMessage()); + } + } + } + + private static Properties loadProperties() { + try (FileInputStream fs = new FileInputStream("db.properties")) { + Properties props = new Properties(); + props.load(fs); + return props; + } + catch (IOException e) { + throw new DbException(e.getMessage()); + } + } + + public static void closeStatement(Statement st) { + if (st != null) { + try { + st.close(); + } catch (SQLException e) { + throw new DbException(e.getMessage()); + } + } + } + + public static void closeResultSet(ResultSet rs) { + if (rs != null) { + try { + rs.close(); + } catch (SQLException e) { + throw new DbException(e.getMessage()); + } + } + } +} diff --git a/mod29/exercise_mod29/src/db/DbException.java b/mod29/exercise_mod29/src/db/DbException.java new file mode 100644 index 0000000..e37deb4 --- /dev/null +++ b/mod29/exercise_mod29/src/db/DbException.java @@ -0,0 +1,9 @@ +package db; + +public class DbException extends RuntimeException { + private static final long serialVersionUID = 1L; + + public DbException(String msg) { + super(msg); + } +} diff --git a/mod29/exercise_mod29/src/db/DbIntegrityException.java b/mod29/exercise_mod29/src/db/DbIntegrityException.java new file mode 100644 index 0000000..fea711e --- /dev/null +++ b/mod29/exercise_mod29/src/db/DbIntegrityException.java @@ -0,0 +1,9 @@ +package db; + +public class DbIntegrityException extends RuntimeException { + private static final long serialVersionUID = 1L; + + public DbIntegrityException(String msg) { + super(msg); + } +} diff --git a/mod29/exercise_mod29/src/model/dao/DaoFactory.java b/mod29/exercise_mod29/src/model/dao/DaoFactory.java new file mode 100644 index 0000000..d2aa1f0 --- /dev/null +++ b/mod29/exercise_mod29/src/model/dao/DaoFactory.java @@ -0,0 +1,16 @@ +package model.dao; + +import db.DB; +import model.dao.impl.DepartmentDaoJDBC; +import model.dao.impl.SellerDaoJDBC; + +public class DaoFactory { + + public static SellerDao createSellerDao() { + return new SellerDaoJDBC(DB.getConnection()); + } + + public static DepartmentDao createDepartmentDao() { + return new DepartmentDaoJDBC(DB.getConnection()); + } +} diff --git a/mod29/exercise_mod29/src/model/dao/DepartmentDao.java b/mod29/exercise_mod29/src/model/dao/DepartmentDao.java new file mode 100644 index 0000000..27b0816 --- /dev/null +++ b/mod29/exercise_mod29/src/model/dao/DepartmentDao.java @@ -0,0 +1,14 @@ +package model.dao; + +import java.util.List; + +import model.entities.Department; + +public interface DepartmentDao { + + void insert(Department obj); + void update(Department obj); + void deleteById(Integer id); + Department findById(Integer id); + List findAll(); +} diff --git a/mod29/exercise_mod29/src/model/dao/SellerDao.java b/mod29/exercise_mod29/src/model/dao/SellerDao.java new file mode 100644 index 0000000..44c129c --- /dev/null +++ b/mod29/exercise_mod29/src/model/dao/SellerDao.java @@ -0,0 +1,16 @@ +package model.dao; + +import java.util.List; + +import model.entities.Department; +import model.entities.Seller; + +public interface SellerDao { + + void insert(Seller obj); + void update(Seller obj); + void deleteById(Integer id); + Seller findById(Integer id); + List findAll(); + List findByDepartment(Department department); +} diff --git a/mod29/exercise_mod29/src/model/dao/impl/DepartmentDaoJDBC.java b/mod29/exercise_mod29/src/model/dao/impl/DepartmentDaoJDBC.java new file mode 100644 index 0000000..b134d17 --- /dev/null +++ b/mod29/exercise_mod29/src/model/dao/impl/DepartmentDaoJDBC.java @@ -0,0 +1,153 @@ +package model.dao.impl; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.List; + +import db.DB; +import db.DbException; +import db.DbIntegrityException; +import model.dao.DepartmentDao; +import model.entities.Department; + +public class DepartmentDaoJDBC implements DepartmentDao { + + private Connection conn; + + public DepartmentDaoJDBC(Connection conn) { + this.conn = conn; + } + + @Override + public Department findById(Integer id) { + PreparedStatement st = null; + ResultSet rs = null; + try { + st = conn.prepareStatement( + "SELECT * FROM department WHERE Id = ?"); + st.setInt(1, id); + rs = st.executeQuery(); + if (rs.next()) { + Department obj = new Department(); + obj.setId(rs.getInt("Id")); + obj.setName(rs.getString("Name")); + return obj; + } + return null; + } + catch (SQLException e) { + throw new DbException(e.getMessage()); + } + finally { + DB.closeStatement(st); + DB.closeResultSet(rs); + } + } + + @Override + public List findAll() { + PreparedStatement st = null; + ResultSet rs = null; + try { + st = conn.prepareStatement( + "SELECT * FROM department ORDER BY Name"); + rs = st.executeQuery(); + + List list = new ArrayList<>(); + + while (rs.next()) { + Department obj = new Department(); + obj.setId(rs.getInt("Id")); + obj.setName(rs.getString("Name")); + list.add(obj); + } + return list; + } + catch (SQLException e) { + throw new DbException(e.getMessage()); + } + finally { + DB.closeStatement(st); + DB.closeResultSet(rs); + } + } + + @Override + public void insert(Department obj) { + PreparedStatement st = null; + try { + st = conn.prepareStatement( + "INSERT INTO department " + + "(Name) " + + "VALUES " + + "(?)", + Statement.RETURN_GENERATED_KEYS); + + st.setString(1, obj.getName()); + + int rowsAffected = st.executeUpdate(); + + if (rowsAffected > 0) { + ResultSet rs = st.getGeneratedKeys(); + if (rs.next()) { + int id = rs.getInt(1); + obj.setId(id); + } + } + else { + throw new DbException("Unexpected error! No rows affected!"); + } + } + catch (SQLException e) { + throw new DbException(e.getMessage()); + } + finally { + DB.closeStatement(st); + } + } + + @Override + public void update(Department obj) { + PreparedStatement st = null; + try { + st = conn.prepareStatement( + "UPDATE department " + + "SET Name = ? " + + "WHERE Id = ?"); + + st.setString(1, obj.getName()); + st.setInt(2, obj.getId()); + + st.executeUpdate(); + } + catch (SQLException e) { + throw new DbException(e.getMessage()); + } + finally { + DB.closeStatement(st); + } + } + + @Override + public void deleteById(Integer id) { + PreparedStatement st = null; + try { + st = conn.prepareStatement( + "DELETE FROM department WHERE Id = ?"); + + st.setInt(1, id); + + st.executeUpdate(); + } + catch (SQLException e) { + throw new DbIntegrityException(e.getMessage()); + } + finally { + DB.closeStatement(st); + } + } +} diff --git a/mod29/exercise_mod29/src/model/dao/impl/SellerDaoJDBC.java b/mod29/exercise_mod29/src/model/dao/impl/SellerDaoJDBC.java new file mode 100644 index 0000000..40a9eea --- /dev/null +++ b/mod29/exercise_mod29/src/model/dao/impl/SellerDaoJDBC.java @@ -0,0 +1,238 @@ +package model.dao.impl; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import com.mysql.jdbc.Statement; + +import db.DB; +import db.DbException; +import model.dao.SellerDao; +import model.entities.Department; +import model.entities.Seller; + +public class SellerDaoJDBC implements SellerDao { + + private Connection conn; + + public SellerDaoJDBC(Connection conn) { + this.conn = conn; + } + + @Override + public void insert(Seller obj) { + PreparedStatement st = null; + try { + st = conn.prepareStatement( + "INSERT INTO seller " + + "(Name, Email, BirthDate, BaseSalary, DepartmentId) " + + "VALUES " + + "(?, ?, ?, ?, ?)", + Statement.RETURN_GENERATED_KEYS); + + st.setString(1, obj.getName()); + st.setString(2, obj.getEmail()); + st.setDate(3, new java.sql.Date(obj.getBirthDate().getTime())); + st.setDouble(4, obj.getBaseSalary()); + st.setInt(5, obj.getDepartment().getId()); + + int rowsAffected = st.executeUpdate(); + + if (rowsAffected > 0) { + ResultSet rs = st.getGeneratedKeys(); + if (rs.next()) { + int id = rs.getInt(1); + obj.setId(id); + } + DB.closeResultSet(rs); + } + else { + throw new DbException("Unexpected error! No rows affected!"); + } + } + catch (SQLException e) { + throw new DbException(e.getMessage()); + } + finally { + DB.closeStatement(st); + } + } + + @Override + public void update(Seller obj) { + PreparedStatement st = null; + try { + st = conn.prepareStatement( + "UPDATE seller " + + "SET Name = ?, Email = ?, BirthDate = ?, BaseSalary = ?, DepartmentId = ? " + + "WHERE Id = ?"); + + st.setString(1, obj.getName()); + st.setString(2, obj.getEmail()); + st.setDate(3, new java.sql.Date(obj.getBirthDate().getTime())); + st.setDouble(4, obj.getBaseSalary()); + st.setInt(5, obj.getDepartment().getId()); + st.setInt(6, obj.getId()); + + st.executeUpdate(); + } + catch (SQLException e) { + throw new DbException(e.getMessage()); + } + finally { + DB.closeStatement(st); + } + } + + @Override + public void deleteById(Integer id) { + PreparedStatement st = null; + try { + st = conn.prepareStatement("DELETE FROM seller WHERE Id = ?"); + + st.setInt(1, id); + + st.executeUpdate(); + } + catch (SQLException e) { + throw new DbException(e.getMessage()); + } + finally { + DB.closeStatement(st); + } + } + + @Override + public Seller findById(Integer id) { + PreparedStatement st = null; + ResultSet rs = null; + try { + st = conn.prepareStatement( + "SELECT seller.*,department.Name as DepName " + + "FROM seller INNER JOIN department " + + "ON seller.DepartmentId = department.Id " + + "WHERE seller.Id = ?"); + + st.setInt(1, id); + rs = st.executeQuery(); + if (rs.next()) { + Department dep = instantiateDepartment(rs); + Seller obj = instantiateSeller(rs, dep); + return obj; + } + return null; + } + catch (SQLException e) { + throw new DbException(e.getMessage()); + } + finally { + DB.closeStatement(st); + DB.closeResultSet(rs); + } + } + + private Seller instantiateSeller(ResultSet rs, Department dep) throws SQLException { + Seller obj = new Seller(); + obj.setId(rs.getInt("Id")); + obj.setName(rs.getString("Name")); + obj.setEmail(rs.getString("Email")); + obj.setBaseSalary(rs.getDouble("BaseSalary")); + obj.setBirthDate(rs.getDate("BirthDate")); + obj.setDepartment(dep); + return obj; + } + + private Department instantiateDepartment(ResultSet rs) throws SQLException { + Department dep = new Department(); + dep.setId(rs.getInt("DepartmentId")); + dep.setName(rs.getString("DepName")); + return dep; + } + + @Override + public List findAll() { + PreparedStatement st = null; + ResultSet rs = null; + try { + st = conn.prepareStatement( + "SELECT seller.*,department.Name as DepName " + + "FROM seller INNER JOIN department " + + "ON seller.DepartmentId = department.Id " + + "ORDER BY Name"); + + rs = st.executeQuery(); + + List list = new ArrayList<>(); + Map map = new HashMap<>(); + + while (rs.next()) { + + Department dep = map.get(rs.getInt("DepartmentId")); + + if (dep == null) { + dep = instantiateDepartment(rs); + map.put(rs.getInt("DepartmentId"), dep); + } + + Seller obj = instantiateSeller(rs, dep); + list.add(obj); + } + return list; + } + catch (SQLException e) { + throw new DbException(e.getMessage()); + } + finally { + DB.closeStatement(st); + DB.closeResultSet(rs); + } + } + + @Override + public List findByDepartment(Department department) { + PreparedStatement st = null; + ResultSet rs = null; + try { + st = conn.prepareStatement( + "SELECT seller.*,department.Name as DepName " + + "FROM seller INNER JOIN department " + + "ON seller.DepartmentId = department.Id " + + "WHERE DepartmentId = ? " + + "ORDER BY Name"); + + st.setInt(1, department.getId()); + + rs = st.executeQuery(); + + List list = new ArrayList<>(); + Map map = new HashMap<>(); + + while (rs.next()) { + + Department dep = map.get(rs.getInt("DepartmentId")); + + if (dep == null) { + dep = instantiateDepartment(rs); + map.put(rs.getInt("DepartmentId"), dep); + } + + Seller obj = instantiateSeller(rs, dep); + list.add(obj); + } + return list; + } + catch (SQLException e) { + throw new DbException(e.getMessage()); + } + finally { + DB.closeStatement(st); + DB.closeResultSet(rs); + } + } +} diff --git a/mod29/exercise_mod29/src/model/entities/Department.java b/mod29/exercise_mod29/src/model/entities/Department.java new file mode 100644 index 0000000..d94c058 --- /dev/null +++ b/mod29/exercise_mod29/src/model/entities/Department.java @@ -0,0 +1,65 @@ +package model.entities; + +import java.io.Serializable; + +public class Department implements Serializable { + + private static final long serialVersionUID = 1L; + + private Integer id; + private String name; + + public Department() { + } + + public Department(Integer id, String name) { + this.id = id; + this.name = name; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((id == null) ? 0 : id.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + Department other = (Department) obj; + if (id == null) { + if (other.id != null) + return false; + } else if (!id.equals(other.id)) + return false; + return true; + } + + @Override + public String toString() { + return "Department [id=" + id + ", name=" + name + "]"; + } +} diff --git a/mod29/exercise_mod29/src/model/entities/Seller.java b/mod29/exercise_mod29/src/model/entities/Seller.java new file mode 100644 index 0000000..42a68bd --- /dev/null +++ b/mod29/exercise_mod29/src/model/entities/Seller.java @@ -0,0 +1,108 @@ +package model.entities; + +import java.io.Serializable; +import java.util.Date; + +public class Seller implements Serializable { + + private static final long serialVersionUID = 1L; + + private Integer id; + private String name; + private String email; + private Date birthDate; + private Double baseSalary; + + private Department department; + + public Seller() { + } + + public Seller(Integer id, String name, String email, Date birthDate, Double baseSalary, Department department) { + this.id = id; + this.name = name; + this.email = email; + this.birthDate = birthDate; + this.baseSalary = baseSalary; + this.department = department; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public Date getBirthDate() { + return birthDate; + } + + public void setBirthDate(Date birthDate) { + this.birthDate = birthDate; + } + + public Double getBaseSalary() { + return baseSalary; + } + + public void setBaseSalary(Double baseSalary) { + this.baseSalary = baseSalary; + } + + public Department getDepartment() { + return department; + } + + public void setDepartment(Department department) { + this.department = department; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((id == null) ? 0 : id.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + Seller other = (Seller) obj; + if (id == null) { + if (other.id != null) + return false; + } else if (!id.equals(other.id)) + return false; + return true; + } + + @Override + public String toString() { + return "Seller [id=" + id + ", name=" + name + ", email=" + email + ", birthDate=" + birthDate + ", baseSalary=" + + baseSalary + ", department=" + department + "]"; + } +} diff --git a/mod30/ExemploVendasMod30/src/main/java/anotacao/ChaveTipo.java b/mod30/ExemploVendasMod30/src/main/java/anotacao/ChaveTipo.java index ddd70d2..fcbf295 100644 --- a/mod30/ExemploVendasMod30/src/main/java/anotacao/ChaveTipo.java +++ b/mod30/ExemploVendasMod30/src/main/java/anotacao/ChaveTipo.java @@ -8,7 +8,7 @@ @Documented @Target(ElementType.FIELD) @Retention(RetentionPolicy.RUNTIME) -public @interface TipoChave { +public @interface ChaveTipo { String value(); } diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/IProdutoDAO_1.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/IProdutoDAO_1.java index 1ccc41c..ec8a8df 100644 --- a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/IProdutoDAO_1.java +++ b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/IProdutoDAO_1.java @@ -10,6 +10,6 @@ * @author rodrigo.pires * */ -public interface IProdutoDAO extends IGenericDAO{ +public interface IProdutoDAO_1 extends IGenericDAO{ } diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/IVendaDAO_1.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/IVendaDAO_1.java index ec65b1a..5b1a8e8 100644 --- a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/IVendaDAO_1.java +++ b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/IVendaDAO_1.java @@ -12,9 +12,9 @@ * @author rodrigo.pires * */ -public interface IVendaDAO extends IGenericDAO { +public interface IVendaDAO_1 extends IGenericDAO { - public void finalizarVenda(Venda venda) throws TipoChaveNaoEncontradaException, DAOException; + void finalizarVenda(Venda venda) throws TipoChaveNaoEncontradaException, DAOException; - public void cancelarVenda(Venda venda) throws TipoChaveNaoEncontradaException, DAOException; + void cancelarVenda(Venda venda) throws TipoChaveNaoEncontradaException, DAOException; } diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/Persistence.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/Persistence.java index 506813b..82540be 100644 --- a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/Persistence.java +++ b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/Persistence.java @@ -5,7 +5,7 @@ * * Classe que representa todas as entidades ou objetos da aplicação que seram salvas no banco de dados */ -public interface Persistente { +public interface Persistence { //public Long getCodigo(); diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/ProdutoDAO_3.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/ProdutoDAO_3.java index 1e1b970..cfd49cf 100644 --- a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/ProdutoDAO_3.java +++ b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/ProdutoDAO_3.java @@ -7,25 +7,28 @@ import java.sql.SQLException; import br.com.rpires.dao.generic.GenericDAO; +import br.com.rpires.domain.Cliente_2; +import br.com.rpires.domain.Produto; import br.com.rpires.domain.Produto_4; +import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; /** * @author rodrigo.pires * */ -public abstract class ProdutoDAO extends GenericDAO implements IProdutoDAO_1 { +public abstract class ProdutoDAO_3 extends GenericDAO implements IProdutoDAO { - public ProdutoDAO() { + public ProdutoDAO_3() { super(); } @Override - public Class getTipoClasse() { - return Produto_4.class; + public Class getTipoClasse() { + return Produto.class; } @Override - public void atualiarDados(Produto_4 entity, Produto_4 entityCadastrado) { + public void atualiarDados(Produto entity, Produto entityCadastrado) { entityCadastrado.setCodigo(entity.getCodigo()); entityCadastrado.setDescricao(entity.getDescricao()); entityCadastrado.setNome(entity.getNome()); @@ -34,11 +37,15 @@ public void atualiarDados(Produto_4 entity, Produto_4 entityCadastrado) { @Override protected String getQueryInsercao() { - return "INSERT INTO TB_PRODUTO " + - "(ID, CODIGO, NOME, DESCRICAO, VALOR)" + - "VALUES (nextval('sq_produto'),?,?,?,?)"; + StringBuilder sb = new StringBuilder(); + sb.append("INSERT INTO TB_PRODUTO "); + sb.append("(ID, CODIGO, NOME, DESCRICAO, VALOR)"); + sb.append("VALUES (nextval('sq_produto'),?,?,?,?)"); + return sb.toString(); } - protected void setParametrosQueryInsercao(PreparedStatement stmInsert, Produto_4 entity) throws SQLException { + + @Override + protected void setParametrosQueryInsercao(PreparedStatement stmInsert, Produto entity) throws SQLException { stmInsert.setString(1, entity.getCodigo()); stmInsert.setString(2, entity.getNome()); stmInsert.setString(3, entity.getDescricao()); @@ -57,17 +64,18 @@ protected void setParametrosQueryExclusao(PreparedStatement stmExclusao, String @Override protected String getQueryAtualizacao() { - String sb = "UPDATE TB_PRODUTO " + - "SET CODIGO = ?," + - "NOME = ?," + - "DESCRICAO = ?," + - "VALOR = ?" + - " WHERE CODIGO = ?"; - return sb; + StringBuilder sb = new StringBuilder(); + sb.append("UPDATE TB_PRODUTO "); + sb.append("SET CODIGO = ?,"); + sb.append("NOME = ?,"); + sb.append("DESCRICAO = ?,"); + sb.append("VALOR = ?"); + sb.append(" WHERE CODIGO = ?"); + return sb.toString(); } @Override - protected void setParametrosQueryAtualizacao(PreparedStatement stmUpdate, Produto_4 entity) throws SQLException { + protected void setParametrosQueryAtualizacao(PreparedStatement stmUpdate, Produto entity) throws SQLException { stmUpdate.setString(1, entity.getCodigo()); stmUpdate.setString(2, entity.getNome()); stmUpdate.setString(3, entity.getDescricao()); @@ -80,4 +88,4 @@ protected void setParametrosQuerySelect(PreparedStatement stmExclusao, String va stmExclusao.setString(1, valor); } -} +} \ No newline at end of file diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/VendaDAO.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/VendaDAO.java index 8b0c02f..c8fbaf5 100644 --- a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/VendaDAO.java +++ b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/VendaDAO.java @@ -1,281 +1,110 @@ /** - * + * */ package br.com.rpires.dao; -import java.sql.Connection; import java.sql.PreparedStatement; -import java.sql.ResultSet; import java.sql.SQLException; -import java.sql.Statement; -import java.sql.Timestamp; -import java.util.ArrayList; -import java.util.Collection; -import java.util.HashSet; -import java.util.List; -import java.util.Set; -import br.com.rpires.dao.factory.ProdutoQuantidadeFactory; -import br.com.rpires.dao.factory.VendaFactory; import br.com.rpires.dao.generic.GenericDAO; -import br.com.rpires.domain.ProdutoQuantidade; -import br.com.rpires.domain.Venda; -import br.com.rpires.domain.Venda.Status; -import br.com.rpires.exceptions.DAOException; -import br.com.rpires.exceptions.MaisDeUmRegistroException; -import br.com.rpires.exceptions.TableException; +import br.com.rpires.domain.Cliente_2; +import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Produto_4; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; /** * @author rodrigo.pires * */ -public class VendaDAO extends GenericDAO implements IVendaDAO { - - - @Override - public Class getTipoClasse() { - return Venda.class; - } +public class ProdutoDAO extends GenericDAO implements IProdutoDAO { - @Override - public void atualiarDados(Venda entity, Venda entityCadastrado) { - entityCadastrado.setCodigo(entity.getCodigo()); - entityCadastrado.setStatus(entity.getStatus()); + public ProdutoDAO() { + super(); } @Override - public void excluir(String valor) { - throw new UnsupportedOperationException("OPERAÇÃO NÃO PERMITIDA"); + public Class getTipoClasse() { + return Produto.class; } @Override - public void finalizarVenda(Venda venda) throws TipoChaveNaoEncontradaException, DAOException { - - Connection connection = null; - PreparedStatement stm = null; - try { - String sql = "UPDATE TB_VENDA SET STATUS_VENDA = ? WHERE ID = ?"; - connection = getConnection(); - stm = connection.prepareStatement(sql); - stm.setString(1, Status.CONCLUIDA.name()); - stm.setLong(2, venda.getId()); - stm.executeUpdate(); - - } catch (SQLException e) { - throw new DAOException("ERRO ATUALIZANDO OBJETO ", e); - } finally { - closeConnection(connection, stm, null); - } - } - - @Override - public void cancelarVenda(Venda venda) throws TipoChaveNaoEncontradaException, DAOException { - Connection connection = null; - PreparedStatement stm = null; - try { - String sql = "UPDATE TB_VENDA SET STATUS_VENDA = ? WHERE ID = ?"; - connection = getConnection(); - stm = connection.prepareStatement(sql); - stm.setString(1, Status.CANCELADA.name()); - stm.setLong(2, venda.getId()); - stm.executeUpdate(); - - } catch (SQLException e) { - throw new DAOException("ERRO ATUALIZANDO OBJETO ", e); - } finally { - closeConnection(connection, stm, null); - } + public void atualiarDados(Produto entity, Produto entityCadastrado) { + entityCadastrado.setCodigo(entity.getCodigo()); + entityCadastrado.setDescricao(entity.getDescricao()); + entityCadastrado.setNome(entity.getNome()); + entityCadastrado.setValor(entity.getValor()); } @Override protected String getQueryInsercao() { StringBuilder sb = new StringBuilder(); - sb.append("INSERT INTO TB_VENDA "); - sb.append("(ID, CODIGO, ID_CLIENTE_FK, VALOR_TOTAL, DATA_VENDA, STATUS_VENDA)"); - sb.append("VALUES (nextval('sq_venda'),?,?,?,?,?)"); + sb.append("INSERT INTO TB_PRODUTO "); + sb.append("(ID, CODIGO, NOME, DESCRICAO, VALOR)"); + sb.append("VALUES (nextval('sq_produto'),?,?,?,?)"); return sb.toString(); } @Override - protected void setParametrosQueryInsercao(PreparedStatement stmInsert, Venda entity) throws SQLException { + protected void setParametrosQueryInsercao(PreparedStatement stmInsert, Produto entity) throws SQLException { stmInsert.setString(1, entity.getCodigo()); - stmInsert.setLong(2, entity.getCliente().getId()); - stmInsert.setBigDecimal(3, entity.getValorTotal()); - stmInsert.setTimestamp(4, Timestamp.from(entity.getDataVenda())); - stmInsert.setString(5, entity.getStatus().name()); + stmInsert.setString(2, entity.getNome()); + stmInsert.setString(3, entity.getDescricao()); + stmInsert.setBigDecimal(4, entity.getValor()); } @Override protected String getQueryExclusao() { - throw new UnsupportedOperationException("OPERAÇÃO NÃO PERMITIDA"); + return "DELETE FROM TB_PRODUTO WHERE CODIGO = ?"; } @Override - protected void setParametrosQueryExclusao(PreparedStatement stmInsert, String valor) throws SQLException { - throw new UnsupportedOperationException("OPERAÇÃO NÃO PERMITIDA"); + protected void setParametrosQueryExclusao(PreparedStatement stmExclusao, String valor) throws SQLException { + stmExclusao.setString(1, valor); } @Override protected String getQueryAtualizacao() { - throw new UnsupportedOperationException("OPERAÇÃO NÃO PERMITIDA"); + StringBuilder sb = new StringBuilder(); + sb.append("UPDATE TB_PRODUTO "); + sb.append("SET CODIGO = ?,"); + sb.append("NOME = ?,"); + sb.append("DESCRICAO = ?,"); + sb.append("VALOR = ?"); + sb.append(" WHERE CODIGO = ?"); + return sb.toString(); } @Override - protected void setParametrosQueryAtualizacao(PreparedStatement stmUpdate, Venda entity) throws SQLException { - throw new UnsupportedOperationException("OPERAÇÃO NÃO PERMITIDA"); + protected void setParametrosQueryAtualizacao(PreparedStatement stmUpdate, Produto entity) throws SQLException { + stmUpdate.setString(1, entity.getCodigo()); + stmUpdate.setString(2, entity.getNome()); + stmUpdate.setString(3, entity.getDescricao()); + stmUpdate.setBigDecimal(4, entity.getValor()); + stmUpdate.setString(5, entity.getCodigo()); } @Override - protected void setParametrosQuerySelect(PreparedStatement stm, String valor) throws SQLException { - stm.setString(1, valor); + protected void setParametrosQuerySelect(PreparedStatement stmExclusao, String valor) throws SQLException { + stmExclusao.setString(1, valor); } - - @Override - public Venda consultar(String valor) throws MaisDeUmRegistroException, TableException, DAOException { - //TODO pode ser feito desta forma -// Venda venda = super.consultar(valor); -// Cliente cliente = clienteDAO.consultar(venda.getCliente().getId()); -// venda.setCliente(cliente); -// return venda; - - //TODO Ou pode ser feito com join - StringBuilder sb = sqlBaseSelect(); - sb.append("WHERE V.CODIGO = ? "); - Connection connection = null; - PreparedStatement stm = null; - ResultSet rs = null; - try { - //validarMaisDeUmRegistro(); - connection = getConnection(); - stm = connection.prepareStatement(sb.toString()); - setParametrosQuerySelect(stm, valor); - rs = stm.executeQuery(); - if (rs.next()) { - Venda venda = VendaFactory.convert(rs); - buscarAssociacaoVendaProdutos(connection, venda); - return venda; - } - - } catch (SQLException e) { - throw new DAOException("ERRO CONSULTANDO OBJETO ", e); - } finally { - closeConnection(connection, stm, rs); - } - return null; - + public Boolean cadastrar(Produto_4 entity) throws TipoChaveNaoEncontradaException { + return null; } - private void buscarAssociacaoVendaProdutos(Connection connection, Venda venda) - throws DAOException { - PreparedStatement stmProd = null; - ResultSet rsProd = null; - try { - StringBuilder sbProd = new StringBuilder(); - sbProd.append("SELECT PQ.ID, PQ.QUANTIDADE, PQ.VALOR_TOTAL, "); - sbProd.append("P.ID AS ID_PRODUTO, P.CODIGO, P.NOME, P.DESCRICAO, P.VALOR "); - sbProd.append("FROM TB_PRODUTO_QUANTIDADE PQ "); - sbProd.append("INNER JOIN TB_PRODUTO P ON P.ID = PQ.ID_PRODUTO_FK "); - sbProd.append("WHERE PQ.ID_VENDA_FK = ?"); - stmProd = connection.prepareStatement(sbProd.toString()); - stmProd.setLong(1, venda.getId()); - rsProd = stmProd.executeQuery(); - Set produtos = new HashSet<>(); - while(rsProd.next()) { - ProdutoQuantidade prodQ = ProdutoQuantidadeFactory.convert(rsProd); - produtos.add(prodQ); - } - venda.setProdutos(produtos); - venda.recalcularValorTotalVenda(); - } catch (SQLException e) { - throw new DAOException("ERRO CONSULTANDO OBJETO ", e); - } finally { - closeConnection(connection, stmProd, rsProd); - } - } - - - @Override - public Collection buscarTodos() throws DAOException { - List lista = new ArrayList<>(); - StringBuilder sb = sqlBaseSelect(); - - try { - Connection connection = getConnection(); - PreparedStatement stm = connection.prepareStatement(sb.toString()); - ResultSet rs = stm.executeQuery(); - while (rs.next()) { - Venda venda = VendaFactory.convert(rs); - buscarAssociacaoVendaProdutos(connection, venda); - lista.add(venda); - } - - } catch (SQLException e) { - throw new DAOException("ERRO CONSULTANDO OBJETO ", e); - } - return lista; - } + public void alterar(Produto_4 entity) throws TipoChaveNaoEncontradaException { - private StringBuilder sqlBaseSelect() { - StringBuilder sb = new StringBuilder(); - sb.append("SELECT V.ID AS ID_VENDA, V.CODIGO, V.VALOR_TOTAL, V.DATA_VENDA, V.STATUS_VENDA, "); - sb.append("C.ID AS ID_CLIENTE, C.NOME, C.CPF, C.TEL, C.ENDERECO, C.NUMERO, C.CIDADE, C.ESTADO "); - sb.append("FROM TB_VENDA V "); - sb.append("INNER JOIN TB_CLIENTE C ON V.ID_CLIENTE_FK = C.ID "); - return sb; } @Override - public Boolean cadastrar(Venda entity) throws TipoChaveNaoEncontradaException, DAOException { - Connection connection = null; - PreparedStatement stm = null; - try { - connection = getConnection(); - stm = connection.prepareStatement(getQueryInsercao(), Statement.RETURN_GENERATED_KEYS); - setParametrosQueryInsercao(stm, entity); - int rowsAffected = stm.executeUpdate(); + public void atualiarDados(Cliente_2 entity, Cliente_2 entityCadastrado) { - if(rowsAffected > 0) { - try (ResultSet rs = stm.getGeneratedKeys()){ - if (rs.next()) { - entity.setId(rs.getLong(1)); - } - } - - for (ProdutoQuantidade prod : entity.getProdutos()) { - stm = connection.prepareStatement(getQueryInsercaoProdQuant()); - setParametrosQueryInsercaoProdQuant(stm, entity, prod); - rowsAffected = stm.executeUpdate(); - } - - - return true; - } - - } catch (SQLException e) { - throw new DAOException("ERRO CADASTRANDO OBJETO ", e); - } finally { - closeConnection(connection, stm, null); - } - return false; } - private String getQueryInsercaoProdQuant() { - StringBuilder sb = new StringBuilder(); - sb.append("INSERT INTO TB_PRODUTO_QUANTIDADE "); - sb.append("(ID, ID_PRODUTO_FK, ID_VENDA_FK, QUANTIDADE, VALOR_TOTAL)"); - sb.append("VALUES (nextval('sq_produto_quantidade'),?,?,?,?)"); - return sb.toString(); - } - - private void setParametrosQueryInsercaoProdQuant(PreparedStatement stm, Venda venda, ProdutoQuantidade prod) throws SQLException { - stm.setLong(1, prod.getProduto().getId()); - stm.setLong(2, venda.getId()); - stm.setInt(3, prod.getQuantidade()); - stm.setBigDecimal(4, prod.getValorTotal()); - } + @Override + public void alterar(Object entity) { + } } diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/factory/ClienteFactory.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/factory/ClienteFactory.java index 58f8019..64c5f8a 100644 --- a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/factory/ClienteFactory.java +++ b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/factory/ClienteFactory.java @@ -6,7 +6,7 @@ import java.sql.ResultSet; import java.sql.SQLException; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; /** * @author rodrigo.pires @@ -14,8 +14,8 @@ */ public class ClienteFactory { - public static Cliente convert(ResultSet rs) throws SQLException { - Cliente cliente = new Cliente(); + public static Cliente_2 convert(ResultSet rs) throws SQLException { + Cliente_2 cliente = new Cliente_2(); cliente.setId(rs.getLong("ID_CLIENTE")); cliente.setNome(rs.getString(("NOME"))); cliente.setCpf(rs.getLong(("CPF"))); diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/factory/ProdutoFactory.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/factory/ProdutoFactory.java index f0633c5..ecf4162 100644 --- a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/factory/ProdutoFactory.java +++ b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/factory/ProdutoFactory.java @@ -6,7 +6,7 @@ import java.sql.ResultSet; import java.sql.SQLException; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Produto_4; /** * @author rodrigo.pires @@ -15,8 +15,8 @@ public class ProdutoFactory { - public static Produto convert(ResultSet rs) throws SQLException { - Produto prod = new Produto(); + public static Produto_4 convert(ResultSet rs) throws SQLException { + Produto_4 prod = new Produto_4(); prod.setId(rs.getLong("ID_PRODUTO")); prod.setCodigo(rs.getString("CODIGO")); prod.setNome(rs.getString("NOME")); diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/factory/ProdutoQuantidadeFactory.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/factory/ProdutoQuantidadeFactory.java index 1b25e5e..1716025 100644 --- a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/factory/ProdutoQuantidadeFactory.java +++ b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/factory/ProdutoQuantidadeFactory.java @@ -6,7 +6,7 @@ import java.sql.ResultSet; import java.sql.SQLException; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Produto_4; import br.com.rpires.domain.ProdutoQuantidade; /** @@ -16,7 +16,7 @@ public class ProdutoQuantidadeFactory { public static ProdutoQuantidade convert(ResultSet rs) throws SQLException { - Produto prod = ProdutoFactory.convert(rs); + Produto_4 prod = ProdutoFactory.convert(rs); ProdutoQuantidade prodQ = new ProdutoQuantidade(); prodQ.setProduto(prod); prodQ.setId(rs.getLong("ID")); diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/factory/VendaFactory.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/factory/VendaFactory.java index 6b4d52a..8e13fe1 100644 --- a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/factory/VendaFactory.java +++ b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/factory/VendaFactory.java @@ -6,7 +6,7 @@ import java.sql.ResultSet; import java.sql.SQLException; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.domain.Venda; import br.com.rpires.domain.Venda.Status; @@ -17,7 +17,7 @@ public class VendaFactory { public static Venda convert(ResultSet rs) throws SQLException { - Cliente cliente = ClienteFactory.convert(rs); + Cliente_2 cliente = ClienteFactory.convert(rs); Venda venda = new Venda(); venda.setCliente(cliente); venda.setId(rs.getLong("ID_VENDA")); diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/generic/GenericDAO.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/generic/GenericDAO.java index 07386af..ff3200e 100644 --- a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/generic/GenericDAO.java +++ b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/generic/GenericDAO.java @@ -17,7 +17,7 @@ import anotacao.ColunaTabela; import anotacao.Tabela; import anotacao.TipoChave; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.Persistence; import br.com.rpires.dao.generic.jdbc.ConnectionFactory; import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.MaisDeUmRegistroException; @@ -30,7 +30,7 @@ * * Classe genérica que implementa interface genérica com os métodos de CRUD */ -public abstract class GenericDAO implements IGenericDAO { +public abstract class GenericDAO implements IGenericDAO { public abstract Class getTipoClasse(); @@ -94,7 +94,7 @@ public Boolean cadastrar(T entity) throws TipoChaveNaoEncontradaException, DAOEx if(rowsAffected > 0) { try (ResultSet rs = stm.getGeneratedKeys()){ if (rs.next()) { - Persistente per = (Persistente) entity; + Persistence per = (Persistence) entity; per.setId(rs.getLong(1)); } } diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/generic/IGenericDAO.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/generic/IGenericDAO.java index b163ff4..d4d3a86 100644 --- a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/generic/IGenericDAO.java +++ b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/dao/generic/IGenericDAO.java @@ -1,6 +1,6 @@ package br.com.rpires.dao.generic; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.Persistence; import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.MaisDeUmRegistroException; import br.com.rpires.exceptions.TableException; @@ -14,7 +14,7 @@ * * Interface genérica para métodos de CRUD(Create, Read, Update and Delete) */ -public interface IGenericDAO { +public interface IGenericDAO { /** * Método para cadastrar novos registro no banco de dados diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/domain/Cliente.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/domain/Cliente.java index bdfd234..4d98682 100644 --- a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/domain/Cliente.java +++ b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/domain/Cliente.java @@ -6,14 +6,14 @@ import anotacao.ColunaTabela; import anotacao.Tabela; import anotacao.TipoChave; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.Persistence; /** * @author rodrigo.pires * */ @Tabela("TB_CLIENTE") -public class Cliente implements Persistente { +public class Cliente implements Persistence { @ColunaTabela(dbName = "id", setJavaName = "setId") private Long id; diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/domain/ProdutoQuantidade.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/domain/ProdutoQuantidade.java index 09c75a5..df1455f 100644 --- a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/domain/ProdutoQuantidade.java +++ b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/domain/ProdutoQuantidade.java @@ -19,7 +19,7 @@ public class ProdutoQuantidade { private Long id; //@ColunaTabela(dbName = "id", setJavaName = "setId") - private Produto produto; + private Produto_4 produto; @ColunaTabela(dbName = "quantidade", setJavaName = "setQuantidade") private Integer quantidade; @@ -32,11 +32,11 @@ public ProdutoQuantidade() { this.valorTotal = BigDecimal.ZERO; } - public Produto getProduto() { + public Produto_4 getProduto() { return produto; } - public void setProduto(Produto produto) { + public void setProduto(Produto_4 produto) { this.produto = produto; } diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/domain/Produto_4.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/domain/Produto_4.java index d6f61f1..99aeab8 100644 --- a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/domain/Produto_4.java +++ b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/domain/Produto_4.java @@ -8,14 +8,14 @@ import anotacao.ColunaTabela; import anotacao.Tabela; import anotacao.TipoChave; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.Persistence; /** * @author rodrigo.pires * */ @Tabela("TB_PRODUTO") -public class Produto implements Persistente { +public abstract class Produto_4 implements Persistence { @ColunaTabela(dbName = "id", setJavaName = "setId") private Long id; @@ -33,6 +33,9 @@ public class Produto implements Persistente { @ColunaTabela(dbName = "valor", setJavaName = "setValor") private BigDecimal valor; + public Produto_4(int ignoredCodigo, String ignoredNome, int ignoredEstoque, float ignoredValor) { + } + public String getCodigo() { return codigo; } @@ -72,5 +75,11 @@ public Long getId() { public void setId(Long id) { this.id = id; } - + + public int getEstoque() { + return 0; + } + + public void saidaEstoque(int ignoredQtdeItem) { + } } diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/domain/Venda.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/domain/Venda.java index 60922d0..971d421 100644 --- a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/domain/Venda.java +++ b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/domain/Venda.java @@ -12,14 +12,14 @@ import anotacao.ColunaTabela; import anotacao.Tabela; import anotacao.TipoChave; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.Persistence; /** * @author rodrigo.pires * */ @Tabela("TB_VENDA") -public class Venda implements Persistente { +public class Venda implements Persistence { public enum Status { INICIADA, CONCLUIDA, CANCELADA; @@ -42,7 +42,7 @@ public static Status getByName(String value) { private String codigo; @ColunaTabela(dbName = "id_cliente_fk", setJavaName = "setIdClienteFk") - private Cliente cliente; + private Cliente_2 cliente; //@ColunaTabela(dbName = "id", setJavaName = "setId") private Set produtos; @@ -68,11 +68,11 @@ public void setCodigo(String codigo) { this.codigo = codigo; } - public Cliente getCliente() { + public Cliente_2 getCliente() { return cliente; } - public void setCliente(Cliente cliente) { + public void setCliente(Cliente_2 cliente) { this.cliente = cliente; } @@ -80,7 +80,7 @@ public Set getProdutos() { return produtos; } - public void adicionarProduto(Produto produto, Integer quantidade) { + public void adicionarProduto(Produto_4 produto, Integer quantidade) { validarStatus(); Optional op = produtos.stream().filter(filter -> filter.getProduto().getCodigo().equals(produto.getCodigo())).findAny(); @@ -103,7 +103,7 @@ private void validarStatus() { } } - public void removerProduto(Produto produto, Integer quantidade) { + public void removerProduto(Produto_4 produto, Integer quantidade) { validarStatus(); Optional op = produtos.stream().filter(filter -> filter.getProduto().getCodigo().equals(produto.getCodigo())).findAny(); diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/services/ClienteService.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/services/ClienteService.java index 737f472..02bf5b8 100644 --- a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/services/ClienteService.java +++ b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/services/ClienteService.java @@ -3,23 +3,22 @@ */ package br.com.rpires.services; -import br.com.rpires.dao.IClienteDAO; -import br.com.rpires.domain.Cliente; +import br.com.rpires.dao.IClientDAO; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.MaisDeUmRegistroException; import br.com.rpires.exceptions.TableException; -import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; import br.com.rpires.services.generic.GenericService; /** * @author rodrigo.pires * */ -public class ClienteService extends GenericService implements IClienteService { +public class ClienteService extends GenericService implements IClienteService { //private IClienteDAO clienteDAO; - public ClienteService(IClienteDAO clienteDAO) { + public ClienteService(IClientDAO clienteDAO) { super(clienteDAO); //this.clienteDAO = clienteDAO; } @@ -30,7 +29,7 @@ public ClienteService(IClienteDAO clienteDAO) { // } @Override - public Cliente buscarPorCPF(Long cpf) throws DAOException { + public Cliente_2 buscarPorCPF(Long cpf) throws DAOException { try { return this.dao.consultar(cpf); } catch (MaisDeUmRegistroException | TableException e) { diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/services/IClienteService.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/services/IClienteService.java index 87b862e..4e2cc77 100644 --- a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/services/IClienteService.java +++ b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/services/IClienteService.java @@ -3,20 +3,19 @@ */ package br.com.rpires.services; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.exceptions.DAOException; -import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; import br.com.rpires.services.generic.IGenericService; /** * @author rodrigo.pires * */ -public interface IClienteService extends IGenericService { +public interface IClienteService extends IGenericService { // Boolean cadastrar(Cliente cliente) throws TipoChaveNaoEncontradaException; // - Cliente buscarPorCPF(Long cpf) throws DAOException; + Cliente_2 buscarPorCPF(Long cpf) throws DAOException; // // void excluir(Long cpf); // diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/services/IProdutoService.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/services/IProdutoService.java index 2880ea4..76116a5 100644 --- a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/services/IProdutoService.java +++ b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/services/IProdutoService.java @@ -3,13 +3,13 @@ */ package br.com.rpires.services; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Produto_4; import br.com.rpires.services.generic.IGenericService; /** * @author rodrigo.pires * */ -public interface IProdutoService extends IGenericService { +public interface IProdutoService extends IGenericService { } diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/services/ProdutoService.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/services/ProdutoService.java index 4a60343..9d4d6dd 100644 --- a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/services/ProdutoService.java +++ b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/services/ProdutoService.java @@ -3,17 +3,17 @@ */ package br.com.rpires.services; -import br.com.rpires.dao.IProdutoDAO; -import br.com.rpires.domain.Produto; +import br.com.rpires.dao.IProdutoDAO_1; +import br.com.rpires.domain.Produto_4; import br.com.rpires.services.generic.GenericService; /** * @author rodrigo.pires * */ -public class ProdutoService extends GenericService implements IProdutoService { +public class ProdutoService extends GenericService implements IProdutoService { - public ProdutoService(IProdutoDAO dao) { + public ProdutoService(IProdutoDAO_1 dao) { super(dao); } diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/services/generic/GenericService.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/services/generic/GenericService.java index 1af8415..c8703c3 100644 --- a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/services/generic/GenericService.java +++ b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/services/generic/GenericService.java @@ -6,8 +6,9 @@ import java.io.Serializable; import java.util.Collection; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.Persistence; import br.com.rpires.dao.generic.IGenericDAO; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.MaisDeUmRegistroException; import br.com.rpires.exceptions.TableException; @@ -17,7 +18,7 @@ * @author rodrigo.pires * */ -public abstract class GenericService +public abstract class GenericService implements IGenericService { protected IGenericDAO dao; diff --git a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/services/generic/IGenericService.java b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/services/generic/IGenericService.java index 77dc550..8a80e1f 100644 --- a/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/services/generic/IGenericService.java +++ b/mod30/ExemploVendasMod30/src/main/java/br/com/rpires/services/generic/IGenericService.java @@ -6,7 +6,7 @@ import java.io.Serializable; import java.util.Collection; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.Persistence; import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; @@ -14,7 +14,7 @@ * @author rodrigo.pires * */ -public interface IGenericService { +public interface IGenericService { /** * Método para cadastrar novos registro no banco de dados diff --git a/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/ClienteDAOTest.java b/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/ClienteDAOTest.java index 5c88cf0..8bd9643 100644 --- a/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/ClienteDAOTest.java +++ b/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/ClienteDAOTest.java @@ -12,8 +12,8 @@ import org.junit.Test; import br.com.rpires.dao.ClienteDAO; -import br.com.rpires.dao.IClienteDAO; -import br.com.rpires.domain.Cliente; +import br.com.rpires.dao.IClientDAO; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.MaisDeUmRegistroException; import br.com.rpires.exceptions.TableException; @@ -25,7 +25,7 @@ */ public class ClienteDAOTest { - private IClienteDAO clienteDao; + private IClientDAO clienteDao; public ClienteDAOTest() { clienteDao = new ClienteDAO(); @@ -33,7 +33,7 @@ public ClienteDAOTest() { @After public void end() throws DAOException { - Collection list = clienteDao.buscarTodos(); + Collection list = clienteDao.buscarTodos(); list.forEach(cli -> { try { clienteDao.excluir(cli.getCpf()); @@ -46,7 +46,7 @@ public void end() throws DAOException { @Test public void pesquisarCliente() throws MaisDeUmRegistroException, TableException, TipoChaveNaoEncontradaException, DAOException { - Cliente cliente = new Cliente(); + Cliente_2 cliente = new Cliente_2(); cliente.setCpf(12312312312L); cliente.setNome("Rodrigo"); cliente.setCidade("São Paulo"); @@ -56,7 +56,7 @@ public void pesquisarCliente() throws MaisDeUmRegistroException, TableException, cliente.setTel(1199999999L); clienteDao.cadastrar(cliente); - Cliente clienteConsultado = clienteDao.consultar(cliente.getCpf()); + Cliente_2 clienteConsultado = clienteDao.consultar(cliente.getCpf()); Assert.assertNotNull(clienteConsultado); clienteDao.excluir(cliente.getCpf()); @@ -64,7 +64,7 @@ public void pesquisarCliente() throws MaisDeUmRegistroException, TableException, @Test public void salvarCliente() throws TipoChaveNaoEncontradaException, MaisDeUmRegistroException, TableException, DAOException { - Cliente cliente = new Cliente(); + Cliente_2 cliente = new Cliente_2(); cliente.setCpf(56565656565L); cliente.setNome("Rodrigo"); cliente.setCidade("São Paulo"); @@ -75,7 +75,7 @@ public void salvarCliente() throws TipoChaveNaoEncontradaException, MaisDeUmRegi Boolean retorno = clienteDao.cadastrar(cliente); Assert.assertTrue(retorno); - Cliente clienteConsultado = clienteDao.consultar(cliente.getCpf()); + Cliente_2 clienteConsultado = clienteDao.consultar(cliente.getCpf()); Assert.assertNotNull(clienteConsultado); clienteDao.excluir(cliente.getCpf()); @@ -84,7 +84,7 @@ public void salvarCliente() throws TipoChaveNaoEncontradaException, MaisDeUmRegi @Test public void excluirCliente() throws TipoChaveNaoEncontradaException, MaisDeUmRegistroException, TableException, DAOException { - Cliente cliente = new Cliente(); + Cliente_2 cliente = new Cliente_2(); cliente.setCpf(56565656565L); cliente.setNome("Rodrigo"); cliente.setCidade("São Paulo"); @@ -95,7 +95,7 @@ public void excluirCliente() throws TipoChaveNaoEncontradaException, MaisDeUmReg Boolean retorno = clienteDao.cadastrar(cliente); Assert.assertTrue(retorno); - Cliente clienteConsultado = clienteDao.consultar(cliente.getCpf()); + Cliente_2 clienteConsultado = clienteDao.consultar(cliente.getCpf()); Assert.assertNotNull(clienteConsultado); clienteDao.excluir(cliente.getCpf()); @@ -105,7 +105,7 @@ public void excluirCliente() throws TipoChaveNaoEncontradaException, MaisDeUmReg @Test public void alterarCliente() throws TipoChaveNaoEncontradaException, MaisDeUmRegistroException, TableException, DAOException { - Cliente cliente = new Cliente(); + Cliente_2 cliente = new Cliente_2(); cliente.setCpf(56565656565L); cliente.setNome("Rodrigo"); cliente.setCidade("São Paulo"); @@ -116,13 +116,13 @@ public void alterarCliente() throws TipoChaveNaoEncontradaException, MaisDeUmReg Boolean retorno = clienteDao.cadastrar(cliente); Assert.assertTrue(retorno); - Cliente clienteConsultado = clienteDao.consultar(cliente.getCpf()); + Cliente_2 clienteConsultado = clienteDao.consultar(cliente.getCpf()); Assert.assertNotNull(clienteConsultado); clienteConsultado.setNome("Rodrigo Pires"); clienteDao.alterar(clienteConsultado); - Cliente clienteAlterado = clienteDao.consultar(clienteConsultado.getCpf()); + Cliente_2 clienteAlterado = clienteDao.consultar(clienteConsultado.getCpf()); Assert.assertNotNull(clienteAlterado); Assert.assertEquals("Rodrigo Pires", clienteAlterado.getNome()); @@ -133,7 +133,7 @@ public void alterarCliente() throws TipoChaveNaoEncontradaException, MaisDeUmReg @Test public void buscarTodos() throws TipoChaveNaoEncontradaException, DAOException { - Cliente cliente = new Cliente(); + Cliente_2 cliente = new Cliente_2(); cliente.setCpf(56565656565L); cliente.setNome("Rodrigo"); cliente.setCidade("São Paulo"); @@ -144,7 +144,7 @@ public void buscarTodos() throws TipoChaveNaoEncontradaException, DAOException { Boolean retorno = clienteDao.cadastrar(cliente); Assert.assertTrue(retorno); - Cliente cliente1 = new Cliente(); + Cliente_2 cliente1 = new Cliente_2(); cliente1.setCpf(56565656569L); cliente1.setNome("Rodrigo"); cliente1.setCidade("São Paulo"); @@ -155,7 +155,7 @@ public void buscarTodos() throws TipoChaveNaoEncontradaException, DAOException { Boolean retorno1 = clienteDao.cadastrar(cliente1); Assert.assertTrue(retorno1); - Collection list = clienteDao.buscarTodos(); + Collection list = clienteDao.buscarTodos(); assertTrue(list != null); assertTrue(list.size() == 2); @@ -168,7 +168,7 @@ public void buscarTodos() throws TipoChaveNaoEncontradaException, DAOException { } }); - Collection list1 = clienteDao.buscarTodos(); + Collection list1 = clienteDao.buscarTodos(); assertTrue(list1 != null); assertTrue(list1.size() == 0); } diff --git a/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/ClienteServiceTest.java b/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/ClienteServiceTest.java index cf82c89..8fe4251 100644 --- a/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/ClienteServiceTest.java +++ b/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/ClienteServiceTest.java @@ -8,8 +8,8 @@ import org.junit.Test; import br.com.rpires.dao.ClienteDaoMock; -import br.com.rpires.dao.IClienteDAO; -import br.com.rpires.domain.Cliente; +import br.com.rpires.dao.IClientDAO; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; import br.com.rpires.services.ClienteService; @@ -23,16 +23,16 @@ public class ClienteServiceTest { private IClienteService clienteService; - private Cliente cliente; + private Cliente_2 cliente; public ClienteServiceTest() { - IClienteDAO dao = new ClienteDaoMock(); + IClientDAO dao = new ClienteDaoMock(); clienteService = new ClienteService(dao); } @Before public void init() { - cliente = new Cliente(); + cliente = new Cliente_2(); cliente.setCpf(12312312312L); cliente.setNome("Rodrigo"); cliente.setCidade("São Paulo"); @@ -45,7 +45,7 @@ public void init() { @Test public void pesquisarCliente() throws DAOException { - Cliente clienteConsultado = clienteService.buscarPorCPF(cliente.getCpf()); + Cliente_2 clienteConsultado = clienteService.buscarPorCPF(cliente.getCpf()); Assert.assertNotNull(clienteConsultado); } diff --git a/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/ProdutoDAOTest.java b/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/ProdutoDAOTest.java index aafd907..e03c80b 100644 --- a/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/ProdutoDAOTest.java +++ b/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/ProdutoDAOTest.java @@ -14,9 +14,9 @@ import org.junit.Assert; import org.junit.Test; -import br.com.rpires.dao.IProdutoDAO; -import br.com.rpires.dao.ProdutoDAO; -import br.com.rpires.domain.Produto; +import br.com.rpires.dao.IProdutoDAO_1; +import br.com.rpires.dao.ProdutoDAO_3; +import br.com.rpires.domain.Produto_4; import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.MaisDeUmRegistroException; import br.com.rpires.exceptions.TableException; @@ -28,27 +28,22 @@ */ public class ProdutoDAOTest { - private IProdutoDAO produtoDao; + private IProdutoDAO_1 produtoDao; public ProdutoDAOTest() { - produtoDao = new ProdutoDAO(); + produtoDao = new ProdutoDAO_3(); } @After public void end() throws DAOException { - Collection list = produtoDao.buscarTodos(); + Collection list = produtoDao.buscarTodos(); list.forEach(prod -> { - try { - produtoDao.excluir(prod.getCodigo()); - } catch (DAOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } + produtoDao.excluir(prod.getCodigo()); }); } - private Produto criarProduto(String codigo) throws TipoChaveNaoEncontradaException, DAOException { - Produto produto = new Produto(); + private Produto_4 criarProduto(String codigo) throws TipoChaveNaoEncontradaException, DAOException { + Produto_4 produto = new Produto_4(); produto.setCodigo(codigo); produto.setDescricao("Produto 1"); produto.setNome("Produto 1"); @@ -63,40 +58,40 @@ private void excluir(String valor) throws DAOException { @Test public void pesquisar() throws MaisDeUmRegistroException, TableException, DAOException, TipoChaveNaoEncontradaException { - Produto produto = criarProduto("A1"); + Produto_4 produto = criarProduto("A1"); Assert.assertNotNull(produto); - Produto produtoDB = this.produtoDao.consultar(produto.getCodigo()); + Produto_4 produtoDB = this.produtoDao.consultar(produto.getCodigo()); Assert.assertNotNull(produtoDB); excluir(produtoDB.getCodigo()); } @Test public void salvar() throws TipoChaveNaoEncontradaException, DAOException { - Produto produto = criarProduto("A2"); + Produto_4 produto = criarProduto("A2"); Assert.assertNotNull(produto); excluir(produto.getCodigo()); } @Test public void excluir() throws DAOException, TipoChaveNaoEncontradaException, MaisDeUmRegistroException, TableException { - Produto produto = criarProduto("A3"); + Produto_4 produto = criarProduto("A3"); Assert.assertNotNull(produto); excluir(produto.getCodigo()); - Produto produtoBD = this.produtoDao.consultar(produto.getCodigo()); + Produto_4 produtoBD = this.produtoDao.consultar(produto.getCodigo()); assertNull(produtoBD); } @Test public void alterarCliente() throws TipoChaveNaoEncontradaException, DAOException, MaisDeUmRegistroException, TableException { - Produto produto = criarProduto("A4"); + Produto_4 produto = criarProduto("A4"); produto.setNome("Rodrigo Pires"); produtoDao.alterar(produto); - Produto produtoBD = this.produtoDao.consultar(produto.getCodigo()); + Produto_4 produtoBD = this.produtoDao.consultar(produto.getCodigo()); assertNotNull(produtoBD); Assert.assertEquals("Rodrigo Pires", produtoBD.getNome()); excluir(produto.getCodigo()); - Produto produtoBD1 = this.produtoDao.consultar(produto.getCodigo()); + Produto_4 produtoBD1 = this.produtoDao.consultar(produto.getCodigo()); assertNull(produtoBD1); } @@ -104,11 +99,11 @@ public void alterarCliente() throws TipoChaveNaoEncontradaException, DAOExceptio public void buscarTodos() throws DAOException, TipoChaveNaoEncontradaException { criarProduto("A5"); criarProduto("A6"); - Collection list = produtoDao.buscarTodos(); + Collection list = produtoDao.buscarTodos(); assertTrue(list != null); assertTrue(list.size() == 2); - for (Produto prod : list) { + for (Produto_4 prod : list) { excluir(prod.getCodigo()); } diff --git a/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/ProdutoServiceTest.java b/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/ProdutoServiceTest.java index 180d446..4e3897f 100644 --- a/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/ProdutoServiceTest.java +++ b/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/ProdutoServiceTest.java @@ -9,9 +9,9 @@ import org.junit.Before; import org.junit.Test; -import br.com.rpires.dao.IProdutoDAO; +import br.com.rpires.dao.IProdutoDAO_1; import br.com.rpires.dao.ProdutoDaoMock; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Produto_4; import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; import br.com.rpires.services.IProdutoService; @@ -25,16 +25,16 @@ public class ProdutoServiceTest { private IProdutoService produtoService; - private Produto produto; + private Produto_4 produto; public ProdutoServiceTest() { - IProdutoDAO dao = new ProdutoDaoMock(); + IProdutoDAO_1 dao = new ProdutoDaoMock(); produtoService = new ProdutoService(dao); } @Before public void init() { - produto = new Produto(); + produto = new Produto_4(); produto.setCodigo("A1"); produto.setDescricao("Produto 1"); produto.setNome("Produto 1"); @@ -43,7 +43,7 @@ public void init() { @Test public void pesquisar() throws DAOException { - Produto produtor = this.produtoService.consultar(produto.getCodigo()); + Produto_4 produtor = this.produtoService.consultar(produto.getCodigo()); Assert.assertNotNull(produtor); } diff --git a/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/VendaDAOTest.java b/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/VendaDAOTest.java index 8f93b37..6e7c1a7 100644 --- a/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/VendaDAOTest.java +++ b/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/VendaDAOTest.java @@ -22,14 +22,14 @@ import org.junit.Test; import br.com.rpires.dao.ClienteDAO; -import br.com.rpires.dao.IClienteDAO; -import br.com.rpires.dao.IProdutoDAO; -import br.com.rpires.dao.IVendaDAO; -import br.com.rpires.dao.ProdutoDAO; +import br.com.rpires.dao.IClientDAO; +import br.com.rpires.dao.IProdutoDAO_1; +import br.com.rpires.dao.IVendaDAO_1; +import br.com.rpires.dao.ProdutoDAO_3; import br.com.rpires.dao.VendaDAO; import br.com.rpires.dao.generic.jdbc.ConnectionFactory; -import br.com.rpires.domain.Cliente; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Cliente_2; +import br.com.rpires.domain.Produto_4; import br.com.rpires.domain.Venda; import br.com.rpires.domain.Venda.Status; import br.com.rpires.exceptions.DAOException; @@ -43,20 +43,20 @@ */ public class VendaDAOTest { - private IVendaDAO vendaDao; + private IVendaDAO_1 vendaDao; - private IClienteDAO clienteDao; + private IClientDAO clienteDao; - private IProdutoDAO produtoDao; + private IProdutoDAO_1 produtoDao; - private Cliente cliente; + private Cliente_2 cliente; - private Produto produto; + private Produto_4 produto; public VendaDAOTest() { vendaDao = new VendaDAO(); clienteDao = new ClienteDAO(); - produtoDao = new ProdutoDAO(); + produtoDao = new ProdutoDAO_3(); } @Before @@ -74,8 +74,8 @@ public void end() throws DAOException { private void excluirProdutos() throws DAOException { - Collection list = this.produtoDao.buscarTodos(); - for (Produto prod : list) { + Collection list = this.produtoDao.buscarTodos(); + for (Produto_4 prod : list) { this.produtoDao.excluir(prod.getCodigo()); } } @@ -148,7 +148,7 @@ public void adicionarMaisProdutosDiferentes() throws TipoChaveNaoEncontradaExcep assertNotNull(venda); assertEquals(codigoVenda, venda.getCodigo()); - Produto prod = cadastrarProduto(codigoVenda, BigDecimal.valueOf(50)); + Produto_4 prod = cadastrarProduto(codigoVenda, BigDecimal.valueOf(50)); assertNotNull(prod); assertEquals(codigoVenda, prod.getCodigo()); @@ -181,7 +181,7 @@ public void removerProduto() throws TipoChaveNaoEncontradaException, MaisDeUmReg assertNotNull(venda); assertEquals(codigoVenda, venda.getCodigo()); - Produto prod = cadastrarProduto(codigoVenda, BigDecimal.valueOf(50)); + Produto_4 prod = cadastrarProduto(codigoVenda, BigDecimal.valueOf(50)); assertNotNull(prod); assertEquals(codigoVenda, prod.getCodigo()); @@ -208,7 +208,7 @@ public void removerApenasUmProduto() throws TipoChaveNaoEncontradaException, Mai assertNotNull(venda); assertEquals(codigoVenda, venda.getCodigo()); - Produto prod = cadastrarProduto(codigoVenda, BigDecimal.valueOf(50)); + Produto_4 prod = cadastrarProduto(codigoVenda, BigDecimal.valueOf(50)); assertNotNull(prod); assertEquals(codigoVenda, prod.getCodigo()); @@ -235,7 +235,7 @@ public void removerTodosProdutos() throws TipoChaveNaoEncontradaException, MaisD assertNotNull(venda); assertEquals(codigoVenda, venda.getCodigo()); - Produto prod = cadastrarProduto(codigoVenda, BigDecimal.valueOf(50)); + Produto_4 prod = cadastrarProduto(codigoVenda, BigDecimal.valueOf(50)); assertNotNull(prod); assertEquals(codigoVenda, prod.getCodigo()); @@ -286,8 +286,8 @@ public void tentarAdicionarProdutosVendaFinalizada() throws TipoChaveNaoEncontra } - private Produto cadastrarProduto(String codigo, BigDecimal valor) throws TipoChaveNaoEncontradaException, MaisDeUmRegistroException, TableException, DAOException { - Produto produto = new Produto(); + private Produto_4 cadastrarProduto(String codigo, BigDecimal valor) throws TipoChaveNaoEncontradaException, MaisDeUmRegistroException, TableException, DAOException { + Produto_4 produto = new Produto_4(); produto.setCodigo(codigo); produto.setDescricao("Produto 1"); produto.setNome("Produto 1"); @@ -296,8 +296,8 @@ private Produto cadastrarProduto(String codigo, BigDecimal valor) throws TipoCha return produto; } - private Cliente cadastrarCliente() throws TipoChaveNaoEncontradaException, DAOException { - Cliente cliente = new Cliente(); + private Cliente_2 cadastrarCliente() throws TipoChaveNaoEncontradaException, DAOException { + Cliente_2 cliente = new Cliente_2(); cliente.setCpf(12312312312L); cliente.setNome("Rodrigo"); cliente.setCidade("São Paulo"); diff --git a/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/dao/ClienteDaoMock.java b/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/dao/ClienteDaoMock.java index 10e2604..ea2b037 100644 --- a/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/dao/ClienteDaoMock.java +++ b/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/dao/ClienteDaoMock.java @@ -2,13 +2,13 @@ import java.util.Collection; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; -public class ClienteDaoMock implements IClienteDAO { +public class ClienteDaoMock implements IClientDAO { @Override - public Boolean cadastrar(Cliente entity) throws TipoChaveNaoEncontradaException { + public Boolean cadastrar(Cliente_2 entity) throws TipoChaveNaoEncontradaException { // TODO Auto-generated method stub return true; } @@ -20,20 +20,20 @@ public void excluir(Long valor) { } @Override - public void alterar(Cliente entity) throws TipoChaveNaoEncontradaException { + public void alterar(Cliente_2 entity) throws TipoChaveNaoEncontradaException { // TODO Auto-generated method stub } @Override - public Cliente consultar(Long valor) { - Cliente cliente = new Cliente(); + public Cliente_2 consultar(Long valor) { + Cliente_2 cliente = new Cliente_2(); cliente.setCpf(valor); return cliente; } @Override - public Collection buscarTodos() { + public Collection buscarTodos() { // TODO Auto-generated method stub return null; } diff --git a/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/dao/ProdutoDaoMock.java b/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/dao/ProdutoDaoMock.java index 207975b..003cdd4 100644 --- a/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/dao/ProdutoDaoMock.java +++ b/mod30/ExemploVendasMod30/src/test/java/br/com/rpires/dao/ProdutoDaoMock.java @@ -5,17 +5,17 @@ import java.util.Collection; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Produto_4; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; /** * @author rodrigo.pires * */ -public class ProdutoDaoMock implements IProdutoDAO { +public class ProdutoDaoMock implements IProdutoDAO_1 { @Override - public Boolean cadastrar(Produto entity) throws TipoChaveNaoEncontradaException { + public Boolean cadastrar(Produto_4 entity) throws TipoChaveNaoEncontradaException { // TODO Auto-generated method stub return true; } @@ -27,20 +27,20 @@ public void excluir(String valor) { } @Override - public void alterar(Produto entity) throws TipoChaveNaoEncontradaException { + public void alterar(Produto_4 entity) throws TipoChaveNaoEncontradaException { // TODO Auto-generated method stub } @Override - public Produto consultar(String valor) { - Produto produto = new Produto(); + public Produto_4 consultar(String valor) { + Produto_4 produto = new Produto_4(); produto.setCodigo(valor); return produto; } @Override - public Collection buscarTodos() { + public Collection buscarTodos() { // TODO Auto-generated method stub return null; } diff --git a/mod31/ExemploJPA/src/main/java/META-INF/persistence.xml b/mod31/ExemploJPA/src/main/java/META-INF/persistence.xml index 7792c6e..3a41a46 100644 --- a/mod31/ExemploJPA/src/main/java/META-INF/persistence.xml +++ b/mod31/ExemploJPA/src/main/java/META-INF/persistence.xml @@ -7,7 +7,7 @@ org.hibernate.ejb.HibernatePersistence - br.com.rpires.domain.Cliente + br.com.rpires.domain.Cliente_2 br.com.rpires.domain.Pessoa br.com.rpires.domain.Endereco br.com.rpires.domain.Curso diff --git a/mod31/ExemploJPA/src/main/java/br/com/rpires/dao/ClienteDAO.java b/mod31/ExemploJPA/src/main/java/br/com/rpires/dao/ClienteDAO.java index 8ce4bde..24ee172 100644 --- a/mod31/ExemploJPA/src/main/java/br/com/rpires/dao/ClienteDAO.java +++ b/mod31/ExemploJPA/src/main/java/br/com/rpires/dao/ClienteDAO.java @@ -9,16 +9,16 @@ import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; /** * @author rodrigo.pires * */ -public class ClienteDAO implements IClienteDAO { +public class ClienteDAO implements IClientDAO { @Override - public Cliente cadastrar(Cliente cliente) { + public Cliente_2 cadastrar(Cliente_2 cliente) { EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("ExemploJPA"); EntityManager entityManager = entityManagerFactory.createEntityManager(); @@ -34,13 +34,13 @@ public Cliente cadastrar(Cliente cliente) { } @Override - public Cliente buscarPorID(Long id) { + public Cliente_2 buscarPorID(Long id) { EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("ExemploJPA"); EntityManager entityManager = entityManagerFactory.createEntityManager(); entityManager.getTransaction().begin(); - Cliente cliente = entityManager.find(Cliente.class, id); + Cliente_2 cliente = entityManager.find(Cliente_2.class, id); entityManager.getTransaction().commit(); entityManager.close(); @@ -50,7 +50,7 @@ public Cliente buscarPorID(Long id) { } @Override - public void excluir(Cliente cliente) { + public void excluir(Cliente_2 cliente) { EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("ExemploJPA"); EntityManager entityManager = entityManagerFactory.createEntityManager(); @@ -65,7 +65,7 @@ public void excluir(Cliente cliente) { } @Override - public Cliente alterar(Cliente cliente) { + public Cliente_2 alterar(Cliente_2 cliente) { EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("ExemploJPA"); EntityManager entityManager = entityManagerFactory.createEntityManager(); @@ -80,14 +80,14 @@ public Cliente alterar(Cliente cliente) { } @Override - public List buscarTodos() { + public List buscarTodos() { EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("ExemploJPA"); EntityManager entityManager = entityManagerFactory.createEntityManager(); entityManager.getTransaction().begin(); - List list = - entityManager.createQuery("SELECT c FROM Cliente c", Cliente.class).getResultList(); + List list = + entityManager.createQuery("SELECT c FROM Cliente c", Cliente_2.class).getResultList(); entityManager.getTransaction().commit(); entityManager.close(); diff --git a/mod31/ExemploJPA/src/main/java/br/com/rpires/dao/IClienteDAO.java b/mod31/ExemploJPA/src/main/java/br/com/rpires/dao/IClienteDAO.java index a3b9b63..3ea4d69 100644 --- a/mod31/ExemploJPA/src/main/java/br/com/rpires/dao/IClienteDAO.java +++ b/mod31/ExemploJPA/src/main/java/br/com/rpires/dao/IClienteDAO.java @@ -5,7 +5,7 @@ import java.util.List; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; /** * @author rodrigo.pires @@ -13,13 +13,13 @@ */ public interface IClienteDAO { - public Cliente cadastrar(Cliente cliente); + public Cliente_2 cadastrar(Cliente_2 cliente); - public Cliente buscarPorID(Long id); + public Cliente_2 buscarPorID(Long id); - public void excluir(Cliente cliente); + public void excluir(Cliente_2 cliente); - public Cliente alterar(Cliente cliente); + public Cliente_2 alterar(Cliente_2 cliente); - public List buscarTodos(); + public List buscarTodos(); } diff --git a/mod31/ExemploJPA/src/test/java/br/com/rpires/ClienteDAOTest.java b/mod31/ExemploJPA/src/test/java/br/com/rpires/ClienteDAOTest.java index ce6ffca..d48c707 100644 --- a/mod31/ExemploJPA/src/test/java/br/com/rpires/ClienteDAOTest.java +++ b/mod31/ExemploJPA/src/test/java/br/com/rpires/ClienteDAOTest.java @@ -12,8 +12,8 @@ import org.junit.Test; import br.com.rpires.dao.ClienteDAO; -import br.com.rpires.dao.IClienteDAO; -import br.com.rpires.domain.Cliente; +import br.com.rpires.dao.IClientDAO; +import br.com.rpires.domain.Cliente_2; /** * @author rodrigo.pires @@ -21,7 +21,7 @@ */ public class ClienteDAOTest { - IClienteDAO clienteDAO; + IClientDAO clienteDAO; public ClienteDAOTest() { clienteDAO = new ClienteDAO(); @@ -29,16 +29,16 @@ public ClienteDAOTest() { @After public void end() { - List list = clienteDAO.buscarTodos(); + List list = clienteDAO.buscarTodos(); list.forEach(cli -> clienteDAO.excluir(cli)); } @Test public void cadastrar() { - Cliente cliente = criarCliente(); + Cliente_2 cliente = criarCliente(); assertNotNull(cliente); - Cliente clienteDB = clienteDAO.buscarPorID(cliente.getId()); + Cliente_2 clienteDB = clienteDAO.buscarPorID(cliente.getId()); assertNotNull(clienteDB); assertEquals(cliente.getId(), clienteDB.getId()); assertEquals(cliente.getNome(), clienteDB.getNome()); @@ -50,16 +50,16 @@ public void cadastrar() { @Test public void alterar() { - Cliente cliente = criarCliente(); + Cliente_2 cliente = criarCliente(); assertNotNull(cliente); - Cliente clienteDB = clienteDAO.buscarPorID(cliente.getId()); + Cliente_2 clienteDB = clienteDAO.buscarPorID(cliente.getId()); assertNotNull(clienteDB); assertEquals(cliente.getId(), clienteDB.getId()); assertEquals(cliente.getNome(), clienteDB.getNome()); clienteDB.setNome("Rodrigo Pires"); - Cliente clienteUp = clienteDAO.alterar(clienteDB); + Cliente_2 clienteUp = clienteDAO.alterar(clienteDB); assertEquals("Rodrigo Pires", clienteUp.getNome()); // clienteDAO.excluir(cliente); @@ -68,8 +68,8 @@ public void alterar() { } - private Cliente criarCliente() { - Cliente cliente = new Cliente(); + private Cliente_2 criarCliente() { + Cliente_2 cliente = new Cliente_2(); cliente.setCpf(12312312312L); cliente.setNome("Rodrigo"); cliente.setCidade("São Paulo"); diff --git a/mod33/ExemplosMod33/src/main/java/br/com/rpires/dao/AlunoDao.java b/mod33/ExemplosMod33/src/main/java/br/com/rpires/dao/AlunoDao.java index bbb7608..f6d13f8 100644 --- a/mod33/ExemplosMod33/src/main/java/br/com/rpires/dao/AlunoDao.java +++ b/mod33/ExemplosMod33/src/main/java/br/com/rpires/dao/AlunoDao.java @@ -7,7 +7,7 @@ import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; -import br.com.rpires.domain.Aluno; +import br.com.rpires.domain.Aluno1; /** * @author rodrigo.pires @@ -16,7 +16,7 @@ public class AlunoDao implements IAlunoDao{ @Override - public Aluno cadastrar(Aluno aluno) { + public Aluno1 cadastrar(Aluno1 aluno) { EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("ExemploJPA"); EntityManager entityManager = entityManagerFactory.createEntityManager(); diff --git a/mod33/ExemplosMod33/src/main/java/br/com/rpires/dao/IAlunoDao.java b/mod33/ExemplosMod33/src/main/java/br/com/rpires/dao/IAlunoDao.java index cdc6ffd..4f090b9 100644 --- a/mod33/ExemplosMod33/src/main/java/br/com/rpires/dao/IAlunoDao.java +++ b/mod33/ExemplosMod33/src/main/java/br/com/rpires/dao/IAlunoDao.java @@ -3,7 +3,7 @@ */ package br.com.rpires.dao; -import br.com.rpires.domain.Aluno; +import br.com.rpires.domain.Aluno1; /** * @author rodrigo.pires @@ -11,5 +11,5 @@ */ public interface IAlunoDao { - public Aluno cadastrar(Aluno aluno); + public Aluno1 cadastrar(Aluno1 aluno); } diff --git a/mod33/ExemplosMod33/src/main/java/br/com/rpires/domain/Computador.java b/mod33/ExemplosMod33/src/main/java/br/com/rpires/domain/Computador.java index 8b33e57..242fc34 100644 --- a/mod33/ExemplosMod33/src/main/java/br/com/rpires/domain/Computador.java +++ b/mod33/ExemplosMod33/src/main/java/br/com/rpires/domain/Computador.java @@ -35,7 +35,7 @@ public class Computador { private String descricao; @ManyToMany(mappedBy = "computadores") - private List alunos; + private List alunos; public Computador() { this.alunos = new ArrayList<>(); @@ -65,15 +65,15 @@ public void setDescricao(String descricao) { this.descricao = descricao; } - public List getAlunos() { + public List getAlunos() { return alunos; } - public void setAlunos(List alunos) { + public void setAlunos(List alunos) { this.alunos = alunos; } - public void add(Aluno aluno) { + public void add(Aluno1 aluno) { this.alunos.add(aluno); } diff --git a/mod33/ExemplosMod33/src/main/java/br/com/rpires/domain/Matricula.java b/mod33/ExemplosMod33/src/main/java/br/com/rpires/domain/Matricula.java index 3772d94..48536a2 100644 --- a/mod33/ExemplosMod33/src/main/java/br/com/rpires/domain/Matricula.java +++ b/mod33/ExemplosMod33/src/main/java/br/com/rpires/domain/Matricula.java @@ -51,7 +51,7 @@ public class Matricula { foreignKey = @ForeignKey(name = "fk_aluno_matricula"), referencedColumnName = "id", nullable = false ) - private Aluno aluno; + private Aluno1 aluno; public Long getId() { return id; @@ -101,11 +101,11 @@ public void setCurso(Curso curso) { this.curso = curso; } - public Aluno getAluno() { + public Aluno1 getAluno() { return aluno; } - public void setAluno(Aluno aluno) { + public void setAluno(Aluno1 aluno) { this.aluno = aluno; } diff --git a/mod33/ExemplosMod33/src/test/java/br/com/rpires/MatriculaTest.java b/mod33/ExemplosMod33/src/test/java/br/com/rpires/MatriculaTest.java index d146efa..349b95d 100644 --- a/mod33/ExemplosMod33/src/test/java/br/com/rpires/MatriculaTest.java +++ b/mod33/ExemplosMod33/src/test/java/br/com/rpires/MatriculaTest.java @@ -18,7 +18,7 @@ import br.com.rpires.dao.ICursoDao; import br.com.rpires.dao.IMatriculaDao; import br.com.rpires.dao.MatriculaDao; -import br.com.rpires.domain.Aluno; +import br.com.rpires.domain.Aluno1; import br.com.rpires.domain.Computador; import br.com.rpires.domain.Curso; import br.com.rpires.domain.Matricula; @@ -47,7 +47,7 @@ public MatriculaTest() { @Test public void cadastrar() { Curso curso = criarCurso("A1"); - Aluno aluno = criarAluno("A1"); + Aluno1 aluno = criarAluno("A1"); Matricula mat = new Matricula(); mat.setCodigo("A1"); @@ -80,10 +80,10 @@ private Computador criarComputador(String codigo) { //return computadorDao.cadastrar(comp); } - private Aluno criarAluno(String codigo) { + private Aluno1 criarAluno(String codigo) { Computador comp = criarComputador("A1"); Computador comp2 = criarComputador("A2"); - Aluno aluno = new Aluno(); + Aluno1 aluno = new Aluno1(); aluno.setCodigo(codigo); aluno.setNome("Rodrigo"); aluno.add(comp); diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/ClienteDAO.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/ClienteDAO.java index 1a3aacd..ab4f12d 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/ClienteDAO.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/ClienteDAO.java @@ -7,25 +7,25 @@ import java.sql.SQLException; import br.com.rpires.dao.generic.GenericDAO; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; /** * @author rodrigo.pires * */ -public class ClienteDAO extends GenericDAO implements IClienteDAO { +public abstract class ClienteDAO extends GenericDAO implements IClientDAO { public ClienteDAO() { super(); } @Override - public Class getTipoClasse() { - return Cliente.class; + public Class getTipoClasse() { + return Cliente_2.class; } @Override - public void atualiarDados(Cliente entity, Cliente entityCadastrado) { + public void atualiarDados(Cliente_2 entity, Cliente_2 entityCadastrado) { entityCadastrado.setCidade(entity.getCidade()); entityCadastrado.setCpf(entity.getCpf()); entityCadastrado.setEnd(entity.getEnd()); @@ -46,7 +46,7 @@ protected String getQueryInsercao() { } @Override - protected void setParametrosQueryInsercao(PreparedStatement stmInsert, Cliente entity) throws SQLException { + protected void setParametrosQueryInsercao(PreparedStatement stmInsert, Cliente_2 entity) throws SQLException { stmInsert.setString(1, entity.getNome()); stmInsert.setLong(2, entity.getCpf()); stmInsert.setLong(3, entity.getTel()); @@ -82,7 +82,7 @@ protected String getQueryAtualizacao() { } @Override - protected void setParametrosQueryAtualizacao(PreparedStatement stmUpdate, Cliente entity) throws SQLException { + protected void setParametrosQueryAtualizacao(PreparedStatement stmUpdate, Cliente_2 entity) throws SQLException { stmUpdate.setString(1, entity.getNome()); stmUpdate.setLong(2, entity.getTel()); stmUpdate.setString(3, entity.getEnd()); diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/IClienteDAO.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/IClienteDAO.java index 42b1cea..47c985d 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/IClienteDAO.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/IClienteDAO.java @@ -4,13 +4,13 @@ package br.com.rpires.dao; import br.com.rpires.dao.generic.IGenericDAO; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; /** * @author rodrigo.pires * */ -public interface IClienteDAO extends IGenericDAO { +public interface IClienteDAO extends IGenericDAO { } diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/IProdutoDAO.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/IProdutoDAO.java index 83321b7..1ccc41c 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/IProdutoDAO.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/IProdutoDAO.java @@ -4,12 +4,12 @@ package br.com.rpires.dao; import br.com.rpires.dao.generic.IGenericDAO; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Produto_4; /** * @author rodrigo.pires * */ -public interface IProdutoDAO extends IGenericDAO{ +public interface IProdutoDAO extends IGenericDAO{ } diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/ProdutoDAO.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/ProdutoDAO.java index 7eff4e1..3f372d2 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/ProdutoDAO.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/ProdutoDAO.java @@ -7,25 +7,26 @@ import java.sql.SQLException; import br.com.rpires.dao.generic.GenericDAO; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Cliente_2; +import br.com.rpires.domain.Produto_4; /** * @author rodrigo.pires * */ -public class ProdutoDAO extends GenericDAO implements IProdutoDAO { +public class ProdutoDAO extends GenericDAO implements IProdutoDAO_1 { public ProdutoDAO() { super(); } @Override - public Class getTipoClasse() { - return Produto.class; + public Class getTipoClasse() { + return Produto_4.class; } @Override - public void atualiarDados(Produto entity, Produto entityCadastrado) { + public void atualiarDados(Produto_4 entity, Produto_4 entityCadastrado) { entityCadastrado.setCodigo(entity.getCodigo()); entityCadastrado.setDescricao(entity.getDescricao()); entityCadastrado.setNome(entity.getNome()); @@ -42,7 +43,7 @@ protected String getQueryInsercao() { } @Override - protected void setParametrosQueryInsercao(PreparedStatement stmInsert, Produto entity) throws SQLException { + protected void setParametrosQueryInsercao(PreparedStatement stmInsert, Produto_4 entity) throws SQLException { stmInsert.setString(1, entity.getCodigo()); stmInsert.setString(2, entity.getNome()); stmInsert.setString(3, entity.getDescricao()); @@ -72,7 +73,7 @@ protected String getQueryAtualizacao() { } @Override - protected void setParametrosQueryAtualizacao(PreparedStatement stmUpdate, Produto entity) throws SQLException { + protected void setParametrosQueryAtualizacao(PreparedStatement stmUpdate, Produto_4 entity) throws SQLException { stmUpdate.setString(1, entity.getCodigo()); stmUpdate.setString(2, entity.getNome()); stmUpdate.setString(3, entity.getDescricao()); diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/VendaDAO.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/VendaDAO.java index 8b0c02f..857ab34 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/VendaDAO.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/VendaDAO.java @@ -18,6 +18,7 @@ import br.com.rpires.dao.factory.ProdutoQuantidadeFactory; import br.com.rpires.dao.factory.VendaFactory; import br.com.rpires.dao.generic.GenericDAO; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.domain.ProdutoQuantidade; import br.com.rpires.domain.Venda; import br.com.rpires.domain.Venda.Status; @@ -30,11 +31,11 @@ * @author rodrigo.pires * */ -public class VendaDAO extends GenericDAO implements IVendaDAO { +public class VendaDAO extends GenericDAO implements IVendaDAO_1 { @Override - public Class getTipoClasse() { + public Class getTipoClasse() { return Venda.class; } diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/factory/ClienteFactory.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/factory/ClienteFactory.java index 58f8019..64c5f8a 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/factory/ClienteFactory.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/factory/ClienteFactory.java @@ -6,7 +6,7 @@ import java.sql.ResultSet; import java.sql.SQLException; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; /** * @author rodrigo.pires @@ -14,8 +14,8 @@ */ public class ClienteFactory { - public static Cliente convert(ResultSet rs) throws SQLException { - Cliente cliente = new Cliente(); + public static Cliente_2 convert(ResultSet rs) throws SQLException { + Cliente_2 cliente = new Cliente_2(); cliente.setId(rs.getLong("ID_CLIENTE")); cliente.setNome(rs.getString(("NOME"))); cliente.setCpf(rs.getLong(("CPF"))); diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/factory/ProdutoFactory.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/factory/ProdutoFactory.java index f0633c5..ecf4162 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/factory/ProdutoFactory.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/factory/ProdutoFactory.java @@ -6,7 +6,7 @@ import java.sql.ResultSet; import java.sql.SQLException; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Produto_4; /** * @author rodrigo.pires @@ -15,8 +15,8 @@ public class ProdutoFactory { - public static Produto convert(ResultSet rs) throws SQLException { - Produto prod = new Produto(); + public static Produto_4 convert(ResultSet rs) throws SQLException { + Produto_4 prod = new Produto_4(); prod.setId(rs.getLong("ID_PRODUTO")); prod.setCodigo(rs.getString("CODIGO")); prod.setNome(rs.getString("NOME")); diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/factory/ProdutoQuantidadeFactory.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/factory/ProdutoQuantidadeFactory.java index 1b25e5e..1716025 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/factory/ProdutoQuantidadeFactory.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/factory/ProdutoQuantidadeFactory.java @@ -6,7 +6,7 @@ import java.sql.ResultSet; import java.sql.SQLException; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Produto_4; import br.com.rpires.domain.ProdutoQuantidade; /** @@ -16,7 +16,7 @@ public class ProdutoQuantidadeFactory { public static ProdutoQuantidade convert(ResultSet rs) throws SQLException { - Produto prod = ProdutoFactory.convert(rs); + Produto_4 prod = ProdutoFactory.convert(rs); ProdutoQuantidade prodQ = new ProdutoQuantidade(); prodQ.setProduto(prod); prodQ.setId(rs.getLong("ID")); diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/factory/VendaFactory.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/factory/VendaFactory.java index 6b4d52a..8e13fe1 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/factory/VendaFactory.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/factory/VendaFactory.java @@ -6,7 +6,7 @@ import java.sql.ResultSet; import java.sql.SQLException; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.domain.Venda; import br.com.rpires.domain.Venda.Status; @@ -17,7 +17,7 @@ public class VendaFactory { public static Venda convert(ResultSet rs) throws SQLException { - Cliente cliente = ClienteFactory.convert(rs); + Cliente_2 cliente = ClienteFactory.convert(rs); Venda venda = new Venda(); venda.setCliente(cliente); venda.setId(rs.getLong("ID_VENDA")); diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/GenericDAO.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/GenericDAO.java index 07386af..ff3200e 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/GenericDAO.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/GenericDAO.java @@ -17,7 +17,7 @@ import anotacao.ColunaTabela; import anotacao.Tabela; import anotacao.TipoChave; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.Persistence; import br.com.rpires.dao.generic.jdbc.ConnectionFactory; import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.MaisDeUmRegistroException; @@ -30,7 +30,7 @@ * * Classe genérica que implementa interface genérica com os métodos de CRUD */ -public abstract class GenericDAO implements IGenericDAO { +public abstract class GenericDAO implements IGenericDAO { public abstract Class getTipoClasse(); @@ -94,7 +94,7 @@ public Boolean cadastrar(T entity) throws TipoChaveNaoEncontradaException, DAOEx if(rowsAffected > 0) { try (ResultSet rs = stm.getGeneratedKeys()){ if (rs.next()) { - Persistente per = (Persistente) entity; + Persistence per = (Persistence) entity; per.setId(rs.getLong(1)); } } diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/IGenericDAO.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/IGenericDAO.java index b163ff4..d4d3a86 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/IGenericDAO.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/IGenericDAO.java @@ -1,6 +1,6 @@ package br.com.rpires.dao.generic; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.Persistence; import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.MaisDeUmRegistroException; import br.com.rpires.exceptions.TableException; @@ -14,7 +14,7 @@ * * Interface genérica para métodos de CRUD(Create, Read, Update and Delete) */ -public interface IGenericDAO { +public interface IGenericDAO { /** * Método para cadastrar novos registro no banco de dados diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/jpa/GenericJpaDAO.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/jpa/GenericJpaDAO.java index 742d343..c66b1f9 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/jpa/GenericJpaDAO.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/jpa/GenericJpaDAO.java @@ -11,7 +11,7 @@ import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.Persistence; import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.MaisDeUmRegistroException; import br.com.rpires.exceptions.TableException; @@ -21,7 +21,7 @@ * @author rodrigo.pires * */ -public class GenericJpaDAO implements IGenericJapDAO { +public class GenericJpaDAO implements IGenericJapDAO { protected EntityManagerFactory entityManagerFactory; diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/jpa/IGenericJapDAO.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/jpa/IGenericJapDAO.java index 49344a6..6b9953f 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/jpa/IGenericJapDAO.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/jpa/IGenericJapDAO.java @@ -6,7 +6,7 @@ import java.io.Serializable; import java.util.Collection; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.Persistence; import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.MaisDeUmRegistroException; import br.com.rpires.exceptions.TableException; @@ -17,7 +17,7 @@ * * Interface genérica para métodos de CRUD(Create, Read, Update and Delete) */ -public interface IGenericJapDAO { +public interface IGenericJapDAO { /** * Método para cadastrar novos registro no banco de dados diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/Cliente.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/Cliente.java index bdfd234..4d98682 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/Cliente.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/Cliente.java @@ -6,14 +6,14 @@ import anotacao.ColunaTabela; import anotacao.Tabela; import anotacao.TipoChave; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.Persistence; /** * @author rodrigo.pires * */ @Tabela("TB_CLIENTE") -public class Cliente implements Persistente { +public class Cliente implements Persistence { @ColunaTabela(dbName = "id", setJavaName = "setId") private Long id; diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/Produto.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/Produto.java index d6f61f1..9b6992a 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/Produto.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/Produto.java @@ -8,14 +8,14 @@ import anotacao.ColunaTabela; import anotacao.Tabela; import anotacao.TipoChave; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.Persistence; /** * @author rodrigo.pires * */ @Tabela("TB_PRODUTO") -public class Produto implements Persistente { +public class Produto implements Persistence { @ColunaTabela(dbName = "id", setJavaName = "setId") private Long id; diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/ProdutoQuantidade.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/ProdutoQuantidade.java index 09c75a5..df1455f 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/ProdutoQuantidade.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/ProdutoQuantidade.java @@ -19,7 +19,7 @@ public class ProdutoQuantidade { private Long id; //@ColunaTabela(dbName = "id", setJavaName = "setId") - private Produto produto; + private Produto_4 produto; @ColunaTabela(dbName = "quantidade", setJavaName = "setQuantidade") private Integer quantidade; @@ -32,11 +32,11 @@ public ProdutoQuantidade() { this.valorTotal = BigDecimal.ZERO; } - public Produto getProduto() { + public Produto_4 getProduto() { return produto; } - public void setProduto(Produto produto) { + public void setProduto(Produto_4 produto) { this.produto = produto; } diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/Venda.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/Venda.java index 60922d0..971d421 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/Venda.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/Venda.java @@ -12,14 +12,14 @@ import anotacao.ColunaTabela; import anotacao.Tabela; import anotacao.TipoChave; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.Persistence; /** * @author rodrigo.pires * */ @Tabela("TB_VENDA") -public class Venda implements Persistente { +public class Venda implements Persistence { public enum Status { INICIADA, CONCLUIDA, CANCELADA; @@ -42,7 +42,7 @@ public static Status getByName(String value) { private String codigo; @ColunaTabela(dbName = "id_cliente_fk", setJavaName = "setIdClienteFk") - private Cliente cliente; + private Cliente_2 cliente; //@ColunaTabela(dbName = "id", setJavaName = "setId") private Set produtos; @@ -68,11 +68,11 @@ public void setCodigo(String codigo) { this.codigo = codigo; } - public Cliente getCliente() { + public Cliente_2 getCliente() { return cliente; } - public void setCliente(Cliente cliente) { + public void setCliente(Cliente_2 cliente) { this.cliente = cliente; } @@ -80,7 +80,7 @@ public Set getProdutos() { return produtos; } - public void adicionarProduto(Produto produto, Integer quantidade) { + public void adicionarProduto(Produto_4 produto, Integer quantidade) { validarStatus(); Optional op = produtos.stream().filter(filter -> filter.getProduto().getCodigo().equals(produto.getCodigo())).findAny(); @@ -103,7 +103,7 @@ private void validarStatus() { } } - public void removerProduto(Produto produto, Integer quantidade) { + public void removerProduto(Produto_4 produto, Integer quantidade) { validarStatus(); Optional op = produtos.stream().filter(filter -> filter.getProduto().getCodigo().equals(produto.getCodigo())).findAny(); diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/jpa/ClienteJpa.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/jpa/ClienteJpa.java index 48bf9db..082a37e 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/jpa/ClienteJpa.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/jpa/ClienteJpa.java @@ -11,7 +11,7 @@ import javax.persistence.SequenceGenerator; import javax.persistence.Table; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.Persistence; /** * @author rodrigo.pires @@ -19,7 +19,7 @@ */ @Entity @Table(name = "TB_CLIENTE") -public class ClienteJpa implements Persistente { +public class ClienteJpa implements Persistence { @Id @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="cliente_seq") diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/jpa/ProdutoJpa.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/jpa/ProdutoJpa.java index 8e08e4e..f602e22 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/jpa/ProdutoJpa.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/jpa/ProdutoJpa.java @@ -13,7 +13,7 @@ import javax.persistence.SequenceGenerator; import javax.persistence.Table; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.Persistence; /** * @author rodrigo.pires @@ -21,7 +21,7 @@ */ @Entity @Table(name = "TB_PRODUTO") -public class ProdutoJpa implements Persistente { +public class ProdutoJpa implements Persistence { @Id @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="prod_seq") diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/jpa/VendaJpa.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/jpa/VendaJpa.java index 318f3b8..fcf867e 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/jpa/VendaJpa.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/domain/jpa/VendaJpa.java @@ -24,7 +24,7 @@ import javax.persistence.SequenceGenerator; import javax.persistence.Table; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.Persistence; /** * @author rodrigo.pires @@ -32,7 +32,7 @@ */ @Entity @Table(name = "TB_VENDA") -public class VendaJpa implements Persistente { +public class VendaJpa implements Persistence { public enum Status { INICIADA, CONCLUIDA, CANCELADA; diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/ClienteService.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/ClienteService.java index 3326009..02bf5b8 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/ClienteService.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/ClienteService.java @@ -3,8 +3,8 @@ */ package br.com.rpires.services; -import br.com.rpires.dao.IClienteDAO; -import br.com.rpires.domain.Cliente; +import br.com.rpires.dao.IClientDAO; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.MaisDeUmRegistroException; import br.com.rpires.exceptions.TableException; @@ -14,11 +14,11 @@ * @author rodrigo.pires * */ -public class ClienteService extends GenericService implements IClienteService { +public class ClienteService extends GenericService implements IClienteService { //private IClienteDAO clienteDAO; - public ClienteService(IClienteDAO clienteDAO) { + public ClienteService(IClientDAO clienteDAO) { super(clienteDAO); //this.clienteDAO = clienteDAO; } @@ -29,7 +29,7 @@ public ClienteService(IClienteDAO clienteDAO) { // } @Override - public Cliente buscarPorCPF(Long cpf) throws DAOException { + public Cliente_2 buscarPorCPF(Long cpf) throws DAOException { try { return this.dao.consultar(cpf); } catch (MaisDeUmRegistroException | TableException e) { diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/IClienteService.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/IClienteService.java index eb77369..4e2cc77 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/IClienteService.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/IClienteService.java @@ -3,7 +3,7 @@ */ package br.com.rpires.services; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.exceptions.DAOException; import br.com.rpires.services.generic.IGenericService; @@ -11,11 +11,11 @@ * @author rodrigo.pires * */ -public interface IClienteService extends IGenericService { +public interface IClienteService extends IGenericService { // Boolean cadastrar(Cliente cliente) throws TipoChaveNaoEncontradaException; // - Cliente buscarPorCPF(Long cpf) throws DAOException; + Cliente_2 buscarPorCPF(Long cpf) throws DAOException; // // void excluir(Long cpf); // diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/IProdutoService.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/IProdutoService.java index 2880ea4..76116a5 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/IProdutoService.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/IProdutoService.java @@ -3,13 +3,13 @@ */ package br.com.rpires.services; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Produto_4; import br.com.rpires.services.generic.IGenericService; /** * @author rodrigo.pires * */ -public interface IProdutoService extends IGenericService { +public interface IProdutoService extends IGenericService { } diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/ProdutoService.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/ProdutoService.java index 4a60343..9d4d6dd 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/ProdutoService.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/ProdutoService.java @@ -3,17 +3,17 @@ */ package br.com.rpires.services; -import br.com.rpires.dao.IProdutoDAO; -import br.com.rpires.domain.Produto; +import br.com.rpires.dao.IProdutoDAO_1; +import br.com.rpires.domain.Produto_4; import br.com.rpires.services.generic.GenericService; /** * @author rodrigo.pires * */ -public class ProdutoService extends GenericService implements IProdutoService { +public class ProdutoService extends GenericService implements IProdutoService { - public ProdutoService(IProdutoDAO dao) { + public ProdutoService(IProdutoDAO_1 dao) { super(dao); } diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/generic/GenericService.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/generic/GenericService.java index 1af8415..217ce9a 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/generic/GenericService.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/generic/GenericService.java @@ -6,7 +6,7 @@ import java.io.Serializable; import java.util.Collection; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.Persistence; import br.com.rpires.dao.generic.IGenericDAO; import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.MaisDeUmRegistroException; @@ -17,7 +17,7 @@ * @author rodrigo.pires * */ -public abstract class GenericService +public abstract class GenericService implements IGenericService { protected IGenericDAO dao; diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/generic/IGenericService.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/generic/IGenericService.java index 77dc550..8a80e1f 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/generic/IGenericService.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/generic/IGenericService.java @@ -6,7 +6,7 @@ import java.io.Serializable; import java.util.Collection; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.Persistence; import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; @@ -14,7 +14,7 @@ * @author rodrigo.pires * */ -public interface IGenericService { +public interface IGenericService { /** * Método para cadastrar novos registro no banco de dados diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/generic/jpa/GenericJpaService.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/generic/jpa/GenericJpaService.java index 7567dbc..655f83c 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/generic/jpa/GenericJpaService.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/generic/jpa/GenericJpaService.java @@ -6,8 +6,7 @@ import java.io.Serializable; import java.util.Collection; -import br.com.rpires.dao.Persistente; -import br.com.rpires.dao.generic.IGenericDAO; +import br.com.rpires.dao.Persistence; import br.com.rpires.dao.generic.jpa.IGenericJapDAO; import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.MaisDeUmRegistroException; @@ -18,7 +17,7 @@ * @author rodrigo.pires * */ -public abstract class GenericJpaService +public abstract class GenericJpaService implements IGenericJpaService { protected IGenericJapDAO dao; diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/generic/jpa/IGenericJpaService.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/generic/jpa/IGenericJpaService.java index 71cd2c7..fbff16e 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/generic/jpa/IGenericJpaService.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/services/generic/jpa/IGenericJpaService.java @@ -6,7 +6,7 @@ import java.io.Serializable; import java.util.Collection; -import br.com.rpires.dao.Persistente; +import br.com.rpires.dao.Persistence; import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.MaisDeUmRegistroException; import br.com.rpires.exceptions.TableException; @@ -16,7 +16,7 @@ * @author rodrigo.pires * */ -public interface IGenericJpaService { +public interface IGenericJpaService { /** * Método para cadastrar novos registro no banco de dados diff --git a/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/ClienteDAOTest.java b/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/ClienteDAOTest.java index 5c88cf0..8bd9643 100644 --- a/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/ClienteDAOTest.java +++ b/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/ClienteDAOTest.java @@ -12,8 +12,8 @@ import org.junit.Test; import br.com.rpires.dao.ClienteDAO; -import br.com.rpires.dao.IClienteDAO; -import br.com.rpires.domain.Cliente; +import br.com.rpires.dao.IClientDAO; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.MaisDeUmRegistroException; import br.com.rpires.exceptions.TableException; @@ -25,7 +25,7 @@ */ public class ClienteDAOTest { - private IClienteDAO clienteDao; + private IClientDAO clienteDao; public ClienteDAOTest() { clienteDao = new ClienteDAO(); @@ -33,7 +33,7 @@ public ClienteDAOTest() { @After public void end() throws DAOException { - Collection list = clienteDao.buscarTodos(); + Collection list = clienteDao.buscarTodos(); list.forEach(cli -> { try { clienteDao.excluir(cli.getCpf()); @@ -46,7 +46,7 @@ public void end() throws DAOException { @Test public void pesquisarCliente() throws MaisDeUmRegistroException, TableException, TipoChaveNaoEncontradaException, DAOException { - Cliente cliente = new Cliente(); + Cliente_2 cliente = new Cliente_2(); cliente.setCpf(12312312312L); cliente.setNome("Rodrigo"); cliente.setCidade("São Paulo"); @@ -56,7 +56,7 @@ public void pesquisarCliente() throws MaisDeUmRegistroException, TableException, cliente.setTel(1199999999L); clienteDao.cadastrar(cliente); - Cliente clienteConsultado = clienteDao.consultar(cliente.getCpf()); + Cliente_2 clienteConsultado = clienteDao.consultar(cliente.getCpf()); Assert.assertNotNull(clienteConsultado); clienteDao.excluir(cliente.getCpf()); @@ -64,7 +64,7 @@ public void pesquisarCliente() throws MaisDeUmRegistroException, TableException, @Test public void salvarCliente() throws TipoChaveNaoEncontradaException, MaisDeUmRegistroException, TableException, DAOException { - Cliente cliente = new Cliente(); + Cliente_2 cliente = new Cliente_2(); cliente.setCpf(56565656565L); cliente.setNome("Rodrigo"); cliente.setCidade("São Paulo"); @@ -75,7 +75,7 @@ public void salvarCliente() throws TipoChaveNaoEncontradaException, MaisDeUmRegi Boolean retorno = clienteDao.cadastrar(cliente); Assert.assertTrue(retorno); - Cliente clienteConsultado = clienteDao.consultar(cliente.getCpf()); + Cliente_2 clienteConsultado = clienteDao.consultar(cliente.getCpf()); Assert.assertNotNull(clienteConsultado); clienteDao.excluir(cliente.getCpf()); @@ -84,7 +84,7 @@ public void salvarCliente() throws TipoChaveNaoEncontradaException, MaisDeUmRegi @Test public void excluirCliente() throws TipoChaveNaoEncontradaException, MaisDeUmRegistroException, TableException, DAOException { - Cliente cliente = new Cliente(); + Cliente_2 cliente = new Cliente_2(); cliente.setCpf(56565656565L); cliente.setNome("Rodrigo"); cliente.setCidade("São Paulo"); @@ -95,7 +95,7 @@ public void excluirCliente() throws TipoChaveNaoEncontradaException, MaisDeUmReg Boolean retorno = clienteDao.cadastrar(cliente); Assert.assertTrue(retorno); - Cliente clienteConsultado = clienteDao.consultar(cliente.getCpf()); + Cliente_2 clienteConsultado = clienteDao.consultar(cliente.getCpf()); Assert.assertNotNull(clienteConsultado); clienteDao.excluir(cliente.getCpf()); @@ -105,7 +105,7 @@ public void excluirCliente() throws TipoChaveNaoEncontradaException, MaisDeUmReg @Test public void alterarCliente() throws TipoChaveNaoEncontradaException, MaisDeUmRegistroException, TableException, DAOException { - Cliente cliente = new Cliente(); + Cliente_2 cliente = new Cliente_2(); cliente.setCpf(56565656565L); cliente.setNome("Rodrigo"); cliente.setCidade("São Paulo"); @@ -116,13 +116,13 @@ public void alterarCliente() throws TipoChaveNaoEncontradaException, MaisDeUmReg Boolean retorno = clienteDao.cadastrar(cliente); Assert.assertTrue(retorno); - Cliente clienteConsultado = clienteDao.consultar(cliente.getCpf()); + Cliente_2 clienteConsultado = clienteDao.consultar(cliente.getCpf()); Assert.assertNotNull(clienteConsultado); clienteConsultado.setNome("Rodrigo Pires"); clienteDao.alterar(clienteConsultado); - Cliente clienteAlterado = clienteDao.consultar(clienteConsultado.getCpf()); + Cliente_2 clienteAlterado = clienteDao.consultar(clienteConsultado.getCpf()); Assert.assertNotNull(clienteAlterado); Assert.assertEquals("Rodrigo Pires", clienteAlterado.getNome()); @@ -133,7 +133,7 @@ public void alterarCliente() throws TipoChaveNaoEncontradaException, MaisDeUmReg @Test public void buscarTodos() throws TipoChaveNaoEncontradaException, DAOException { - Cliente cliente = new Cliente(); + Cliente_2 cliente = new Cliente_2(); cliente.setCpf(56565656565L); cliente.setNome("Rodrigo"); cliente.setCidade("São Paulo"); @@ -144,7 +144,7 @@ public void buscarTodos() throws TipoChaveNaoEncontradaException, DAOException { Boolean retorno = clienteDao.cadastrar(cliente); Assert.assertTrue(retorno); - Cliente cliente1 = new Cliente(); + Cliente_2 cliente1 = new Cliente_2(); cliente1.setCpf(56565656569L); cliente1.setNome("Rodrigo"); cliente1.setCidade("São Paulo"); @@ -155,7 +155,7 @@ public void buscarTodos() throws TipoChaveNaoEncontradaException, DAOException { Boolean retorno1 = clienteDao.cadastrar(cliente1); Assert.assertTrue(retorno1); - Collection list = clienteDao.buscarTodos(); + Collection list = clienteDao.buscarTodos(); assertTrue(list != null); assertTrue(list.size() == 2); @@ -168,7 +168,7 @@ public void buscarTodos() throws TipoChaveNaoEncontradaException, DAOException { } }); - Collection list1 = clienteDao.buscarTodos(); + Collection list1 = clienteDao.buscarTodos(); assertTrue(list1 != null); assertTrue(list1.size() == 0); } diff --git a/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/ClienteServiceTest.java b/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/ClienteServiceTest.java index cf82c89..8fe4251 100644 --- a/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/ClienteServiceTest.java +++ b/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/ClienteServiceTest.java @@ -8,8 +8,8 @@ import org.junit.Test; import br.com.rpires.dao.ClienteDaoMock; -import br.com.rpires.dao.IClienteDAO; -import br.com.rpires.domain.Cliente; +import br.com.rpires.dao.IClientDAO; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; import br.com.rpires.services.ClienteService; @@ -23,16 +23,16 @@ public class ClienteServiceTest { private IClienteService clienteService; - private Cliente cliente; + private Cliente_2 cliente; public ClienteServiceTest() { - IClienteDAO dao = new ClienteDaoMock(); + IClientDAO dao = new ClienteDaoMock(); clienteService = new ClienteService(dao); } @Before public void init() { - cliente = new Cliente(); + cliente = new Cliente_2(); cliente.setCpf(12312312312L); cliente.setNome("Rodrigo"); cliente.setCidade("São Paulo"); @@ -45,7 +45,7 @@ public void init() { @Test public void pesquisarCliente() throws DAOException { - Cliente clienteConsultado = clienteService.buscarPorCPF(cliente.getCpf()); + Cliente_2 clienteConsultado = clienteService.buscarPorCPF(cliente.getCpf()); Assert.assertNotNull(clienteConsultado); } diff --git a/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/ProdutoDAOTest.java b/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/ProdutoDAOTest.java index aafd907..1b70bbf 100644 --- a/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/ProdutoDAOTest.java +++ b/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/ProdutoDAOTest.java @@ -14,9 +14,9 @@ import org.junit.Assert; import org.junit.Test; -import br.com.rpires.dao.IProdutoDAO; -import br.com.rpires.dao.ProdutoDAO; -import br.com.rpires.domain.Produto; +import br.com.rpires.dao.IProdutoDAO_1; +import br.com.rpires.dao.ProdutoDAO_3; +import br.com.rpires.domain.Produto_4; import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.MaisDeUmRegistroException; import br.com.rpires.exceptions.TableException; @@ -28,15 +28,15 @@ */ public class ProdutoDAOTest { - private IProdutoDAO produtoDao; + private IProdutoDAO_1 produtoDao; public ProdutoDAOTest() { - produtoDao = new ProdutoDAO(); + produtoDao = new ProdutoDAO_3(); } @After public void end() throws DAOException { - Collection list = produtoDao.buscarTodos(); + Collection list = produtoDao.buscarTodos(); list.forEach(prod -> { try { produtoDao.excluir(prod.getCodigo()); @@ -47,8 +47,8 @@ public void end() throws DAOException { }); } - private Produto criarProduto(String codigo) throws TipoChaveNaoEncontradaException, DAOException { - Produto produto = new Produto(); + private Produto_4 criarProduto(String codigo) throws TipoChaveNaoEncontradaException, DAOException { + Produto_4 produto = new Produto_4(); produto.setCodigo(codigo); produto.setDescricao("Produto 1"); produto.setNome("Produto 1"); @@ -63,40 +63,40 @@ private void excluir(String valor) throws DAOException { @Test public void pesquisar() throws MaisDeUmRegistroException, TableException, DAOException, TipoChaveNaoEncontradaException { - Produto produto = criarProduto("A1"); + Produto_4 produto = criarProduto("A1"); Assert.assertNotNull(produto); - Produto produtoDB = this.produtoDao.consultar(produto.getCodigo()); + Produto_4 produtoDB = this.produtoDao.consultar(produto.getCodigo()); Assert.assertNotNull(produtoDB); excluir(produtoDB.getCodigo()); } @Test public void salvar() throws TipoChaveNaoEncontradaException, DAOException { - Produto produto = criarProduto("A2"); + Produto_4 produto = criarProduto("A2"); Assert.assertNotNull(produto); excluir(produto.getCodigo()); } @Test public void excluir() throws DAOException, TipoChaveNaoEncontradaException, MaisDeUmRegistroException, TableException { - Produto produto = criarProduto("A3"); + Produto_4 produto = criarProduto("A3"); Assert.assertNotNull(produto); excluir(produto.getCodigo()); - Produto produtoBD = this.produtoDao.consultar(produto.getCodigo()); + Produto_4 produtoBD = this.produtoDao.consultar(produto.getCodigo()); assertNull(produtoBD); } @Test public void alterarCliente() throws TipoChaveNaoEncontradaException, DAOException, MaisDeUmRegistroException, TableException { - Produto produto = criarProduto("A4"); + Produto_4 produto = criarProduto("A4"); produto.setNome("Rodrigo Pires"); produtoDao.alterar(produto); - Produto produtoBD = this.produtoDao.consultar(produto.getCodigo()); + Produto_4 produtoBD = this.produtoDao.consultar(produto.getCodigo()); assertNotNull(produtoBD); Assert.assertEquals("Rodrigo Pires", produtoBD.getNome()); excluir(produto.getCodigo()); - Produto produtoBD1 = this.produtoDao.consultar(produto.getCodigo()); + Produto_4 produtoBD1 = this.produtoDao.consultar(produto.getCodigo()); assertNull(produtoBD1); } @@ -104,11 +104,11 @@ public void alterarCliente() throws TipoChaveNaoEncontradaException, DAOExceptio public void buscarTodos() throws DAOException, TipoChaveNaoEncontradaException { criarProduto("A5"); criarProduto("A6"); - Collection list = produtoDao.buscarTodos(); + Collection list = produtoDao.buscarTodos(); assertTrue(list != null); assertTrue(list.size() == 2); - for (Produto prod : list) { + for (Produto_4 prod : list) { excluir(prod.getCodigo()); } diff --git a/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/ProdutoServiceTest.java b/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/ProdutoServiceTest.java index 180d446..4e3897f 100644 --- a/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/ProdutoServiceTest.java +++ b/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/ProdutoServiceTest.java @@ -9,9 +9,9 @@ import org.junit.Before; import org.junit.Test; -import br.com.rpires.dao.IProdutoDAO; +import br.com.rpires.dao.IProdutoDAO_1; import br.com.rpires.dao.ProdutoDaoMock; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Produto_4; import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; import br.com.rpires.services.IProdutoService; @@ -25,16 +25,16 @@ public class ProdutoServiceTest { private IProdutoService produtoService; - private Produto produto; + private Produto_4 produto; public ProdutoServiceTest() { - IProdutoDAO dao = new ProdutoDaoMock(); + IProdutoDAO_1 dao = new ProdutoDaoMock(); produtoService = new ProdutoService(dao); } @Before public void init() { - produto = new Produto(); + produto = new Produto_4(); produto.setCodigo("A1"); produto.setDescricao("Produto 1"); produto.setNome("Produto 1"); @@ -43,7 +43,7 @@ public void init() { @Test public void pesquisar() throws DAOException { - Produto produtor = this.produtoService.consultar(produto.getCodigo()); + Produto_4 produtor = this.produtoService.consultar(produto.getCodigo()); Assert.assertNotNull(produtor); } diff --git a/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/VendaDAOTest.java b/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/VendaDAOTest.java index 8f93b37..6e7c1a7 100644 --- a/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/VendaDAOTest.java +++ b/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/VendaDAOTest.java @@ -22,14 +22,14 @@ import org.junit.Test; import br.com.rpires.dao.ClienteDAO; -import br.com.rpires.dao.IClienteDAO; -import br.com.rpires.dao.IProdutoDAO; -import br.com.rpires.dao.IVendaDAO; -import br.com.rpires.dao.ProdutoDAO; +import br.com.rpires.dao.IClientDAO; +import br.com.rpires.dao.IProdutoDAO_1; +import br.com.rpires.dao.IVendaDAO_1; +import br.com.rpires.dao.ProdutoDAO_3; import br.com.rpires.dao.VendaDAO; import br.com.rpires.dao.generic.jdbc.ConnectionFactory; -import br.com.rpires.domain.Cliente; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Cliente_2; +import br.com.rpires.domain.Produto_4; import br.com.rpires.domain.Venda; import br.com.rpires.domain.Venda.Status; import br.com.rpires.exceptions.DAOException; @@ -43,20 +43,20 @@ */ public class VendaDAOTest { - private IVendaDAO vendaDao; + private IVendaDAO_1 vendaDao; - private IClienteDAO clienteDao; + private IClientDAO clienteDao; - private IProdutoDAO produtoDao; + private IProdutoDAO_1 produtoDao; - private Cliente cliente; + private Cliente_2 cliente; - private Produto produto; + private Produto_4 produto; public VendaDAOTest() { vendaDao = new VendaDAO(); clienteDao = new ClienteDAO(); - produtoDao = new ProdutoDAO(); + produtoDao = new ProdutoDAO_3(); } @Before @@ -74,8 +74,8 @@ public void end() throws DAOException { private void excluirProdutos() throws DAOException { - Collection list = this.produtoDao.buscarTodos(); - for (Produto prod : list) { + Collection list = this.produtoDao.buscarTodos(); + for (Produto_4 prod : list) { this.produtoDao.excluir(prod.getCodigo()); } } @@ -148,7 +148,7 @@ public void adicionarMaisProdutosDiferentes() throws TipoChaveNaoEncontradaExcep assertNotNull(venda); assertEquals(codigoVenda, venda.getCodigo()); - Produto prod = cadastrarProduto(codigoVenda, BigDecimal.valueOf(50)); + Produto_4 prod = cadastrarProduto(codigoVenda, BigDecimal.valueOf(50)); assertNotNull(prod); assertEquals(codigoVenda, prod.getCodigo()); @@ -181,7 +181,7 @@ public void removerProduto() throws TipoChaveNaoEncontradaException, MaisDeUmReg assertNotNull(venda); assertEquals(codigoVenda, venda.getCodigo()); - Produto prod = cadastrarProduto(codigoVenda, BigDecimal.valueOf(50)); + Produto_4 prod = cadastrarProduto(codigoVenda, BigDecimal.valueOf(50)); assertNotNull(prod); assertEquals(codigoVenda, prod.getCodigo()); @@ -208,7 +208,7 @@ public void removerApenasUmProduto() throws TipoChaveNaoEncontradaException, Mai assertNotNull(venda); assertEquals(codigoVenda, venda.getCodigo()); - Produto prod = cadastrarProduto(codigoVenda, BigDecimal.valueOf(50)); + Produto_4 prod = cadastrarProduto(codigoVenda, BigDecimal.valueOf(50)); assertNotNull(prod); assertEquals(codigoVenda, prod.getCodigo()); @@ -235,7 +235,7 @@ public void removerTodosProdutos() throws TipoChaveNaoEncontradaException, MaisD assertNotNull(venda); assertEquals(codigoVenda, venda.getCodigo()); - Produto prod = cadastrarProduto(codigoVenda, BigDecimal.valueOf(50)); + Produto_4 prod = cadastrarProduto(codigoVenda, BigDecimal.valueOf(50)); assertNotNull(prod); assertEquals(codigoVenda, prod.getCodigo()); @@ -286,8 +286,8 @@ public void tentarAdicionarProdutosVendaFinalizada() throws TipoChaveNaoEncontra } - private Produto cadastrarProduto(String codigo, BigDecimal valor) throws TipoChaveNaoEncontradaException, MaisDeUmRegistroException, TableException, DAOException { - Produto produto = new Produto(); + private Produto_4 cadastrarProduto(String codigo, BigDecimal valor) throws TipoChaveNaoEncontradaException, MaisDeUmRegistroException, TableException, DAOException { + Produto_4 produto = new Produto_4(); produto.setCodigo(codigo); produto.setDescricao("Produto 1"); produto.setNome("Produto 1"); @@ -296,8 +296,8 @@ private Produto cadastrarProduto(String codigo, BigDecimal valor) throws TipoCha return produto; } - private Cliente cadastrarCliente() throws TipoChaveNaoEncontradaException, DAOException { - Cliente cliente = new Cliente(); + private Cliente_2 cadastrarCliente() throws TipoChaveNaoEncontradaException, DAOException { + Cliente_2 cliente = new Cliente_2(); cliente.setCpf(12312312312L); cliente.setNome("Rodrigo"); cliente.setCidade("São Paulo"); diff --git a/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/dao/ClienteDaoMock.java b/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/dao/ClienteDaoMock.java index 10e2604..ea2b037 100644 --- a/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/dao/ClienteDaoMock.java +++ b/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/dao/ClienteDaoMock.java @@ -2,13 +2,13 @@ import java.util.Collection; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; -public class ClienteDaoMock implements IClienteDAO { +public class ClienteDaoMock implements IClientDAO { @Override - public Boolean cadastrar(Cliente entity) throws TipoChaveNaoEncontradaException { + public Boolean cadastrar(Cliente_2 entity) throws TipoChaveNaoEncontradaException { // TODO Auto-generated method stub return true; } @@ -20,20 +20,20 @@ public void excluir(Long valor) { } @Override - public void alterar(Cliente entity) throws TipoChaveNaoEncontradaException { + public void alterar(Cliente_2 entity) throws TipoChaveNaoEncontradaException { // TODO Auto-generated method stub } @Override - public Cliente consultar(Long valor) { - Cliente cliente = new Cliente(); + public Cliente_2 consultar(Long valor) { + Cliente_2 cliente = new Cliente_2(); cliente.setCpf(valor); return cliente; } @Override - public Collection buscarTodos() { + public Collection buscarTodos() { // TODO Auto-generated method stub return null; } diff --git a/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/dao/ProdutoDaoMock.java b/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/dao/ProdutoDaoMock.java index 207975b..003cdd4 100644 --- a/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/dao/ProdutoDaoMock.java +++ b/mod35/ExemploVendasMod35/src/test/java/br/com/rpires/dao/ProdutoDaoMock.java @@ -5,17 +5,17 @@ import java.util.Collection; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Produto_4; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; /** * @author rodrigo.pires * */ -public class ProdutoDaoMock implements IProdutoDAO { +public class ProdutoDaoMock implements IProdutoDAO_1 { @Override - public Boolean cadastrar(Produto entity) throws TipoChaveNaoEncontradaException { + public Boolean cadastrar(Produto_4 entity) throws TipoChaveNaoEncontradaException { // TODO Auto-generated method stub return true; } @@ -27,20 +27,20 @@ public void excluir(String valor) { } @Override - public void alterar(Produto entity) throws TipoChaveNaoEncontradaException { + public void alterar(Produto_4 entity) throws TipoChaveNaoEncontradaException { // TODO Auto-generated method stub } @Override - public Produto consultar(String valor) { - Produto produto = new Produto(); + public Produto_4 consultar(String valor) { + Produto_4 produto = new Produto_4(); produto.setCodigo(valor); return produto; } @Override - public Collection buscarTodos() { + public Collection buscarTodos() { // TODO Auto-generated method stub return null; } diff --git a/mod36-1/exemplos_internet/spring-data-examples/multi-store/src/main/java/example/springdata/multistore/shop/OrderRepository.java b/mod36-1/exemplos_internet/spring-data-examples/multi-store/src/main/java/example/springdata/multistore/shop/OrderRepository.java index ebc6c7c..8e78f25 100644 --- a/mod36-1/exemplos_internet/spring-data-examples/multi-store/src/main/java/example/springdata/multistore/shop/OrderRepository.java +++ b/mod36-1/exemplos_internet/spring-data-examples/multi-store/src/main/java/example/springdata/multistore/shop/OrderRepository.java @@ -15,8 +15,9 @@ */ package example.springdata.multistore.shop; -import org.springframework.data.repository.CrudRepository; -import org.springframework.stereotype.Repository; +import javax.management.loading.ClassLoaderRepository; + +import net.springboot.javaguides.entity.Student; /** * A repository interface assembling CRUD functionality as well as the API to invoke the methods implemented manually. @@ -25,4 +26,10 @@ * @author Oliver Gierke */ @Repository -public interface OrderRepository extends CrudRepository {} +public interface OrderRepository extends ClassLoaderRepository { + + Object findAll(); + + Object findById(long id); + + void save(Student student);} diff --git a/mod36-1/exemplos_internet/spring-data-examples/multi-store/src/main/java/example/springdata/multistore/shop/Repository.java b/mod36-1/exemplos_internet/spring-data-examples/multi-store/src/main/java/example/springdata/multistore/shop/Repository.java new file mode 100644 index 0000000..ec6fa0d --- /dev/null +++ b/mod36-1/exemplos_internet/spring-data-examples/multi-store/src/main/java/example/springdata/multistore/shop/Repository.java @@ -0,0 +1,5 @@ +package example.springdata.multistore.shop; + +public @interface Repository { + +} diff --git a/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/controller/ClienteController.java b/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/controller/ClienteController.java index 4fcd0ed..38846ee 100644 --- a/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/controller/ClienteController.java +++ b/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/controller/ClienteController.java @@ -13,7 +13,7 @@ import javax.inject.Inject; import javax.inject.Named; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.service.IClienteService; /** @@ -26,9 +26,9 @@ public class ClienteController implements Serializable { private static final long serialVersionUID = 8030245985235567808L; - private Cliente cliente; + private Cliente_2 cliente; - private Collection clientes; + private Collection clientes; @Inject private IClienteService clienteService; @@ -39,7 +39,7 @@ public class ClienteController implements Serializable { public void init() { try { this.isUpdate = false; - this.cliente = new Cliente(); + this.cliente = new Cliente_2(); this.clientes = clienteService.buscarTodos(); } catch (Exception e) { FacesContext.getCurrentInstance().addMessage("growl", new FacesMessage("Erro ao tentar listar os clientes")); @@ -49,14 +49,14 @@ public void init() { public void cancel() { try { this.isUpdate = false; - this.cliente = new Cliente(); + this.cliente = new Cliente_2(); } catch (Exception e) { FacesContext.getCurrentInstance().addMessage("growl", new FacesMessage("Erro ao tentar cancelar ação")); } } - public void edit(Cliente cliente) { + public void edit(Cliente_2 cliente) { try { this.isUpdate = true; this.cliente = cliente; @@ -66,7 +66,7 @@ public void edit(Cliente cliente) { } - public void delete(Cliente cliente) { + public void delete(Cliente_2 cliente) { try { clienteService.excluir(cliente); clientes.remove(cliente); @@ -80,7 +80,7 @@ public void add() { try { clienteService.cadastrar(cliente); this.clientes = clienteService.buscarTodos(); - this.cliente = new Cliente(); + this.cliente = new Cliente_2(); } catch (Exception e) { FacesContext.getCurrentInstance().addMessage("growl", new FacesMessage("Erro ao tentar criar o cliente")); } @@ -99,19 +99,19 @@ public void update() { } - public Collection getClientes() { + public Collection getClientes() { return clientes; } - public void setClientes(Collection clientes) { + public void setClientes(Collection clientes) { this.clientes = clientes; } - public Cliente getCliente() { + public Cliente_2 getCliente() { return cliente; } - public void setCliente(Cliente cliente) { + public void setCliente(Cliente_2 cliente) { this.cliente = cliente; } diff --git a/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/dao/ClienteDAO.java b/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/dao/ClienteDAO.java index 8515b8e..d39e9c3 100644 --- a/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/dao/ClienteDAO.java +++ b/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/dao/ClienteDAO.java @@ -4,16 +4,16 @@ package br.com.rpires.dao; import br.com.rpires.dao.generic.GenericDAO; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; /** * @author rodrigo.pires * */ -public class ClienteDAO extends GenericDAO implements IClienteDAO { +public class ClienteDAO extends GenericDAO implements IClientDAO { public ClienteDAO() { - super(Cliente.class); + super(Cliente_2.class); } } diff --git a/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/dao/IClienteDAO.java b/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/dao/IClienteDAO.java index 71a459f..1a010b6 100644 --- a/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/dao/IClienteDAO.java +++ b/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/dao/IClienteDAO.java @@ -4,12 +4,12 @@ package br.com.rpires.dao; import br.com.rpires.dao.generic.IGenericDAO; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; /** * @author rodrigo.pires * */ -public interface IClienteDAO extends IGenericDAO{ +public interface IClienteDAO extends IGenericDAO{ } diff --git a/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/service/ClienteService.java b/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/service/ClienteService.java index 355d48b..45eb1a1 100644 --- a/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/service/ClienteService.java +++ b/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/service/ClienteService.java @@ -6,8 +6,8 @@ import javax.ejb.Stateless; import javax.inject.Inject; -import br.com.rpires.dao.IClienteDAO; -import br.com.rpires.domain.Cliente; +import br.com.rpires.dao.IClienteDAO2; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.MaisDeUmRegistroException; import br.com.rpires.exceptions.TableException; @@ -18,15 +18,15 @@ * */ @Stateless -public class ClienteService extends GenericService implements IClienteService { +public class ClienteService extends GenericService implements IClienteService { @Inject - public ClienteService(IClienteDAO clienteDAO) { + public ClienteService(IClienteDAO2 clienteDAO) { super(clienteDAO); } @Override - public Cliente buscarPorCPF(Long cpf) throws DAOException { + public Cliente_2 buscarPorCPF(Long cpf) throws DAOException { try { return this.dao.consultar(cpf); } catch (MaisDeUmRegistroException | TableException e) { diff --git a/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/service/IClienteService.java b/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/service/IClienteService.java index ec2043b..c25c520 100644 --- a/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/service/IClienteService.java +++ b/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/service/IClienteService.java @@ -3,7 +3,7 @@ */ package br.com.rpires.service; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.exceptions.DAOException; import br.com.rpires.services.generic.IGenericService; @@ -11,8 +11,8 @@ * @author rodrigo.pires * */ -public interface IClienteService extends IGenericService { +public interface IClienteService extends IGenericService { - Cliente buscarPorCPF(Long cpf) throws DAOException; + Cliente_2 buscarPorCPF(Long cpf) throws DAOException; } diff --git a/mod38/VendasOnline/src/main/java/br/com/rpires/controller/ClienteController.java b/mod38/VendasOnline/src/main/java/br/com/rpires/controller/ClienteController.java index 9c98b96..3ea070b 100644 --- a/mod38/VendasOnline/src/main/java/br/com/rpires/controller/ClienteController.java +++ b/mod38/VendasOnline/src/main/java/br/com/rpires/controller/ClienteController.java @@ -13,7 +13,7 @@ import javax.inject.Inject; import javax.inject.Named; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.service.IClienteService; import br.com.rpires.utils.ReplaceUtils; @@ -27,9 +27,9 @@ public class ClienteController implements Serializable { private static final long serialVersionUID = 8030245985235567808L; - private Cliente cliente; + private Cliente_2 cliente; - private Collection clientes; + private Collection clientes; @Inject private IClienteService clienteService; @@ -44,7 +44,7 @@ public class ClienteController implements Serializable { public void init() { try { this.isUpdate = false; - this.cliente = new Cliente(); + this.cliente = new Cliente_2(); this.clientes = clienteService.buscarTodos(); } catch (Exception e) { FacesContext.getCurrentInstance().addMessage("growl", new FacesMessage("Erro ao tentar listar os clientes")); @@ -54,14 +54,14 @@ public void init() { public void cancel() { try { this.isUpdate = false; - this.cliente = new Cliente(); + this.cliente = new Cliente_2(); } catch (Exception e) { FacesContext.getCurrentInstance().addMessage("growl", new FacesMessage("Erro ao tentar cancelar ação")); } } - public void edit(Cliente cliente) { + public void edit(Cliente_2 cliente) { try { this.isUpdate = true; this.cliente = cliente; @@ -71,7 +71,7 @@ public void edit(Cliente cliente) { } - public void delete(Cliente cliente) { + public void delete(Cliente_2 cliente) { try { clienteService.excluir(cliente); clientes.remove(cliente); @@ -87,7 +87,7 @@ public void add() { limparCampos(); clienteService.cadastrar(cliente); this.clientes = clienteService.buscarTodos(); - this.cliente = new Cliente(); + this.cliente = new Cliente_2(); } catch (Exception e) { FacesContext.getCurrentInstance().addMessage("growl", new FacesMessage("Erro ao tentar criar o cliente")); } @@ -124,19 +124,19 @@ public String voltarTelaInicial() { return "/index.xhtml"; } - public Cliente getCliente() { + public Cliente_2 getCliente() { return cliente; } - public void setCliente(Cliente cliente) { + public void setCliente(Cliente_2 cliente) { this.cliente = cliente; } - public Collection getClientes() { + public Collection getClientes() { return clientes; } - public void setClientes(Collection clientes) { + public void setClientes(Collection clientes) { this.clientes = clientes; } diff --git a/mod38/VendasOnline/src/main/java/br/com/rpires/controller/ProdutoController.java b/mod38/VendasOnline/src/main/java/br/com/rpires/controller/ProdutoController.java index efd7b34..3e4a6c8 100644 --- a/mod38/VendasOnline/src/main/java/br/com/rpires/controller/ProdutoController.java +++ b/mod38/VendasOnline/src/main/java/br/com/rpires/controller/ProdutoController.java @@ -13,7 +13,7 @@ import javax.inject.Inject; import javax.inject.Named; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Produto_4; import br.com.rpires.service.IProdutoService; /** @@ -26,9 +26,9 @@ public class ProdutoController implements Serializable { private static final long serialVersionUID = 367088063926303823L; - private Produto produto; + private Produto_4 produto; - private Collection produtos; + private Collection produtos; @Inject private IProdutoService produtoService; @@ -39,7 +39,7 @@ public class ProdutoController implements Serializable { public void init() { try { this.isUpdate = false; - this.produto = new Produto(); + this.produto = new Produto_4(); this.produtos = produtoService.buscarTodos(); } catch (Exception e) { FacesContext.getCurrentInstance().addMessage("growl", new FacesMessage("Erro ao tentar listar os produtos")); @@ -49,14 +49,14 @@ public void init() { public void cancel() { try { this.isUpdate = false; - this.produto = new Produto(); + this.produto = new Produto_4(); } catch (Exception e) { FacesContext.getCurrentInstance().addMessage("growl", new FacesMessage("Erro ao tentar cancelar ação")); } } - public void edit(Produto produto) { + public void edit(Produto_4 produto) { try { this.isUpdate = true; this.produto = produto; @@ -66,7 +66,7 @@ public void edit(Produto produto) { } - public void delete(Produto produto) { + public void delete(Produto_4 produto) { try { produtoService.excluir(produto); produtos.remove(produto); @@ -80,7 +80,7 @@ public void add() { try { produtoService.cadastrar(produto); this.produtos = produtoService.buscarTodos(); - this.produto = new Produto(); + this.produto = new Produto_4(); } catch (Exception e) { FacesContext.getCurrentInstance().addMessage("growl", new FacesMessage("Erro ao tentar criar o produto")); } @@ -103,19 +103,19 @@ public String voltarTelaInicial() { return "/index.xhtml"; } - public Produto getProduto() { + public Produto_4 getProduto() { return produto; } - public void setProduto(Produto produto) { + public void setProduto(Produto_4 produto) { this.produto = produto; } - public Collection getProdutos() { + public Collection getProdutos() { return produtos; } - public void setProdutos(Collection produtos) { + public void setProdutos(Collection produtos) { this.produtos = produtos; } diff --git a/mod38/VendasOnline/src/main/java/br/com/rpires/controller/VendaController.java b/mod38/VendasOnline/src/main/java/br/com/rpires/controller/VendaController.java index 12da76f..4cb6a44 100644 --- a/mod38/VendasOnline/src/main/java/br/com/rpires/controller/VendaController.java +++ b/mod38/VendasOnline/src/main/java/br/com/rpires/controller/VendaController.java @@ -22,8 +22,8 @@ import org.primefaces.event.RowEditEvent; -import br.com.rpires.domain.Cliente; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Cliente_2; +import br.com.rpires.domain.Produto_4; import br.com.rpires.domain.ProdutoQuantidade; import br.com.rpires.domain.Venda; import br.com.rpires.service.IClienteService; @@ -61,7 +61,7 @@ public class VendaController implements Serializable { private Set produtos; - private Produto produtoSelecionado; + private Produto_4 produtoSelecionado; private BigDecimal valorTotal; @@ -217,11 +217,11 @@ public void adicionarOuRemoverProduto(ProdutoQuantidade prod) { } } - public List filtrarClientes(String query) { + public List filtrarClientes(String query) { return this.clienteService.filtrarClientes(query); } - public List filtrarProdutos(String query) { + public List filtrarProdutos(String query) { return this.produtoService.filtrarProdutos(query); } @@ -277,11 +277,11 @@ public void setQuantidadeProduto(Integer quantidadeProduto) { this.quantidadeProduto = quantidadeProduto; } - public Produto getProdutoSelecionado() { + public Produto_4 getProdutoSelecionado() { return produtoSelecionado; } - public void setProdutoSelecionado(Produto produtoSelecionado) { + public void setProdutoSelecionado(Produto_4 produtoSelecionado) { this.produtoSelecionado = produtoSelecionado; } diff --git a/mod38/VendasOnline/src/main/java/br/com/rpires/converter/ClienteConverter.java b/mod38/VendasOnline/src/main/java/br/com/rpires/converter/ClienteConverter.java index b75ecc5..c596422 100644 --- a/mod38/VendasOnline/src/main/java/br/com/rpires/converter/ClienteConverter.java +++ b/mod38/VendasOnline/src/main/java/br/com/rpires/converter/ClienteConverter.java @@ -12,14 +12,14 @@ import javax.faces.convert.FacesConverter; import javax.inject.Named; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; /** * @author rodrigo.pires * */ @Named -@FacesConverter(value = "clienteConverter", forClass = Cliente.class) +@FacesConverter(value = "clienteConverter", forClass = Cliente_2.class) public class ClienteConverter implements Converter { private static final String key = "br.com.rpires.converter.ClienteConverter"; @@ -34,7 +34,7 @@ public Object getAsObject(FacesContext context, UIComponent component, String va @Override public String getAsString(FacesContext context, UIComponent component, Object cliente) { - String id = ((Cliente)cliente).getId().toString(); + String id = ((Cliente_2)cliente).getId().toString(); getViewMap(context).put(id, cliente); return id; } diff --git a/mod38/VendasOnline/src/main/java/br/com/rpires/converter/ProdutoConverter.java b/mod38/VendasOnline/src/main/java/br/com/rpires/converter/ProdutoConverter.java index 0b1c32f..9ed93df 100644 --- a/mod38/VendasOnline/src/main/java/br/com/rpires/converter/ProdutoConverter.java +++ b/mod38/VendasOnline/src/main/java/br/com/rpires/converter/ProdutoConverter.java @@ -12,14 +12,14 @@ import javax.faces.convert.FacesConverter; import javax.inject.Named; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Produto_4; /** * @author rodrigo.pires * */ @Named -@FacesConverter(value = "produtoConverter", forClass = Produto.class) +@FacesConverter(value = "produtoConverter", forClass = Produto_4.class) public class ProdutoConverter implements Converter { private static final String key = "br.com.rpires.converter.ProdutoConverter"; @@ -34,7 +34,7 @@ public Object getAsObject(FacesContext context, UIComponent component, String va @Override public String getAsString(FacesContext context, UIComponent component, Object produto) { - String id = ((Produto)produto).getId().toString(); + String id = ((Produto_4)produto).getId().toString(); getViewMap(context).put(id, produto); return id; } diff --git a/mod38/VendasOnline/src/main/java/br/com/rpires/dao/ClienteDAO.java b/mod38/VendasOnline/src/main/java/br/com/rpires/dao/ClienteDAO.java index f95effe..9fb0d7b 100644 --- a/mod38/VendasOnline/src/main/java/br/com/rpires/dao/ClienteDAO.java +++ b/mod38/VendasOnline/src/main/java/br/com/rpires/dao/ClienteDAO.java @@ -8,21 +8,21 @@ import javax.persistence.TypedQuery; import br.com.rpires.dao.generic.GenericDAO; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; /** * @author rodrigo.pires * */ -public class ClienteDAO extends GenericDAO implements IClienteDAO { +public class ClienteDAO extends GenericDAO implements IClientDAO { public ClienteDAO() { - super(Cliente.class); + super(Cliente_2.class); } @Override - public List filtrarClientes(String query) { - TypedQuery tpQuery = + public List filtrarClientes(String query) { + TypedQuery tpQuery = this.entityManager.createNamedQuery("Cliente.findByNome", this.persistenteClass); tpQuery.setParameter("nome", "%" + query + "%"); return tpQuery.getResultList(); diff --git a/mod38/VendasOnline/src/main/java/br/com/rpires/dao/IClienteDAO.java b/mod38/VendasOnline/src/main/java/br/com/rpires/dao/IClienteDAO.java index 5f44580..8c3b3e4 100644 --- a/mod38/VendasOnline/src/main/java/br/com/rpires/dao/IClienteDAO.java +++ b/mod38/VendasOnline/src/main/java/br/com/rpires/dao/IClienteDAO.java @@ -6,14 +6,14 @@ import java.util.List; import br.com.rpires.dao.generic.IGenericDAO; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; /** * @author rodrigo.pires * */ -public interface IClienteDAO extends IGenericDAO{ +public interface IClienteDAO extends IGenericDAO{ - List filtrarClientes(String query); + List filtrarClientes(String query); } diff --git a/mod38/VendasOnline/src/main/java/br/com/rpires/dao/IProdutoDAO.java b/mod38/VendasOnline/src/main/java/br/com/rpires/dao/IProdutoDAO.java index 48b45ec..5f0056e 100644 --- a/mod38/VendasOnline/src/main/java/br/com/rpires/dao/IProdutoDAO.java +++ b/mod38/VendasOnline/src/main/java/br/com/rpires/dao/IProdutoDAO.java @@ -6,14 +6,14 @@ import java.util.List; import br.com.rpires.dao.generic.IGenericDAO; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Produto_4; /** * @author rodrigo.pires * */ -public interface IProdutoDAO extends IGenericDAO{ +public interface IProdutoDAO extends IGenericDAO{ - List filtrarProdutos(String query); + List filtrarProdutos(String query); } diff --git a/mod38/VendasOnline/src/main/java/br/com/rpires/dao/ProdutoDAO.java b/mod38/VendasOnline/src/main/java/br/com/rpires/dao/ProdutoDAO.java index a83b33d..5a7f6c2 100644 --- a/mod38/VendasOnline/src/main/java/br/com/rpires/dao/ProdutoDAO.java +++ b/mod38/VendasOnline/src/main/java/br/com/rpires/dao/ProdutoDAO.java @@ -8,21 +8,21 @@ import javax.persistence.TypedQuery; import br.com.rpires.dao.generic.GenericDAO; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Produto_4; /** * @author rodrigo.pires * */ -public class ProdutoDAO extends GenericDAO implements IProdutoDAO { +public class ProdutoDAO extends GenericDAO implements IProdutoDAO_1 { public ProdutoDAO() { - super(Produto.class); + super(Produto_4.class); } @Override - public List filtrarProdutos(String query) { - TypedQuery tpQuery = + public List filtrarProdutos(String query) { + TypedQuery tpQuery = this.entityManager.createNamedQuery("Produto.findByNome", this.persistenteClass); tpQuery.setParameter("nome", "%" + query + "%"); return tpQuery.getResultList(); diff --git a/mod38/VendasOnline/src/main/java/br/com/rpires/dao/VendaDAO.java b/mod38/VendasOnline/src/main/java/br/com/rpires/dao/VendaDAO.java index 3ae2891..a1f65ab 100644 --- a/mod38/VendasOnline/src/main/java/br/com/rpires/dao/VendaDAO.java +++ b/mod38/VendasOnline/src/main/java/br/com/rpires/dao/VendaDAO.java @@ -9,8 +9,8 @@ import javax.persistence.criteria.Root; import br.com.rpires.dao.generic.GenericDAO; -import br.com.rpires.domain.Cliente; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Cliente_2; +import br.com.rpires.domain.Produto_4; import br.com.rpires.domain.Venda; import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.TipoChaveNaoEncontradaException; @@ -19,7 +19,7 @@ * @author rodrigo.pires * */ -public class VendaDAO extends GenericDAO implements IVendaDAO { +public class VendaDAO extends GenericDAO implements IVendaDAO_1 { public VendaDAO() { super(Venda.class); @@ -44,10 +44,10 @@ public void excluir(Venda entity) throws DAOException { public Venda cadastrar(Venda entity) throws TipoChaveNaoEncontradaException, DAOException { try { entity.getProdutos().forEach(prod -> { - Produto prodJpa = entityManager.merge(prod.getProduto()); + Produto_4 prodJpa = entityManager.merge(prod.getProduto()); prod.setProduto(prodJpa); }); - Cliente cliente = entityManager.merge(entity.getCliente()); + Cliente_2 cliente = entityManager.merge(entity.getCliente()); entity.setCliente(cliente); entityManager.persist(entity); // entityManager.getTransaction().commit(); diff --git a/mod38/VendasOnline/src/main/java/br/com/rpires/domain/ProdutoQuantidade.java b/mod38/VendasOnline/src/main/java/br/com/rpires/domain/ProdutoQuantidade.java index 3bfd4e1..f6c8e75 100644 --- a/mod38/VendasOnline/src/main/java/br/com/rpires/domain/ProdutoQuantidade.java +++ b/mod38/VendasOnline/src/main/java/br/com/rpires/domain/ProdutoQuantidade.java @@ -31,7 +31,7 @@ public class ProdutoQuantidade { private Long id; @ManyToOne(cascade = {CascadeType.MERGE, CascadeType.PERSIST, CascadeType.REFRESH}) - private Produto produto; + private Produto_4 produto; @Column(name = "quantidade", nullable = false) private Integer quantidade; @@ -51,11 +51,11 @@ public ProdutoQuantidade() { this.valorTotal = BigDecimal.ZERO; } - public Produto getProduto() { + public Produto_4 getProduto() { return produto; } - public void setProduto(Produto produto) { + public void setProduto(Produto_4 produto) { this.produto = produto; } diff --git a/mod38/VendasOnline/src/main/java/br/com/rpires/domain/Venda.java b/mod38/VendasOnline/src/main/java/br/com/rpires/domain/Venda.java index 6cc0634..0e66067 100644 --- a/mod38/VendasOnline/src/main/java/br/com/rpires/domain/Venda.java +++ b/mod38/VendasOnline/src/main/java/br/com/rpires/domain/Venda.java @@ -58,7 +58,7 @@ public static Status getByName(String value) { foreignKey = @ForeignKey(name = "fk_venda_cliente"), referencedColumnName = "id", nullable = false ) - private Cliente cliente; + private Cliente_2 cliente; /* * OBS: Não é uma boa prática utiliar FetchType.EAGER pois ele sempre irá trazer todos os objetos da collection @@ -91,11 +91,11 @@ public void setCodigo(String codigo) { this.codigo = codigo; } - public Cliente getCliente() { + public Cliente_2 getCliente() { return cliente; } - public void setCliente(Cliente cliente) { + public void setCliente(Cliente_2 cliente) { this.cliente = cliente; } @@ -103,7 +103,7 @@ public Set getProdutos() { return produtos; } - public void adicionarProduto(Produto produto, Integer quantidade) { + public void adicionarProduto(Produto_4 produto, Integer quantidade) { validarStatus(); Optional op = produtos.stream().filter(filter -> filter.getProduto().getCodigo().equals(produto.getCodigo())).findAny(); @@ -127,7 +127,7 @@ private void validarStatus() { } } - public void removerProduto(Produto produto, Integer quantidade) { + public void removerProduto(Produto_4 produto, Integer quantidade) { validarStatus(); Optional op = produtos.stream().filter(filter -> filter.getProduto().getCodigo().equals(produto.getCodigo())).findAny(); diff --git a/mod38/VendasOnline/src/main/java/br/com/rpires/service/ClienteService.java b/mod38/VendasOnline/src/main/java/br/com/rpires/service/ClienteService.java index 0cfb501..b2c1c90 100644 --- a/mod38/VendasOnline/src/main/java/br/com/rpires/service/ClienteService.java +++ b/mod38/VendasOnline/src/main/java/br/com/rpires/service/ClienteService.java @@ -8,8 +8,8 @@ import javax.ejb.Stateless; import javax.inject.Inject; -import br.com.rpires.dao.IClienteDAO; -import br.com.rpires.domain.Cliente; +import br.com.rpires.dao.IClientDAO; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.exceptions.DAOException; import br.com.rpires.exceptions.MaisDeUmRegistroException; import br.com.rpires.exceptions.TableException; @@ -20,18 +20,18 @@ * */ @Stateless -public class ClienteService extends GenericService implements IClienteService { +public class ClienteService extends GenericService implements IClienteService { - private IClienteDAO clienteDAO; + private IClientDAO clienteDAO; @Inject - public ClienteService(IClienteDAO clienteDAO) { + public ClienteService(IClientDAO clienteDAO) { super(clienteDAO); this.clienteDAO = clienteDAO; } @Override - public Cliente buscarPorCPF(Long cpf) throws DAOException { + public Cliente_2 buscarPorCPF(Long cpf) throws DAOException { try { return this.dao.consultar(cpf); } catch (MaisDeUmRegistroException | TableException e) { @@ -42,7 +42,7 @@ public Cliente buscarPorCPF(Long cpf) throws DAOException { } @Override - public List filtrarClientes(String query) { + public List filtrarClientes(String query) { return clienteDAO.filtrarClientes(query); } diff --git a/mod38/VendasOnline/src/main/java/br/com/rpires/service/IClienteService.java b/mod38/VendasOnline/src/main/java/br/com/rpires/service/IClienteService.java index 3cc897a..4c49eaf 100644 --- a/mod38/VendasOnline/src/main/java/br/com/rpires/service/IClienteService.java +++ b/mod38/VendasOnline/src/main/java/br/com/rpires/service/IClienteService.java @@ -5,7 +5,7 @@ import java.util.List; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.exceptions.DAOException; import br.com.rpires.services.generic.IGenericService; @@ -13,10 +13,10 @@ * @author rodrigo.pires * */ -public interface IClienteService extends IGenericService { +public interface IClienteService extends IGenericService { - Cliente buscarPorCPF(Long cpf) throws DAOException; + Cliente_2 buscarPorCPF(Long cpf) throws DAOException; - List filtrarClientes(String query); + List filtrarClientes(String query); } diff --git a/mod38/VendasOnline/src/main/java/br/com/rpires/service/IProdutoService.java b/mod38/VendasOnline/src/main/java/br/com/rpires/service/IProdutoService.java index 98fbd05..c8830d1 100644 --- a/mod38/VendasOnline/src/main/java/br/com/rpires/service/IProdutoService.java +++ b/mod38/VendasOnline/src/main/java/br/com/rpires/service/IProdutoService.java @@ -5,15 +5,15 @@ import java.util.List; -import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Produto_4; import br.com.rpires.services.generic.IGenericService; /** * @author rodrigo.pires * */ -public interface IProdutoService extends IGenericService { +public interface IProdutoService extends IGenericService { - List filtrarProdutos(String query); + List filtrarProdutos(String query); } diff --git a/mod38/VendasOnline/src/main/java/br/com/rpires/service/ProdutoService.java b/mod38/VendasOnline/src/main/java/br/com/rpires/service/ProdutoService.java index fda4fa1..055cefb 100644 --- a/mod38/VendasOnline/src/main/java/br/com/rpires/service/ProdutoService.java +++ b/mod38/VendasOnline/src/main/java/br/com/rpires/service/ProdutoService.java @@ -8,8 +8,8 @@ import javax.ejb.Stateless; import javax.inject.Inject; -import br.com.rpires.dao.IProdutoDAO; -import br.com.rpires.domain.Produto; +import br.com.rpires.dao.IProdutoDAO_1; +import br.com.rpires.domain.Produto_4; import br.com.rpires.services.generic.GenericService; /** @@ -17,18 +17,18 @@ * */ @Stateless -public class ProdutoService extends GenericService implements IProdutoService { +public class ProdutoService extends GenericService implements IProdutoService { - private IProdutoDAO produtoDao; + private IProdutoDAO_1 produtoDao; @Inject - public ProdutoService(IProdutoDAO produtoDao) { + public ProdutoService(IProdutoDAO_1 produtoDao) { super(produtoDao); this.produtoDao = produtoDao; } @Override - public List filtrarProdutos(String query) { + public List filtrarProdutos(String query) { return produtoDao.filtrarProdutos(query); } diff --git a/mod38/VendasOnline/src/main/java/br/com/rpires/service/VendaService.java b/mod38/VendasOnline/src/main/java/br/com/rpires/service/VendaService.java index 880e4b4..131e5c9 100644 --- a/mod38/VendasOnline/src/main/java/br/com/rpires/service/VendaService.java +++ b/mod38/VendasOnline/src/main/java/br/com/rpires/service/VendaService.java @@ -6,7 +6,7 @@ import javax.ejb.Stateless; import javax.inject.Inject; -import br.com.rpires.dao.IVendaDAO; +import br.com.rpires.dao.IVendaDAO_1; import br.com.rpires.domain.Venda; import br.com.rpires.domain.Venda.Status; import br.com.rpires.exceptions.DAOException; @@ -20,10 +20,10 @@ @Stateless public class VendaService extends GenericService implements IVendaService { - IVendaDAO dao; + IVendaDAO_1 dao; @Inject - public VendaService(IVendaDAO dao) { + public VendaService(IVendaDAO_1 dao) { super(dao); this.dao = dao; } diff --git a/mod40/DemoSpringBoot/src/main/java/br/com/rpires/DemoSpringBoot/DemoSpringBootApplication.java b/mod40/DemoSpringBoot/src/main/java/br/com/rpires/DemoSpringBoot/DemoSpringBootApplication.java index b414935..e2dd5fd 100644 --- a/mod40/DemoSpringBoot/src/main/java/br/com/rpires/DemoSpringBoot/DemoSpringBootApplication.java +++ b/mod40/DemoSpringBoot/src/main/java/br/com/rpires/DemoSpringBoot/DemoSpringBootApplication.java @@ -11,7 +11,7 @@ import org.springframework.context.annotation.Configuration; import org.springframework.data.jpa.repository.config.EnableJpaRepositories; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.repository.IClienteRepository; @SpringBootApplication @@ -33,12 +33,12 @@ public static void main(String[] args) { @Override public void run(String... args) throws Exception { log.info("StartApplication..."); - Cliente cliente = createCliente(); + Cliente_2 cliente = createCliente(); repository.save(cliente); } - private Cliente createCliente() { - return Cliente.builder() + private Cliente_2 createCliente() { + return Cliente_2.builder() .cidade("SP") .cpf(12312312310L) .email("Teste@teste.com") diff --git a/mod40/DemoSpringBoot/src/main/java/br/com/rpires/repository/IClienteRepository.java b/mod40/DemoSpringBoot/src/main/java/br/com/rpires/repository/IClienteRepository.java index 45a5076..16072e4 100644 --- a/mod40/DemoSpringBoot/src/main/java/br/com/rpires/repository/IClienteRepository.java +++ b/mod40/DemoSpringBoot/src/main/java/br/com/rpires/repository/IClienteRepository.java @@ -6,13 +6,13 @@ import org.springframework.data.repository.CrudRepository; import org.springframework.stereotype.Repository; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; /** * @author rodrigo.pires * */ @Repository -public interface IClienteRepository extends CrudRepository{ +public interface IClienteRepository extends CrudRepository{ } diff --git a/mod40/SpringBootPrimeiroExemplo/src/main/java/br/com/rpires/SpringBootPrimeiroExemplo/SpringBootPrimeiroExemploApplication.java b/mod40/SpringBootPrimeiroExemplo/src/main/java/br/com/rpires/SpringBootPrimeiroExemplo/SpringBootPrimeiroExemploApplication.java index 5caa451..f088631 100644 --- a/mod40/SpringBootPrimeiroExemplo/src/main/java/br/com/rpires/SpringBootPrimeiroExemplo/SpringBootPrimeiroExemploApplication.java +++ b/mod40/SpringBootPrimeiroExemplo/src/main/java/br/com/rpires/SpringBootPrimeiroExemplo/SpringBootPrimeiroExemploApplication.java @@ -11,7 +11,7 @@ import org.springframework.context.annotation.Configuration; import org.springframework.data.jpa.repository.config.EnableJpaRepositories; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; import br.com.rpires.repository.IClienteRepository; @SpringBootApplication @@ -33,12 +33,12 @@ public static void main(String[] args) { @Override public void run(String... args) throws Exception { log.info("StartApplication..."); - Cliente cliente = createCliente(); + Cliente_2 cliente = createCliente(); repository.save(cliente); } - private Cliente createCliente() { - return Cliente.builder() + private Cliente_2 createCliente() { + return Cliente_2.builder() .cidade("SP") .cpf(12312312310L) .email("Teste@teste.com") diff --git a/mod40/SpringBootPrimeiroExemplo/src/main/java/br/com/rpires/repository/IClienteRepository.java b/mod40/SpringBootPrimeiroExemplo/src/main/java/br/com/rpires/repository/IClienteRepository.java index 45a5076..16072e4 100644 --- a/mod40/SpringBootPrimeiroExemplo/src/main/java/br/com/rpires/repository/IClienteRepository.java +++ b/mod40/SpringBootPrimeiroExemplo/src/main/java/br/com/rpires/repository/IClienteRepository.java @@ -6,13 +6,13 @@ import org.springframework.data.repository.CrudRepository; import org.springframework.stereotype.Repository; -import br.com.rpires.domain.Cliente; +import br.com.rpires.domain.Cliente_2; /** * @author rodrigo.pires * */ @Repository -public interface IClienteRepository extends CrudRepository{ +public interface IClienteRepository extends CrudRepository{ } diff --git a/mod41/ClienteServiceProfessor/src/main/java/br/com/rpires/ClienteServiceProfessor/exception/RestExceptionHandler.java b/mod41/ClienteServiceProfessor/src/main/java/br/com/rpires/ClienteServiceProfessor/exception/RestExceptionHandler.java index ca51531..f58dd1c 100644 --- a/mod41/ClienteServiceProfessor/src/main/java/br/com/rpires/ClienteServiceProfessor/exception/RestExceptionHandler.java +++ b/mod41/ClienteServiceProfessor/src/main/java/br/com/rpires/ClienteServiceProfessor/exception/RestExceptionHandler.java @@ -65,7 +65,6 @@ protected ResponseEntity handleMissingServletRequestParameter( * @param request WebRequest * @return the ApiError object */ - @Override protected ResponseEntity handleHttpMediaTypeNotSupported( HttpMediaTypeNotSupportedException ex, HttpHeaders headers, diff --git a/mod42/ClienteServiceAlunos/src/main/java/br/com/rpires/vendas/online/errorhandling/ApiError.java b/mod42/ClienteServiceAlunos/src/main/java/br/com/rpires/vendas/online/errorhandling/ApiError.java index 0cc021b..c65f84d 100644 --- a/mod42/ClienteServiceAlunos/src/main/java/br/com/rpires/vendas/online/errorhandling/ApiError.java +++ b/mod42/ClienteServiceAlunos/src/main/java/br/com/rpires/vendas/online/errorhandling/ApiError.java @@ -20,10 +20,8 @@ @Setter public class ApiError { - private HttpStatus status; @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy hh:mm:ss") private LocalDateTime timestamp; - private String message; private String debugMessage; private List subErrors; @@ -33,21 +31,16 @@ private ApiError() { public ApiError(HttpStatus status) { this(); - this.status = status; } public ApiError(HttpStatus status, Throwable ex) { this(); - this.status = status; - this.message = "Unexpected error"; - this.debugMessage = ex.getLocalizedMessage(); + this.setDebugMessage(ex.getLocalizedMessage()); } public ApiError(HttpStatus status, String message, Throwable ex) { this(); - this.status = status; - this.message = message; - this.debugMessage = ex.getLocalizedMessage(); + this.setDebugMessage(ex.getLocalizedMessage()); } private void addSubError(ApiSubError subError) { @@ -57,8 +50,8 @@ private void addSubError(ApiSubError subError) { subErrors.add(subError); } - private void addValidationError(String object, String field, Object rejectedValue, String message) { - addSubError(new ApiValidationError(object, field, rejectedValue, message)); + private void addValidationError1(String object, String field) { + addSubError(new ApiValidationError(object, field)); } private void addValidationError(String object, String message) { @@ -66,11 +59,9 @@ private void addValidationError(String object, String message) { } private void addValidationError(FieldError fieldError) { - this.addValidationError( + this.addValidationError1( fieldError.getObjectName(), - fieldError.getField(), - fieldError.getRejectedValue(), - fieldError.getDefaultMessage()); + fieldError.getField()); } public void addValidationErrors(List fieldErrors) { @@ -93,14 +84,20 @@ public void addValidationError(List globalErrors) { * @param cv the ConstraintViolation */ private void addValidationError(ConstraintViolation cv) { - this.addValidationError( + this.addValidationError1( cv.getRootBeanClass().getSimpleName(), - "", - cv.getInvalidValue(), - cv.getMessage()); + ""); } public void addValidationErrors(Set> constraintViolations) { constraintViolations.forEach(this::addValidationError); } + + public String getDebugMessage() { + return debugMessage; + } + + public void setDebugMessage(String debugMessage) { + this.debugMessage = debugMessage; + } } \ No newline at end of file diff --git a/mod42/ClienteServiceAlunos/src/main/java/br/com/rpires/vendas/online/errorhandling/ApiValidationError.java b/mod42/ClienteServiceAlunos/src/main/java/br/com/rpires/vendas/online/errorhandling/ApiValidationError.java index b9e53d5..9d52688 100644 --- a/mod42/ClienteServiceAlunos/src/main/java/br/com/rpires/vendas/online/errorhandling/ApiValidationError.java +++ b/mod42/ClienteServiceAlunos/src/main/java/br/com/rpires/vendas/online/errorhandling/ApiValidationError.java @@ -12,8 +12,68 @@ public class ApiValidationError extends ApiSubError { private String field; private Object rejectedValue; private String message; + + - ApiValidationError(String object, String message) { + public ApiValidationError(String object, String field, Object rejectedValue, String message) { + super(); + this.object = object; + this.field = field; + this.rejectedValue = rejectedValue; + this.message = message; + } + + + + public String getObject() { + return object; + } + + + + public void setObject(String object) { + this.object = object; + } + + + + public String getField() { + return field; + } + + + + public void setField(String field) { + this.field = field; + } + + + + public Object getRejectedValue() { + return rejectedValue; + } + + + + public void setRejectedValue(Object rejectedValue) { + this.rejectedValue = rejectedValue; + } + + + + public String getMessage() { + return message; + } + + + + public void setMessage(String message) { + this.message = message; + } + + + + ApiValidationError(String object, String message) { this.object = object; this.message = message; } diff --git a/mod6/ProjetoVersaoOO/src/br/com/rpires/domain/ItemVenda.java b/mod6/ProjetoVersaoOO/src/br/com/rpires/domain/ItemVenda.java index d0a5868..74f3641 100644 --- a/mod6/ProjetoVersaoOO/src/br/com/rpires/domain/ItemVenda.java +++ b/mod6/ProjetoVersaoOO/src/br/com/rpires/domain/ItemVenda.java @@ -6,9 +6,9 @@ public class ItemVenda { private int quantidade; - private Produto produto; + private Produto_4 produto; - public ItemVenda(int quantidade, Produto produto) { + public ItemVenda(int quantidade, Produto_4 produto) { this.quantidade = quantidade; this.produto = produto; } @@ -21,11 +21,11 @@ public void setQuantidade(int quantidade) { this.quantidade = quantidade; } - public Produto getProduto() { + public Produto_4 getProduto() { return produto; } - public void setProduto(Produto produto) { + public void setProduto(Produto_4 produto) { this.produto = produto; } diff --git a/mod6/ProjetoVersaoOO/src/br/com/rpires/domain/Pedido.java b/mod6/ProjetoVersaoOO/src/br/com/rpires/domain/Pedido.java index e9858fe..ebad89e 100644 --- a/mod6/ProjetoVersaoOO/src/br/com/rpires/domain/Pedido.java +++ b/mod6/ProjetoVersaoOO/src/br/com/rpires/domain/Pedido.java @@ -1,25 +1,27 @@ package br.com.rpires.domain; +import java.math.BigDecimal; + /** * @author rodrigo.pires */ public class Pedido { - private Cliente cliente; - private Vendedor vendedor; - private ItemVenda[] itens; + private Cliente_2 cliente; + private final Vendedor vendedor; + private final ItemVenda[] itens; - public Pedido(Cliente cliente, Vendedor vendedor, ItemVenda[] itens) { + public Pedido(Cliente_2 cliente, Vendedor vendedor, ItemVenda[] itens) { this.cliente = cliente; this.vendedor = vendedor; this.itens = itens; } - public Cliente getCliente() { + public Cliente_2 getCliente() { return cliente; } - public void setCliente(Cliente cliente) { + public void setCliente(Cliente_2 cliente) { this.cliente = cliente; } @@ -27,18 +29,10 @@ public Vendedor getVendedor() { return vendedor; } - public void setVendedor(Vendedor vendedor) { - this.vendedor = vendedor; - } - public ItemVenda[] getItens() { return itens; } - public void setItens(ItemVenda[] itens) { - this.itens = itens; - } - public float calcularValorTotalPedido() { float valorTotal = 0; for (ItemVenda item : itens) { @@ -55,9 +49,9 @@ public void realizarVenda() { // Remove os produtos vendidos do estoque: for (ItemVenda itemVenda : getItens()) { - Produto produto = itemVenda.getProduto(); + Produto_4 produto = itemVenda.getProduto(); String nomeProduto = produto.getNome(); - float valorProduto = produto.getValor(); + BigDecimal valorProduto = produto.getValor(); int estoqueProduto = produto.getEstoque(); int qtdeItem = itemVenda.getQuantidade(); float totalItem = itemVenda.calcularValorTotalItem(); diff --git a/mod6/ProjetoVersaoOO/src/br/com/rpires/domain/Programa1.java b/mod6/ProjetoVersaoOO/src/br/com/rpires/domain/Programa1.java index b75ffb2..b88fa42 100644 --- a/mod6/ProjetoVersaoOO/src/br/com/rpires/domain/Programa1.java +++ b/mod6/ProjetoVersaoOO/src/br/com/rpires/domain/Programa1.java @@ -28,47 +28,46 @@ private static List criarPedidos() { } private static Pedido criarPedido1() { - Produto produtoMesa = cadastrarProduto(1, "Mesa", 10, 500); + Produto_4 produtoMesa = cadastrarProduto(1, "Mesa", 10, 500); ItemVenda[] item1 = {new ItemVenda(1, produtoMesa)}; - Cliente cliente1 = cadastrarCliente(1,"João", "Rua X, 100"); - Vendedor vendedor1 = cadastrarVendedor(1, "Vendedor 1", 0.1f); - Pedido pedido = new Pedido(cliente1, vendedor1, item1); - return pedido; + Cliente_2 cliente1 = cadastrarCliente(1,"João", "Rua X, 100"); + Vendedor vendedor1 = cadastrarVendedor(1, "Vendedor 1"); + return new Pedido(cliente1, vendedor1, item1); } private static Pedido criarPedido2() { - Produto produtoCadeira = cadastrarProduto(2, "Cadeira", 20, 150); - Cliente cliente2 = cadastrarCliente(2,"Carlos", "Rua Y, 200"); - Vendedor vendedor2 = cadastrarVendedor(2, "Vendedor 2", 0.1f); + Produto_4 produtoCadeira = cadastrarProduto(2, "Cadeira", 20, 150); + Cliente_2 cliente2 = cadastrarCliente(2,"Carlos", "Rua Y, 200"); + Vendedor vendedor2 = cadastrarVendedor(2, "Vendedor 2"); ItemVenda[] item2 = {new ItemVenda(2, produtoCadeira)}; return new Pedido(cliente2, vendedor2, item2); } private static Pedido criarPedido3() { - Produto produtoFogao = cadastrarProduto(3, "Fogão", 5, 1000); - Cliente cliente3 = cadastrarCliente(3,"Carina", "Rua Z, 400"); - Vendedor vendedor3 = cadastrarVendedor(3, "Vendedor 3", 0.1f); + Produto_4 produtoFogao = cadastrarProduto(3, "Fogão", 5, 1000); + Cliente_2 cliente3 = cadastrarCliente(3,"Carina", "Rua Z, 400"); + Vendedor vendedor3 = cadastrarVendedor(3, "Vendedor 3"); ItemVenda[] item3 = {new ItemVenda(3, produtoFogao)}; return new Pedido(cliente3, vendedor3, item3); } private static Pedido criarPedido4() { - Produto produtoSofa = cadastrarProduto(4, "Sofá", 5, 2000); - Cliente cliente4 = cadastrarCliente(4,"Paula", "Rua A, 500"); - Vendedor vendedor4 = cadastrarVendedor(4, "Vendedor 4", 0.1f); + Produto_4 produtoSofa = cadastrarProduto(4, "Sofá", 5, 2000); + Cliente_2 cliente4 = cadastrarCliente(4,"Paula", "Rua A, 500"); + Vendedor vendedor4 = cadastrarVendedor(4, "Vendedor 4"); ItemVenda[] item4 = {new ItemVenda(4, produtoSofa)}; return new Pedido(cliente4, vendedor4, item4); } - private static Vendedor cadastrarVendedor(int codigo, String nome, float percentualComissao) { - return new Vendedor(codigo, nome, percentualComissao); + private static Vendedor cadastrarVendedor(int codigo, String nome) { + return new Vendedor(codigo, nome, (float) 0.1); } - private static Cliente cadastrarCliente(int codigo, String nome, String endereco) { - return new Cliente(codigo,nome, endereco); + private static Cliente_2 cadastrarCliente(int codigo, String nome, String endereco) { + return new Cliente_2(codigo,nome, endereco); } - private static Produto cadastrarProduto(int codigo, String nome, int estoque, float valor) { - return new Produto(codigo, nome, estoque, valor); + private static Produto_4 cadastrarProduto(int codigo, String nome, int estoque, float valor) { + return new Produto_4(codigo, nome, estoque, valor); } } diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..e2ed0c1 --- /dev/null +++ b/pom.xml @@ -0,0 +1,33 @@ + + 4.0.0 + + com.example + backend-java-EBAC + 1.0-SNAPSHOT + + + 1.8 + 1.8 + + + + + + junit + junit + 4.13.2 + test + + + + + org.postgresql + postgresql + 42.2.23 + + + + + From b32f3fe3cb5de6e43f1a9397b0ea3caf2c950144 Mon Sep 17 00:00:00 2001 From: Steve Date: Tue, 26 Dec 2023 20:13:01 -0300 Subject: [PATCH 52/65] Exercise mod30 finished --- mod30/exercise_mod30/db.properties | 4 + mod30/exercise_mod30/exemplos.sql | 40 ++++ .../src/application/Program.java | 56 +++++ mod30/exercise_mod30/src/db/DB.java | 70 ++++++ mod30/exercise_mod30/src/db/DbException.java | 9 + .../src/db/DbIntegrityException.java | 9 + .../src/model/dao/DaoFactory.java | 16 ++ .../src/model/dao/DepartmentDao.java | 14 ++ .../src/model/dao/SellerDao.java | 16 ++ .../src/model/dao/impl/DepartmentDaoJDBC.java | 153 ++++++++++++ .../src/model/dao/impl/SellerDaoJDBC.java | 219 ++++++++++++++++++ .../src/model/entities/Department.java | 65 ++++++ .../src/model/entities/Seller.java | 118 ++++++++++ 13 files changed, 789 insertions(+) create mode 100644 mod30/exercise_mod30/db.properties create mode 100644 mod30/exercise_mod30/exemplos.sql create mode 100644 mod30/exercise_mod30/src/application/Program.java create mode 100644 mod30/exercise_mod30/src/db/DB.java create mode 100644 mod30/exercise_mod30/src/db/DbException.java create mode 100644 mod30/exercise_mod30/src/db/DbIntegrityException.java create mode 100644 mod30/exercise_mod30/src/model/dao/DaoFactory.java create mode 100644 mod30/exercise_mod30/src/model/dao/DepartmentDao.java create mode 100644 mod30/exercise_mod30/src/model/dao/SellerDao.java create mode 100644 mod30/exercise_mod30/src/model/dao/impl/DepartmentDaoJDBC.java create mode 100644 mod30/exercise_mod30/src/model/dao/impl/SellerDaoJDBC.java create mode 100644 mod30/exercise_mod30/src/model/entities/Department.java create mode 100644 mod30/exercise_mod30/src/model/entities/Seller.java diff --git a/mod30/exercise_mod30/db.properties b/mod30/exercise_mod30/db.properties new file mode 100644 index 0000000..053dc32 --- /dev/null +++ b/mod30/exercise_mod30/db.properties @@ -0,0 +1,4 @@ +user=developer +password=1234567 +dburl=jdbc:mysql://localhost:3306/Test_JDBC +useSSL=false \ No newline at end of file diff --git a/mod30/exercise_mod30/exemplos.sql b/mod30/exercise_mod30/exemplos.sql new file mode 100644 index 0000000..c6428a9 --- /dev/null +++ b/mod30/exercise_mod30/exemplos.sql @@ -0,0 +1,40 @@ +USE test_jdbc; + +-- Comando para adicionar a coluna 'Qualidades' à tabela 'seller' +ALTER TABLE seller +ADD COLUMN Qualidades VARCHAR(100) NOT NULL; + +-- Comando para criar a tabela department +CREATE TABLE department ( + Id int(11) NOT NULL AUTO_INCREMENT, + Name varchar(60) DEFAULT NULL, + PRIMARY KEY (Id) +); + +-- Comando para criar a tabela seller +CREATE TABLE seller ( + Id int(11) NOT NULL AUTO_INCREMENT, + Name varchar(60) NOT NULL, + Email varchar(100) NOT NULL, + BirthDate datetime NOT NULL, + BaseSalary double NOT NULL, + DepartmentId int(11) NOT NULL, + Qualidades varchar(100) NOT NULL, + PRIMARY KEY (Id), + FOREIGN KEY (DepartmentId) REFERENCES department (Id) +); + +-- Comandos para inserir dados nas tabelas +INSERT INTO department (Name) VALUES + ('Computers'), + ('Electronics'), + ('Fashion'), + ('Books'); + +INSERT INTO seller (Name, Email, BirthDate, BaseSalary, DepartmentId, Qualidades) VALUES + ('Bob Brown','bob@gmail.com','1998-04-21 00:00:00',1000,1, 'É bom em eletrônica'), + ('Maria Green','maria@gmail.com','1979-12-31 00:00:00',3500,2, 'Fala bem em público'), + ('Alex Grey','alex@gmail.com','1988-01-15 00:00:00',2200,1, 'É um excelente administrador'), + ('Martha Red','martha@gmail.com','1993-11-30 00:00:00',3000,4, 'Muito criativa'), + ('Donald Blue','donald@gmail.com','2000-01-09 00:00:00',4000,3, 'Fala Japonês fluente'), + ('Steve Vaz','Steve@gmail.com','2000-03-04 00:00:00',3000,2, 'Cientista da computação'); diff --git a/mod30/exercise_mod30/src/application/Program.java b/mod30/exercise_mod30/src/application/Program.java new file mode 100644 index 0000000..6a4ee91 --- /dev/null +++ b/mod30/exercise_mod30/src/application/Program.java @@ -0,0 +1,56 @@ +package application; + +import java.util.Date; +import java.util.List; +import java.util.Scanner; + +import model.dao.DaoFactory; +import model.dao.SellerDao; +import model.entities.Department; +import model.entities.Seller; + +public class Program { + + public static void main(String[] args) { + + Scanner sc = new Scanner(System.in); + + SellerDao sellerDao = DaoFactory.createSellerDao(); + + System.out.println("=== TEST 1: seller findById ====="); + Seller seller = sellerDao.findById(3); + System.out.println(seller); + + System.out.println("\n=== TEST 2: seller findByDepartment ====="); + Department department = new Department(2, null); + List list = sellerDao.findByDepartment(department); + for (Seller obj : list) { + System.out.println(obj); + } + + System.out.println("\n=== TEST 3: seller findAll ====="); + list = sellerDao.findAll(); + for (Seller obj : list) { + System.out.println(obj); + } + + System.out.println("\n=== TEST 4: seller insert ====="); + Seller newSeller = new Seller(null, "Greg", "greg@gmail.com", new Date(), 4000.0, department, "É bom em eletrônica"); + sellerDao.insert(newSeller); + System.out.println("Inserted! New id = " + newSeller.getId()); + + System.out.println("\n=== TEST 5: seller update ====="); + seller = sellerDao.findById(1); + seller.setName("Martha Waine"); + sellerDao.update(seller); + System.out.println("Update completed"); + + System.out.println("\n=== TEST 6: seller delete ====="); + System.out.println("Enter id for delete test: "); + int id = sc.nextInt(); + sellerDao.deleteById(id); + System.out.println("Delete completed"); + + sc.close(); + } +} diff --git a/mod30/exercise_mod30/src/db/DB.java b/mod30/exercise_mod30/src/db/DB.java new file mode 100644 index 0000000..b0b5fd5 --- /dev/null +++ b/mod30/exercise_mod30/src/db/DB.java @@ -0,0 +1,70 @@ +package db; + +import java.io.FileInputStream; +import java.io.IOException; +import java.sql.Connection; +import java.sql.DriverManager; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.Properties; + +public class DB { + + private static Connection conn = null; + + public static Connection getConnection() { + if (conn == null) { + try { + Properties props = loadProperties(); + String url = props.getProperty("dburl"); + conn = DriverManager.getConnection(url, props); + } + catch (SQLException e) { + throw new DbException(e.getMessage()); + } + } + return conn; + } + + public static void closeConnection() { + if (conn != null) { + try { + conn.close(); + } catch (SQLException e) { + throw new DbException(e.getMessage()); + } + } + } + + private static Properties loadProperties() { + try (FileInputStream fs = new FileInputStream("db.properties")) { + Properties props = new Properties(); + props.load(fs); + return props; + } + catch (IOException e) { + throw new DbException(e.getMessage()); + } + } + + public static void closeStatement(Statement st) { + if (st != null) { + try { + st.close(); + } catch (SQLException e) { + throw new DbException(e.getMessage()); + } + } + } + + public static void closeResultSet(ResultSet rs) { + if (rs != null) { + try { + rs.close(); + } catch (SQLException e) { + throw new DbException(e.getMessage()); + } + } + } +} diff --git a/mod30/exercise_mod30/src/db/DbException.java b/mod30/exercise_mod30/src/db/DbException.java new file mode 100644 index 0000000..e37deb4 --- /dev/null +++ b/mod30/exercise_mod30/src/db/DbException.java @@ -0,0 +1,9 @@ +package db; + +public class DbException extends RuntimeException { + private static final long serialVersionUID = 1L; + + public DbException(String msg) { + super(msg); + } +} diff --git a/mod30/exercise_mod30/src/db/DbIntegrityException.java b/mod30/exercise_mod30/src/db/DbIntegrityException.java new file mode 100644 index 0000000..fea711e --- /dev/null +++ b/mod30/exercise_mod30/src/db/DbIntegrityException.java @@ -0,0 +1,9 @@ +package db; + +public class DbIntegrityException extends RuntimeException { + private static final long serialVersionUID = 1L; + + public DbIntegrityException(String msg) { + super(msg); + } +} diff --git a/mod30/exercise_mod30/src/model/dao/DaoFactory.java b/mod30/exercise_mod30/src/model/dao/DaoFactory.java new file mode 100644 index 0000000..d2aa1f0 --- /dev/null +++ b/mod30/exercise_mod30/src/model/dao/DaoFactory.java @@ -0,0 +1,16 @@ +package model.dao; + +import db.DB; +import model.dao.impl.DepartmentDaoJDBC; +import model.dao.impl.SellerDaoJDBC; + +public class DaoFactory { + + public static SellerDao createSellerDao() { + return new SellerDaoJDBC(DB.getConnection()); + } + + public static DepartmentDao createDepartmentDao() { + return new DepartmentDaoJDBC(DB.getConnection()); + } +} diff --git a/mod30/exercise_mod30/src/model/dao/DepartmentDao.java b/mod30/exercise_mod30/src/model/dao/DepartmentDao.java new file mode 100644 index 0000000..27b0816 --- /dev/null +++ b/mod30/exercise_mod30/src/model/dao/DepartmentDao.java @@ -0,0 +1,14 @@ +package model.dao; + +import java.util.List; + +import model.entities.Department; + +public interface DepartmentDao { + + void insert(Department obj); + void update(Department obj); + void deleteById(Integer id); + Department findById(Integer id); + List findAll(); +} diff --git a/mod30/exercise_mod30/src/model/dao/SellerDao.java b/mod30/exercise_mod30/src/model/dao/SellerDao.java new file mode 100644 index 0000000..44c129c --- /dev/null +++ b/mod30/exercise_mod30/src/model/dao/SellerDao.java @@ -0,0 +1,16 @@ +package model.dao; + +import java.util.List; + +import model.entities.Department; +import model.entities.Seller; + +public interface SellerDao { + + void insert(Seller obj); + void update(Seller obj); + void deleteById(Integer id); + Seller findById(Integer id); + List findAll(); + List findByDepartment(Department department); +} diff --git a/mod30/exercise_mod30/src/model/dao/impl/DepartmentDaoJDBC.java b/mod30/exercise_mod30/src/model/dao/impl/DepartmentDaoJDBC.java new file mode 100644 index 0000000..b134d17 --- /dev/null +++ b/mod30/exercise_mod30/src/model/dao/impl/DepartmentDaoJDBC.java @@ -0,0 +1,153 @@ +package model.dao.impl; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.sql.Statement; +import java.util.ArrayList; +import java.util.List; + +import db.DB; +import db.DbException; +import db.DbIntegrityException; +import model.dao.DepartmentDao; +import model.entities.Department; + +public class DepartmentDaoJDBC implements DepartmentDao { + + private Connection conn; + + public DepartmentDaoJDBC(Connection conn) { + this.conn = conn; + } + + @Override + public Department findById(Integer id) { + PreparedStatement st = null; + ResultSet rs = null; + try { + st = conn.prepareStatement( + "SELECT * FROM department WHERE Id = ?"); + st.setInt(1, id); + rs = st.executeQuery(); + if (rs.next()) { + Department obj = new Department(); + obj.setId(rs.getInt("Id")); + obj.setName(rs.getString("Name")); + return obj; + } + return null; + } + catch (SQLException e) { + throw new DbException(e.getMessage()); + } + finally { + DB.closeStatement(st); + DB.closeResultSet(rs); + } + } + + @Override + public List findAll() { + PreparedStatement st = null; + ResultSet rs = null; + try { + st = conn.prepareStatement( + "SELECT * FROM department ORDER BY Name"); + rs = st.executeQuery(); + + List list = new ArrayList<>(); + + while (rs.next()) { + Department obj = new Department(); + obj.setId(rs.getInt("Id")); + obj.setName(rs.getString("Name")); + list.add(obj); + } + return list; + } + catch (SQLException e) { + throw new DbException(e.getMessage()); + } + finally { + DB.closeStatement(st); + DB.closeResultSet(rs); + } + } + + @Override + public void insert(Department obj) { + PreparedStatement st = null; + try { + st = conn.prepareStatement( + "INSERT INTO department " + + "(Name) " + + "VALUES " + + "(?)", + Statement.RETURN_GENERATED_KEYS); + + st.setString(1, obj.getName()); + + int rowsAffected = st.executeUpdate(); + + if (rowsAffected > 0) { + ResultSet rs = st.getGeneratedKeys(); + if (rs.next()) { + int id = rs.getInt(1); + obj.setId(id); + } + } + else { + throw new DbException("Unexpected error! No rows affected!"); + } + } + catch (SQLException e) { + throw new DbException(e.getMessage()); + } + finally { + DB.closeStatement(st); + } + } + + @Override + public void update(Department obj) { + PreparedStatement st = null; + try { + st = conn.prepareStatement( + "UPDATE department " + + "SET Name = ? " + + "WHERE Id = ?"); + + st.setString(1, obj.getName()); + st.setInt(2, obj.getId()); + + st.executeUpdate(); + } + catch (SQLException e) { + throw new DbException(e.getMessage()); + } + finally { + DB.closeStatement(st); + } + } + + @Override + public void deleteById(Integer id) { + PreparedStatement st = null; + try { + st = conn.prepareStatement( + "DELETE FROM department WHERE Id = ?"); + + st.setInt(1, id); + + st.executeUpdate(); + } + catch (SQLException e) { + throw new DbIntegrityException(e.getMessage()); + } + finally { + DB.closeStatement(st); + } + } +} diff --git a/mod30/exercise_mod30/src/model/dao/impl/SellerDaoJDBC.java b/mod30/exercise_mod30/src/model/dao/impl/SellerDaoJDBC.java new file mode 100644 index 0000000..dccaba6 --- /dev/null +++ b/mod30/exercise_mod30/src/model/dao/impl/SellerDaoJDBC.java @@ -0,0 +1,219 @@ +package model.dao.impl; + +import java.sql.Connection; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.SQLException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import com.mysql.jdbc.Statement; + +import db.DB; +import db.DbException; +import model.dao.SellerDao; +import model.entities.Department; +import model.entities.Seller; + +public class SellerDaoJDBC implements SellerDao { + + private Connection conn; + + public SellerDaoJDBC(Connection conn) { + this.conn = conn; + } + + @Override + public void insert(Seller obj) { + PreparedStatement st = null; + try { + st = conn.prepareStatement("INSERT INTO seller " + + "(Name, Email, BirthDate, BaseSalary, DepartmentId, Qualidades) " + + "VALUES (?, ?, ?, ?, ?, ?)", + Statement.RETURN_GENERATED_KEYS); + + st.setString(1, obj.getName()); + st.setString(2, obj.getEmail()); + st.setDate(3, new java.sql.Date(obj.getBirthDate().getTime())); + st.setDouble(4, obj.getBaseSalary()); + st.setInt(5, obj.getDepartment().getId()); + st.setString(6, obj.getQualidade()); // Adiciona Qualidades + + int rowsAffected = st.executeUpdate(); + + if (rowsAffected > 0) { + ResultSet rs = st.getGeneratedKeys(); + if (rs.next()) { + int id = rs.getInt(1); + obj.setId(id); + } + DB.closeResultSet(rs); + } else { + throw new DbException("Unexpected error! No rows affected!"); + } + } catch (SQLException e) { + throw new DbException(e.getMessage()); + } finally { + DB.closeStatement(st); + } + } + + @Override + public void update(Seller obj) { + PreparedStatement st = null; + try { + st = conn.prepareStatement("UPDATE seller " + + "SET Name = ?, Email = ?, BirthDate = ?, BaseSalary = ?, DepartmentId = ?, Qualidades = ? " + + "WHERE Id = ?"); + + st.setString(1, obj.getName()); + st.setString(2, obj.getEmail()); + st.setDate(3, new java.sql.Date(obj.getBirthDate().getTime())); + st.setDouble(4, obj.getBaseSalary()); + st.setInt(5, obj.getDepartment().getId()); + st.setString(6, obj.getQualidade()); // Adiciona Qualidades + st.setInt(7, obj.getId()); + + st.executeUpdate(); + } catch (SQLException e) { + throw new DbException(e.getMessage()); + } finally { + DB.closeStatement(st); + } + } + + @Override + public void deleteById(Integer id) { + PreparedStatement st = null; + try { + st = conn.prepareStatement("DELETE FROM seller WHERE Id = ?"); + + st.setInt(1, id); + + st.executeUpdate(); + } catch (SQLException e) { + throw new DbException(e.getMessage()); + } finally { + DB.closeStatement(st); + } + } + + @Override + public Seller findById(Integer id) { + PreparedStatement st = null; + ResultSet rs = null; + try { + st = conn.prepareStatement( + "SELECT seller.*, department.Name as DepName, seller.Qualidades " + "FROM seller INNER JOIN department " + + "ON seller.DepartmentId = department.Id " + "WHERE seller.Id = ?"); + + st.setInt(1, id); + rs = st.executeQuery(); + if (rs.next()) { + Department dep = instantiateDepartment(rs); + Seller obj = instantiateSeller(rs, dep); + return obj; + } + return null; + } catch (SQLException e) { + throw new DbException(e.getMessage()); + } finally { + DB.closeStatement(st); + DB.closeResultSet(rs); + } + } + + private Seller instantiateSeller(ResultSet rs, Department dep) throws SQLException { + Seller obj = new Seller(); + obj.setId(rs.getInt("Id")); + obj.setName(rs.getString("Name")); + obj.setEmail(rs.getString("Email")); + obj.setBaseSalary(rs.getDouble("BaseSalary")); + obj.setBirthDate(rs.getDate("BirthDate")); + obj.setDepartment(dep); + obj.setQualidade(rs.getString("Qualidades")); // Altera para obter a coluna Qualidades + return obj; + } + + + private Department instantiateDepartment(ResultSet rs) throws SQLException { + Department dep = new Department(); + dep.setId(rs.getInt("DepartmentId")); + dep.setName(rs.getString("DepName")); + return dep; + } + + @Override + public List findAll() { + PreparedStatement st = null; + ResultSet rs = null; + try { + st = conn.prepareStatement( + "SELECT seller.*,department.Name as DepName " + "FROM seller INNER JOIN department " + + "ON seller.DepartmentId = department.Id " + "ORDER BY Name"); + + rs = st.executeQuery(); + + List list = new ArrayList<>(); + Map map = new HashMap<>(); + + while (rs.next()) { + + Department dep = map.get(rs.getInt("DepartmentId")); + + if (dep == null) { + dep = instantiateDepartment(rs); + map.put(rs.getInt("DepartmentId"), dep); + } + + Seller obj = instantiateSeller(rs, dep); + list.add(obj); + } + return list; + } catch (SQLException e) { + throw new DbException(e.getMessage()); + } finally { + DB.closeStatement(st); + DB.closeResultSet(rs); + } + } + + @Override + public List findByDepartment(Department department) { + PreparedStatement st = null; + ResultSet rs = null; + try { + st = conn.prepareStatement( + "SELECT seller.*,department.Name as DepName " + "FROM seller INNER JOIN department " + + "ON seller.DepartmentId = department.Id " + "WHERE DepartmentId = ? " + "ORDER BY Name"); + + st.setInt(1, department.getId()); + + rs = st.executeQuery(); + + List list = new ArrayList<>(); + Map map = new HashMap<>(); + + while (rs.next()) { + + Department dep = map.get(rs.getInt("DepartmentId")); + + if (dep == null) { + dep = instantiateDepartment(rs); + map.put(rs.getInt("DepartmentId"), dep); + } + + Seller obj = instantiateSeller(rs, dep); + list.add(obj); + } + return list; + } catch (SQLException e) { + throw new DbException(e.getMessage()); + } finally { + DB.closeStatement(st); + DB.closeResultSet(rs); + } + } +} diff --git a/mod30/exercise_mod30/src/model/entities/Department.java b/mod30/exercise_mod30/src/model/entities/Department.java new file mode 100644 index 0000000..d94c058 --- /dev/null +++ b/mod30/exercise_mod30/src/model/entities/Department.java @@ -0,0 +1,65 @@ +package model.entities; + +import java.io.Serializable; + +public class Department implements Serializable { + + private static final long serialVersionUID = 1L; + + private Integer id; + private String name; + + public Department() { + } + + public Department(Integer id, String name) { + this.id = id; + this.name = name; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((id == null) ? 0 : id.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + Department other = (Department) obj; + if (id == null) { + if (other.id != null) + return false; + } else if (!id.equals(other.id)) + return false; + return true; + } + + @Override + public String toString() { + return "Department [id=" + id + ", name=" + name + "]"; + } +} diff --git a/mod30/exercise_mod30/src/model/entities/Seller.java b/mod30/exercise_mod30/src/model/entities/Seller.java new file mode 100644 index 0000000..357a96e --- /dev/null +++ b/mod30/exercise_mod30/src/model/entities/Seller.java @@ -0,0 +1,118 @@ +package model.entities; + +import java.io.Serializable; +import java.util.Date; + +public class Seller implements Serializable { + + private static final long serialVersionUID = 1L; + + private Integer id; + private String name; + private String email; + private Date birthDate; + private Double baseSalary; + private String qualidade; + + private Department department; + + public Seller() { + } + + public Seller(Integer id, String name, String email, Date birthDate, Double baseSalary, Department department, String qualidade) { + this.id = id; + this.name = name; + this.email = email; + this.birthDate = birthDate; + this.baseSalary = baseSalary; + this.department = department; + this.qualidade = qualidade; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public Date getBirthDate() { + return birthDate; + } + + public void setBirthDate(Date birthDate) { + this.birthDate = birthDate; + } + + public Double getBaseSalary() { + return baseSalary; + } + + public void setBaseSalary(Double baseSalary) { + this.baseSalary = baseSalary; + } + + public Department getDepartment() { + return department; + } + + public void setDepartment(Department department) { + this.department = department; + } + + public String getQualidade() { + return qualidade; + } + + public void setQualidade(String qualidade) { + this.qualidade = qualidade; + } + + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((id == null) ? 0 : id.hashCode()); + return result; + } + + @Override + public boolean equals(Object obj) { + if (this == obj) + return true; + if (obj == null) + return false; + if (getClass() != obj.getClass()) + return false; + Seller other = (Seller) obj; + if (id == null) { + if (other.id != null) + return false; + } else if (!id.equals(other.id)) + return false; + return true; + } + + @Override + public String toString() { + return "Seller [id=" + id + ", name=" + name + ", email=" + email + ", birthDate=" + birthDate + ", baseSalary=" + + baseSalary + ", department=" + department + ", qualidade=" + qualidade +"]"; + } +} From ea03a3c657dfd5fba7800b9ada96ebb62dec2031 Mon Sep 17 00:00:00 2001 From: Steve Date: Sat, 30 Dec 2023 17:00:29 -0300 Subject: [PATCH 53/65] Finished exercise mod32 --- mod32/exercisejpamaven/pom.xml | 36 ++++++++ .../src/main/java/application/Program.java | 85 +++++++++++++++++++ .../src/main/java/dominio/Pessoa.java | 60 +++++++++++++ .../main/resources/META-INF/persistence.xml | 21 +++++ 4 files changed, 202 insertions(+) create mode 100644 mod32/exercisejpamaven/pom.xml create mode 100644 mod32/exercisejpamaven/src/main/java/application/Program.java create mode 100644 mod32/exercisejpamaven/src/main/java/dominio/Pessoa.java create mode 100644 mod32/exercisejpamaven/src/main/resources/META-INF/persistence.xml diff --git a/mod32/exercisejpamaven/pom.xml b/mod32/exercisejpamaven/pom.xml new file mode 100644 index 0000000..27d0087 --- /dev/null +++ b/mod32/exercisejpamaven/pom.xml @@ -0,0 +1,36 @@ + + 4.0.0 + com.educando.web + exercisejpamaven + 0.0.1-SNAPSHOT + + + 17 + 17 + + + + + + org.hibernate + hibernate-core + 5.4.12.Final + + + + org.hibernate + hibernate-entitymanager + 5.4.12.Final + + + + mysql + mysql-connector-java + 8.0.19 + + + + \ No newline at end of file diff --git a/mod32/exercisejpamaven/src/main/java/application/Program.java b/mod32/exercisejpamaven/src/main/java/application/Program.java new file mode 100644 index 0000000..0b8de29 --- /dev/null +++ b/mod32/exercisejpamaven/src/main/java/application/Program.java @@ -0,0 +1,85 @@ +package application; + +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.Persistence; +import java.util.Scanner; + +import dominio.Pessoa; + +public class Program { + + public static void main(String[] args) { + + Scanner scanner = new Scanner(System.in); + + // Criação do EntityManagerFactory e do EntityManager + EntityManagerFactory emf = Persistence.createEntityManagerFactory("exemplo-jpa"); + EntityManager em = emf.createEntityManager(); + + // Cadastro de uma nova pessoa + System.out.print("Digite o nome da pessoa:"); + String nome = scanner.nextLine(); + + System.out.print("Digite o email da pessoa:"); + String email = scanner.nextLine(); + + Pessoa novaPessoa = new Pessoa(null, nome, email); + + em.getTransaction().begin(); + em.persist(novaPessoa); + em.getTransaction().commit(); + + System.out.println("\nPessoa cadastrada com sucesso!"); + + // Consulta de todas as pessoas + System.out.println("\nLista de pessoas cadastradas:\n"); + em.createQuery("SELECT p FROM Pessoa p", Pessoa.class) + .getResultList() + .forEach(System.out::println); + + // Remoção de uma pessoa pelo ID + System.out.print("\nDigite o ID da pessoa que deseja remover:"); + int idParaRemover = scanner.nextInt(); + Pessoa pessoaParaRemover = em.find(Pessoa.class, idParaRemover); + + if (pessoaParaRemover != null) { + em.getTransaction().begin(); + em.remove(pessoaParaRemover); + em.getTransaction().commit(); + System.out.println("Pessoa removida com sucesso!"); + } else { + System.out.println("Pessoa não encontrada."); + } + + // Atualização de uma pessoa pelo ID + System.out.print("Digite o ID da pessoa que deseja atualizar:"); + int idParaAtualizar = scanner.nextInt(); + Pessoa pessoaParaAtualizar = em.find(Pessoa.class, idParaAtualizar); + + if (pessoaParaAtualizar != null) { + scanner.nextLine(); // Consumir a quebra de linha pendente + + System.out.print("Digite o novo nome da pessoa:"); + String novoNome = scanner.nextLine(); + + System.out.print("Digite o novo email da pessoa:"); + String novoEmail = scanner.nextLine(); + + em.getTransaction().begin(); + pessoaParaAtualizar.setNome(novoNome); + pessoaParaAtualizar.setEmail(novoEmail); + em.getTransaction().commit(); + + System.out.println("Pessoa atualizada com sucesso!"); + } else { + System.out.println("Pessoa não encontrada."); + } + + // Fechamento do EntityManager e do EntityManagerFactory + em.close(); + emf.close(); + + scanner.close(); + } +} diff --git a/mod32/exercisejpamaven/src/main/java/dominio/Pessoa.java b/mod32/exercisejpamaven/src/main/java/dominio/Pessoa.java new file mode 100644 index 0000000..c76a082 --- /dev/null +++ b/mod32/exercisejpamaven/src/main/java/dominio/Pessoa.java @@ -0,0 +1,60 @@ +package dominio; + +import java.io.Serializable; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; + +@Entity() +public class Pessoa implements Serializable { + + private static final long serialVersionUID = 1L; + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer id; + private String nome; + private String email; + + public Pessoa() { + + } + + public Pessoa(Integer id, String nome, String email) { + super(); + this.id = id; + this.nome = nome; + this.email = email; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id = id; + } + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + @Override + public String toString() { + return "pessoa [id=" + id + ", nome=" + nome + ", email=" + email + "]"; + } +} diff --git a/mod32/exercisejpamaven/src/main/resources/META-INF/persistence.xml b/mod32/exercisejpamaven/src/main/resources/META-INF/persistence.xml new file mode 100644 index 0000000..b704429 --- /dev/null +++ b/mod32/exercisejpamaven/src/main/resources/META-INF/persistence.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + \ No newline at end of file From bd6d091900331e7816719875701d855389fa8166 Mon Sep 17 00:00:00 2001 From: Steve Date: Mon, 1 Jan 2024 00:21:44 -0300 Subject: [PATCH 54/65] Implementing a more robust foundation for the completion of mod32 --- mod32/exercisejpamaven/pom.xml | 18 ++- .../main/java/application/ProdutoService.java | 144 ++++++++++++++++++ .../java/application/ProdutoServiceTest.java | 70 +++++++++ .../src/main/java/application/Program.java | 85 ----------- .../main/java/dominio/DepartamentoVendas.java | 44 ++++++ .../src/main/java/dominio/Pessoa.java | 60 -------- .../src/main/java/dominio/Produto.java | 60 ++++++++ .../main/resources/META-INF/persistence.xml | 4 +- 8 files changed, 332 insertions(+), 153 deletions(-) create mode 100644 mod32/exercisejpamaven/src/main/java/application/ProdutoService.java create mode 100644 mod32/exercisejpamaven/src/main/java/application/ProdutoServiceTest.java delete mode 100644 mod32/exercisejpamaven/src/main/java/application/Program.java create mode 100644 mod32/exercisejpamaven/src/main/java/dominio/DepartamentoVendas.java delete mode 100644 mod32/exercisejpamaven/src/main/java/dominio/Pessoa.java create mode 100644 mod32/exercisejpamaven/src/main/java/dominio/Produto.java diff --git a/mod32/exercisejpamaven/pom.xml b/mod32/exercisejpamaven/pom.xml index 27d0087..36c37f2 100644 --- a/mod32/exercisejpamaven/pom.xml +++ b/mod32/exercisejpamaven/pom.xml @@ -12,25 +12,31 @@ - + org.hibernate hibernate-core 5.4.12.Final - org.hibernate hibernate-entitymanager 5.4.12.Final - + + mysql mysql-connector-java 8.0.19 - - \ No newline at end of file + + + junit + junit + 4.13.1 + test + + + diff --git a/mod32/exercisejpamaven/src/main/java/application/ProdutoService.java b/mod32/exercisejpamaven/src/main/java/application/ProdutoService.java new file mode 100644 index 0000000..46e1525 --- /dev/null +++ b/mod32/exercisejpamaven/src/main/java/application/ProdutoService.java @@ -0,0 +1,144 @@ +package application; + +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.EntityTransaction; +import javax.persistence.Persistence; +import dominio.DepartamentoVendas; +import dominio.Produto; +import java.util.List; + +public class ProdutoService { + + private EntityManagerFactory entityManagerFactory; + + public ProdutoService() { + this.entityManagerFactory = Persistence.createEntityManagerFactory("jpa"); + } + + public void cadastrarProduto(Produto produto) { + EntityManager entityManager = criarEntityManager(); + EntityTransaction transaction = entityManager.getTransaction(); + + try { + transaction.begin(); + entityManager.persist(produto); + transaction.commit(); + System.out.println("Produto cadastrado com sucesso."); + } catch (Exception e) { + if (transaction.isActive()) { + transaction.rollback(); + } + e.printStackTrace(); + } finally { + entityManager.close(); + } + } + + public void cadastrarDepartamento(DepartamentoVendas departamento) { + EntityManager entityManager = criarEntityManager(); + EntityTransaction transaction = entityManager.getTransaction(); + + try { + transaction.begin(); + entityManager.persist(departamento); + transaction.commit(); + System.out.println("Departamento cadastrado com sucesso."); + } catch (Exception e) { + if (transaction.isActive()) { + transaction.rollback(); + } + e.printStackTrace(); + } finally { + entityManager.close(); + } + } + + public void excluirProdutoPorId(long produtoId) { + EntityManager entityManager = criarEntityManager(); + EntityTransaction transaction = entityManager.getTransaction(); + + try { + transaction.begin(); + Produto produto = entityManager.find(Produto.class, produtoId); + + if (produto != null) { + entityManager.remove(produto); + transaction.commit(); + System.out.println("Produto excluído com sucesso."); + } else { + System.out.println("Produto não encontrado."); + } + } catch (Exception e) { + if (transaction.isActive()) { + transaction.rollback(); + } + e.printStackTrace(); + } finally { + entityManager.close(); + } + } + + public void atualizarProduto(Produto produto) { + EntityManager entityManager = criarEntityManager(); + EntityTransaction transaction = entityManager.getTransaction(); + + try { + transaction.begin(); + Produto produtoExistente = entityManager.find(Produto.class, produto.getId()); + + if (produtoExistente != null) { + // Atualiza os campos desejados + produtoExistente.setNome(produto.getNome()); + produtoExistente.setPreco(produto.getPreco()); + produtoExistente.setDepartamento(produto.getDepartamento()); + + entityManager.merge(produtoExistente); + transaction.commit(); + System.out.println("Produto atualizado com sucesso."); + } else { + System.out.println("Produto não encontrado."); + } + } catch (Exception e) { + if (transaction.isActive()) { + transaction.rollback(); + } + e.printStackTrace(); + } finally { + entityManager.close(); + } + } + + public List buscarProdutosPorDepartamento(long departamentoId) { + EntityManager entityManager = criarEntityManager(); + + try { + return entityManager + .createQuery("SELECT p FROM Produto p WHERE p.departamento.id = :departamentoId", Produto.class) + .setParameter("departamentoId", departamentoId) + .getResultList(); + } finally { + entityManager.close(); + } + } + + public DepartamentoVendas buscarDepartamentoPorId(long id) { + EntityManager entityManager = criarEntityManager(); + + try { + return entityManager.find(DepartamentoVendas.class, id); + } finally { + entityManager.close(); + } + } + + public void fecharConexao() { + if (entityManagerFactory != null && entityManagerFactory.isOpen()) { + entityManagerFactory.close(); + } + } + + private EntityManager criarEntityManager() { + return entityManagerFactory.createEntityManager(); + } +} \ No newline at end of file diff --git a/mod32/exercisejpamaven/src/main/java/application/ProdutoServiceTest.java b/mod32/exercisejpamaven/src/main/java/application/ProdutoServiceTest.java new file mode 100644 index 0000000..1df6d21 --- /dev/null +++ b/mod32/exercisejpamaven/src/main/java/application/ProdutoServiceTest.java @@ -0,0 +1,70 @@ +package application; + +import dominio.DepartamentoVendas; +import dominio.Produto; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import java.util.List; +import java.util.Scanner; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +public class ProdutoServiceTest { + + private ProdutoService produtoService; + private Scanner scanner; + + @Before + public void setUp() { + produtoService = new ProdutoService(); + scanner = new Scanner(System.in); + } + + @After + public void tearDown() { + produtoService.fecharConexao(); + scanner.close(); + } + + @Test + public void testCRUDOperations() { + // Simulando a entrada do usuário para criar um departamento + System.out.print("Digite o nome do departamento: "); + String nomeDepartamento = scanner.nextLine(); + + DepartamentoVendas departamento = new DepartamentoVendas(); + departamento.setNome(nomeDepartamento); + + produtoService.cadastrarDepartamento(departamento); + + // Simulando a entrada do usuário para criar um produto + System.out.print("Digite o nome do produto: "); + String nomeProduto = scanner.nextLine(); + + System.out.print("Digite o preço do produto: "); + double precoProduto = scanner.nextDouble(); + + Produto produto = new Produto(); + produto.setNome(nomeProduto); + produto.setPreco(precoProduto); + produto.setDepartamento(departamento); + + // Agora está cadastrando o produto, não o departamento + produtoService.cadastrarProduto(produto); + + // Simule a busca de produtos por departamento + List produtosDoDepartamento = produtoService.buscarProdutosPorDepartamento(departamento.getId()); + + // Verificações + assertNotNull(produtosDoDepartamento); + assertEquals(1, produtosDoDepartamento.size()); + Produto produtoEncontrado = produtosDoDepartamento.get(0); + + assertEquals(nomeProduto, produtoEncontrado.getNome()); + assertEquals(precoProduto, produtoEncontrado.getPreco(), 0.01); + assertEquals(departamento.getId(), produtoEncontrado.getDepartamento().getId()); + } +} \ No newline at end of file diff --git a/mod32/exercisejpamaven/src/main/java/application/Program.java b/mod32/exercisejpamaven/src/main/java/application/Program.java deleted file mode 100644 index 0b8de29..0000000 --- a/mod32/exercisejpamaven/src/main/java/application/Program.java +++ /dev/null @@ -1,85 +0,0 @@ -package application; - -import javax.persistence.EntityManager; -import javax.persistence.EntityManagerFactory; -import javax.persistence.Persistence; -import java.util.Scanner; - -import dominio.Pessoa; - -public class Program { - - public static void main(String[] args) { - - Scanner scanner = new Scanner(System.in); - - // Criação do EntityManagerFactory e do EntityManager - EntityManagerFactory emf = Persistence.createEntityManagerFactory("exemplo-jpa"); - EntityManager em = emf.createEntityManager(); - - // Cadastro de uma nova pessoa - System.out.print("Digite o nome da pessoa:"); - String nome = scanner.nextLine(); - - System.out.print("Digite o email da pessoa:"); - String email = scanner.nextLine(); - - Pessoa novaPessoa = new Pessoa(null, nome, email); - - em.getTransaction().begin(); - em.persist(novaPessoa); - em.getTransaction().commit(); - - System.out.println("\nPessoa cadastrada com sucesso!"); - - // Consulta de todas as pessoas - System.out.println("\nLista de pessoas cadastradas:\n"); - em.createQuery("SELECT p FROM Pessoa p", Pessoa.class) - .getResultList() - .forEach(System.out::println); - - // Remoção de uma pessoa pelo ID - System.out.print("\nDigite o ID da pessoa que deseja remover:"); - int idParaRemover = scanner.nextInt(); - Pessoa pessoaParaRemover = em.find(Pessoa.class, idParaRemover); - - if (pessoaParaRemover != null) { - em.getTransaction().begin(); - em.remove(pessoaParaRemover); - em.getTransaction().commit(); - System.out.println("Pessoa removida com sucesso!"); - } else { - System.out.println("Pessoa não encontrada."); - } - - // Atualização de uma pessoa pelo ID - System.out.print("Digite o ID da pessoa que deseja atualizar:"); - int idParaAtualizar = scanner.nextInt(); - Pessoa pessoaParaAtualizar = em.find(Pessoa.class, idParaAtualizar); - - if (pessoaParaAtualizar != null) { - scanner.nextLine(); // Consumir a quebra de linha pendente - - System.out.print("Digite o novo nome da pessoa:"); - String novoNome = scanner.nextLine(); - - System.out.print("Digite o novo email da pessoa:"); - String novoEmail = scanner.nextLine(); - - em.getTransaction().begin(); - pessoaParaAtualizar.setNome(novoNome); - pessoaParaAtualizar.setEmail(novoEmail); - em.getTransaction().commit(); - - System.out.println("Pessoa atualizada com sucesso!"); - } else { - System.out.println("Pessoa não encontrada."); - } - - // Fechamento do EntityManager e do EntityManagerFactory - em.close(); - emf.close(); - - scanner.close(); - } -} diff --git a/mod32/exercisejpamaven/src/main/java/dominio/DepartamentoVendas.java b/mod32/exercisejpamaven/src/main/java/dominio/DepartamentoVendas.java new file mode 100644 index 0000000..ef5978f --- /dev/null +++ b/mod32/exercisejpamaven/src/main/java/dominio/DepartamentoVendas.java @@ -0,0 +1,44 @@ +package dominio; + +import javax.persistence.*; +import java.util.List; + +@Entity +@Table(name = "departamento_vendas") +public class DepartamentoVendas { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + private String nome; + + @OneToMany(mappedBy = "departamento", cascade = CascadeType.ALL) + private List produtos; + + // getters e setters + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public List getProdutos() { + return produtos; + } + + public void setProdutos(List produtos) { + this.produtos = produtos; + } +} diff --git a/mod32/exercisejpamaven/src/main/java/dominio/Pessoa.java b/mod32/exercisejpamaven/src/main/java/dominio/Pessoa.java deleted file mode 100644 index c76a082..0000000 --- a/mod32/exercisejpamaven/src/main/java/dominio/Pessoa.java +++ /dev/null @@ -1,60 +0,0 @@ -package dominio; - -import java.io.Serializable; - -import javax.persistence.Entity; -import javax.persistence.GeneratedValue; -import javax.persistence.GenerationType; -import javax.persistence.Id; - -@Entity() -public class Pessoa implements Serializable { - - private static final long serialVersionUID = 1L; - - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Integer id; - private String nome; - private String email; - - public Pessoa() { - - } - - public Pessoa(Integer id, String nome, String email) { - super(); - this.id = id; - this.nome = nome; - this.email = email; - } - - public Integer getId() { - return id; - } - - public void setId(Integer id) { - this.id = id; - } - - public String getNome() { - return nome; - } - - public void setNome(String nome) { - this.nome = nome; - } - - public String getEmail() { - return email; - } - - public void setEmail(String email) { - this.email = email; - } - - @Override - public String toString() { - return "pessoa [id=" + id + ", nome=" + nome + ", email=" + email + "]"; - } -} diff --git a/mod32/exercisejpamaven/src/main/java/dominio/Produto.java b/mod32/exercisejpamaven/src/main/java/dominio/Produto.java new file mode 100644 index 0000000..adda1a8 --- /dev/null +++ b/mod32/exercisejpamaven/src/main/java/dominio/Produto.java @@ -0,0 +1,60 @@ +package dominio; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.Table; + +@Entity +@Table(name = "produto") +public class Produto { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + private String nome; + + private double preco; + + @ManyToOne + @JoinColumn(name = "departamento_id") + private DepartamentoVendas departamento; + + // getters e setters + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public double getPreco() { + return preco; + } + + public void setPreco(double preco) { + this.preco = preco; + } + + public DepartamentoVendas getDepartamento() { + return departamento; + } + + public void setDepartamento(DepartamentoVendas departamento) { + this.departamento = departamento; + } +} diff --git a/mod32/exercisejpamaven/src/main/resources/META-INF/persistence.xml b/mod32/exercisejpamaven/src/main/resources/META-INF/persistence.xml index b704429..bc997cc 100644 --- a/mod32/exercisejpamaven/src/main/resources/META-INF/persistence.xml +++ b/mod32/exercisejpamaven/src/main/resources/META-INF/persistence.xml @@ -4,11 +4,11 @@ xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd" version="2.1"> - + value="jdbc:mysql://localhost:3306/jpa?useSSL=FALSE&serverTimezone=UTC" /> From e5fcdc1c6ff996b1a609cd83a6cdcf5cfd0d1361 Mon Sep 17 00:00:00 2001 From: Steve Date: Sat, 6 Jan 2024 22:02:51 -0300 Subject: [PATCH 55/65] Finished mod34 --- .../src/main/java/br/com/rpires/dao/MatriculaDao.java | 2 -- .../src/test/java/br/com/rpires/CursoTest.java | 1 - 2 files changed, 3 deletions(-) diff --git a/mod34/ExemploJPAHibernateOGMMongoDB/src/main/java/br/com/rpires/dao/MatriculaDao.java b/mod34/ExemploJPAHibernateOGMMongoDB/src/main/java/br/com/rpires/dao/MatriculaDao.java index a25cfea..22310ff 100644 --- a/mod34/ExemploJPAHibernateOGMMongoDB/src/main/java/br/com/rpires/dao/MatriculaDao.java +++ b/mod34/ExemploJPAHibernateOGMMongoDB/src/main/java/br/com/rpires/dao/MatriculaDao.java @@ -15,8 +15,6 @@ import javax.persistence.criteria.JoinType; import javax.persistence.criteria.Root; -import org.hibernate.Criteria; - import br.com.rpires.domain.Curso; import br.com.rpires.domain.Matricula; diff --git a/mod34/ExemploJPAMongoDBMorphia/src/test/java/br/com/rpires/CursoTest.java b/mod34/ExemploJPAMongoDBMorphia/src/test/java/br/com/rpires/CursoTest.java index 4c6c426..eea2462 100644 --- a/mod34/ExemploJPAMongoDBMorphia/src/test/java/br/com/rpires/CursoTest.java +++ b/mod34/ExemploJPAMongoDBMorphia/src/test/java/br/com/rpires/CursoTest.java @@ -7,7 +7,6 @@ import java.time.Instant; -import org.bson.types.ObjectId; import org.junit.Test; import br.com.rpires.dao.CursoDao; From e1e6aee27a5a95d4553a207b968a0d0cdfa867eb Mon Sep 17 00:00:00 2001 From: Steve Date: Sat, 6 Jan 2024 22:04:16 -0300 Subject: [PATCH 56/65] Finished mod35 --- .../br/com/rpires/dao/generic/GenericDAO.java | 350 +++++++++--------- .../com/rpires/dao/generic/IGenericDAO.java | 86 ++--- .../com/rpires/dao/generic/SingletonMap.java | 48 +-- .../dao/generic/jdbc/ConnectionFactory.java | 26 +- 4 files changed, 260 insertions(+), 250 deletions(-) diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/GenericDAO.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/GenericDAO.java index ff3200e..7cf6da6 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/GenericDAO.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/GenericDAO.java @@ -28,71 +28,72 @@ /** * @author rodrigo.pires * - * Classe genérica que implementa interface genérica com os métodos de CRUD + * Classe genérica que implementa interface genérica com os métodos de + * CRUD */ -public abstract class GenericDAO implements IGenericDAO { - - - public abstract Class getTipoClasse(); - - public abstract void atualiarDados(T entity, T entityCadastrado); - - protected abstract String getQueryInsercao(); - - protected abstract String getQueryExclusao(); - - protected abstract String getQueryAtualizacao(); - - protected abstract void setParametrosQueryInsercao(PreparedStatement stmInsert, T entity) throws SQLException; - - protected abstract void setParametrosQueryExclusao(PreparedStatement stmDelete, E valor) throws SQLException; - - protected abstract void setParametrosQueryAtualizacao(PreparedStatement stmUpdate, T entity) throws SQLException; - - protected abstract void setParametrosQuerySelect(PreparedStatement stmUpdate, E valor) throws SQLException; - - public GenericDAO() { - - } - - public E getChave(T entity) throws TipoChaveNaoEncontradaException { - Field[] fields = entity.getClass().getDeclaredFields(); - E returnValue = null; - for (Field field : fields) { - if (field.isAnnotationPresent(TipoChave.class)) { - TipoChave tipoChave = field.getAnnotation(TipoChave.class); - String nomeMetodo = tipoChave.value(); - try { - Method method = entity.getClass().getMethod(nomeMetodo); - returnValue = (E) method.invoke(entity); - return returnValue; - } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) { - //Criar exception de negócio TipoChaveNaoEncontradaException - e.printStackTrace(); - throw new TipoChaveNaoEncontradaException("Chave principal do objeto " + entity.getClass() + " não encontrada", e); - } - } - } - if (returnValue == null) { - String msg = "Chave principal do objeto " + entity.getClass() + " não encontrada"; - System.out.println("**** ERRO ****" + msg); - throw new TipoChaveNaoEncontradaException(msg); - } - return null; - } - - @Override - public Boolean cadastrar(T entity) throws TipoChaveNaoEncontradaException, DAOException { - Connection connection = null; - PreparedStatement stm = null; - try { - connection = getConnection(); +public abstract class GenericDAO implements IGenericDAO { + + public abstract Class getTipoClasse(); + + public abstract void atualiarDados(T entity, T entityCadastrado); + + protected abstract String getQueryInsercao(); + + protected abstract String getQueryExclusao(); + + protected abstract String getQueryAtualizacao(); + + protected abstract void setParametrosQueryInsercao(PreparedStatement stmInsert, T entity) throws SQLException; + + protected abstract void setParametrosQueryExclusao(PreparedStatement stmDelete, E valor) throws SQLException; + + protected abstract void setParametrosQueryAtualizacao(PreparedStatement stmUpdate, T entity) throws SQLException; + + protected abstract void setParametrosQuerySelect(PreparedStatement stmUpdate, E valor) throws SQLException; + + public GenericDAO() { + + } + + public E getChave(T entity) throws TipoChaveNaoEncontradaException { + Field[] fields = entity.getClass().getDeclaredFields(); + E returnValue = null; + for (Field field : fields) { + if (field.isAnnotationPresent(TipoChave.class)) { + TipoChave tipoChave = field.getAnnotation(TipoChave.class); + String nomeMetodo = tipoChave.value(); + try { + Method method = entity.getClass().getMethod(nomeMetodo); + returnValue = (E) method.invoke(entity); + return returnValue; + } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) { + // Criar exception de negócio TipoChaveNaoEncontradaException + e.printStackTrace(); + throw new TipoChaveNaoEncontradaException( + "Chave principal do objeto " + entity.getClass() + " não encontrada", e); + } + } + } + if (returnValue == null) { + String msg = "Chave principal do objeto " + entity.getClass() + " não encontrada"; + System.out.println("**** ERRO ****" + msg); + throw new TipoChaveNaoEncontradaException(msg); + } + return null; + } + + @Override + public Boolean cadastrar(T entity) throws TipoChaveNaoEncontradaException, DAOException { + Connection connection = null; + PreparedStatement stm = null; + try { + connection = getConnection(); stm = connection.prepareStatement(getQueryInsercao(), Statement.RETURN_GENERATED_KEYS); setParametrosQueryInsercao(stm, entity); int rowsAffected = stm.executeUpdate(); - if(rowsAffected > 0) { - try (ResultSet rs = stm.getGeneratedKeys()){ + if (rowsAffected > 0) { + try (ResultSet rs = stm.getGeneratedKeys()) { if (rs.next()) { Persistence per = (Persistence) entity; per.setId(rs.getLong(1)); @@ -100,37 +101,36 @@ public Boolean cadastrar(T entity) throws TipoChaveNaoEncontradaException, DAOEx } return true; } - + } catch (SQLException e) { throw new DAOException("ERRO CADASTRANDO OBJETO ", e); } finally { closeConnection(connection, stm, null); } return false; - } - + } - @Override - public void excluir(E valor) throws DAOException { - Connection connection = getConnection(); + @Override + public void excluir(E valor) throws DAOException { + Connection connection = getConnection(); PreparedStatement stm = null; try { stm = connection.prepareStatement(getQueryExclusao()); setParametrosQueryExclusao(stm, valor); int rowsAffected = stm.executeUpdate(); - + } catch (SQLException e) { throw new DAOException("ERRO EXCLUINDO OBJETO ", e); } finally { closeConnection(connection, stm, null); } - - } - @Override - public void alterar(T entity) throws TipoChaveNaoEncontradaException, DAOException { + } + + @Override + public void alterar(T entity) throws TipoChaveNaoEncontradaException, DAOException { - Connection connection = getConnection(); + Connection connection = getConnection(); PreparedStatement stm = null; try { stm = connection.prepareStatement(getQueryAtualizacao()); @@ -141,86 +141,91 @@ public void alterar(T entity) throws TipoChaveNaoEncontradaException, DAOExcepti } finally { closeConnection(connection, stm, null); } - - } - - @Override - public T consultar(E valor) throws MaisDeUmRegistroException, TableException, DAOException { - try { - validarMaisDeUmRegistro(valor); - Connection connection = getConnection(); - PreparedStatement stm = connection.prepareStatement("SELECT * FROM " + getTableName() + " WHERE " + getNomeCampoChave(getTipoClasse()) + " = ?"); + + } + + @Override + public T consultar(E valor) throws MaisDeUmRegistroException, TableException, DAOException { + try { + validarMaisDeUmRegistro(valor); + Connection connection = getConnection(); + PreparedStatement stm = connection.prepareStatement( + "SELECT * FROM " + getTableName() + " WHERE " + getNomeCampoChave(getTipoClasse()) + " = ?"); setParametrosQuerySelect(stm, valor); ResultSet rs = stm.executeQuery(); - if (rs.next()) { - T entity = getTipoClasse().getConstructor(null).newInstance(null); - Field[] fields = entity.getClass().getDeclaredFields(); - for (Field field : fields) { - if (field.isAnnotationPresent(ColunaTabela.class)) { - ColunaTabela coluna = field.getAnnotation(ColunaTabela.class); - String dbName = coluna.dbName(); - String javaSetName = coluna.setJavaName(); - Class classField = field.getType(); - try { - Method method = entity.getClass().getMethod(javaSetName, classField); - setValueByType(entity, method, classField, rs, dbName); - - } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) { - throw new DAOException("ERRO CONSULTANDO OBJETO ", e); - } catch (TipoElementoNaoConhecidoException e) { - throw new DAOException("ERRO CONSULTANDO OBJETO ", e); + if (rs.next()) { + T entity = getTipoClasse().getConstructor(null).newInstance(null); + Field[] fields = entity.getClass().getDeclaredFields(); + for (Field field : fields) { + if (field.isAnnotationPresent(ColunaTabela.class)) { + ColunaTabela coluna = field.getAnnotation(ColunaTabela.class); + String dbName = coluna.dbName(); + String javaSetName = coluna.setJavaName(); + Class classField = field.getType(); + try { + Method method = entity.getClass().getMethod(javaSetName, classField); + setValueByType(entity, method, classField, rs, dbName); + + } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) { + throw new DAOException("ERRO CONSULTANDO OBJETO ", e); + } catch (TipoElementoNaoConhecidoException e) { + throw new DAOException("ERRO CONSULTANDO OBJETO ", e); } - } - } - return entity; - } - - } catch (SQLException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException | TipoChaveNaoEncontradaException e) { + } + } + return entity; + } + + } catch (SQLException | InstantiationException | IllegalAccessException | IllegalArgumentException + | InvocationTargetException | NoSuchMethodException | SecurityException + | TipoChaveNaoEncontradaException e) { throw new DAOException("ERRO CONSULTANDO OBJETO ", e); - } - return null; - } - - public String getNomeCampoChave(Class clazz) throws TipoChaveNaoEncontradaException { - Field[] fields = clazz.getDeclaredFields(); - for (Field field : fields) { - if (field.isAnnotationPresent(TipoChave.class) - && field.isAnnotationPresent(ColunaTabela.class)) { - ColunaTabela coluna = field.getAnnotation(ColunaTabela.class); - return coluna.dbName(); - } - } - - return null; - } - - private void setValueByType(T entity, Method method, Class classField, ResultSet rs, String fieldName) throws IllegalAccessException, IllegalArgumentException, InvocationTargetException, SQLException, TipoElementoNaoConhecidoException { - - if (classField.equals(Integer.class)) { + } + return null; + } + + public String getNomeCampoChave(Class clazz) throws TipoChaveNaoEncontradaException { + Field[] fields = clazz.getDeclaredFields(); + for (Field field : fields) { + if (field.isAnnotationPresent(TipoChave.class) && field.isAnnotationPresent(ColunaTabela.class)) { + ColunaTabela coluna = field.getAnnotation(ColunaTabela.class); + return coluna.dbName(); + } + } + + return null; + } + + private void setValueByType(T entity, Method method, Class classField, ResultSet rs, String fieldName) + throws IllegalAccessException, IllegalArgumentException, InvocationTargetException, SQLException, + TipoElementoNaoConhecidoException { + + if (classField.equals(Integer.class)) { Integer val = rs.getInt(fieldName); method.invoke(entity, val); } else if (classField.equals(Long.class)) { Long val = rs.getLong(fieldName); method.invoke(entity, val); } else if (classField.equals(Double.class)) { - Double val = rs.getDouble(fieldName); + Double val = rs.getDouble(fieldName); method.invoke(entity, val); } else if (classField.equals(Short.class)) { - Short val = rs.getShort(fieldName); + Short val = rs.getShort(fieldName); method.invoke(entity, val); } else if (classField.equals(BigDecimal.class)) { - BigDecimal val = rs.getBigDecimal(fieldName); + BigDecimal val = rs.getBigDecimal(fieldName); method.invoke(entity, val); } else if (classField.equals(String.class)) { - String val = rs.getString(fieldName); + String val = rs.getString(fieldName); method.invoke(entity, val); } else { throw new TipoElementoNaoConhecidoException("TIPO DE CLASSE NÃO CONHECIDO: " + classField); } - + } - private Object getValueByType(Class typeField, ResultSet rs, String fieldName) throws SQLException, TipoElementoNaoConhecidoException { + private Object getValueByType(Class typeField, ResultSet rs, String fieldName) + throws SQLException, TipoElementoNaoConhecidoException { if (typeField.equals(Integer.TYPE)) { return rs.getInt(fieldName); } else if (typeField.equals(Long.TYPE)) { @@ -238,13 +243,15 @@ private Object getValueByType(Class typeField, ResultSet rs, String fieldName } } - private Long validarMaisDeUmRegistro(E valor) throws MaisDeUmRegistroException, TableException, TipoChaveNaoEncontradaException, DAOException { - Connection connection = getConnection(); + private Long validarMaisDeUmRegistro(E valor) + throws MaisDeUmRegistroException, TableException, TipoChaveNaoEncontradaException, DAOException { + Connection connection = getConnection(); PreparedStatement stm = null; ResultSet rs = null; Long count = null; try { - stm = connection.prepareStatement("SELECT count(*) FROM " + getTableName() + " WHERE " + getNomeCampoChave(getTipoClasse()) + " = ?"); + stm = connection.prepareStatement( + "SELECT count(*) FROM " + getTableName() + " WHERE " + getNomeCampoChave(getTipoClasse()) + " = ?"); setParametrosQuerySelect(stm, valor); rs = stm.executeQuery(); if (rs.next()) { @@ -253,7 +260,7 @@ private Long validarMaisDeUmRegistro(E valor) throws MaisDeUmRegistroException, throw new MaisDeUmRegistroException("ENCONTRADO MAIS DE UM REGISTRO DE " + getTableName()); } } - + return count; } catch (SQLException e) { e.printStackTrace(); @@ -261,7 +268,7 @@ private Long validarMaisDeUmRegistro(E valor) throws MaisDeUmRegistroException, closeConnection(connection, stm, rs); } return count; - } + } protected void closeConnection(Connection connection, PreparedStatement stm, ResultSet rs) { try { @@ -280,58 +287,59 @@ protected void closeConnection(Connection connection, PreparedStatement stm, Res } } - private String getTableName() throws TableException { - if (getTipoClasse().isAnnotationPresent(Tabela.class)) { - Tabela table = getTipoClasse().getAnnotation(Tabela.class); - return table.value(); - }else { - throw new TableException("TABELA NO TIPO " + getTipoClasse().getName() + " NÃO FOI ENCONTRADA"); - } + private String getTableName() throws TableException { + if (getTipoClasse().isAnnotationPresent(Tabela.class)) { + Tabela table = getTipoClasse().getAnnotation(Tabela.class); + return table.value(); + } else { + throw new TableException("TABELA NO TIPO " + getTipoClasse().getName() + " NÃO FOI ENCONTRADA"); + } } @Override - public Collection buscarTodos() throws DAOException { + public Collection buscarTodos() throws DAOException { List list = new ArrayList<>(); Connection connection = null; PreparedStatement stm = null; ResultSet rs = null; - try { - + try { + connection = getConnection(); stm = connection.prepareStatement("SELECT * FROM " + getTableName()); rs = stm.executeQuery(); - while (rs.next()) { - T entity = getTipoClasse().getConstructor(null).newInstance(null); - Field[] fields = entity.getClass().getDeclaredFields(); - for (Field field : fields) { - if (field.isAnnotationPresent(ColunaTabela.class)) { - ColunaTabela coluna = field.getAnnotation(ColunaTabela.class); - String dbName = coluna.dbName(); - String javaSetName = coluna.setJavaName(); - Class classField = field.getType(); - try { - Method method = entity.getClass().getMethod(javaSetName, classField); - setValueByType(entity, method, classField, rs, dbName); - - } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) { - throw new DAOException("ERRO LISTANDO OBJETOS ", e); - } catch (TipoElementoNaoConhecidoException e) { - throw new DAOException("ERRO LISTANDO OBJETOS ", e); + while (rs.next()) { + T entity = getTipoClasse().getConstructor(null).newInstance(null); + Field[] fields = entity.getClass().getDeclaredFields(); + for (Field field : fields) { + if (field.isAnnotationPresent(ColunaTabela.class)) { + ColunaTabela coluna = field.getAnnotation(ColunaTabela.class); + String dbName = coluna.dbName(); + String javaSetName = coluna.setJavaName(); + Class classField = field.getType(); + try { + Method method = entity.getClass().getMethod(javaSetName, classField); + setValueByType(entity, method, classField, rs, dbName); + + } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) { + throw new DAOException("ERRO LISTANDO OBJETOS ", e); + } catch (TipoElementoNaoConhecidoException e) { + throw new DAOException("ERRO LISTANDO OBJETOS ", e); } - } - } - list.add(entity); - - } - - } catch (SQLException | InstantiationException | IllegalAccessException | IllegalArgumentException | InvocationTargetException | NoSuchMethodException | SecurityException | TableException e) { + } + } + list.add(entity); + + } + + } catch (SQLException | InstantiationException | IllegalAccessException | IllegalArgumentException + | InvocationTargetException | NoSuchMethodException | SecurityException | TableException e) { throw new DAOException("ERRO LISTANDO OBJETOS ", e); } finally { closeConnection(connection, stm, rs); } return list; - } - + } + protected Connection getConnection() throws DAOException { try { return ConnectionFactory.getConnection(); diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/IGenericDAO.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/IGenericDAO.java index d4d3a86..2cfe6d6 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/IGenericDAO.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/IGenericDAO.java @@ -12,47 +12,49 @@ /** * @author rodrigo.pires * - * Interface genérica para métodos de CRUD(Create, Read, Update and Delete) + * Interface genérica para métodos de CRUD(Create, Read, Update and + * Delete) */ -public interface IGenericDAO { - - /** - * Método para cadastrar novos registro no banco de dados - * - * @param entity a ser cadastrado - * @return retorna verdadeiro para cadastrado e falso para não cadastrado - */ - public Boolean cadastrar(T entity) throws TipoChaveNaoEncontradaException, DAOException; - - /** - * Método para excluir um registro do banco de dados - * - * @param valor chave única do dado a ser excluído - */ - public void excluir(E valor) throws DAOException; - - /** - *Método para alterar um registro no bando de dados. - * - * @param entity a ser atualizado - */ - public void alterar(T entity) throws TipoChaveNaoEncontradaException, DAOException; - - /** - * Método para consultar um registro no banco de dados - * - * @param valor chave única do dado a ser consultado - * @return - * @throws MaisDeUmRegistroException - * @throws TableException - */ - public T consultar(E valor) throws MaisDeUmRegistroException, TableException, DAOException; - - /** - * Método que irá retornar todos os registros do banco de dados de uma determinado dado ou tabela - * - * @return Registros encontrados - * @throws DAOException - */ - public Collection buscarTodos() throws DAOException; +public interface IGenericDAO { + + /** + * Método para cadastrar novos registro no banco de dados + * + * @param entity a ser cadastrado + * @return retorna verdadeiro para cadastrado e falso para não cadastrado + */ + public Boolean cadastrar(T entity) throws TipoChaveNaoEncontradaException, DAOException; + + /** + * Método para excluir um registro do banco de dados + * + * @param valor chave única do dado a ser excluído + */ + public void excluir(E valor) throws DAOException; + + /** + * Método para alterar um registro no bando de dados. + * + * @param entity a ser atualizado + */ + public void alterar(T entity) throws TipoChaveNaoEncontradaException, DAOException; + + /** + * Método para consultar um registro no banco de dados + * + * @param valor chave única do dado a ser consultado + * @return + * @throws MaisDeUmRegistroException + * @throws TableException + */ + public T consultar(E valor) throws MaisDeUmRegistroException, TableException, DAOException; + + /** + * Método que irá retornar todos os registros do banco de dados de uma + * determinado dado ou tabela + * + * @return Registros encontrados + * @throws DAOException + */ + public Collection buscarTodos() throws DAOException; } diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/SingletonMap.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/SingletonMap.java index ff37ce1..726d72e 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/SingletonMap.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/SingletonMap.java @@ -6,36 +6,36 @@ /** * @author rodrigo.pires * - * Classe Singleton que garante que o map será único em toda a vita da aplicação. + * Classe Singleton que garante que o map será único em + * toda a vita da aplicação. * */ public class SingletonMap { - private static SingletonMap singletonMap; + private static SingletonMap singletonMap; - /** - * Contém todos os registros da aplicação. - * Simula o banco de dados - */ - protected Map> map; + /** + * Contém todos os registros da aplicação. Simula o banco de dados + */ + protected Map> map; - private SingletonMap() { - map = new HashMap<>(); - } + private SingletonMap() { + map = new HashMap<>(); + } - /** - * Método que garante o retorno de apenas uma instância desse objeto - * - * @return SingletonMap - */ - public static SingletonMap getInstance() { - if (singletonMap == null) { - singletonMap = new SingletonMap(); - } - return singletonMap; - } + /** + * Método que garante o retorno de apenas uma instância desse objeto + * + * @return SingletonMap + */ + public static SingletonMap getInstance() { + if (singletonMap == null) { + singletonMap = new SingletonMap(); + } + return singletonMap; + } - public Map> getMap() { - return this.map; - } + public Map> getMap() { + return this.map; + } } diff --git a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/jdbc/ConnectionFactory.java b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/jdbc/ConnectionFactory.java index cd83946..592017d 100644 --- a/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/jdbc/ConnectionFactory.java +++ b/mod35/ExemploVendasMod35/src/main/java/br/com/rpires/dao/generic/jdbc/ConnectionFactory.java @@ -12,13 +12,13 @@ * */ public class ConnectionFactory { - + private static Connection connection; - + private ConnectionFactory(Connection connection) { - + } - + public static Connection getConnection() throws SQLException { if (connection == null) { connection = initConnection(); @@ -30,14 +30,14 @@ public static Connection getConnection() throws SQLException { return connection; } } - + private static Connection initConnection() { - try { - return DriverManager.getConnection( - "jdbc:postgresql://localhost:15432/vendas_online_2", "postgres", "admin"); - } catch (SQLException e) { - throw new RuntimeException(e); - } - } - + try { + return DriverManager.getConnection("jdbc:postgresql://localhost:15432/vendas_online_2", "postgres", + "admin"); + } catch (SQLException e) { + throw new RuntimeException(e); + } + } + } From 861ebd51f51e7c9e8879c22c4eafcda6ec5b1e2c Mon Sep 17 00:00:00 2001 From: Steve Date: Sun, 7 Jan 2024 20:35:15 -0300 Subject: [PATCH 57/65] Finished mod36 --- .../springdata/multistore/ApplicationConfiguration.java | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/mod36-1/exemplos_internet/spring-data-examples/multi-store/src/main/java/example/springdata/multistore/ApplicationConfiguration.java b/mod36-1/exemplos_internet/spring-data-examples/multi-store/src/main/java/example/springdata/multistore/ApplicationConfiguration.java index a8ae7ef..0a88479 100644 --- a/mod36-1/exemplos_internet/spring-data-examples/multi-store/src/main/java/example/springdata/multistore/ApplicationConfiguration.java +++ b/mod36-1/exemplos_internet/spring-data-examples/multi-store/src/main/java/example/springdata/multistore/ApplicationConfiguration.java @@ -15,8 +15,7 @@ */ package example.springdata.multistore; -import org.springframework.boot.autoconfigure.SpringBootApplication; - +import br.com.rpires.TesteAPI.SpringBootApplication; /** * Test configuration to connect to a MongoDB named "test" and using a {@code MongoClient}. Also enables Spring Data From 8808506c6a83a4a36886d520e7b538a222301b7b Mon Sep 17 00:00:00 2001 From: Steve Date: Mon, 8 Jan 2024 15:26:59 -0300 Subject: [PATCH 58/65] Finished mod37 --- mod37/exercisejpamaven/pom.xml | 42 +++++ .../main/java/application/ProdutoService.java | 144 ++++++++++++++++++ .../java/application/ProdutoServiceTest.java | 70 +++++++++ .../main/java/dominio/DepartamentoVendas.java | 44 ++++++ .../src/main/java/dominio/Produto.java | 60 ++++++++ .../main/resources/META-INF/persistence.xml | 21 +++ 6 files changed, 381 insertions(+) create mode 100644 mod37/exercisejpamaven/pom.xml create mode 100644 mod37/exercisejpamaven/src/main/java/application/ProdutoService.java create mode 100644 mod37/exercisejpamaven/src/main/java/application/ProdutoServiceTest.java create mode 100644 mod37/exercisejpamaven/src/main/java/dominio/DepartamentoVendas.java create mode 100644 mod37/exercisejpamaven/src/main/java/dominio/Produto.java create mode 100644 mod37/exercisejpamaven/src/main/resources/META-INF/persistence.xml diff --git a/mod37/exercisejpamaven/pom.xml b/mod37/exercisejpamaven/pom.xml new file mode 100644 index 0000000..36c37f2 --- /dev/null +++ b/mod37/exercisejpamaven/pom.xml @@ -0,0 +1,42 @@ + + 4.0.0 + com.educando.web + exercisejpamaven + 0.0.1-SNAPSHOT + + + 17 + 17 + + + + + + org.hibernate + hibernate-core + 5.4.12.Final + + + org.hibernate + hibernate-entitymanager + 5.4.12.Final + + + + + mysql + mysql-connector-java + 8.0.19 + + + + + junit + junit + 4.13.1 + test + + + diff --git a/mod37/exercisejpamaven/src/main/java/application/ProdutoService.java b/mod37/exercisejpamaven/src/main/java/application/ProdutoService.java new file mode 100644 index 0000000..46e1525 --- /dev/null +++ b/mod37/exercisejpamaven/src/main/java/application/ProdutoService.java @@ -0,0 +1,144 @@ +package application; + +import javax.persistence.EntityManager; +import javax.persistence.EntityManagerFactory; +import javax.persistence.EntityTransaction; +import javax.persistence.Persistence; +import dominio.DepartamentoVendas; +import dominio.Produto; +import java.util.List; + +public class ProdutoService { + + private EntityManagerFactory entityManagerFactory; + + public ProdutoService() { + this.entityManagerFactory = Persistence.createEntityManagerFactory("jpa"); + } + + public void cadastrarProduto(Produto produto) { + EntityManager entityManager = criarEntityManager(); + EntityTransaction transaction = entityManager.getTransaction(); + + try { + transaction.begin(); + entityManager.persist(produto); + transaction.commit(); + System.out.println("Produto cadastrado com sucesso."); + } catch (Exception e) { + if (transaction.isActive()) { + transaction.rollback(); + } + e.printStackTrace(); + } finally { + entityManager.close(); + } + } + + public void cadastrarDepartamento(DepartamentoVendas departamento) { + EntityManager entityManager = criarEntityManager(); + EntityTransaction transaction = entityManager.getTransaction(); + + try { + transaction.begin(); + entityManager.persist(departamento); + transaction.commit(); + System.out.println("Departamento cadastrado com sucesso."); + } catch (Exception e) { + if (transaction.isActive()) { + transaction.rollback(); + } + e.printStackTrace(); + } finally { + entityManager.close(); + } + } + + public void excluirProdutoPorId(long produtoId) { + EntityManager entityManager = criarEntityManager(); + EntityTransaction transaction = entityManager.getTransaction(); + + try { + transaction.begin(); + Produto produto = entityManager.find(Produto.class, produtoId); + + if (produto != null) { + entityManager.remove(produto); + transaction.commit(); + System.out.println("Produto excluído com sucesso."); + } else { + System.out.println("Produto não encontrado."); + } + } catch (Exception e) { + if (transaction.isActive()) { + transaction.rollback(); + } + e.printStackTrace(); + } finally { + entityManager.close(); + } + } + + public void atualizarProduto(Produto produto) { + EntityManager entityManager = criarEntityManager(); + EntityTransaction transaction = entityManager.getTransaction(); + + try { + transaction.begin(); + Produto produtoExistente = entityManager.find(Produto.class, produto.getId()); + + if (produtoExistente != null) { + // Atualiza os campos desejados + produtoExistente.setNome(produto.getNome()); + produtoExistente.setPreco(produto.getPreco()); + produtoExistente.setDepartamento(produto.getDepartamento()); + + entityManager.merge(produtoExistente); + transaction.commit(); + System.out.println("Produto atualizado com sucesso."); + } else { + System.out.println("Produto não encontrado."); + } + } catch (Exception e) { + if (transaction.isActive()) { + transaction.rollback(); + } + e.printStackTrace(); + } finally { + entityManager.close(); + } + } + + public List buscarProdutosPorDepartamento(long departamentoId) { + EntityManager entityManager = criarEntityManager(); + + try { + return entityManager + .createQuery("SELECT p FROM Produto p WHERE p.departamento.id = :departamentoId", Produto.class) + .setParameter("departamentoId", departamentoId) + .getResultList(); + } finally { + entityManager.close(); + } + } + + public DepartamentoVendas buscarDepartamentoPorId(long id) { + EntityManager entityManager = criarEntityManager(); + + try { + return entityManager.find(DepartamentoVendas.class, id); + } finally { + entityManager.close(); + } + } + + public void fecharConexao() { + if (entityManagerFactory != null && entityManagerFactory.isOpen()) { + entityManagerFactory.close(); + } + } + + private EntityManager criarEntityManager() { + return entityManagerFactory.createEntityManager(); + } +} \ No newline at end of file diff --git a/mod37/exercisejpamaven/src/main/java/application/ProdutoServiceTest.java b/mod37/exercisejpamaven/src/main/java/application/ProdutoServiceTest.java new file mode 100644 index 0000000..1df6d21 --- /dev/null +++ b/mod37/exercisejpamaven/src/main/java/application/ProdutoServiceTest.java @@ -0,0 +1,70 @@ +package application; + +import dominio.DepartamentoVendas; +import dominio.Produto; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +import java.util.List; +import java.util.Scanner; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNotNull; + +public class ProdutoServiceTest { + + private ProdutoService produtoService; + private Scanner scanner; + + @Before + public void setUp() { + produtoService = new ProdutoService(); + scanner = new Scanner(System.in); + } + + @After + public void tearDown() { + produtoService.fecharConexao(); + scanner.close(); + } + + @Test + public void testCRUDOperations() { + // Simulando a entrada do usuário para criar um departamento + System.out.print("Digite o nome do departamento: "); + String nomeDepartamento = scanner.nextLine(); + + DepartamentoVendas departamento = new DepartamentoVendas(); + departamento.setNome(nomeDepartamento); + + produtoService.cadastrarDepartamento(departamento); + + // Simulando a entrada do usuário para criar um produto + System.out.print("Digite o nome do produto: "); + String nomeProduto = scanner.nextLine(); + + System.out.print("Digite o preço do produto: "); + double precoProduto = scanner.nextDouble(); + + Produto produto = new Produto(); + produto.setNome(nomeProduto); + produto.setPreco(precoProduto); + produto.setDepartamento(departamento); + + // Agora está cadastrando o produto, não o departamento + produtoService.cadastrarProduto(produto); + + // Simule a busca de produtos por departamento + List produtosDoDepartamento = produtoService.buscarProdutosPorDepartamento(departamento.getId()); + + // Verificações + assertNotNull(produtosDoDepartamento); + assertEquals(1, produtosDoDepartamento.size()); + Produto produtoEncontrado = produtosDoDepartamento.get(0); + + assertEquals(nomeProduto, produtoEncontrado.getNome()); + assertEquals(precoProduto, produtoEncontrado.getPreco(), 0.01); + assertEquals(departamento.getId(), produtoEncontrado.getDepartamento().getId()); + } +} \ No newline at end of file diff --git a/mod37/exercisejpamaven/src/main/java/dominio/DepartamentoVendas.java b/mod37/exercisejpamaven/src/main/java/dominio/DepartamentoVendas.java new file mode 100644 index 0000000..ef5978f --- /dev/null +++ b/mod37/exercisejpamaven/src/main/java/dominio/DepartamentoVendas.java @@ -0,0 +1,44 @@ +package dominio; + +import javax.persistence.*; +import java.util.List; + +@Entity +@Table(name = "departamento_vendas") +public class DepartamentoVendas { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + private String nome; + + @OneToMany(mappedBy = "departamento", cascade = CascadeType.ALL) + private List produtos; + + // getters e setters + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public List getProdutos() { + return produtos; + } + + public void setProdutos(List produtos) { + this.produtos = produtos; + } +} diff --git a/mod37/exercisejpamaven/src/main/java/dominio/Produto.java b/mod37/exercisejpamaven/src/main/java/dominio/Produto.java new file mode 100644 index 0000000..adda1a8 --- /dev/null +++ b/mod37/exercisejpamaven/src/main/java/dominio/Produto.java @@ -0,0 +1,60 @@ +package dominio; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.JoinColumn; +import javax.persistence.ManyToOne; +import javax.persistence.Table; + +@Entity +@Table(name = "produto") +public class Produto { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + + private String nome; + + private double preco; + + @ManyToOne + @JoinColumn(name = "departamento_id") + private DepartamentoVendas departamento; + + // getters e setters + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getNome() { + return nome; + } + + public void setNome(String nome) { + this.nome = nome; + } + + public double getPreco() { + return preco; + } + + public void setPreco(double preco) { + this.preco = preco; + } + + public DepartamentoVendas getDepartamento() { + return departamento; + } + + public void setDepartamento(DepartamentoVendas departamento) { + this.departamento = departamento; + } +} diff --git a/mod37/exercisejpamaven/src/main/resources/META-INF/persistence.xml b/mod37/exercisejpamaven/src/main/resources/META-INF/persistence.xml new file mode 100644 index 0000000..bc997cc --- /dev/null +++ b/mod37/exercisejpamaven/src/main/resources/META-INF/persistence.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + \ No newline at end of file From e8df91a5beedf733deb2dafc48248041b9df6f5a Mon Sep 17 00:00:00 2001 From: Steve Date: Mon, 15 Jan 2024 21:46:51 -0300 Subject: [PATCH 59/65] Finished mod 38 --- .../rpires/controller/ClienteController.java | 3 - .../br/com/rpires/dao/generic/GenericDAO.java | 5 +- mod38/exercise_mod38/userdept/.gitignore | 33 ++ mod38/exercise_mod38/userdept/mvnw | 308 ++++++++++++++++++ mod38/exercise_mod38/userdept/mvnw.cmd | 205 ++++++++++++ mod38/exercise_mod38/userdept/pom.xml | 58 ++++ .../src/main/java/META-INF/MANIFEST.MF | 3 + .../userdept/UserdeptApplication.java | 12 + .../userdept/controllers/UserController.java | 37 +++ .../userdept/entities/Department.java | 36 ++ .../devsuperior/userdept/entities/User.java | 59 ++++ .../userdept/repositories/UserRepository.java | 9 + .../src/main/resources/application.properties | 12 + .../userdept/src/main/resources/import.sql | 7 + .../userdept/UserdeptApplicationTests.java | 13 + 15 files changed, 793 insertions(+), 7 deletions(-) create mode 100644 mod38/exercise_mod38/userdept/.gitignore create mode 100644 mod38/exercise_mod38/userdept/mvnw create mode 100644 mod38/exercise_mod38/userdept/mvnw.cmd create mode 100644 mod38/exercise_mod38/userdept/pom.xml create mode 100644 mod38/exercise_mod38/userdept/src/main/java/META-INF/MANIFEST.MF create mode 100644 mod38/exercise_mod38/userdept/src/main/java/com/devsuperior/userdept/UserdeptApplication.java create mode 100644 mod38/exercise_mod38/userdept/src/main/java/com/devsuperior/userdept/controllers/UserController.java create mode 100644 mod38/exercise_mod38/userdept/src/main/java/com/devsuperior/userdept/entities/Department.java create mode 100644 mod38/exercise_mod38/userdept/src/main/java/com/devsuperior/userdept/entities/User.java create mode 100644 mod38/exercise_mod38/userdept/src/main/java/com/devsuperior/userdept/repositories/UserRepository.java create mode 100644 mod38/exercise_mod38/userdept/src/main/resources/application.properties create mode 100644 mod38/exercise_mod38/userdept/src/main/resources/import.sql create mode 100644 mod38/exercise_mod38/userdept/src/test/java/com/devsuperior/userdept/UserdeptApplicationTests.java diff --git a/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/controller/ClienteController.java b/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/controller/ClienteController.java index 38846ee..7455a17 100644 --- a/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/controller/ClienteController.java +++ b/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/controller/ClienteController.java @@ -122,7 +122,4 @@ public Boolean getIsUpdate() { public void setIsUpdate(Boolean isUpdate) { this.isUpdate = isUpdate; } - - - } diff --git a/mod38/VendasOnline/src/main/java/br/com/rpires/dao/generic/GenericDAO.java b/mod38/VendasOnline/src/main/java/br/com/rpires/dao/generic/GenericDAO.java index f973e38..ce45b5b 100644 --- a/mod38/VendasOnline/src/main/java/br/com/rpires/dao/generic/GenericDAO.java +++ b/mod38/VendasOnline/src/main/java/br/com/rpires/dao/generic/GenericDAO.java @@ -52,7 +52,6 @@ public void excluir(T entity) throws DAOException { entityManager.remove(managedCustomer); } } - } @Override @@ -83,6 +82,4 @@ private String getSelectSql() { sb.append(" obj"); return sb.toString(); } - - -} +} \ No newline at end of file diff --git a/mod38/exercise_mod38/userdept/.gitignore b/mod38/exercise_mod38/userdept/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/mod38/exercise_mod38/userdept/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/mod38/exercise_mod38/userdept/mvnw b/mod38/exercise_mod38/userdept/mvnw new file mode 100644 index 0000000..66df285 --- /dev/null +++ b/mod38/exercise_mod38/userdept/mvnw @@ -0,0 +1,308 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Apache Maven Wrapper startup batch script, version 3.2.0 +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /usr/local/etc/mavenrc ] ; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "$(uname)" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME + else + JAVA_HOME="/Library/Java/Home"; export JAVA_HOME + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=$(java-config --jre-home) + fi +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --unix "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --unix "$CLASSPATH") +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] && + JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); pwd)" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="$(which javac)" + if [ -n "$javaExecutable" ] && ! [ "$(expr "\"$javaExecutable\"" : '\([^ ]*\)')" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=$(which readlink) + if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then + if $darwin ; then + javaHome="$(dirname "\"$javaExecutable\"")" + javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac" + else + javaExecutable="$(readlink -f "\"$javaExecutable\"")" + fi + javaHome="$(dirname "\"$javaExecutable\"")" + javaHome=$(expr "$javaHome" : '\(.*\)/bin') + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=$(cd "$wdir/.." || exit 1; pwd) + fi + # end of workaround + done + printf '%s' "$(cd "$basedir" || exit 1; pwd)" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + # Remove \r in case we run on Windows within Git Bash + # and check out the repository with auto CRLF management + # enabled. Otherwise, we may read lines that are delimited with + # \r\n and produce $'-Xarg\r' rather than -Xarg due to word + # splitting rules. + tr -s '\r\n' ' ' < "$1" + fi +} + +log() { + if [ "$MVNW_VERBOSE" = true ]; then + printf '%s\n' "$1" + fi +} + +BASE_DIR=$(find_maven_basedir "$(dirname "$0")") +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR +log "$MAVEN_PROJECTBASEDIR" + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" +if [ -r "$wrapperJarPath" ]; then + log "Found $wrapperJarPath" +else + log "Couldn't find $wrapperJarPath, downloading it ..." + + if [ -n "$MVNW_REPOURL" ]; then + wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + else + wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + fi + while IFS="=" read -r key value; do + # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' ) + safeValue=$(echo "$value" | tr -d '\r') + case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;; + esac + done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" + log "Downloading from: $wrapperUrl" + + if $cygwin; then + wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") + fi + + if command -v wget > /dev/null; then + log "Found wget ... using wget" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + log "Found curl ... using curl" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + else + curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + fi + else + log "Falling back to using Java to download" + javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java" + javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaSource=$(cygpath --path --windows "$javaSource") + javaClass=$(cygpath --path --windows "$javaClass") + fi + if [ -e "$javaSource" ]; then + if [ ! -e "$javaClass" ]; then + log " - Compiling MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/javac" "$javaSource") + fi + if [ -e "$javaClass" ]; then + log " - Running MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath" + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +# If specified, validate the SHA-256 sum of the Maven wrapper jar file +wrapperSha256Sum="" +while IFS="=" read -r key value; do + case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;; + esac +done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" +if [ -n "$wrapperSha256Sum" ]; then + wrapperSha256Result=false + if command -v sha256sum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + elif command -v shasum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." + echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties." + exit 1 + fi + if [ $wrapperSha256Result = false ]; then + echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2 + echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2 + echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2 + exit 1 + fi +fi + +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --windows "$CLASSPATH") + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +# shellcheck disable=SC2086 # safe args +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mod38/exercise_mod38/userdept/mvnw.cmd b/mod38/exercise_mod38/userdept/mvnw.cmd new file mode 100644 index 0000000..95ba6f5 --- /dev/null +++ b/mod38/exercise_mod38/userdept/mvnw.cmd @@ -0,0 +1,205 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.2.0 +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %WRAPPER_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file +SET WRAPPER_SHA_256_SUM="" +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B +) +IF NOT %WRAPPER_SHA_256_SUM%=="" ( + powershell -Command "&{"^ + "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^ + "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^ + " Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^ + " Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^ + " Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^ + " exit 1;"^ + "}"^ + "}" + if ERRORLEVEL 1 goto error +) + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/mod38/exercise_mod38/userdept/pom.xml b/mod38/exercise_mod38/userdept/pom.xml new file mode 100644 index 0000000..e57990f --- /dev/null +++ b/mod38/exercise_mod38/userdept/pom.xml @@ -0,0 +1,58 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 3.2.1 + + + com.devsuperior + userdept + 0.0.1-SNAPSHOT + userdept + Project exercise for Spring Boot with Maven EBAC + + 17 + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + org.springframework.boot + spring-boot-starter-web + + + + com.h2database + h2 + runtime + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.apache.maven.plugins + maven-resources-plugin + 3.1.0 + + + + \ No newline at end of file diff --git a/mod38/exercise_mod38/userdept/src/main/java/META-INF/MANIFEST.MF b/mod38/exercise_mod38/userdept/src/main/java/META-INF/MANIFEST.MF new file mode 100644 index 0000000..254272e --- /dev/null +++ b/mod38/exercise_mod38/userdept/src/main/java/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + diff --git a/mod38/exercise_mod38/userdept/src/main/java/com/devsuperior/userdept/UserdeptApplication.java b/mod38/exercise_mod38/userdept/src/main/java/com/devsuperior/userdept/UserdeptApplication.java new file mode 100644 index 0000000..2f423fc --- /dev/null +++ b/mod38/exercise_mod38/userdept/src/main/java/com/devsuperior/userdept/UserdeptApplication.java @@ -0,0 +1,12 @@ +package com.devsuperior.userdept; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class UserdeptApplication { + + public static void main(String[] args) { + SpringApplication.run(UserdeptApplication.class, args); + } +} \ No newline at end of file diff --git a/mod38/exercise_mod38/userdept/src/main/java/com/devsuperior/userdept/controllers/UserController.java b/mod38/exercise_mod38/userdept/src/main/java/com/devsuperior/userdept/controllers/UserController.java new file mode 100644 index 0000000..f6ba3ba --- /dev/null +++ b/mod38/exercise_mod38/userdept/src/main/java/com/devsuperior/userdept/controllers/UserController.java @@ -0,0 +1,37 @@ +package com.devsuperior.userdept.controllers; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.devsuperior.userdept.entities.User; +import com.devsuperior.userdept.repositories.UserRepository; + +@RestController +@RequestMapping(value = "/users") +public class UserController { + + @Autowired + private UserRepository repository; + + @GetMapping + public List findAll() { + return repository.findAll(); + } + + @GetMapping(value = "/{id}") + public User findAll(@PathVariable Long id) { + return repository.findById(id).get(); + } + + @PostMapping + public User insert(@RequestBody User user) { + return repository.save(user); + } +} \ No newline at end of file diff --git a/mod38/exercise_mod38/userdept/src/main/java/com/devsuperior/userdept/entities/Department.java b/mod38/exercise_mod38/userdept/src/main/java/com/devsuperior/userdept/entities/Department.java new file mode 100644 index 0000000..a680d7c --- /dev/null +++ b/mod38/exercise_mod38/userdept/src/main/java/com/devsuperior/userdept/entities/Department.java @@ -0,0 +1,36 @@ +package com.devsuperior.userdept.entities; + +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.Table; + +@Entity +@Table(name = "tb_department") +public class Department { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + private String name; + + public Department() { + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} \ No newline at end of file diff --git a/mod38/exercise_mod38/userdept/src/main/java/com/devsuperior/userdept/entities/User.java b/mod38/exercise_mod38/userdept/src/main/java/com/devsuperior/userdept/entities/User.java new file mode 100644 index 0000000..013e91a --- /dev/null +++ b/mod38/exercise_mod38/userdept/src/main/java/com/devsuperior/userdept/entities/User.java @@ -0,0 +1,59 @@ +package com.devsuperior.userdept.entities; + +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table; + +@Entity +@Table(name = "tb_user") +public class User { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + private String name; + private String email; + + @ManyToOne + @JoinColumn(name = "department_id") + private Department department; + + public User() { + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public Department getDepartment() { + return department; + } + + public void setDepartment(Department department) { + this.department = department; + } +} \ No newline at end of file diff --git a/mod38/exercise_mod38/userdept/src/main/java/com/devsuperior/userdept/repositories/UserRepository.java b/mod38/exercise_mod38/userdept/src/main/java/com/devsuperior/userdept/repositories/UserRepository.java new file mode 100644 index 0000000..028cca0 --- /dev/null +++ b/mod38/exercise_mod38/userdept/src/main/java/com/devsuperior/userdept/repositories/UserRepository.java @@ -0,0 +1,9 @@ +package com.devsuperior.userdept.repositories; + +import org.springframework.data.jpa.repository.JpaRepository; + +import com.devsuperior.userdept.entities.User; + +public interface UserRepository extends JpaRepository { + +} \ No newline at end of file diff --git a/mod38/exercise_mod38/userdept/src/main/resources/application.properties b/mod38/exercise_mod38/userdept/src/main/resources/application.properties new file mode 100644 index 0000000..b406a73 --- /dev/null +++ b/mod38/exercise_mod38/userdept/src/main/resources/application.properties @@ -0,0 +1,12 @@ +# Dados de conexo com o banco H2 +spring.datasource.url=jdbc:h2:mem:testdb +spring.datasource.username=sa +spring.datasource.password= + +# Configurao do cliente web do banco H2 +spring.h2.console.enabled=true +spring.h2.console.path=/h2-console + +# Configurao para mostrar o SQL no console +spring.jpa.show-sql=true +spring.jpa.properties.hibernate.format_sql=true \ No newline at end of file diff --git a/mod38/exercise_mod38/userdept/src/main/resources/import.sql b/mod38/exercise_mod38/userdept/src/main/resources/import.sql new file mode 100644 index 0000000..9d34d04 --- /dev/null +++ b/mod38/exercise_mod38/userdept/src/main/resources/import.sql @@ -0,0 +1,7 @@ +INSERT INTO tb_department(name) VALUES ('Gestão'); +INSERT INTO tb_department(name) VALUES ('Informática'); + +INSERT INTO tb_user(department_id, name, email) VALUES (1, 'Maria', 'maria@gmail.com'); +INSERT INTO tb_user(department_id, name, email) VALUES (1, 'Bob', 'bob@gmail.com'); +INSERT INTO tb_user(department_id, name, email) VALUES (2, 'Alex', 'alex@gmail.com'); +INSERT INTO tb_user(department_id, name, email) VALUES (2, 'Ana', 'ana@gmail.com'); \ No newline at end of file diff --git a/mod38/exercise_mod38/userdept/src/test/java/com/devsuperior/userdept/UserdeptApplicationTests.java b/mod38/exercise_mod38/userdept/src/test/java/com/devsuperior/userdept/UserdeptApplicationTests.java new file mode 100644 index 0000000..7094f7b --- /dev/null +++ b/mod38/exercise_mod38/userdept/src/test/java/com/devsuperior/userdept/UserdeptApplicationTests.java @@ -0,0 +1,13 @@ +package com.devsuperior.userdept; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class UserdeptApplicationTests { + + @Test + void contextLoads() { + } + +} From 8cc6ec1bb27a846d946b71d2324ac8098e18efd5 Mon Sep 17 00:00:00 2001 From: Steve Date: Tue, 16 Jan 2024 22:22:59 -0300 Subject: [PATCH 60/65] Finished mod 39 --- mod39/exercise_mod39/meetapp/pom.xml | 95 +++++++++++++++++++ .../main/resources/META_INF/persistence.xml | 23 +++++ .../meetapp/src/main/webapp/MyPage.xhtml | 42 ++++++++ .../src/main/webapp/WEB-INF/faces-config.xml | 8 ++ .../meetapp/src/main/webapp/WEB-INF/web.xml | 13 +++ 5 files changed, 181 insertions(+) create mode 100644 mod39/exercise_mod39/meetapp/pom.xml create mode 100644 mod39/exercise_mod39/meetapp/src/main/resources/META_INF/persistence.xml create mode 100644 mod39/exercise_mod39/meetapp/src/main/webapp/MyPage.xhtml create mode 100644 mod39/exercise_mod39/meetapp/src/main/webapp/WEB-INF/faces-config.xml create mode 100644 mod39/exercise_mod39/meetapp/src/main/webapp/WEB-INF/web.xml diff --git a/mod39/exercise_mod39/meetapp/pom.xml b/mod39/exercise_mod39/meetapp/pom.xml new file mode 100644 index 0000000..a80190a --- /dev/null +++ b/mod39/exercise_mod39/meetapp/pom.xml @@ -0,0 +1,95 @@ + + 4.0.0 + + com.example + meetapp + 1.0-SNAPSHOT + war + + + 1.8 + 1.8 + + + + + + org.glassfish + javax.faces + 2.3.9 + + + + + javax.inject + javax.inject + 1 + + + + + + org.primefaces + primefaces + 13.0.0-RC1 + + + + + com.googlecode.owasp-java-html-sanitizer + owasp-java-html-sanitizer + 20220608.1 + + + + + org.hibernate + hibernate-core + 5.4.12.Final + + + org.hibernate + hibernate-entitymanager + 5.4.12.Final + + + + + mysql + mysql-connector-java + 8.0.19 + + + + + javax.enterprise + cdi-api + 2.0.SP1 + provided + + + + + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.0 + + 1.8 + 1.8 + + + + org.apache.maven.plugins + maven-war-plugin + 3.2.2 + + false + + + + + \ No newline at end of file diff --git a/mod39/exercise_mod39/meetapp/src/main/resources/META_INF/persistence.xml b/mod39/exercise_mod39/meetapp/src/main/resources/META_INF/persistence.xml new file mode 100644 index 0000000..ddec24e --- /dev/null +++ b/mod39/exercise_mod39/meetapp/src/main/resources/META_INF/persistence.xml @@ -0,0 +1,23 @@ + + + + + com.example.entidades.MinhaEntidade + + + + + + + + + + + + + diff --git a/mod39/exercise_mod39/meetapp/src/main/webapp/MyPage.xhtml b/mod39/exercise_mod39/meetapp/src/main/webapp/MyPage.xhtml new file mode 100644 index 0000000..2ae268b --- /dev/null +++ b/mod39/exercise_mod39/meetapp/src/main/webapp/MyPage.xhtml @@ -0,0 +1,42 @@ + + + + + + + Hello Tomcat! + + + +

Use this form in a way that can transcend literary ideals or even be able to write poetry and mathematical formulas.

+ +
+ +

Basic

+ + +

Custom Toolbar

+ + + + + + + + + + + + + + + +
+
+
+ diff --git a/mod39/exercise_mod39/meetapp/src/main/webapp/WEB-INF/faces-config.xml b/mod39/exercise_mod39/meetapp/src/main/webapp/WEB-INF/faces-config.xml new file mode 100644 index 0000000..e5deaf7 --- /dev/null +++ b/mod39/exercise_mod39/meetapp/src/main/webapp/WEB-INF/faces-config.xml @@ -0,0 +1,8 @@ + + + + diff --git a/mod39/exercise_mod39/meetapp/src/main/webapp/WEB-INF/web.xml b/mod39/exercise_mod39/meetapp/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000..522d2b3 --- /dev/null +++ b/mod39/exercise_mod39/meetapp/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,13 @@ + + + meetapp + + Faces Servlet + javax.faces.webapp.FacesServlet + 1 + + + Faces Servlet + *.xhtml + + \ No newline at end of file From 2afccc6e1089141cda0fe6480c56ee96927c8aee Mon Sep 17 00:00:00 2001 From: Steve Date: Tue, 16 Jan 2024 22:36:27 -0300 Subject: [PATCH 61/65] Resolving a problems --- mod14/CadastroCliente/src/br/com/rpires/App.java | 5 +++++ .../src/main/java/br/com/rpires/domain/Cliente.java | 5 ----- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/mod14/CadastroCliente/src/br/com/rpires/App.java b/mod14/CadastroCliente/src/br/com/rpires/App.java index 588876b..b2e2596 100644 --- a/mod14/CadastroCliente/src/br/com/rpires/App.java +++ b/mod14/CadastroCliente/src/br/com/rpires/App.java @@ -108,4 +108,9 @@ private static boolean isOpcaoValida(String opcao) { } return false; } + + public Object getGreeting() { + // TODO Auto-generated method stub + return null; + } } \ No newline at end of file diff --git a/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/domain/Cliente.java b/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/domain/Cliente.java index b82b1a2..0c9932d 100644 --- a/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/domain/Cliente.java +++ b/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/domain/Cliente.java @@ -102,9 +102,4 @@ public String getEmail() { public void setEmail(String email) { this.email = email; } - - - - - } From 7a979aac5e8c2b8a8ceb988496fd3b7ea66df9ef Mon Sep 17 00:00:00 2001 From: Steve Date: Tue, 16 Jan 2024 22:57:12 -0300 Subject: [PATCH 62/65] Solving other problems from other classes --- .../java/br/com/rpires/dao/ClienteDAO.java | 86 ++++++++++++++++++- .../rpires/controller/ClienteController.java | 10 ++- 2 files changed, 90 insertions(+), 6 deletions(-) diff --git a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/ClienteDAO.java b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/ClienteDAO.java index d2839e0..7301972 100644 --- a/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/ClienteDAO.java +++ b/mod25/ExemploVendasMod25/src/main/java/br/com/rpires/dao/ClienteDAO.java @@ -3,8 +3,13 @@ */ package br.com.rpires.dao; +import java.sql.PreparedStatement; +import java.sql.SQLException; + import br.com.rpires.dao.generic.GenericDAO; import br.com.rpires.domain.Cliente_2; +import br.com.rpires.domain.Produto; +import br.com.rpires.domain.Produto_4; /** * @author rodrigo.pires @@ -18,11 +23,10 @@ public ClienteDAO() { } @Override - public Class getTipoClasse() { + public Class getTipoClasse() { return Cliente_2.class; } - @Override public void atualiarDados(Cliente_2 entity, Cliente_2 entityCadastrado) { entityCadastrado.setCidade(entity.getCidade()); entityCadastrado.setCpf(entity.getCpf()); @@ -94,4 +98,82 @@ public void alterar(Object entity) { // TODO Auto-generated method stub } + + @Override + public Cliente_2 consultar(String codigo) throws Exception { + // TODO Auto-generated method stub + return null; + } + + @Override + public Integer excluir(Cliente_2 clienteBD) throws Exception { + // TODO Auto-generated method stub + return null; + } + + @Override + protected String getQueryInsercao() { + // TODO Auto-generated method stub + return null; + } + + @Override + protected void setParametrosQueryInsercao(PreparedStatement stmInsert, Produto entity) throws SQLException { + // TODO Auto-generated method stub + + } + + @Override + protected void setParametrosQueryInsercao(PreparedStatement stmInsert, Cliente_2 entity) throws SQLException { + // TODO Auto-generated method stub + + } + + @Override + protected String getQueryExclusao() { + // TODO Auto-generated method stub + return null; + } + + @Override + protected void setParametrosQueryExclusao(PreparedStatement stmExclusao, String valor) throws SQLException { + // TODO Auto-generated method stub + + } + + @Override + protected void setParametrosQueryExclusao(PreparedStatement stmExclusao, Long valor) throws SQLException { + // TODO Auto-generated method stub + + } + + @Override + protected String getQueryAtualizacao() { + // TODO Auto-generated method stub + return null; + } + + @Override + protected void setParametrosQueryAtualizacao(PreparedStatement stmUpdate, Produto_4 entity) throws SQLException { + // TODO Auto-generated method stub + + } + + @Override + protected void setParametrosQuerySelect(PreparedStatement stmExclusao, String valor) throws SQLException { + // TODO Auto-generated method stub + + } + + @Override + protected void setParametrosQueryAtualizacao(PreparedStatement stmUpdate, Cliente_2 entity) throws SQLException { + // TODO Auto-generated method stub + + } + + @Override + protected void setParametrosQuerySelect(PreparedStatement stmSelect, Long valor) throws SQLException { + // TODO Auto-generated method stub + + } } diff --git a/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/controller/ClienteController.java b/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/controller/ClienteController.java index 7455a17..e5d0225 100644 --- a/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/controller/ClienteController.java +++ b/mod38/ExemploJSFProfessor/src/main/java/br/com/rpires/controller/ClienteController.java @@ -13,6 +13,8 @@ import javax.inject.Inject; import javax.inject.Named; +import org.graalvm.compiler.lir.asm.FrameContext; + import br.com.rpires.domain.Cliente_2; import br.com.rpires.service.IClienteService; @@ -71,7 +73,7 @@ public void delete(Cliente_2 cliente) { clienteService.excluir(cliente); clientes.remove(cliente); } catch (Exception e) { - FacesContext.getCurrentInstance().addMessage("growl", new FacesMessage("Erro ao tentar excluir o cliente")); + FrameContext.getCurrentInstance().addMessage("growl", new FacesMessage("Erro ao tentar excluir o cliente")); } } @@ -82,7 +84,7 @@ public void add() { this.clientes = clienteService.buscarTodos(); this.cliente = new Cliente_2(); } catch (Exception e) { - FacesContext.getCurrentInstance().addMessage("growl", new FacesMessage("Erro ao tentar criar o cliente")); + FrameContext.getCurrentInstance().addMessage("growl", new FacesMessage("Erro ao tentar criar o cliente")); } @@ -92,9 +94,9 @@ public void update() { try { clienteService.alterar(this.cliente); cancel(); - FacesContext.getCurrentInstance().addMessage("growl", new FacesMessage("Cliente Atualiado com sucesso")); + FrameContext.getCurrentInstance().addMessage("growl", new FacesMessage("Cliente Atualiado com sucesso")); } catch (Exception e) { - FacesContext.getCurrentInstance().addMessage("growl", new FacesMessage("Erro ao tentar atualizar o cliente")); + FrameContext.getCurrentInstance().addMessage("growl", new FacesMessage("Erro ao tentar atualizar o cliente")); } } From 8884a038e9658a0f8a3aab8d3bfd144c9cacdc39 Mon Sep 17 00:00:00 2001 From: Steve Date: Wed, 17 Jan 2024 22:22:46 -0300 Subject: [PATCH 63/65] Finished mod40 --- mod40/exercise_mod40/userdept/.gitignore | 33 ++ mod40/exercise_mod40/userdept/mvnw | 308 ++++++++++++++++++ mod40/exercise_mod40/userdept/mvnw.cmd | 205 ++++++++++++ mod40/exercise_mod40/userdept/pom.xml | 58 ++++ .../src/main/java/META-INF/MANIFEST.MF | 3 + .../userdept/UserdeptApplication.java | 12 + .../userdept/controllers/UserController.java | 37 +++ .../userdept/entities/Department.java | 36 ++ .../devsuperior/userdept/entities/User.java | 59 ++++ .../userdept/repositories/UserRepository.java | 9 + .../src/main/resources/application.properties | 12 + .../userdept/src/main/resources/import.sql | 7 + .../userdept/UserdeptApplicationTests.java | 13 + .../ClienteServiceProfessorApplication.java | 4 +- 14 files changed, 795 insertions(+), 1 deletion(-) create mode 100644 mod40/exercise_mod40/userdept/.gitignore create mode 100644 mod40/exercise_mod40/userdept/mvnw create mode 100644 mod40/exercise_mod40/userdept/mvnw.cmd create mode 100644 mod40/exercise_mod40/userdept/pom.xml create mode 100644 mod40/exercise_mod40/userdept/src/main/java/META-INF/MANIFEST.MF create mode 100644 mod40/exercise_mod40/userdept/src/main/java/com/devsuperior/userdept/UserdeptApplication.java create mode 100644 mod40/exercise_mod40/userdept/src/main/java/com/devsuperior/userdept/controllers/UserController.java create mode 100644 mod40/exercise_mod40/userdept/src/main/java/com/devsuperior/userdept/entities/Department.java create mode 100644 mod40/exercise_mod40/userdept/src/main/java/com/devsuperior/userdept/entities/User.java create mode 100644 mod40/exercise_mod40/userdept/src/main/java/com/devsuperior/userdept/repositories/UserRepository.java create mode 100644 mod40/exercise_mod40/userdept/src/main/resources/application.properties create mode 100644 mod40/exercise_mod40/userdept/src/main/resources/import.sql create mode 100644 mod40/exercise_mod40/userdept/src/test/java/com/devsuperior/userdept/UserdeptApplicationTests.java diff --git a/mod40/exercise_mod40/userdept/.gitignore b/mod40/exercise_mod40/userdept/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/mod40/exercise_mod40/userdept/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/mod40/exercise_mod40/userdept/mvnw b/mod40/exercise_mod40/userdept/mvnw new file mode 100644 index 0000000..66df285 --- /dev/null +++ b/mod40/exercise_mod40/userdept/mvnw @@ -0,0 +1,308 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Apache Maven Wrapper startup batch script, version 3.2.0 +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /usr/local/etc/mavenrc ] ; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "$(uname)" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME + else + JAVA_HOME="/Library/Java/Home"; export JAVA_HOME + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=$(java-config --jre-home) + fi +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --unix "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --unix "$CLASSPATH") +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] && + JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); pwd)" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="$(which javac)" + if [ -n "$javaExecutable" ] && ! [ "$(expr "\"$javaExecutable\"" : '\([^ ]*\)')" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=$(which readlink) + if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then + if $darwin ; then + javaHome="$(dirname "\"$javaExecutable\"")" + javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac" + else + javaExecutable="$(readlink -f "\"$javaExecutable\"")" + fi + javaHome="$(dirname "\"$javaExecutable\"")" + javaHome=$(expr "$javaHome" : '\(.*\)/bin') + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=$(cd "$wdir/.." || exit 1; pwd) + fi + # end of workaround + done + printf '%s' "$(cd "$basedir" || exit 1; pwd)" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + # Remove \r in case we run on Windows within Git Bash + # and check out the repository with auto CRLF management + # enabled. Otherwise, we may read lines that are delimited with + # \r\n and produce $'-Xarg\r' rather than -Xarg due to word + # splitting rules. + tr -s '\r\n' ' ' < "$1" + fi +} + +log() { + if [ "$MVNW_VERBOSE" = true ]; then + printf '%s\n' "$1" + fi +} + +BASE_DIR=$(find_maven_basedir "$(dirname "$0")") +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR +log "$MAVEN_PROJECTBASEDIR" + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" +if [ -r "$wrapperJarPath" ]; then + log "Found $wrapperJarPath" +else + log "Couldn't find $wrapperJarPath, downloading it ..." + + if [ -n "$MVNW_REPOURL" ]; then + wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + else + wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + fi + while IFS="=" read -r key value; do + # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' ) + safeValue=$(echo "$value" | tr -d '\r') + case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;; + esac + done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" + log "Downloading from: $wrapperUrl" + + if $cygwin; then + wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") + fi + + if command -v wget > /dev/null; then + log "Found wget ... using wget" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + log "Found curl ... using curl" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + else + curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + fi + else + log "Falling back to using Java to download" + javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java" + javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaSource=$(cygpath --path --windows "$javaSource") + javaClass=$(cygpath --path --windows "$javaClass") + fi + if [ -e "$javaSource" ]; then + if [ ! -e "$javaClass" ]; then + log " - Compiling MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/javac" "$javaSource") + fi + if [ -e "$javaClass" ]; then + log " - Running MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath" + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +# If specified, validate the SHA-256 sum of the Maven wrapper jar file +wrapperSha256Sum="" +while IFS="=" read -r key value; do + case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;; + esac +done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" +if [ -n "$wrapperSha256Sum" ]; then + wrapperSha256Result=false + if command -v sha256sum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + elif command -v shasum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." + echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties." + exit 1 + fi + if [ $wrapperSha256Result = false ]; then + echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2 + echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2 + echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2 + exit 1 + fi +fi + +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --windows "$CLASSPATH") + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +# shellcheck disable=SC2086 # safe args +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mod40/exercise_mod40/userdept/mvnw.cmd b/mod40/exercise_mod40/userdept/mvnw.cmd new file mode 100644 index 0000000..95ba6f5 --- /dev/null +++ b/mod40/exercise_mod40/userdept/mvnw.cmd @@ -0,0 +1,205 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.2.0 +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %WRAPPER_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file +SET WRAPPER_SHA_256_SUM="" +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B +) +IF NOT %WRAPPER_SHA_256_SUM%=="" ( + powershell -Command "&{"^ + "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^ + "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^ + " Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^ + " Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^ + " Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^ + " exit 1;"^ + "}"^ + "}" + if ERRORLEVEL 1 goto error +) + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/mod40/exercise_mod40/userdept/pom.xml b/mod40/exercise_mod40/userdept/pom.xml new file mode 100644 index 0000000..e57990f --- /dev/null +++ b/mod40/exercise_mod40/userdept/pom.xml @@ -0,0 +1,58 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 3.2.1 + + + com.devsuperior + userdept + 0.0.1-SNAPSHOT + userdept + Project exercise for Spring Boot with Maven EBAC + + 17 + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + org.springframework.boot + spring-boot-starter-web + + + + com.h2database + h2 + runtime + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.apache.maven.plugins + maven-resources-plugin + 3.1.0 + + + + \ No newline at end of file diff --git a/mod40/exercise_mod40/userdept/src/main/java/META-INF/MANIFEST.MF b/mod40/exercise_mod40/userdept/src/main/java/META-INF/MANIFEST.MF new file mode 100644 index 0000000..254272e --- /dev/null +++ b/mod40/exercise_mod40/userdept/src/main/java/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + diff --git a/mod40/exercise_mod40/userdept/src/main/java/com/devsuperior/userdept/UserdeptApplication.java b/mod40/exercise_mod40/userdept/src/main/java/com/devsuperior/userdept/UserdeptApplication.java new file mode 100644 index 0000000..2f423fc --- /dev/null +++ b/mod40/exercise_mod40/userdept/src/main/java/com/devsuperior/userdept/UserdeptApplication.java @@ -0,0 +1,12 @@ +package com.devsuperior.userdept; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class UserdeptApplication { + + public static void main(String[] args) { + SpringApplication.run(UserdeptApplication.class, args); + } +} \ No newline at end of file diff --git a/mod40/exercise_mod40/userdept/src/main/java/com/devsuperior/userdept/controllers/UserController.java b/mod40/exercise_mod40/userdept/src/main/java/com/devsuperior/userdept/controllers/UserController.java new file mode 100644 index 0000000..f6ba3ba --- /dev/null +++ b/mod40/exercise_mod40/userdept/src/main/java/com/devsuperior/userdept/controllers/UserController.java @@ -0,0 +1,37 @@ +package com.devsuperior.userdept.controllers; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.devsuperior.userdept.entities.User; +import com.devsuperior.userdept.repositories.UserRepository; + +@RestController +@RequestMapping(value = "/users") +public class UserController { + + @Autowired + private UserRepository repository; + + @GetMapping + public List findAll() { + return repository.findAll(); + } + + @GetMapping(value = "/{id}") + public User findAll(@PathVariable Long id) { + return repository.findById(id).get(); + } + + @PostMapping + public User insert(@RequestBody User user) { + return repository.save(user); + } +} \ No newline at end of file diff --git a/mod40/exercise_mod40/userdept/src/main/java/com/devsuperior/userdept/entities/Department.java b/mod40/exercise_mod40/userdept/src/main/java/com/devsuperior/userdept/entities/Department.java new file mode 100644 index 0000000..a680d7c --- /dev/null +++ b/mod40/exercise_mod40/userdept/src/main/java/com/devsuperior/userdept/entities/Department.java @@ -0,0 +1,36 @@ +package com.devsuperior.userdept.entities; + +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.Table; + +@Entity +@Table(name = "tb_department") +public class Department { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + private String name; + + public Department() { + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} \ No newline at end of file diff --git a/mod40/exercise_mod40/userdept/src/main/java/com/devsuperior/userdept/entities/User.java b/mod40/exercise_mod40/userdept/src/main/java/com/devsuperior/userdept/entities/User.java new file mode 100644 index 0000000..013e91a --- /dev/null +++ b/mod40/exercise_mod40/userdept/src/main/java/com/devsuperior/userdept/entities/User.java @@ -0,0 +1,59 @@ +package com.devsuperior.userdept.entities; + +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table; + +@Entity +@Table(name = "tb_user") +public class User { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + private String name; + private String email; + + @ManyToOne + @JoinColumn(name = "department_id") + private Department department; + + public User() { + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public Department getDepartment() { + return department; + } + + public void setDepartment(Department department) { + this.department = department; + } +} \ No newline at end of file diff --git a/mod40/exercise_mod40/userdept/src/main/java/com/devsuperior/userdept/repositories/UserRepository.java b/mod40/exercise_mod40/userdept/src/main/java/com/devsuperior/userdept/repositories/UserRepository.java new file mode 100644 index 0000000..028cca0 --- /dev/null +++ b/mod40/exercise_mod40/userdept/src/main/java/com/devsuperior/userdept/repositories/UserRepository.java @@ -0,0 +1,9 @@ +package com.devsuperior.userdept.repositories; + +import org.springframework.data.jpa.repository.JpaRepository; + +import com.devsuperior.userdept.entities.User; + +public interface UserRepository extends JpaRepository { + +} \ No newline at end of file diff --git a/mod40/exercise_mod40/userdept/src/main/resources/application.properties b/mod40/exercise_mod40/userdept/src/main/resources/application.properties new file mode 100644 index 0000000..b406a73 --- /dev/null +++ b/mod40/exercise_mod40/userdept/src/main/resources/application.properties @@ -0,0 +1,12 @@ +# Dados de conexo com o banco H2 +spring.datasource.url=jdbc:h2:mem:testdb +spring.datasource.username=sa +spring.datasource.password= + +# Configurao do cliente web do banco H2 +spring.h2.console.enabled=true +spring.h2.console.path=/h2-console + +# Configurao para mostrar o SQL no console +spring.jpa.show-sql=true +spring.jpa.properties.hibernate.format_sql=true \ No newline at end of file diff --git a/mod40/exercise_mod40/userdept/src/main/resources/import.sql b/mod40/exercise_mod40/userdept/src/main/resources/import.sql new file mode 100644 index 0000000..9d34d04 --- /dev/null +++ b/mod40/exercise_mod40/userdept/src/main/resources/import.sql @@ -0,0 +1,7 @@ +INSERT INTO tb_department(name) VALUES ('Gestão'); +INSERT INTO tb_department(name) VALUES ('Informática'); + +INSERT INTO tb_user(department_id, name, email) VALUES (1, 'Maria', 'maria@gmail.com'); +INSERT INTO tb_user(department_id, name, email) VALUES (1, 'Bob', 'bob@gmail.com'); +INSERT INTO tb_user(department_id, name, email) VALUES (2, 'Alex', 'alex@gmail.com'); +INSERT INTO tb_user(department_id, name, email) VALUES (2, 'Ana', 'ana@gmail.com'); \ No newline at end of file diff --git a/mod40/exercise_mod40/userdept/src/test/java/com/devsuperior/userdept/UserdeptApplicationTests.java b/mod40/exercise_mod40/userdept/src/test/java/com/devsuperior/userdept/UserdeptApplicationTests.java new file mode 100644 index 0000000..7094f7b --- /dev/null +++ b/mod40/exercise_mod40/userdept/src/test/java/com/devsuperior/userdept/UserdeptApplicationTests.java @@ -0,0 +1,13 @@ +package com.devsuperior.userdept; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class UserdeptApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/mod41/ClienteServiceProfessor/src/main/java/br/com/rpires/ClienteServiceProfessor/ClienteServiceProfessorApplication.java b/mod41/ClienteServiceProfessor/src/main/java/br/com/rpires/ClienteServiceProfessor/ClienteServiceProfessorApplication.java index de1d199..86255ea 100644 --- a/mod41/ClienteServiceProfessor/src/main/java/br/com/rpires/ClienteServiceProfessor/ClienteServiceProfessorApplication.java +++ b/mod41/ClienteServiceProfessor/src/main/java/br/com/rpires/ClienteServiceProfessor/ClienteServiceProfessorApplication.java @@ -6,13 +6,15 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; import org.springframework.cloud.context.config.annotation.RefreshScope; +import br.com.rpires.ebac.Springbootjsp.SpringbootJspApplication; + @SpringBootApplication @RefreshScope @EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) public class ClienteServiceProfessorApplication { public static void main(String[] args) { - SpringApplication.run(ClienteServiceProfessorApplication.class, args); + SpringbootJspApplication.run(ClienteServiceProfessorApplication.class, args); } } From 6e06f8e59eb6e39ea32aab01864ab6ef0b38a6fb Mon Sep 17 00:00:00 2001 From: Steve Date: Sun, 21 Jan 2024 22:26:41 -0300 Subject: [PATCH 64/65] Finished exercise mod33 --- mod33/exercise_mod33/userdept/.gitignore | 33 ++ mod33/exercise_mod33/userdept/mvnw | 308 ++++++++++++++++++ mod33/exercise_mod33/userdept/mvnw.cmd | 205 ++++++++++++ mod33/exercise_mod33/userdept/pom.xml | 58 ++++ .../src/main/java/META-INF/MANIFEST.MF | 3 + .../userdept/UserdeptApplication.java | 12 + .../userdept/controllers/UserController.java | 37 +++ .../userdept/entities/Department.java | 36 ++ .../devsuperior/userdept/entities/User.java | 59 ++++ .../userdept/repositories/UserRepository.java | 9 + .../src/main/resources/application.properties | 12 + .../userdept/src/main/resources/import.sql | 7 + .../userdept/UserdeptApplicationTests.java | 13 + 13 files changed, 792 insertions(+) create mode 100644 mod33/exercise_mod33/userdept/.gitignore create mode 100644 mod33/exercise_mod33/userdept/mvnw create mode 100644 mod33/exercise_mod33/userdept/mvnw.cmd create mode 100644 mod33/exercise_mod33/userdept/pom.xml create mode 100644 mod33/exercise_mod33/userdept/src/main/java/META-INF/MANIFEST.MF create mode 100644 mod33/exercise_mod33/userdept/src/main/java/com/devsuperior/userdept/UserdeptApplication.java create mode 100644 mod33/exercise_mod33/userdept/src/main/java/com/devsuperior/userdept/controllers/UserController.java create mode 100644 mod33/exercise_mod33/userdept/src/main/java/com/devsuperior/userdept/entities/Department.java create mode 100644 mod33/exercise_mod33/userdept/src/main/java/com/devsuperior/userdept/entities/User.java create mode 100644 mod33/exercise_mod33/userdept/src/main/java/com/devsuperior/userdept/repositories/UserRepository.java create mode 100644 mod33/exercise_mod33/userdept/src/main/resources/application.properties create mode 100644 mod33/exercise_mod33/userdept/src/main/resources/import.sql create mode 100644 mod33/exercise_mod33/userdept/src/test/java/com/devsuperior/userdept/UserdeptApplicationTests.java diff --git a/mod33/exercise_mod33/userdept/.gitignore b/mod33/exercise_mod33/userdept/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/mod33/exercise_mod33/userdept/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/mod33/exercise_mod33/userdept/mvnw b/mod33/exercise_mod33/userdept/mvnw new file mode 100644 index 0000000..66df285 --- /dev/null +++ b/mod33/exercise_mod33/userdept/mvnw @@ -0,0 +1,308 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Apache Maven Wrapper startup batch script, version 3.2.0 +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /usr/local/etc/mavenrc ] ; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "$(uname)" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME + else + JAVA_HOME="/Library/Java/Home"; export JAVA_HOME + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=$(java-config --jre-home) + fi +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --unix "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --unix "$CLASSPATH") +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] && + JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); pwd)" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="$(which javac)" + if [ -n "$javaExecutable" ] && ! [ "$(expr "\"$javaExecutable\"" : '\([^ ]*\)')" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=$(which readlink) + if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then + if $darwin ; then + javaHome="$(dirname "\"$javaExecutable\"")" + javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac" + else + javaExecutable="$(readlink -f "\"$javaExecutable\"")" + fi + javaHome="$(dirname "\"$javaExecutable\"")" + javaHome=$(expr "$javaHome" : '\(.*\)/bin') + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=$(cd "$wdir/.." || exit 1; pwd) + fi + # end of workaround + done + printf '%s' "$(cd "$basedir" || exit 1; pwd)" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + # Remove \r in case we run on Windows within Git Bash + # and check out the repository with auto CRLF management + # enabled. Otherwise, we may read lines that are delimited with + # \r\n and produce $'-Xarg\r' rather than -Xarg due to word + # splitting rules. + tr -s '\r\n' ' ' < "$1" + fi +} + +log() { + if [ "$MVNW_VERBOSE" = true ]; then + printf '%s\n' "$1" + fi +} + +BASE_DIR=$(find_maven_basedir "$(dirname "$0")") +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR +log "$MAVEN_PROJECTBASEDIR" + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" +if [ -r "$wrapperJarPath" ]; then + log "Found $wrapperJarPath" +else + log "Couldn't find $wrapperJarPath, downloading it ..." + + if [ -n "$MVNW_REPOURL" ]; then + wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + else + wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + fi + while IFS="=" read -r key value; do + # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' ) + safeValue=$(echo "$value" | tr -d '\r') + case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;; + esac + done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" + log "Downloading from: $wrapperUrl" + + if $cygwin; then + wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") + fi + + if command -v wget > /dev/null; then + log "Found wget ... using wget" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + log "Found curl ... using curl" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + else + curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + fi + else + log "Falling back to using Java to download" + javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java" + javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaSource=$(cygpath --path --windows "$javaSource") + javaClass=$(cygpath --path --windows "$javaClass") + fi + if [ -e "$javaSource" ]; then + if [ ! -e "$javaClass" ]; then + log " - Compiling MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/javac" "$javaSource") + fi + if [ -e "$javaClass" ]; then + log " - Running MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath" + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +# If specified, validate the SHA-256 sum of the Maven wrapper jar file +wrapperSha256Sum="" +while IFS="=" read -r key value; do + case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;; + esac +done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" +if [ -n "$wrapperSha256Sum" ]; then + wrapperSha256Result=false + if command -v sha256sum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + elif command -v shasum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." + echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties." + exit 1 + fi + if [ $wrapperSha256Result = false ]; then + echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2 + echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2 + echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2 + exit 1 + fi +fi + +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --windows "$CLASSPATH") + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +# shellcheck disable=SC2086 # safe args +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mod33/exercise_mod33/userdept/mvnw.cmd b/mod33/exercise_mod33/userdept/mvnw.cmd new file mode 100644 index 0000000..95ba6f5 --- /dev/null +++ b/mod33/exercise_mod33/userdept/mvnw.cmd @@ -0,0 +1,205 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.2.0 +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %WRAPPER_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file +SET WRAPPER_SHA_256_SUM="" +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B +) +IF NOT %WRAPPER_SHA_256_SUM%=="" ( + powershell -Command "&{"^ + "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^ + "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^ + " Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^ + " Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^ + " Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^ + " exit 1;"^ + "}"^ + "}" + if ERRORLEVEL 1 goto error +) + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/mod33/exercise_mod33/userdept/pom.xml b/mod33/exercise_mod33/userdept/pom.xml new file mode 100644 index 0000000..e57990f --- /dev/null +++ b/mod33/exercise_mod33/userdept/pom.xml @@ -0,0 +1,58 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 3.2.1 + + + com.devsuperior + userdept + 0.0.1-SNAPSHOT + userdept + Project exercise for Spring Boot with Maven EBAC + + 17 + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + org.springframework.boot + spring-boot-starter-web + + + + com.h2database + h2 + runtime + + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.apache.maven.plugins + maven-resources-plugin + 3.1.0 + + + + \ No newline at end of file diff --git a/mod33/exercise_mod33/userdept/src/main/java/META-INF/MANIFEST.MF b/mod33/exercise_mod33/userdept/src/main/java/META-INF/MANIFEST.MF new file mode 100644 index 0000000..254272e --- /dev/null +++ b/mod33/exercise_mod33/userdept/src/main/java/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + diff --git a/mod33/exercise_mod33/userdept/src/main/java/com/devsuperior/userdept/UserdeptApplication.java b/mod33/exercise_mod33/userdept/src/main/java/com/devsuperior/userdept/UserdeptApplication.java new file mode 100644 index 0000000..2f423fc --- /dev/null +++ b/mod33/exercise_mod33/userdept/src/main/java/com/devsuperior/userdept/UserdeptApplication.java @@ -0,0 +1,12 @@ +package com.devsuperior.userdept; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class UserdeptApplication { + + public static void main(String[] args) { + SpringApplication.run(UserdeptApplication.class, args); + } +} \ No newline at end of file diff --git a/mod33/exercise_mod33/userdept/src/main/java/com/devsuperior/userdept/controllers/UserController.java b/mod33/exercise_mod33/userdept/src/main/java/com/devsuperior/userdept/controllers/UserController.java new file mode 100644 index 0000000..f6ba3ba --- /dev/null +++ b/mod33/exercise_mod33/userdept/src/main/java/com/devsuperior/userdept/controllers/UserController.java @@ -0,0 +1,37 @@ +package com.devsuperior.userdept.controllers; + +import java.util.List; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import com.devsuperior.userdept.entities.User; +import com.devsuperior.userdept.repositories.UserRepository; + +@RestController +@RequestMapping(value = "/users") +public class UserController { + + @Autowired + private UserRepository repository; + + @GetMapping + public List findAll() { + return repository.findAll(); + } + + @GetMapping(value = "/{id}") + public User findAll(@PathVariable Long id) { + return repository.findById(id).get(); + } + + @PostMapping + public User insert(@RequestBody User user) { + return repository.save(user); + } +} \ No newline at end of file diff --git a/mod33/exercise_mod33/userdept/src/main/java/com/devsuperior/userdept/entities/Department.java b/mod33/exercise_mod33/userdept/src/main/java/com/devsuperior/userdept/entities/Department.java new file mode 100644 index 0000000..a680d7c --- /dev/null +++ b/mod33/exercise_mod33/userdept/src/main/java/com/devsuperior/userdept/entities/Department.java @@ -0,0 +1,36 @@ +package com.devsuperior.userdept.entities; + +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.Table; + +@Entity +@Table(name = "tb_department") +public class Department { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + private String name; + + public Department() { + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } +} \ No newline at end of file diff --git a/mod33/exercise_mod33/userdept/src/main/java/com/devsuperior/userdept/entities/User.java b/mod33/exercise_mod33/userdept/src/main/java/com/devsuperior/userdept/entities/User.java new file mode 100644 index 0000000..013e91a --- /dev/null +++ b/mod33/exercise_mod33/userdept/src/main/java/com/devsuperior/userdept/entities/User.java @@ -0,0 +1,59 @@ +package com.devsuperior.userdept.entities; + +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; +import jakarta.persistence.Table; + +@Entity +@Table(name = "tb_user") +public class User { + + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Long id; + private String name; + private String email; + + @ManyToOne + @JoinColumn(name = "department_id") + private Department department; + + public User() { + } + + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public String getEmail() { + return email; + } + + public void setEmail(String email) { + this.email = email; + } + + public Department getDepartment() { + return department; + } + + public void setDepartment(Department department) { + this.department = department; + } +} \ No newline at end of file diff --git a/mod33/exercise_mod33/userdept/src/main/java/com/devsuperior/userdept/repositories/UserRepository.java b/mod33/exercise_mod33/userdept/src/main/java/com/devsuperior/userdept/repositories/UserRepository.java new file mode 100644 index 0000000..028cca0 --- /dev/null +++ b/mod33/exercise_mod33/userdept/src/main/java/com/devsuperior/userdept/repositories/UserRepository.java @@ -0,0 +1,9 @@ +package com.devsuperior.userdept.repositories; + +import org.springframework.data.jpa.repository.JpaRepository; + +import com.devsuperior.userdept.entities.User; + +public interface UserRepository extends JpaRepository { + +} \ No newline at end of file diff --git a/mod33/exercise_mod33/userdept/src/main/resources/application.properties b/mod33/exercise_mod33/userdept/src/main/resources/application.properties new file mode 100644 index 0000000..b406a73 --- /dev/null +++ b/mod33/exercise_mod33/userdept/src/main/resources/application.properties @@ -0,0 +1,12 @@ +# Dados de conexo com o banco H2 +spring.datasource.url=jdbc:h2:mem:testdb +spring.datasource.username=sa +spring.datasource.password= + +# Configurao do cliente web do banco H2 +spring.h2.console.enabled=true +spring.h2.console.path=/h2-console + +# Configurao para mostrar o SQL no console +spring.jpa.show-sql=true +spring.jpa.properties.hibernate.format_sql=true \ No newline at end of file diff --git a/mod33/exercise_mod33/userdept/src/main/resources/import.sql b/mod33/exercise_mod33/userdept/src/main/resources/import.sql new file mode 100644 index 0000000..9d34d04 --- /dev/null +++ b/mod33/exercise_mod33/userdept/src/main/resources/import.sql @@ -0,0 +1,7 @@ +INSERT INTO tb_department(name) VALUES ('Gestão'); +INSERT INTO tb_department(name) VALUES ('Informática'); + +INSERT INTO tb_user(department_id, name, email) VALUES (1, 'Maria', 'maria@gmail.com'); +INSERT INTO tb_user(department_id, name, email) VALUES (1, 'Bob', 'bob@gmail.com'); +INSERT INTO tb_user(department_id, name, email) VALUES (2, 'Alex', 'alex@gmail.com'); +INSERT INTO tb_user(department_id, name, email) VALUES (2, 'Ana', 'ana@gmail.com'); \ No newline at end of file diff --git a/mod33/exercise_mod33/userdept/src/test/java/com/devsuperior/userdept/UserdeptApplicationTests.java b/mod33/exercise_mod33/userdept/src/test/java/com/devsuperior/userdept/UserdeptApplicationTests.java new file mode 100644 index 0000000..7094f7b --- /dev/null +++ b/mod33/exercise_mod33/userdept/src/test/java/com/devsuperior/userdept/UserdeptApplicationTests.java @@ -0,0 +1,13 @@ +package com.devsuperior.userdept; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class UserdeptApplicationTests { + + @Test + void contextLoads() { + } + +} From 37c22e5c980cfd6abf95ee287684f858e7a44d72 Mon Sep 17 00:00:00 2001 From: Steve Date: Wed, 24 Jan 2024 20:05:47 -0300 Subject: [PATCH 65/65] Finished mod 42 --- mod42/ClienteServiceAlunos/pom.xml | 7 + .../vendas/online/config/ValidatorConfig.java | 8 +- .../rpires/vendas/online/domain/Produto.java | 11 +- .../vendas/online/errorhandling/ApiError.java | 2 +- .../ClientServiceTest/.gitignore | 33 ++ mod42/exercise_mod42/ClientServiceTest/mvnw | 308 ++++++++++++++++++ .../exercise_mod42/ClientServiceTest/mvnw.cmd | 205 ++++++++++++ .../exercise_mod42/ClientServiceTest/pom.xml | 97 ++++++ .../ClientServiceTestApplication.java | 13 + .../ConstraintViolationException.java | 14 + .../ClienteServiceAlunosApplication.java | 18 + .../src/main/java/online/domain/Cliente.java | 77 +++++ .../java/online/errorhandling/ApiError.java | 107 ++++++ .../online/errorhandling/ApiSubError.java | 4 + .../errorhandling/ApiValidationError.java | 80 +++++ .../online/exception/BadRequestException.java | 11 + .../exception/EntityNotFoundException.java | 33 ++ .../exception/RestExceptionHandler.java | 185 +++++++++++ .../java/online/reources/ClienteResource.java | 84 +++++ .../online/repository/IClienteRepository.java | 21 ++ .../java/online/usecase/BuscaCliente.java | 51 +++ .../java/online/usecase/CadastroCliente.java | 40 +++ .../main/java/onlineconfig/MongoConfig.java | 17 + .../main/java/onlineconfig/OpenAPIConfig.java | 33 ++ .../java/onlineconfig/ValidatorConfig.java | 30 ++ .../src/main/resources/application.properties | 1 + .../ClientServiceTestApplicationTests.java | 13 + .../ConfigServiceTest/.gitignore | 33 ++ mod42/exercise_mod42/ConfigServiceTest/mvnw | 308 ++++++++++++++++++ .../exercise_mod42/ConfigServiceTest/mvnw.cmd | 205 ++++++++++++ .../exercise_mod42/ConfigServiceTest/pom.xml | 70 ++++ .../src/main/java/META-INF/MANIFEST.MF | 3 + .../ConfigServiceTestApplication.java | 15 + .../src/main/resources/application.properties | 6 + .../config/cliente-service-alunos.yml | 15 + .../config/produto-service-alunos.yml | 13 + .../resources/config/venda-service-alunos.yml | 22 ++ .../ConfigServiceTestApplicationTests.java | 13 + .../ProductServiceTest/.gitignore | 33 ++ mod42/exercise_mod42/ProductServiceTest/mvnw | 308 ++++++++++++++++++ .../ProductServiceTest/mvnw.cmd | 205 ++++++++++++ .../exercise_mod42/ProductServiceTest/pom.xml | 96 ++++++ .../src/main/java/META-INF/MANIFEST.MF | 3 + .../ProductServiceTestApplication.java | 13 + .../src/main/resources/application.properties | 1 + .../ProductServiceTestApplicationTests.java | 13 + 46 files changed, 2870 insertions(+), 8 deletions(-) create mode 100644 mod42/exercise_mod42/ClientServiceTest/.gitignore create mode 100644 mod42/exercise_mod42/ClientServiceTest/mvnw create mode 100644 mod42/exercise_mod42/ClientServiceTest/mvnw.cmd create mode 100644 mod42/exercise_mod42/ClientServiceTest/pom.xml create mode 100644 mod42/exercise_mod42/ClientServiceTest/src/main/java/com/example/ClientServiceTest/ClientServiceTestApplication.java create mode 100644 mod42/exercise_mod42/ClientServiceTest/src/main/java/javax/validation/ConstraintViolationException.java create mode 100644 mod42/exercise_mod42/ClientServiceTest/src/main/java/online/ClienteServiceAlunosApplication.java create mode 100644 mod42/exercise_mod42/ClientServiceTest/src/main/java/online/domain/Cliente.java create mode 100644 mod42/exercise_mod42/ClientServiceTest/src/main/java/online/errorhandling/ApiError.java create mode 100644 mod42/exercise_mod42/ClientServiceTest/src/main/java/online/errorhandling/ApiSubError.java create mode 100644 mod42/exercise_mod42/ClientServiceTest/src/main/java/online/errorhandling/ApiValidationError.java create mode 100644 mod42/exercise_mod42/ClientServiceTest/src/main/java/online/exception/BadRequestException.java create mode 100644 mod42/exercise_mod42/ClientServiceTest/src/main/java/online/exception/EntityNotFoundException.java create mode 100644 mod42/exercise_mod42/ClientServiceTest/src/main/java/online/exception/RestExceptionHandler.java create mode 100644 mod42/exercise_mod42/ClientServiceTest/src/main/java/online/reources/ClienteResource.java create mode 100644 mod42/exercise_mod42/ClientServiceTest/src/main/java/online/repository/IClienteRepository.java create mode 100644 mod42/exercise_mod42/ClientServiceTest/src/main/java/online/usecase/BuscaCliente.java create mode 100644 mod42/exercise_mod42/ClientServiceTest/src/main/java/online/usecase/CadastroCliente.java create mode 100644 mod42/exercise_mod42/ClientServiceTest/src/main/java/onlineconfig/MongoConfig.java create mode 100644 mod42/exercise_mod42/ClientServiceTest/src/main/java/onlineconfig/OpenAPIConfig.java create mode 100644 mod42/exercise_mod42/ClientServiceTest/src/main/java/onlineconfig/ValidatorConfig.java create mode 100644 mod42/exercise_mod42/ClientServiceTest/src/main/resources/application.properties create mode 100644 mod42/exercise_mod42/ClientServiceTest/src/test/java/com/example/ClientServiceTest/ClientServiceTestApplicationTests.java create mode 100644 mod42/exercise_mod42/ConfigServiceTest/.gitignore create mode 100644 mod42/exercise_mod42/ConfigServiceTest/mvnw create mode 100644 mod42/exercise_mod42/ConfigServiceTest/mvnw.cmd create mode 100644 mod42/exercise_mod42/ConfigServiceTest/pom.xml create mode 100644 mod42/exercise_mod42/ConfigServiceTest/src/main/java/META-INF/MANIFEST.MF create mode 100644 mod42/exercise_mod42/ConfigServiceTest/src/main/java/com/example/ConfigServiceTest/ConfigServiceTestApplication.java create mode 100644 mod42/exercise_mod42/ConfigServiceTest/src/main/resources/application.properties create mode 100644 mod42/exercise_mod42/ConfigServiceTest/src/main/resources/config/cliente-service-alunos.yml create mode 100644 mod42/exercise_mod42/ConfigServiceTest/src/main/resources/config/produto-service-alunos.yml create mode 100644 mod42/exercise_mod42/ConfigServiceTest/src/main/resources/config/venda-service-alunos.yml create mode 100644 mod42/exercise_mod42/ConfigServiceTest/src/test/java/com/example/ConfigServiceTest/ConfigServiceTestApplicationTests.java create mode 100644 mod42/exercise_mod42/ProductServiceTest/.gitignore create mode 100644 mod42/exercise_mod42/ProductServiceTest/mvnw create mode 100644 mod42/exercise_mod42/ProductServiceTest/mvnw.cmd create mode 100644 mod42/exercise_mod42/ProductServiceTest/pom.xml create mode 100644 mod42/exercise_mod42/ProductServiceTest/src/main/java/META-INF/MANIFEST.MF create mode 100644 mod42/exercise_mod42/ProductServiceTest/src/main/java/com/example/ProductServiceTest/ProductServiceTestApplication.java create mode 100644 mod42/exercise_mod42/ProductServiceTest/src/main/resources/application.properties create mode 100644 mod42/exercise_mod42/ProductServiceTest/src/test/java/com/example/ProductServiceTest/ProductServiceTestApplicationTests.java diff --git a/mod42/ClienteServiceAlunos/pom.xml b/mod42/ClienteServiceAlunos/pom.xml index c2843d4..58d83bd 100644 --- a/mod42/ClienteServiceAlunos/pom.xml +++ b/mod42/ClienteServiceAlunos/pom.xml @@ -78,6 +78,13 @@ pom import + + + org.springframework.boot + spring-boot-devtools + runtime + true + diff --git a/mod42/VendaServiceAlunos/src/main/java/br/com/rpires/vendas/online/config/ValidatorConfig.java b/mod42/VendaServiceAlunos/src/main/java/br/com/rpires/vendas/online/config/ValidatorConfig.java index 61ddeb5..6ccc6c6 100644 --- a/mod42/VendaServiceAlunos/src/main/java/br/com/rpires/vendas/online/config/ValidatorConfig.java +++ b/mod42/VendaServiceAlunos/src/main/java/br/com/rpires/vendas/online/config/ValidatorConfig.java @@ -5,10 +5,8 @@ import javax.validation.Validator; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; -import org.springframework.context.support.ResourceBundleMessageSource; import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean; /** @@ -17,12 +15,12 @@ */ @Configuration public class ValidatorConfig { - + // @Autowired // ResourceBundleMessageSource messageSource; - @Bean - public Validator validatorFactory () { + @Bean + Validator validatorFactory() { LocalValidatorFactoryBean bean = new LocalValidatorFactoryBean(); // bean.setValidationMessageSource(messageSource); return bean; diff --git a/mod42/VendaServiceAlunos/src/main/java/br/com/rpires/vendas/online/domain/Produto.java b/mod42/VendaServiceAlunos/src/main/java/br/com/rpires/vendas/online/domain/Produto.java index 48fa225..0d0a0c1 100644 --- a/mod42/VendaServiceAlunos/src/main/java/br/com/rpires/vendas/online/domain/Produto.java +++ b/mod42/VendaServiceAlunos/src/main/java/br/com/rpires/vendas/online/domain/Produto.java @@ -41,5 +41,12 @@ public class Produto { @NotNull private BigDecimal valor; - -} + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } +} \ No newline at end of file diff --git a/mod42/VendaServiceAlunos/src/main/java/br/com/rpires/vendas/online/errorhandling/ApiError.java b/mod42/VendaServiceAlunos/src/main/java/br/com/rpires/vendas/online/errorhandling/ApiError.java index 0cc021b..7ecf6f6 100644 --- a/mod42/VendaServiceAlunos/src/main/java/br/com/rpires/vendas/online/errorhandling/ApiError.java +++ b/mod42/VendaServiceAlunos/src/main/java/br/com/rpires/vendas/online/errorhandling/ApiError.java @@ -58,7 +58,7 @@ private void addSubError(ApiSubError subError) { } private void addValidationError(String object, String field, Object rejectedValue, String message) { - addSubError(new ApiValidationError(object, field, rejectedValue, message)); + addSubError(new ApiValidationError(object, field)); } private void addValidationError(String object, String message) { diff --git a/mod42/exercise_mod42/ClientServiceTest/.gitignore b/mod42/exercise_mod42/ClientServiceTest/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/mod42/exercise_mod42/ClientServiceTest/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/mod42/exercise_mod42/ClientServiceTest/mvnw b/mod42/exercise_mod42/ClientServiceTest/mvnw new file mode 100644 index 0000000..66df285 --- /dev/null +++ b/mod42/exercise_mod42/ClientServiceTest/mvnw @@ -0,0 +1,308 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Apache Maven Wrapper startup batch script, version 3.2.0 +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /usr/local/etc/mavenrc ] ; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "$(uname)" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME + else + JAVA_HOME="/Library/Java/Home"; export JAVA_HOME + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=$(java-config --jre-home) + fi +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --unix "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --unix "$CLASSPATH") +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] && + JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); pwd)" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="$(which javac)" + if [ -n "$javaExecutable" ] && ! [ "$(expr "\"$javaExecutable\"" : '\([^ ]*\)')" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=$(which readlink) + if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then + if $darwin ; then + javaHome="$(dirname "\"$javaExecutable\"")" + javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac" + else + javaExecutable="$(readlink -f "\"$javaExecutable\"")" + fi + javaHome="$(dirname "\"$javaExecutable\"")" + javaHome=$(expr "$javaHome" : '\(.*\)/bin') + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=$(cd "$wdir/.." || exit 1; pwd) + fi + # end of workaround + done + printf '%s' "$(cd "$basedir" || exit 1; pwd)" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + # Remove \r in case we run on Windows within Git Bash + # and check out the repository with auto CRLF management + # enabled. Otherwise, we may read lines that are delimited with + # \r\n and produce $'-Xarg\r' rather than -Xarg due to word + # splitting rules. + tr -s '\r\n' ' ' < "$1" + fi +} + +log() { + if [ "$MVNW_VERBOSE" = true ]; then + printf '%s\n' "$1" + fi +} + +BASE_DIR=$(find_maven_basedir "$(dirname "$0")") +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR +log "$MAVEN_PROJECTBASEDIR" + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" +if [ -r "$wrapperJarPath" ]; then + log "Found $wrapperJarPath" +else + log "Couldn't find $wrapperJarPath, downloading it ..." + + if [ -n "$MVNW_REPOURL" ]; then + wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + else + wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + fi + while IFS="=" read -r key value; do + # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' ) + safeValue=$(echo "$value" | tr -d '\r') + case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;; + esac + done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" + log "Downloading from: $wrapperUrl" + + if $cygwin; then + wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") + fi + + if command -v wget > /dev/null; then + log "Found wget ... using wget" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + log "Found curl ... using curl" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + else + curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + fi + else + log "Falling back to using Java to download" + javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java" + javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaSource=$(cygpath --path --windows "$javaSource") + javaClass=$(cygpath --path --windows "$javaClass") + fi + if [ -e "$javaSource" ]; then + if [ ! -e "$javaClass" ]; then + log " - Compiling MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/javac" "$javaSource") + fi + if [ -e "$javaClass" ]; then + log " - Running MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath" + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +# If specified, validate the SHA-256 sum of the Maven wrapper jar file +wrapperSha256Sum="" +while IFS="=" read -r key value; do + case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;; + esac +done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" +if [ -n "$wrapperSha256Sum" ]; then + wrapperSha256Result=false + if command -v sha256sum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + elif command -v shasum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." + echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties." + exit 1 + fi + if [ $wrapperSha256Result = false ]; then + echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2 + echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2 + echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2 + exit 1 + fi +fi + +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --windows "$CLASSPATH") + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +# shellcheck disable=SC2086 # safe args +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mod42/exercise_mod42/ClientServiceTest/mvnw.cmd b/mod42/exercise_mod42/ClientServiceTest/mvnw.cmd new file mode 100644 index 0000000..95ba6f5 --- /dev/null +++ b/mod42/exercise_mod42/ClientServiceTest/mvnw.cmd @@ -0,0 +1,205 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.2.0 +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %WRAPPER_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file +SET WRAPPER_SHA_256_SUM="" +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B +) +IF NOT %WRAPPER_SHA_256_SUM%=="" ( + powershell -Command "&{"^ + "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^ + "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^ + " Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^ + " Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^ + " Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^ + " exit 1;"^ + "}"^ + "}" + if ERRORLEVEL 1 goto error +) + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/mod42/exercise_mod42/ClientServiceTest/pom.xml b/mod42/exercise_mod42/ClientServiceTest/pom.xml new file mode 100644 index 0000000..a538719 --- /dev/null +++ b/mod42/exercise_mod42/ClientServiceTest/pom.xml @@ -0,0 +1,97 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 3.2.2 + + + com.example + ClientServiceTest + 0.0.1-SNAPSHOT + ClientServiceTest + Demo project for Spring Boot + + 17 + 2023.0.0 + + + + org.springframework.boot + spring-boot-starter-data-mongodb + + + org.springframework.boot + spring-boot-starter-validation + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.cloud + spring-cloud-starter + + + org.springframework.cloud + spring-cloud-starter-config + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + com.example + ProductServiceTest + 0.0.1-SNAPSHOT + + + + + + org.springframework.cloud + spring-cloud-dependencies + ${spring-cloud.version} + pom + import + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/mod42/exercise_mod42/ClientServiceTest/src/main/java/com/example/ClientServiceTest/ClientServiceTestApplication.java b/mod42/exercise_mod42/ClientServiceTest/src/main/java/com/example/ClientServiceTest/ClientServiceTestApplication.java new file mode 100644 index 0000000..cf3eff7 --- /dev/null +++ b/mod42/exercise_mod42/ClientServiceTest/src/main/java/com/example/ClientServiceTest/ClientServiceTestApplication.java @@ -0,0 +1,13 @@ +package com.example.ClientServiceTest; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class ClientServiceTestApplication { + + public static void main(String[] args) { + SpringApplication.run(ClientServiceTestApplication.class, args); + } + +} diff --git a/mod42/exercise_mod42/ClientServiceTest/src/main/java/javax/validation/ConstraintViolationException.java b/mod42/exercise_mod42/ClientServiceTest/src/main/java/javax/validation/ConstraintViolationException.java new file mode 100644 index 0000000..e37db90 --- /dev/null +++ b/mod42/exercise_mod42/ClientServiceTest/src/main/java/javax/validation/ConstraintViolationException.java @@ -0,0 +1,14 @@ +package javax.validation; + +import java.util.List; + +import org.springframework.validation.FieldError; + +public class ConstraintViolationException { + + public List getConstraintViolations() { + // TODO Auto-generated method stub + return null; + } + +} diff --git a/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/ClienteServiceAlunosApplication.java b/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/ClienteServiceAlunosApplication.java new file mode 100644 index 0000000..2d7b2ee --- /dev/null +++ b/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/ClienteServiceAlunosApplication.java @@ -0,0 +1,18 @@ +package online; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.EnableAutoConfiguration; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration; +import org.springframework.cloud.context.config.annotation.RefreshScope; + +@SpringBootApplication +@RefreshScope +@EnableAutoConfiguration(exclude={DataSourceAutoConfiguration.class}) +public class ClienteServiceAlunosApplication { + + public static void main(String[] args) { + SpringApplication.run(ClienteServiceAlunosApplication.class, args); + } + +} diff --git a/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/domain/Cliente.java b/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/domain/Cliente.java new file mode 100644 index 0000000..465da2a --- /dev/null +++ b/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/domain/Cliente.java @@ -0,0 +1,77 @@ +/** + * + */ +package online.domain; + +import org.springframework.data.annotation.Id; +import org.springframework.data.mongodb.core.index.Indexed; +import org.springframework.data.mongodb.core.mapping.Document; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotNull; +import jakarta.validation.constraints.Pattern; +import jakarta.validation.constraints.Size; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Getter; +import lombok.NoArgsConstructor; +import lombok.Setter; + +/** + * @author rodrigo.pires + * + */ +@Document(collection = "cliente") +@Getter +@Setter +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Schema(name = "Cliente", description = "Cliente") +public class Cliente { + + @Id + @Schema(description = "Identificador único") + private String id; + + @NotNull + @Size(min = 1, max = 50) + @Schema(description = "Nome", minLength = 1, maxLength = 50, nullable = false) + private String nome; + + @NotNull + @Indexed(unique = true, background = true) + @Schema(description = "CPF", nullable = false) + private Long cpf; + + @NotNull + @Schema(description = "Telefone", nullable = false) + private Long tel; + + @NotNull + @Size(min = 1, max = 50) + @Indexed(unique = true, background = true) + @Schema(description = "Email", minLength = 1, maxLength = 50, nullable = false) + @Pattern(regexp = ".+@.+\\..+", message = "Email inválido") + private String email; + + @NotNull + @Size(min = 1, max = 50) + @Schema(description = "Endereço", minLength = 1, maxLength = 50, nullable = false) + private String end; + + @NotNull + @Schema(description = "Numero residencial", nullable = false) + private Integer numero; + + @NotNull + @Size(min = 1, max = 50) + @Schema(description = "Cidade", minLength = 1, maxLength = 50, nullable = false) + private String cidade; + + @NotNull + @Size(min = 1, max = 50) + @Schema(description = "Estado", minLength = 1, maxLength = 50, nullable = false) + private String estado; + +} diff --git a/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/errorhandling/ApiError.java b/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/errorhandling/ApiError.java new file mode 100644 index 0000000..67fd92b --- /dev/null +++ b/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/errorhandling/ApiError.java @@ -0,0 +1,107 @@ +package online.errorhandling; + +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; +import java.util.Set; + +import org.springframework.http.HttpStatus; +import org.springframework.validation.FieldError; +import org.springframework.validation.ObjectError; + +import com.fasterxml.jackson.annotation.JsonFormat; + +import jakarta.validation.ConstraintViolation; +import lombok.Getter; +import lombok.Setter; + +@Getter +@Setter +public class ApiError { + + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd-MM-yyyy hh:mm:ss") + private LocalDateTime timestamp; + private String debugMessage; + private List subErrors; + + private ApiError() { + timestamp = LocalDateTime.now(); + } + + public ApiError(HttpStatus status) { + this(); + } + + public ApiError(HttpStatus status, Throwable ex) { + this(); + this.setDebugMessage(ex.getLocalizedMessage()); + } + + public ApiError(HttpStatus status, String message, Throwable ex) { + this(); + this.setDebugMessage(ex.getLocalizedMessage()); + } + + private void addSubError(ApiSubError subError) { + if (subErrors == null) { + subErrors = new ArrayList<>(); + } + subErrors.add(subError); + } + + private void addValidationError1(String object, String field) { + addSubError(new ApiValidationError(object, field)); + } + + private void addValidationError(String object, String message) { + addSubError(new ApiValidationError(object, message)); + } + + private void addValidationError(FieldError fieldError) { + this.addValidationError1( + fieldError.getObjectName(), + fieldError.getField()); + } + + public void addValidationErrors(List fieldErrors) { + fieldErrors.forEach(this::addValidationError); + } + + private void addValidationError(ObjectError objectError) { + this.addValidationError( + objectError.getObjectName(), + objectError.getDefaultMessage()); + } + + public void addValidationError(List globalErrors) { + globalErrors.forEach(this::addValidationError); + } + + /** + * Utility method for adding error of ConstraintViolation. Usually when a @Validated validation fails. + * + * @param cv the ConstraintViolation + */ + private void addValidationError(ConstraintViolation cv) { + this.addValidationError1( + cv.getRootBeanClass().getSimpleName(), + ""); + } + + public void addValidationErrors(Set> constraintViolations) { + constraintViolations.forEach(this::addValidationError); + } + + public String getDebugMessage() { + return debugMessage; + } + + public void setDebugMessage(String debugMessage) { + this.debugMessage = debugMessage; + } + + public Object getStatus() { + // TODO Auto-generated method stub + return null; + } +} \ No newline at end of file diff --git a/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/errorhandling/ApiSubError.java b/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/errorhandling/ApiSubError.java new file mode 100644 index 0000000..064c5d7 --- /dev/null +++ b/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/errorhandling/ApiSubError.java @@ -0,0 +1,4 @@ +package online.errorhandling; + +abstract class ApiSubError { +} diff --git a/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/errorhandling/ApiValidationError.java b/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/errorhandling/ApiValidationError.java new file mode 100644 index 0000000..b887fcf --- /dev/null +++ b/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/errorhandling/ApiValidationError.java @@ -0,0 +1,80 @@ +package online.errorhandling; + +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.EqualsAndHashCode; + +@Data +@EqualsAndHashCode(callSuper = false) +@AllArgsConstructor +public class ApiValidationError extends ApiSubError { + private String object; + private String field; + private Object rejectedValue; + private String message; + + + + public ApiValidationError(String object, String field, Object rejectedValue, String message) { + super(); + this.object = object; + this.field = field; + this.rejectedValue = rejectedValue; + this.message = message; + } + + + + public String getObject() { + return object; + } + + + + public void setObject(String object) { + this.object = object; + } + + + + public String getField() { + return field; + } + + + + public void setField(String field) { + this.field = field; + } + + + + public Object getRejectedValue() { + return rejectedValue; + } + + + + public void setRejectedValue(Object rejectedValue) { + this.rejectedValue = rejectedValue; + } + + + + public String getMessage() { + return message; + } + + + + public void setMessage(String message) { + this.message = message; + } + + + + ApiValidationError(String object, String message) { + this.object = object; + this.message = message; + } +} diff --git a/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/exception/BadRequestException.java b/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/exception/BadRequestException.java new file mode 100644 index 0000000..68860b0 --- /dev/null +++ b/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/exception/BadRequestException.java @@ -0,0 +1,11 @@ +package online.exception; + +public class BadRequestException extends RuntimeException { + + private static final long serialVersionUID = -7339546357706827674L; + + public BadRequestException(String message) { + super(message); + } + +} \ No newline at end of file diff --git a/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/exception/EntityNotFoundException.java b/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/exception/EntityNotFoundException.java new file mode 100644 index 0000000..d0db8f5 --- /dev/null +++ b/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/exception/EntityNotFoundException.java @@ -0,0 +1,33 @@ +package online.exception; + +import java.util.HashMap; +import java.util.Map; +import java.util.stream.IntStream; + +import org.springframework.util.StringUtils; + +public class EntityNotFoundException extends RuntimeException { + + private static final long serialVersionUID = -5576150444545521612L; + + public EntityNotFoundException(Class clazz, String... searchParamsMap) { + super(EntityNotFoundException.generateMessage(clazz.getSimpleName(), toMap(String.class, String.class, searchParamsMap))); + } + + private static String generateMessage(String entity, Map searchParams) { + return StringUtils.capitalize(entity) + + " was not found for parameters " + + searchParams; + } + + private static Map toMap( + Class keyType, Class valueType, Object... entries) { + if (entries.length % 2 == 1) + throw new IllegalArgumentException("Invalid entries"); + return IntStream.range(0, entries.length / 2).map(i -> i * 2) + .collect(HashMap::new, + (m, i) -> m.put(keyType.cast(entries[i]), valueType.cast(entries[i + 1])), + Map::putAll); + } + +} \ No newline at end of file diff --git a/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/exception/RestExceptionHandler.java b/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/exception/RestExceptionHandler.java new file mode 100644 index 0000000..584d7be --- /dev/null +++ b/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/exception/RestExceptionHandler.java @@ -0,0 +1,185 @@ +/** + * + */ +package online.exception; + +import static org.springframework.http.HttpStatus.BAD_REQUEST; +import static org.springframework.http.HttpStatus.NOT_FOUND; + +import org.springframework.core.Ordered; +import org.springframework.core.annotation.Order; +import org.springframework.dao.DuplicateKeyException; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.validation.BindException; +import org.springframework.web.HttpMediaTypeNotSupportedException; +import org.springframework.web.bind.MethodArgumentNotValidException; +import org.springframework.web.bind.MissingServletRequestParameterException; +import org.springframework.web.bind.annotation.ControllerAdvice; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.client.HttpClientErrorException.BadRequest; +import org.springframework.web.client.HttpClientErrorException.NotFound; +import org.springframework.web.client.HttpClientErrorException.UnprocessableEntity; +import org.springframework.web.context.request.WebRequest; +import org.springframework.web.servlet.mvc.method.annotation.ResponseEntityExceptionHandler; + +import lombok.extern.slf4j.Slf4j; +import online.errorhandling.ApiError; + +/** + * @author rodrigo.pires + * + */ +@Order(Ordered.HIGHEST_PRECEDENCE) +@ControllerAdvice +@Slf4j +public class RestExceptionHandler extends ResponseEntityExceptionHandler { + + /** + * Handle MissingServletRequestParameterException. Triggered when a 'required' request parameter is missing. + * + * @param ex MissingServletRequestParameterException + * @param headers HttpHeaders + * @param status HttpStatus + * @param request WebRequest + * @return the ApiError object + */ + protected ResponseEntity handleMissingServletRequestParameter( + MissingServletRequestParameterException ex, HttpHeaders headers, + HttpStatus status, WebRequest request) { + String error = ex.getParameterName() + " parameter is missing"; + ApiError apiError = new ApiError(BAD_REQUEST); + apiError.setDebugMessage(error); + return buildResponseEntity(apiError); + } + + + /** + * Handle HttpMediaTypeNotSupportedException. This one triggers when JSON is invalid as well. + * + * @param ex HttpMediaTypeNotSupportedException + * @param headers HttpHeaders + * @param status HttpStatus + * @param request WebRequest + * @return the ApiError object + */ + protected ResponseEntity handleHttpMediaTypeNotSupported( + HttpMediaTypeNotSupportedException ex, + HttpHeaders headers, + HttpStatus status, + WebRequest request) { + StringBuilder builder = new StringBuilder(); + builder.append(ex.getContentType()); + builder.append(" media type is not supported. Supported media types are "); + ex.getSupportedMediaTypes().forEach(t -> builder.append(t).append(", ")); + ApiError apiError = new ApiError(HttpStatus.UNSUPPORTED_MEDIA_TYPE); + apiError.setDebugMessage(builder.substring(0, builder.length() - 2)); + return buildResponseEntity(apiError); + } + + /** + * Handle MethodArgumentNotValidException. Triggered when an object fails @Valid validation. + * + * @param ex the MethodArgumentNotValidException that is thrown when @Valid validation fails + * @param headers HttpHeaders + * @param status HttpStatus + * @param request WebRequest + * @return the ApiError object + */ + @Override + protected ResponseEntity handleMethodArgumentNotValid( + MethodArgumentNotValidException ex, + HttpHeaders headers, + HttpStatus status, + WebRequest request) { + ApiError apiError = new ApiError(BAD_REQUEST); + apiError.setDebugMessage("Validation error"); + apiError.addValidationErrors(ex.getBindingResult().getFieldErrors()); + apiError.addValidationError(ex.getBindingResult().getGlobalErrors()); + return buildResponseEntity(apiError); + } + + @Override + protected ResponseEntity handleBindException(BindException ex, HttpHeaders headers, HttpStatus status, + WebRequest request) { + ApiError apiError = new ApiError(BAD_REQUEST); + apiError.setDebugMessage(ex.getMessage()); + return buildResponseEntity(apiError); + } + + + /** + * Handles javax.validation.ConstraintViolationException. Thrown when @Validated fails. + * + * @param ex the ConstraintViolationException + * @return the ApiError object + */ + @ExceptionHandler(javax.validation.ConstraintViolationException.class) + protected ResponseEntity handleConstraintViolation( + javax.validation.ConstraintViolationException ex) { + ApiError apiError = new ApiError(BAD_REQUEST); + apiError.setDebugMessage("Validation error"); + apiError.addValidationErrors(ex.getConstraintViolations()); + return buildResponseEntity(apiError); + } + + /** + * Handles EntityNotFoundException. Created to encapsulate errors with more detail than javax.persistence.EntityNotFoundException. + * + * @param ex the EntityNotFoundException + * @return the ApiError object + */ + @ExceptionHandler(EntityNotFoundException.class) + protected ResponseEntity handleEntityNotFound(EntityNotFoundException ex) { + ApiError apiError = new ApiError(NOT_FOUND); + apiError.setDebugMessage(ex.getMessage()); + return buildResponseEntity(apiError); + } + + @ExceptionHandler(BadRequestException.class) + protected ResponseEntity handleBadRequest(BadRequestException ex) { + ApiError apiError = new ApiError(BAD_REQUEST); + apiError.setDebugMessage(ex.getMessage()); + return buildResponseEntity(apiError); + } + + @ExceptionHandler(UnsupportedOperationException.class) + protected ResponseEntity handleUnsupportedOperationException(UnsupportedOperationException ex) { + ApiError apiError = new ApiError(HttpStatus.UNPROCESSABLE_ENTITY); + apiError.setDebugMessage(ex.getMessage()); + return buildResponseEntity(apiError); + } + + @ExceptionHandler(DuplicateKeyException.class) + protected ResponseEntity handleDuplicateKeyException(DuplicateKeyException ex) { + ApiError apiError = new ApiError(BAD_REQUEST); + apiError.setDebugMessage(ex.getMessage()); + return buildResponseEntity(apiError); + } + + @ExceptionHandler(NotFound.class) + protected ResponseEntity handleNotFound(NotFound ex) { + ApiError apiError = new ApiError(NOT_FOUND); + apiError.setDebugMessage(ex.getMessage()); + return buildResponseEntity(apiError); + } + + @ExceptionHandler(BadRequest.class) + protected ResponseEntity handleBadRequest(BadRequest ex) { + ApiError apiError = new ApiError(BAD_REQUEST); + apiError.setDebugMessage(ex.getMessage()); + return buildResponseEntity(apiError); + } + + @ExceptionHandler(UnprocessableEntity.class) + protected ResponseEntity handleUnprocessableEntity(UnprocessableEntity ex) { + ApiError apiError = new ApiError(HttpStatus.UNPROCESSABLE_ENTITY); + apiError.setDebugMessage(ex.getMessage()); + return buildResponseEntity(apiError); + } + + private ResponseEntity buildResponseEntity(ApiError apiError) { + return new ResponseEntity<>(apiError, apiError.getStatus()); + } +} diff --git a/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/reources/ClienteResource.java b/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/reources/ClienteResource.java new file mode 100644 index 0000000..fc8857c --- /dev/null +++ b/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/reources/ClienteResource.java @@ -0,0 +1,84 @@ +/** + * + */ +package br.com.rpires.vendas.online.reources; + +import javax.validation.Valid; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.DeleteMapping; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.PutMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import br.com.rpires.vendas.online.domain.Cliente; +import br.com.rpires.vendas.online.usecase.BuscaCliente; +import br.com.rpires.vendas.online.usecase.CadastroCliente; +import io.swagger.v3.oas.annotations.Operation; + +/** + * @author rodrigo.pires + * + */ +@RestController +@RequestMapping(value = "/cliente") +public class ClienteResource { + + private BuscaCliente buscaCliente; + private CadastroCliente cadastroCliente; + + @Autowired + public ClienteResource(BuscaCliente buscaCliente, + CadastroCliente cadastroCliente) { + this.buscaCliente = buscaCliente; + this.cadastroCliente = cadastroCliente; + } + + @GetMapping + public ResponseEntity> buscar(Pageable pageable) { + return ResponseEntity.ok(buscaCliente.buscar(pageable)); + } + + @GetMapping(value = "/{id}") + @Operation(summary = "Busca um cliente pelo id") + public ResponseEntity buscarPorId(@PathVariable(value = "id", required = true) String id) { + return ResponseEntity.ok(buscaCliente.buscarPorId(id)); + } + + @GetMapping(value = "isCadastrado/{id}") + public ResponseEntity isCadastrado(@PathVariable(value = "id", required = true) String id) { + return ResponseEntity.ok(buscaCliente.isCadastrado(id)); + } + + @PostMapping + public ResponseEntity cadastar(@RequestBody @Valid Cliente cliente) { + return ResponseEntity.ok(cadastroCliente.cadastrar(cliente)); + } + + @GetMapping(value = "/cpf/{cpf}") + @Operation(summary = "Busca um cliente pelo cpf") + public ResponseEntity buscarPorCpf(@PathVariable(value = "cpf", required = true) Long cpf) { + return ResponseEntity.ok(buscaCliente.buscarPorCpf(cpf)); + } + + @PutMapping + @Operation(summary = "Atualiza um cliente") + public ResponseEntity atualizar(@RequestBody @Valid Cliente cliente) { + return ResponseEntity.ok(cadastroCliente.atualizar(cliente)); + } + + @DeleteMapping(value = "/{id}") + @Operation(summary = "Remove um cliente pelo seu identificador único") + public ResponseEntity remover(@PathVariable(value = "id") String id) { + cadastroCliente.remover(id); + return ResponseEntity.ok("Removido com sucesso"); + } + +} diff --git a/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/repository/IClienteRepository.java b/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/repository/IClienteRepository.java new file mode 100644 index 0000000..45c3236 --- /dev/null +++ b/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/repository/IClienteRepository.java @@ -0,0 +1,21 @@ +/** + * + */ +package br.com.rpires.vendas.online.repository; + +import java.util.Optional; + +import org.springframework.data.mongodb.repository.MongoRepository; +import org.springframework.stereotype.Repository; + +import br.com.rpires.vendas.online.domain.Cliente; + +/** + * @author rodrigo.pires + * + */ +@Repository +public interface IClienteRepository extends MongoRepository{ + + Optional findByCpf(Long cpf); +} diff --git a/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/usecase/BuscaCliente.java b/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/usecase/BuscaCliente.java new file mode 100644 index 0000000..a89bfe0 --- /dev/null +++ b/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/usecase/BuscaCliente.java @@ -0,0 +1,51 @@ +/** + * + */ +package br.com.rpires.vendas.online.usecase; + +import java.util.Optional; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.domain.Page; +import org.springframework.data.domain.Pageable; +import org.springframework.stereotype.Service; + +import br.com.rpires.vendas.online.domain.Cliente; +import br.com.rpires.vendas.online.exception.EntityNotFoundException; +import br.com.rpires.vendas.online.repository.IClienteRepository; + +/** + * @author rodrigo.pires + * + */ +@Service +public class BuscaCliente { + + private IClienteRepository clienteRepository; + + @Autowired + public BuscaCliente(IClienteRepository clienteRepository) { + this.clienteRepository = clienteRepository; + } + + public Page buscar(Pageable pageable) { + return clienteRepository.findAll(pageable); + } + + public Cliente buscarPorId(String id) { + return clienteRepository.findById(id) + .orElseThrow(() -> new EntityNotFoundException(Cliente.class, "id", id)); + } + + public Boolean isCadastrado(String id) { + Optional cliente = clienteRepository.findById(id); + return cliente.isPresent() ? true : false; + } + + public Cliente buscarPorCpf(Long cpf) { + return clienteRepository.findByCpf(cpf) + .orElseThrow(() -> new EntityNotFoundException(Cliente.class, "cpf", String.valueOf(cpf))); + } + + +} diff --git a/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/usecase/CadastroCliente.java b/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/usecase/CadastroCliente.java new file mode 100644 index 0000000..91d3175 --- /dev/null +++ b/mod42/exercise_mod42/ClientServiceTest/src/main/java/online/usecase/CadastroCliente.java @@ -0,0 +1,40 @@ +/** + * + */ +package br.com.rpires.vendas.online.usecase; + +import javax.validation.Valid; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import br.com.rpires.vendas.online.domain.Cliente; +import br.com.rpires.vendas.online.repository.IClienteRepository; + +/** + * @author rodrigo.pires + * + */ +@Service +public class CadastroCliente { + + private IClienteRepository clienteRepository; + + @Autowired + public CadastroCliente(IClienteRepository clienteRepository) { + this.clienteRepository = clienteRepository; + } + + public Cliente cadastrar(@Valid Cliente cliente) { + return this.clienteRepository.insert(cliente); + } + + public Cliente atualizar(@Valid Cliente cliente) { + return this.clienteRepository.save(cliente); + } + + public void remover(String id) { + this.clienteRepository.deleteById(id); + } + +} diff --git a/mod42/exercise_mod42/ClientServiceTest/src/main/java/onlineconfig/MongoConfig.java b/mod42/exercise_mod42/ClientServiceTest/src/main/java/onlineconfig/MongoConfig.java new file mode 100644 index 0000000..211f715 --- /dev/null +++ b/mod42/exercise_mod42/ClientServiceTest/src/main/java/onlineconfig/MongoConfig.java @@ -0,0 +1,17 @@ +/** + * + */ +package br.com.rpires.vendas.onlineconfig; + +import org.springframework.context.annotation.Configuration; +import org.springframework.data.mongodb.repository.config.EnableMongoRepositories; + +/** + * @author rodrigo.pires + * + */ +@Configuration +@EnableMongoRepositories(basePackages = "br.com.rpires.vendas.online.repository") +public class MongoConfig { + +} diff --git a/mod42/exercise_mod42/ClientServiceTest/src/main/java/onlineconfig/OpenAPIConfig.java b/mod42/exercise_mod42/ClientServiceTest/src/main/java/onlineconfig/OpenAPIConfig.java new file mode 100644 index 0000000..7bb55da --- /dev/null +++ b/mod42/exercise_mod42/ClientServiceTest/src/main/java/onlineconfig/OpenAPIConfig.java @@ -0,0 +1,33 @@ +/** + * + */ +package br.com.rpires.vendas.onlineconfig; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +import io.swagger.v3.oas.models.OpenAPI; +import io.swagger.v3.oas.models.info.Contact; +import io.swagger.v3.oas.models.info.Info; +import io.swagger.v3.oas.models.info.License; + +/** + * @author rodrigo.pires + * + */ +@Configuration +public class OpenAPIConfig { + + @Bean + public OpenAPI customOpenAPI(@Value("${application-version}") String appVersion) { + return new OpenAPI() + .info(new Info() + .title("Serviço de clientes") + .version(appVersion) + .description("Serviço para gerenciamento de clientes") + .termsOfService("http://swagger.io/terms/") + .license(new License().name("Apache 2.0").url("http://springdoc.org")) + .contact(new Contact().name("Rodrigo Pires").email("rodrigo@rodrigo.com"))); + } +} diff --git a/mod42/exercise_mod42/ClientServiceTest/src/main/java/onlineconfig/ValidatorConfig.java b/mod42/exercise_mod42/ClientServiceTest/src/main/java/onlineconfig/ValidatorConfig.java new file mode 100644 index 0000000..79b2af0 --- /dev/null +++ b/mod42/exercise_mod42/ClientServiceTest/src/main/java/onlineconfig/ValidatorConfig.java @@ -0,0 +1,30 @@ +/** + * + */ +package br.com.rpires.vendas.onlineconfig; + +import javax.validation.Validator; + +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.context.support.ResourceBundleMessageSource; +import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean; + +/** + * @author rodrigo.pires + * + */ +@Configuration +public class ValidatorConfig { + +// @Autowired +// ResourceBundleMessageSource messageSource; + + @Bean + public Validator validatorFactory () { + LocalValidatorFactoryBean bean = new LocalValidatorFactoryBean(); +// bean.setValidationMessageSource(messageSource); + return bean; + } +} diff --git a/mod42/exercise_mod42/ClientServiceTest/src/main/resources/application.properties b/mod42/exercise_mod42/ClientServiceTest/src/main/resources/application.properties new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/mod42/exercise_mod42/ClientServiceTest/src/main/resources/application.properties @@ -0,0 +1 @@ + diff --git a/mod42/exercise_mod42/ClientServiceTest/src/test/java/com/example/ClientServiceTest/ClientServiceTestApplicationTests.java b/mod42/exercise_mod42/ClientServiceTest/src/test/java/com/example/ClientServiceTest/ClientServiceTestApplicationTests.java new file mode 100644 index 0000000..7589736 --- /dev/null +++ b/mod42/exercise_mod42/ClientServiceTest/src/test/java/com/example/ClientServiceTest/ClientServiceTestApplicationTests.java @@ -0,0 +1,13 @@ +package com.example.ClientServiceTest; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class ClientServiceTestApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/mod42/exercise_mod42/ConfigServiceTest/.gitignore b/mod42/exercise_mod42/ConfigServiceTest/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/mod42/exercise_mod42/ConfigServiceTest/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/mod42/exercise_mod42/ConfigServiceTest/mvnw b/mod42/exercise_mod42/ConfigServiceTest/mvnw new file mode 100644 index 0000000..66df285 --- /dev/null +++ b/mod42/exercise_mod42/ConfigServiceTest/mvnw @@ -0,0 +1,308 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Apache Maven Wrapper startup batch script, version 3.2.0 +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /usr/local/etc/mavenrc ] ; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "$(uname)" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME + else + JAVA_HOME="/Library/Java/Home"; export JAVA_HOME + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=$(java-config --jre-home) + fi +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --unix "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --unix "$CLASSPATH") +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] && + JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); pwd)" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="$(which javac)" + if [ -n "$javaExecutable" ] && ! [ "$(expr "\"$javaExecutable\"" : '\([^ ]*\)')" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=$(which readlink) + if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then + if $darwin ; then + javaHome="$(dirname "\"$javaExecutable\"")" + javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac" + else + javaExecutable="$(readlink -f "\"$javaExecutable\"")" + fi + javaHome="$(dirname "\"$javaExecutable\"")" + javaHome=$(expr "$javaHome" : '\(.*\)/bin') + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=$(cd "$wdir/.." || exit 1; pwd) + fi + # end of workaround + done + printf '%s' "$(cd "$basedir" || exit 1; pwd)" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + # Remove \r in case we run on Windows within Git Bash + # and check out the repository with auto CRLF management + # enabled. Otherwise, we may read lines that are delimited with + # \r\n and produce $'-Xarg\r' rather than -Xarg due to word + # splitting rules. + tr -s '\r\n' ' ' < "$1" + fi +} + +log() { + if [ "$MVNW_VERBOSE" = true ]; then + printf '%s\n' "$1" + fi +} + +BASE_DIR=$(find_maven_basedir "$(dirname "$0")") +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR +log "$MAVEN_PROJECTBASEDIR" + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" +if [ -r "$wrapperJarPath" ]; then + log "Found $wrapperJarPath" +else + log "Couldn't find $wrapperJarPath, downloading it ..." + + if [ -n "$MVNW_REPOURL" ]; then + wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + else + wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + fi + while IFS="=" read -r key value; do + # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' ) + safeValue=$(echo "$value" | tr -d '\r') + case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;; + esac + done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" + log "Downloading from: $wrapperUrl" + + if $cygwin; then + wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") + fi + + if command -v wget > /dev/null; then + log "Found wget ... using wget" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + log "Found curl ... using curl" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + else + curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + fi + else + log "Falling back to using Java to download" + javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java" + javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaSource=$(cygpath --path --windows "$javaSource") + javaClass=$(cygpath --path --windows "$javaClass") + fi + if [ -e "$javaSource" ]; then + if [ ! -e "$javaClass" ]; then + log " - Compiling MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/javac" "$javaSource") + fi + if [ -e "$javaClass" ]; then + log " - Running MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath" + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +# If specified, validate the SHA-256 sum of the Maven wrapper jar file +wrapperSha256Sum="" +while IFS="=" read -r key value; do + case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;; + esac +done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" +if [ -n "$wrapperSha256Sum" ]; then + wrapperSha256Result=false + if command -v sha256sum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + elif command -v shasum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." + echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties." + exit 1 + fi + if [ $wrapperSha256Result = false ]; then + echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2 + echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2 + echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2 + exit 1 + fi +fi + +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --windows "$CLASSPATH") + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +# shellcheck disable=SC2086 # safe args +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mod42/exercise_mod42/ConfigServiceTest/mvnw.cmd b/mod42/exercise_mod42/ConfigServiceTest/mvnw.cmd new file mode 100644 index 0000000..95ba6f5 --- /dev/null +++ b/mod42/exercise_mod42/ConfigServiceTest/mvnw.cmd @@ -0,0 +1,205 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.2.0 +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %WRAPPER_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file +SET WRAPPER_SHA_256_SUM="" +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B +) +IF NOT %WRAPPER_SHA_256_SUM%=="" ( + powershell -Command "&{"^ + "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^ + "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^ + " Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^ + " Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^ + " Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^ + " exit 1;"^ + "}"^ + "}" + if ERRORLEVEL 1 goto error +) + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/mod42/exercise_mod42/ConfigServiceTest/pom.xml b/mod42/exercise_mod42/ConfigServiceTest/pom.xml new file mode 100644 index 0000000..bc2ea29 --- /dev/null +++ b/mod42/exercise_mod42/ConfigServiceTest/pom.xml @@ -0,0 +1,70 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 3.2.2 + + + com.example + ConfigServiceTest + 0.0.1-SNAPSHOT + ConfigServiceTest + Demo project for Spring Boot + + 17 + 2023.0.0 + + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.cloud + spring-cloud-config-server + + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + org.springframework.cloud + spring-cloud-dependencies + ${spring-cloud.version} + pom + import + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/mod42/exercise_mod42/ConfigServiceTest/src/main/java/META-INF/MANIFEST.MF b/mod42/exercise_mod42/ConfigServiceTest/src/main/java/META-INF/MANIFEST.MF new file mode 100644 index 0000000..254272e --- /dev/null +++ b/mod42/exercise_mod42/ConfigServiceTest/src/main/java/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + diff --git a/mod42/exercise_mod42/ConfigServiceTest/src/main/java/com/example/ConfigServiceTest/ConfigServiceTestApplication.java b/mod42/exercise_mod42/ConfigServiceTest/src/main/java/com/example/ConfigServiceTest/ConfigServiceTestApplication.java new file mode 100644 index 0000000..ec27358 --- /dev/null +++ b/mod42/exercise_mod42/ConfigServiceTest/src/main/java/com/example/ConfigServiceTest/ConfigServiceTestApplication.java @@ -0,0 +1,15 @@ +package com.example.ConfigServiceTest; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.cloud.config.server.EnableConfigServer; + +@EnableConfigServer +@SpringBootApplication +public class ConfigServiceTestApplication { + + public static void main(String[] args) { + SpringApplication.run(ConfigServiceTestApplication.class, args); + } + +} diff --git a/mod42/exercise_mod42/ConfigServiceTest/src/main/resources/application.properties b/mod42/exercise_mod42/ConfigServiceTest/src/main/resources/application.properties new file mode 100644 index 0000000..541c653 --- /dev/null +++ b/mod42/exercise_mod42/ConfigServiceTest/src/main/resources/application.properties @@ -0,0 +1,6 @@ +server.port=8888 +spring.application.name=config-server-alunos +spring.profiles.active=native +spring.cloud.config.server.native.search-locations=classpath:/config +spring.security.user.name=root +spring.security.user.password=root diff --git a/mod42/exercise_mod42/ConfigServiceTest/src/main/resources/config/cliente-service-alunos.yml b/mod42/exercise_mod42/ConfigServiceTest/src/main/resources/config/cliente-service-alunos.yml new file mode 100644 index 0000000..d7ec207 --- /dev/null +++ b/mod42/exercise_mod42/ConfigServiceTest/src/main/resources/config/cliente-service-alunos.yml @@ -0,0 +1,15 @@ +server: + port: 8081 + wait-time-in-ms-when-sync-empty: 3000 + +spring: + spring: + profiles: + active: native + data: + mongodb: + uri: mongodb://admin:admin@127.0.0.1:27017/ebac?authSource=admin&retryWrites=true&w=majority + database: cliente + auto-index-creation: true + +application-version: 1.0 diff --git a/mod42/exercise_mod42/ConfigServiceTest/src/main/resources/config/produto-service-alunos.yml b/mod42/exercise_mod42/ConfigServiceTest/src/main/resources/config/produto-service-alunos.yml new file mode 100644 index 0000000..272841e --- /dev/null +++ b/mod42/exercise_mod42/ConfigServiceTest/src/main/resources/config/produto-service-alunos.yml @@ -0,0 +1,13 @@ +server: + port: 8082 + wait-time-in-ms-when-sync-empty: 3000 + +spring: + spring: + profiles: + active: native + data: + mongodb: + uri: mongodb://admin:admin@127.0.0.1:27017/ebac?authSource=admin&retryWrites=true&w=majority + database: produto + auto-index-creation: true diff --git a/mod42/exercise_mod42/ConfigServiceTest/src/main/resources/config/venda-service-alunos.yml b/mod42/exercise_mod42/ConfigServiceTest/src/main/resources/config/venda-service-alunos.yml new file mode 100644 index 0000000..da5f875 --- /dev/null +++ b/mod42/exercise_mod42/ConfigServiceTest/src/main/resources/config/venda-service-alunos.yml @@ -0,0 +1,22 @@ +server: + port: 8083 + wait-time-in-ms-when-sync-empty: 3000 + +spring: + spring: + profiles: + active: native + data: + mongodb: + uri: mongodb://admin:admin@127.0.0.1:27017/ebac?authSource=admin&retryWrites=true&w=majority + database: venda + auto-index-creation: true + +application: + produtoService: + url: http://localhost:8082 + endpointConsultarProduto: ${application.produtoService.url}/produto + clienteService: + url: http://localhost:8081 + endpointConsultarCliente: ${application.clienteService.url}/cliente/isCadastrado/{id} +application-version: 2.0 \ No newline at end of file diff --git a/mod42/exercise_mod42/ConfigServiceTest/src/test/java/com/example/ConfigServiceTest/ConfigServiceTestApplicationTests.java b/mod42/exercise_mod42/ConfigServiceTest/src/test/java/com/example/ConfigServiceTest/ConfigServiceTestApplicationTests.java new file mode 100644 index 0000000..cd327b3 --- /dev/null +++ b/mod42/exercise_mod42/ConfigServiceTest/src/test/java/com/example/ConfigServiceTest/ConfigServiceTestApplicationTests.java @@ -0,0 +1,13 @@ +package com.example.ConfigServiceTest; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class ConfigServiceTestApplicationTests { + + @Test + void contextLoads() { + } + +} diff --git a/mod42/exercise_mod42/ProductServiceTest/.gitignore b/mod42/exercise_mod42/ProductServiceTest/.gitignore new file mode 100644 index 0000000..549e00a --- /dev/null +++ b/mod42/exercise_mod42/ProductServiceTest/.gitignore @@ -0,0 +1,33 @@ +HELP.md +target/ +!.mvn/wrapper/maven-wrapper.jar +!**/src/main/**/target/ +!**/src/test/**/target/ + +### STS ### +.apt_generated +.classpath +.factorypath +.project +.settings +.springBeans +.sts4-cache + +### IntelliJ IDEA ### +.idea +*.iws +*.iml +*.ipr + +### NetBeans ### +/nbproject/private/ +/nbbuild/ +/dist/ +/nbdist/ +/.nb-gradle/ +build/ +!**/src/main/**/build/ +!**/src/test/**/build/ + +### VS Code ### +.vscode/ diff --git a/mod42/exercise_mod42/ProductServiceTest/mvnw b/mod42/exercise_mod42/ProductServiceTest/mvnw new file mode 100644 index 0000000..66df285 --- /dev/null +++ b/mod42/exercise_mod42/ProductServiceTest/mvnw @@ -0,0 +1,308 @@ +#!/bin/sh +# ---------------------------------------------------------------------------- +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# ---------------------------------------------------------------------------- + +# ---------------------------------------------------------------------------- +# Apache Maven Wrapper startup batch script, version 3.2.0 +# +# Required ENV vars: +# ------------------ +# JAVA_HOME - location of a JDK home dir +# +# Optional ENV vars +# ----------------- +# MAVEN_OPTS - parameters passed to the Java VM when running Maven +# e.g. to debug Maven itself, use +# set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +# MAVEN_SKIP_RC - flag to disable loading of mavenrc files +# ---------------------------------------------------------------------------- + +if [ -z "$MAVEN_SKIP_RC" ] ; then + + if [ -f /usr/local/etc/mavenrc ] ; then + . /usr/local/etc/mavenrc + fi + + if [ -f /etc/mavenrc ] ; then + . /etc/mavenrc + fi + + if [ -f "$HOME/.mavenrc" ] ; then + . "$HOME/.mavenrc" + fi + +fi + +# OS specific support. $var _must_ be set to either true or false. +cygwin=false; +darwin=false; +mingw=false +case "$(uname)" in + CYGWIN*) cygwin=true ;; + MINGW*) mingw=true;; + Darwin*) darwin=true + # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home + # See https://developer.apple.com/library/mac/qa/qa1170/_index.html + if [ -z "$JAVA_HOME" ]; then + if [ -x "/usr/libexec/java_home" ]; then + JAVA_HOME="$(/usr/libexec/java_home)"; export JAVA_HOME + else + JAVA_HOME="/Library/Java/Home"; export JAVA_HOME + fi + fi + ;; +esac + +if [ -z "$JAVA_HOME" ] ; then + if [ -r /etc/gentoo-release ] ; then + JAVA_HOME=$(java-config --jre-home) + fi +fi + +# For Cygwin, ensure paths are in UNIX format before anything is touched +if $cygwin ; then + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --unix "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --unix "$CLASSPATH") +fi + +# For Mingw, ensure paths are in UNIX format before anything is touched +if $mingw ; then + [ -n "$JAVA_HOME" ] && [ -d "$JAVA_HOME" ] && + JAVA_HOME="$(cd "$JAVA_HOME" || (echo "cannot cd into $JAVA_HOME."; exit 1); pwd)" +fi + +if [ -z "$JAVA_HOME" ]; then + javaExecutable="$(which javac)" + if [ -n "$javaExecutable" ] && ! [ "$(expr "\"$javaExecutable\"" : '\([^ ]*\)')" = "no" ]; then + # readlink(1) is not available as standard on Solaris 10. + readLink=$(which readlink) + if [ ! "$(expr "$readLink" : '\([^ ]*\)')" = "no" ]; then + if $darwin ; then + javaHome="$(dirname "\"$javaExecutable\"")" + javaExecutable="$(cd "\"$javaHome\"" && pwd -P)/javac" + else + javaExecutable="$(readlink -f "\"$javaExecutable\"")" + fi + javaHome="$(dirname "\"$javaExecutable\"")" + javaHome=$(expr "$javaHome" : '\(.*\)/bin') + JAVA_HOME="$javaHome" + export JAVA_HOME + fi + fi +fi + +if [ -z "$JAVACMD" ] ; then + if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD="$JAVA_HOME/jre/sh/java" + else + JAVACMD="$JAVA_HOME/bin/java" + fi + else + JAVACMD="$(\unset -f command 2>/dev/null; \command -v java)" + fi +fi + +if [ ! -x "$JAVACMD" ] ; then + echo "Error: JAVA_HOME is not defined correctly." >&2 + echo " We cannot execute $JAVACMD" >&2 + exit 1 +fi + +if [ -z "$JAVA_HOME" ] ; then + echo "Warning: JAVA_HOME environment variable is not set." +fi + +# traverses directory structure from process work directory to filesystem root +# first directory with .mvn subdirectory is considered project base directory +find_maven_basedir() { + if [ -z "$1" ] + then + echo "Path not specified to find_maven_basedir" + return 1 + fi + + basedir="$1" + wdir="$1" + while [ "$wdir" != '/' ] ; do + if [ -d "$wdir"/.mvn ] ; then + basedir=$wdir + break + fi + # workaround for JBEAP-8937 (on Solaris 10/Sparc) + if [ -d "${wdir}" ]; then + wdir=$(cd "$wdir/.." || exit 1; pwd) + fi + # end of workaround + done + printf '%s' "$(cd "$basedir" || exit 1; pwd)" +} + +# concatenates all lines of a file +concat_lines() { + if [ -f "$1" ]; then + # Remove \r in case we run on Windows within Git Bash + # and check out the repository with auto CRLF management + # enabled. Otherwise, we may read lines that are delimited with + # \r\n and produce $'-Xarg\r' rather than -Xarg due to word + # splitting rules. + tr -s '\r\n' ' ' < "$1" + fi +} + +log() { + if [ "$MVNW_VERBOSE" = true ]; then + printf '%s\n' "$1" + fi +} + +BASE_DIR=$(find_maven_basedir "$(dirname "$0")") +if [ -z "$BASE_DIR" ]; then + exit 1; +fi + +MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"}; export MAVEN_PROJECTBASEDIR +log "$MAVEN_PROJECTBASEDIR" + +########################################################################################## +# Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +# This allows using the maven wrapper in projects that prohibit checking in binary data. +########################################################################################## +wrapperJarPath="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" +if [ -r "$wrapperJarPath" ]; then + log "Found $wrapperJarPath" +else + log "Couldn't find $wrapperJarPath, downloading it ..." + + if [ -n "$MVNW_REPOURL" ]; then + wrapperUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + else + wrapperUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + fi + while IFS="=" read -r key value; do + # Remove '\r' from value to allow usage on windows as IFS does not consider '\r' as a separator ( considers space, tab, new line ('\n'), and custom '=' ) + safeValue=$(echo "$value" | tr -d '\r') + case "$key" in (wrapperUrl) wrapperUrl="$safeValue"; break ;; + esac + done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" + log "Downloading from: $wrapperUrl" + + if $cygwin; then + wrapperJarPath=$(cygpath --path --windows "$wrapperJarPath") + fi + + if command -v wget > /dev/null; then + log "Found wget ... using wget" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--quiet" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + wget $QUIET "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + else + wget $QUIET --http-user="$MVNW_USERNAME" --http-password="$MVNW_PASSWORD" "$wrapperUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" + fi + elif command -v curl > /dev/null; then + log "Found curl ... using curl" + [ "$MVNW_VERBOSE" = true ] && QUIET="" || QUIET="--silent" + if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then + curl $QUIET -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + else + curl $QUIET --user "$MVNW_USERNAME:$MVNW_PASSWORD" -o "$wrapperJarPath" "$wrapperUrl" -f -L || rm -f "$wrapperJarPath" + fi + else + log "Falling back to using Java to download" + javaSource="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.java" + javaClass="$MAVEN_PROJECTBASEDIR/.mvn/wrapper/MavenWrapperDownloader.class" + # For Cygwin, switch paths to Windows format before running javac + if $cygwin; then + javaSource=$(cygpath --path --windows "$javaSource") + javaClass=$(cygpath --path --windows "$javaClass") + fi + if [ -e "$javaSource" ]; then + if [ ! -e "$javaClass" ]; then + log " - Compiling MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/javac" "$javaSource") + fi + if [ -e "$javaClass" ]; then + log " - Running MavenWrapperDownloader.java ..." + ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$wrapperUrl" "$wrapperJarPath") || rm -f "$wrapperJarPath" + fi + fi + fi +fi +########################################################################################## +# End of extension +########################################################################################## + +# If specified, validate the SHA-256 sum of the Maven wrapper jar file +wrapperSha256Sum="" +while IFS="=" read -r key value; do + case "$key" in (wrapperSha256Sum) wrapperSha256Sum=$value; break ;; + esac +done < "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.properties" +if [ -n "$wrapperSha256Sum" ]; then + wrapperSha256Result=false + if command -v sha256sum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | sha256sum -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + elif command -v shasum > /dev/null; then + if echo "$wrapperSha256Sum $wrapperJarPath" | shasum -a 256 -c > /dev/null 2>&1; then + wrapperSha256Result=true + fi + else + echo "Checksum validation was requested but neither 'sha256sum' or 'shasum' are available." + echo "Please install either command, or disable validation by removing 'wrapperSha256Sum' from your maven-wrapper.properties." + exit 1 + fi + if [ $wrapperSha256Result = false ]; then + echo "Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised." >&2 + echo "Investigate or delete $wrapperJarPath to attempt a clean download." >&2 + echo "If you updated your Maven version, you need to update the specified wrapperSha256Sum property." >&2 + exit 1 + fi +fi + +MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" + +# For Cygwin, switch paths to Windows format before running java +if $cygwin; then + [ -n "$JAVA_HOME" ] && + JAVA_HOME=$(cygpath --path --windows "$JAVA_HOME") + [ -n "$CLASSPATH" ] && + CLASSPATH=$(cygpath --path --windows "$CLASSPATH") + [ -n "$MAVEN_PROJECTBASEDIR" ] && + MAVEN_PROJECTBASEDIR=$(cygpath --path --windows "$MAVEN_PROJECTBASEDIR") +fi + +# Provide a "standardized" way to retrieve the CLI args that will +# work with both Windows and non-Windows executions. +MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $*" +export MAVEN_CMD_LINE_ARGS + +WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +# shellcheck disable=SC2086 # safe args +exec "$JAVACMD" \ + $MAVEN_OPTS \ + $MAVEN_DEBUG_OPTS \ + -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ + "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ + ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" diff --git a/mod42/exercise_mod42/ProductServiceTest/mvnw.cmd b/mod42/exercise_mod42/ProductServiceTest/mvnw.cmd new file mode 100644 index 0000000..95ba6f5 --- /dev/null +++ b/mod42/exercise_mod42/ProductServiceTest/mvnw.cmd @@ -0,0 +1,205 @@ +@REM ---------------------------------------------------------------------------- +@REM Licensed to the Apache Software Foundation (ASF) under one +@REM or more contributor license agreements. See the NOTICE file +@REM distributed with this work for additional information +@REM regarding copyright ownership. The ASF licenses this file +@REM to you under the Apache License, Version 2.0 (the +@REM "License"); you may not use this file except in compliance +@REM with the License. You may obtain a copy of the License at +@REM +@REM https://www.apache.org/licenses/LICENSE-2.0 +@REM +@REM Unless required by applicable law or agreed to in writing, +@REM software distributed under the License is distributed on an +@REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +@REM KIND, either express or implied. See the License for the +@REM specific language governing permissions and limitations +@REM under the License. +@REM ---------------------------------------------------------------------------- + +@REM ---------------------------------------------------------------------------- +@REM Apache Maven Wrapper startup batch script, version 3.2.0 +@REM +@REM Required ENV vars: +@REM JAVA_HOME - location of a JDK home dir +@REM +@REM Optional ENV vars +@REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands +@REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending +@REM MAVEN_OPTS - parameters passed to the Java VM when running Maven +@REM e.g. to debug Maven itself, use +@REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 +@REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files +@REM ---------------------------------------------------------------------------- + +@REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' +@echo off +@REM set title of command window +title %0 +@REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' +@if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% + +@REM set %HOME% to equivalent of $HOME +if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") + +@REM Execute a user defined script before this one +if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre +@REM check for pre script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* +if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* +:skipRcPre + +@setlocal + +set ERROR_CODE=0 + +@REM To isolate internal variables from possible post scripts, we use another setlocal +@setlocal + +@REM ==== START VALIDATION ==== +if not "%JAVA_HOME%" == "" goto OkJHome + +echo. +echo Error: JAVA_HOME not found in your environment. >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +:OkJHome +if exist "%JAVA_HOME%\bin\java.exe" goto init + +echo. +echo Error: JAVA_HOME is set to an invalid directory. >&2 +echo JAVA_HOME = "%JAVA_HOME%" >&2 +echo Please set the JAVA_HOME variable in your environment to match the >&2 +echo location of your Java installation. >&2 +echo. +goto error + +@REM ==== END VALIDATION ==== + +:init + +@REM Find the project base dir, i.e. the directory that contains the folder ".mvn". +@REM Fallback to current working directory if not found. + +set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% +IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir + +set EXEC_DIR=%CD% +set WDIR=%EXEC_DIR% +:findBaseDir +IF EXIST "%WDIR%"\.mvn goto baseDirFound +cd .. +IF "%WDIR%"=="%CD%" goto baseDirNotFound +set WDIR=%CD% +goto findBaseDir + +:baseDirFound +set MAVEN_PROJECTBASEDIR=%WDIR% +cd "%EXEC_DIR%" +goto endDetectBaseDir + +:baseDirNotFound +set MAVEN_PROJECTBASEDIR=%EXEC_DIR% +cd "%EXEC_DIR%" + +:endDetectBaseDir + +IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig + +@setlocal EnableExtensions EnableDelayedExpansion +for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a +@endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% + +:endReadAdditionalConfig + +SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" +set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" +set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain + +set WRAPPER_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperUrl" SET WRAPPER_URL=%%B +) + +@REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central +@REM This allows using the maven wrapper in projects that prohibit checking in binary data. +if exist %WRAPPER_JAR% ( + if "%MVNW_VERBOSE%" == "true" ( + echo Found %WRAPPER_JAR% + ) +) else ( + if not "%MVNW_REPOURL%" == "" ( + SET WRAPPER_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.2.0/maven-wrapper-3.2.0.jar" + ) + if "%MVNW_VERBOSE%" == "true" ( + echo Couldn't find %WRAPPER_JAR%, downloading it ... + echo Downloading from: %WRAPPER_URL% + ) + + powershell -Command "&{"^ + "$webclient = new-object System.Net.WebClient;"^ + "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ + "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ + "}"^ + "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%WRAPPER_URL%', '%WRAPPER_JAR%')"^ + "}" + if "%MVNW_VERBOSE%" == "true" ( + echo Finished downloading %WRAPPER_JAR% + ) +) +@REM End of extension + +@REM If specified, validate the SHA-256 sum of the Maven wrapper jar file +SET WRAPPER_SHA_256_SUM="" +FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( + IF "%%A"=="wrapperSha256Sum" SET WRAPPER_SHA_256_SUM=%%B +) +IF NOT %WRAPPER_SHA_256_SUM%=="" ( + powershell -Command "&{"^ + "$hash = (Get-FileHash \"%WRAPPER_JAR%\" -Algorithm SHA256).Hash.ToLower();"^ + "If('%WRAPPER_SHA_256_SUM%' -ne $hash){"^ + " Write-Output 'Error: Failed to validate Maven wrapper SHA-256, your Maven wrapper might be compromised.';"^ + " Write-Output 'Investigate or delete %WRAPPER_JAR% to attempt a clean download.';"^ + " Write-Output 'If you updated your Maven version, you need to update the specified wrapperSha256Sum property.';"^ + " exit 1;"^ + "}"^ + "}" + if ERRORLEVEL 1 goto error +) + +@REM Provide a "standardized" way to retrieve the CLI args that will +@REM work with both Windows and non-Windows executions. +set MAVEN_CMD_LINE_ARGS=%* + +%MAVEN_JAVA_EXE% ^ + %JVM_CONFIG_MAVEN_PROPS% ^ + %MAVEN_OPTS% ^ + %MAVEN_DEBUG_OPTS% ^ + -classpath %WRAPPER_JAR% ^ + "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ + %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* +if ERRORLEVEL 1 goto error +goto end + +:error +set ERROR_CODE=1 + +:end +@endlocal & set ERROR_CODE=%ERROR_CODE% + +if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost +@REM check for post script, once with legacy .bat ending and once with .cmd ending +if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" +if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" +:skipRcPost + +@REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' +if "%MAVEN_BATCH_PAUSE%"=="on" pause + +if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% + +cmd /C exit /B %ERROR_CODE% diff --git a/mod42/exercise_mod42/ProductServiceTest/pom.xml b/mod42/exercise_mod42/ProductServiceTest/pom.xml new file mode 100644 index 0000000..a589c6d --- /dev/null +++ b/mod42/exercise_mod42/ProductServiceTest/pom.xml @@ -0,0 +1,96 @@ + + + 4.0.0 + + org.springframework.boot + spring-boot-starter-parent + 3.2.2 + + + com.example + ProductServiceTest + 0.0.1-SNAPSHOT + ProductServiceTest + Demo project for Spring Boot + + 17 + 2023.0.0 + + + + org.springframework.boot + spring-boot-starter-data-mongodb + + + org.springframework.boot + spring-boot-starter-validation + + + org.springframework.boot + spring-boot-starter-web + + + org.springframework.cloud + spring-cloud-starter + + + org.springframework.cloud + spring-cloud-starter-config + + + org.springframework.cloud + spring-cloud-starter-openfeign + + + org.springdoc + springdoc-openapi-ui + 1.6.4 + + + org.springframework.boot + spring-boot-devtools + runtime + true + + + org.projectlombok + lombok + true + + + org.springframework.boot + spring-boot-starter-test + test + + + + + + org.springframework.cloud + spring-cloud-dependencies + ${spring-cloud.version} + pom + import + + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + org.projectlombok + lombok + + + + + + + + diff --git a/mod42/exercise_mod42/ProductServiceTest/src/main/java/META-INF/MANIFEST.MF b/mod42/exercise_mod42/ProductServiceTest/src/main/java/META-INF/MANIFEST.MF new file mode 100644 index 0000000..254272e --- /dev/null +++ b/mod42/exercise_mod42/ProductServiceTest/src/main/java/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Class-Path: + diff --git a/mod42/exercise_mod42/ProductServiceTest/src/main/java/com/example/ProductServiceTest/ProductServiceTestApplication.java b/mod42/exercise_mod42/ProductServiceTest/src/main/java/com/example/ProductServiceTest/ProductServiceTestApplication.java new file mode 100644 index 0000000..9d5da15 --- /dev/null +++ b/mod42/exercise_mod42/ProductServiceTest/src/main/java/com/example/ProductServiceTest/ProductServiceTestApplication.java @@ -0,0 +1,13 @@ +package com.example.ProductServiceTest; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class ProductServiceTestApplication { + + public static void main(String[] args) { + SpringApplication.run(ProductServiceTestApplication.class, args); + } + +} diff --git a/mod42/exercise_mod42/ProductServiceTest/src/main/resources/application.properties b/mod42/exercise_mod42/ProductServiceTest/src/main/resources/application.properties new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/mod42/exercise_mod42/ProductServiceTest/src/main/resources/application.properties @@ -0,0 +1 @@ + diff --git a/mod42/exercise_mod42/ProductServiceTest/src/test/java/com/example/ProductServiceTest/ProductServiceTestApplicationTests.java b/mod42/exercise_mod42/ProductServiceTest/src/test/java/com/example/ProductServiceTest/ProductServiceTestApplicationTests.java new file mode 100644 index 0000000..a7d623d --- /dev/null +++ b/mod42/exercise_mod42/ProductServiceTest/src/test/java/com/example/ProductServiceTest/ProductServiceTestApplicationTests.java @@ -0,0 +1,13 @@ +package com.example.ProductServiceTest; + +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest +class ProductServiceTestApplicationTests { + + @Test + void contextLoads() { + } + +}