Skip to content

Commit a810d56

Browse files
committed
Refactor VeiculoRepository and VeiculoIntegrationTest to use a database connection for data persistence
1 parent 72b44c8 commit a810d56

File tree

13 files changed

+438
-564
lines changed

13 files changed

+438
-564
lines changed

pom.xml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,26 @@
3838
<version>5.3.1</version>
3939
<scope>test</scope>
4040
</dependency>
41+
<dependency>
42+
<groupId>mysql</groupId>
43+
<artifactId>mysql-connector-java</artifactId>
44+
<version>8.0.23</version>
45+
</dependency>
46+
<dependency>
47+
<groupId>org.slf4j</groupId>
48+
<artifactId>slf4j-api</artifactId>
49+
<version>1.7.32</version>
50+
</dependency>
51+
<dependency>
52+
<groupId>ch.qos.logback</groupId>
53+
<artifactId>logback-classic</artifactId>
54+
<version>1.2.6</version>
55+
</dependency>
56+
<dependency>
57+
<groupId>com.h2database</groupId>
58+
<artifactId>h2</artifactId>
59+
<version>2.1.214</version>
60+
</dependency>
4161
</dependencies>
4262

4363
</project>

src/main/java/br/lazaro/Main.java

Lines changed: 9 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ public static void main(String[] args) {
1919
view = new VeiculoView(controller);
2020

2121
int menu = 0;
22-
do{
22+
do {
2323
menu = showMenu();
2424

2525
switch (menu) {
@@ -42,18 +42,17 @@ public static void main(String[] args) {
4242
System.out.println("Opção inválida. \nTente novamente ou digite 0 para SAIR.");
4343
}
4444

45-
} while(menu != 0);
45+
} while (menu != 0);
4646
input.close();
4747
}
4848

4949
/**
50-
* Exibe um menu para o usuário e solicita que ele faça uma seleção.
51-
*
52-
* @return A seleção do menu do usuário como um número inteiro.
53-
*/
50+
* Exibe um menu para o usuário e solicita que ele faça uma seleção.
51+
*
52+
* @return A seleção do menu do usuário como um número inteiro.
53+
*/
5454
private static int showMenu() {
55-
try
56-
{
55+
try {
5756
System.out.println("\n........:: Menu ::........");
5857

5958
view.showMenu();
@@ -63,10 +62,8 @@ private static int showMenu() {
6362
System.out.print("Escolha uma opção: ");
6463

6564
return Integer.parseInt(input.next());
66-
}
67-
catch (Exception ex)
68-
{
69-
return -1; //-1 irá opcao inválida e reapresentar o menu de opcpes
65+
} catch (Exception ex) {
66+
return -1; //-1 irá opcao inválida e reapresentar o menu de opções
7067
}
7168

7269
}

src/main/java/br/lazaro/controllers/VeiculoController.java

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,34 +3,37 @@
33
import br.lazaro.exceptions.VeiculoNotFoundException;
44
import br.lazaro.repositories.*;
55
import br.lazaro.models.*;
6+
67
import java.util.List;
78

89
public class VeiculoController {
910
private final VeiculoRepository repository;
1011

11-
public VeiculoController(VeiculoRepository repository){
12+
public VeiculoController(VeiculoRepository repository) {
1213
this.repository = repository;
1314
}
1415

15-
public void comprarVeiculo(Veiculo veiculo){
16+
public void comprarVeiculo(Veiculo veiculo) {
1617
//TODO: Melhorar mensagem de erro
1718
if (veiculo.getPreco() <= 0) {
1819
throw new IllegalArgumentException("O valor do veículo deve ser maior que 0.");
1920
}
20-
repository.adicionarVeiculo(veiculo);
21+
veiculo.setStatus("estoque");
22+
repository.inserirVeiculo(veiculo);
2123
}
2224

2325
public void venderVeiculo(int idVeiculo) {
2426
Veiculo veiculo = getVeiculo(idVeiculo);
2527
if (!veiculo.getStatus().equals("estoque")) {
2628
throw new VeiculoNotFoundException("Veículo está fora de estoque e não pode ser vendido.");
2729
}
30+
veiculo.setStatus("vendido");
2831
repository.atualizarVeiculo(veiculo);
2932
}
3033

3134

3235
public List<Veiculo> estoque() {
33-
return repository.obterVeiculosPorStatus("estoque");
36+
return repository.listarVeiculosPorStatus("estoque");
3437
}
3538

3639

@@ -44,11 +47,11 @@ public List<Veiculo> estoque() {
4447
// }
4548

4649
public List<Veiculo> vendidos() {
47-
return repository.obterVeiculosPorStatus("vendido");
50+
return repository.listarVeiculosPorStatus("vendido");
4851
}
4952

5053
public Veiculo getVeiculo(int idVeiculo) {
51-
return repository.obterVeiculoPorId(idVeiculo);
54+
return repository.buscarVeiculoPorId(idVeiculo);
5255
}
5356

5457
}
Lines changed: 34 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,72 +1,83 @@
11
package br.lazaro.models;
22

3+
34
public class Veiculo {
4-
// private int id;
5+
private int id;
56
private String marca;
67
private String modelo;
78
private String cor;
89
private int anoFabricacao;
910
private double preco;
1011
private String status;
1112

12-
public Veiculo() {
13-
14-
}
15-
public Veiculo(String marca, String modelo, String cor, int anoFabricacao, double preco)
16-
{
13+
public Veiculo(String marca, String modelo, String cor, int anoFabricacao, double preco) {
1714
this.marca = marca;
1815
this.modelo = modelo;
1916
this.cor = cor;
2017
this.anoFabricacao = anoFabricacao;
2118
this.preco = preco;
22-
this.status = "estoque";
19+
// this.id_status = StatusVeiculo.estoque.ordinal();
20+
}
21+
22+
public int getId() {
23+
return this.id;
2324
}
2425

25-
public String getMarca(){
26+
public String getMarca() {
2627
return this.marca;
2728
}
28-
public String getModelo(){
29+
30+
public String getModelo() {
2931
return this.modelo;
3032
}
31-
public String getCor(){
33+
34+
public String getCor() {
3235
return this.cor;
3336
}
34-
public int getAnoFabricacao(){
37+
38+
public int getAnoFabricacao() {
3539
return this.anoFabricacao;
3640
}
37-
public double getPreco(){
41+
42+
public double getPreco() {
3843
return this.preco;
3944
}
4045

41-
public String getStatus(){
46+
public String getStatus() {
4247
return this.status;
4348
}
4449

45-
public void setMarca(String marca){
50+
public void setId(int id) {
51+
this.id = id;
52+
}
53+
54+
public void setMarca(String marca) {
4655
this.marca = marca;
4756
}
48-
public void setModelo(String modelo){
57+
58+
public void setModelo(String modelo) {
4959
this.modelo = modelo;
5060
}
51-
public void setCor(String cor){
61+
62+
public void setCor(String cor) {
5263
this.cor = cor;
5364
}
54-
public void setAnoFabricacao(int anoFabricacao){
65+
66+
public void setAnoFabricacao(int anoFabricacao) {
5567
this.anoFabricacao = anoFabricacao;
5668
}
57-
public void setPreco(double preco){
69+
70+
public void setPreco(double preco) {
5871
this.preco = preco;
5972
}
6073

61-
62-
63-
public void setStatus(String status){
74+
public void setStatus(String status) {
6475
this.status = status;
6576
}
6677

6778
@Override
6879
public String toString() {
69-
return "Veiculo: " + getMarca() + " Modelo: " + getModelo() + " cor: " + getCor()
70-
+ " ano: " + getAnoFabricacao() + " preço: " + getPreco() + " status: " + getStatus();
80+
return "Veiculo " + getId() + " - Marca: " + getMarca() + "\t\tModelo: " + getModelo() + "\t\tcor: " + getCor()
81+
+ "\t\tano: " + getAnoFabricacao() + "\t\tpreço: " + getPreco() + "\t\tstatus: " + getStatus();
7182
}
7283
}

0 commit comments

Comments
 (0)