Skip to content

Commit 6998047

Browse files
committed
Correction Spring @repository
1 parent 2d0095d commit 6998047

File tree

9 files changed

+92
-39
lines changed

9 files changed

+92
-39
lines changed

pom.xml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
2+
<project xmlns="http://maven.apache.org/POM/4.0.0"
3+
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
34
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
45
<modelVersion>4.0.0</modelVersion>
56
<parent>
67
<groupId>org.springframework.boot</groupId>
78
<artifactId>spring-boot-starter-parent</artifactId>
89
<version>2.4.3</version>
9-
<relativePath/> <!-- lookup parent from repository -->
10+
<relativePath /> <!-- lookup parent from repository -->
1011
</parent>
1112
<groupId>com.itacademy</groupId>
1213
<artifactId>CrudEmpleats</artifactId>
@@ -17,6 +18,14 @@
1718
<java.version>15</java.version>
1819
</properties>
1920
<dependencies>
21+
<dependency>
22+
<groupId>org.springframework.boot</groupId>
23+
<artifactId>spring-boot-starter-data-jpa</artifactId>
24+
</dependency>
25+
<dependency>
26+
<groupId>org.springframework.boot</groupId>
27+
<artifactId>spring-boot-starter-validation</artifactId>
28+
</dependency>
2029
<dependency>
2130
<groupId>org.springframework.boot</groupId>
2231
<artifactId>spring-boot-starter-thymeleaf</artifactId>
@@ -25,7 +34,6 @@
2534
<groupId>org.springframework.boot</groupId>
2635
<artifactId>spring-boot-starter-web</artifactId>
2736
</dependency>
28-
2937
<dependency>
3038
<groupId>org.springframework.boot</groupId>
3139
<artifactId>spring-boot-devtools</artifactId>

src/main/java/com/itacademy/CrudEmpleats/CrudEmpleatsApplication.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22

33
import org.springframework.boot.SpringApplication;
44
import org.springframework.boot.autoconfigure.SpringBootApplication;
5+
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
56

6-
@SpringBootApplication
7+
@SpringBootApplication(exclude={DataSourceAutoConfiguration.class})
78
public class CrudEmpleatsApplication {
89

910
public static void main(String[] args) {

src/main/java/com/itacademy/CrudEmpleats/controller/ControllerEmployees.java

Lines changed: 12 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,15 @@
11
package com.itacademy.CrudEmpleats.controller;
22

3-
import java.io.IOException;
43
import java.util.List;
54

6-
import javax.servlet.http.HttpServletResponse;
5+
import javax.validation.Valid;
76

87
import org.springframework.beans.factory.annotation.Autowired;
98
import org.springframework.http.HttpStatus;
109
import org.springframework.web.bind.annotation.*;
1110

1211
import com.itacademy.CrudEmpleats.domain.Employee;
13-
import com.itacademy.CrudEmpleats.persistence.EmployeeRepository;
12+
import com.itacademy.CrudEmpleats.service.EmployeeServices;
1413

1514
@RestController
1615
public class ControllerEmployees {
@@ -19,45 +18,39 @@ public class ControllerEmployees {
1918
*/
2019

2120
@Autowired
22-
private EmployeeRepository repositori;
23-
24-
25-
// Temporalment redirigim a la llista d'empleats
26-
@GetMapping("/")
27-
void start(HttpServletResponse reponse) throws IOException {
28-
reponse.sendRedirect("/Empleat");
29-
}
21+
private EmployeeServices repositori;
3022

3123
// Crear nou empleat
32-
@PostMapping( "/Empleat")
24+
@PostMapping( "/EmployeeList")
3325
@ResponseStatus(HttpStatus.CREATED) // 201
34-
public Employee addEmployee(@RequestBody Employee employee) {
26+
public Employee addEmployee(@Valid @RequestBody Employee employee) {
3527
repositori.addEmployee(employee);
36-
return employee;
28+
return repositori.getEmployeeById(employee.getId());
29+
3730
}
3831

3932
// Retorna una llista JSon d'empleats
40-
@GetMapping("/Empleat")
33+
@GetMapping("/EmployeeList")
4134
public List<Employee> allEmployees() {
4235
return repositori.getAllEmployees();
4336
}
4437

4538
// Busca un empleat per Id
46-
@GetMapping("/Empleat/{id}")
39+
@GetMapping("/EmployeeList/{id}")
4740
public Employee getFirstEmployee(@PathVariable("id") int id) {
4841
return repositori.getEmployeeById(id);
4942
}
5043

5144
// Actualitzar Empleat
52-
@PutMapping("/Empleat/{id}")
45+
@PutMapping("/EmployeeList/{id}")
5346
@ResponseStatus(HttpStatus.ACCEPTED) // 202
54-
public Employee updateEmployee(@RequestBody Employee employee, @PathVariable("id") int id) {
47+
public Employee updateEmployee(@Valid @RequestBody Employee employee, @PathVariable("id") int id) {
5548
repositori.updateEmployee(employee,id);
5649
return repositori.getEmployeeById(id);
5750
}
5851

5952
// Eliminar Empleat
60-
@DeleteMapping("/Empleat/{id}")
53+
@DeleteMapping("/EmployeeList/{id}")
6154
@ResponseStatus(HttpStatus.ACCEPTED) // 202
6255
public String deleteEmployee(@PathVariable("id") int id) {
6356
repositori.deleteEmployee(id);

src/main/java/com/itacademy/CrudEmpleats/domain/Employee.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,19 @@
11
package com.itacademy.CrudEmpleats.domain;
22

3+
import javax.persistence.Entity;
4+
import javax.persistence.Id;
5+
import javax.validation.constraints.NotBlank;
6+
import javax.validation.constraints.NotNull;
7+
8+
@Entity
39
public class Employee {
410

11+
@Id
12+
@NotNull
513
private int id;
14+
@NotBlank
615
private String name;
16+
@NotBlank
717
private String job;
818
private double salary ;
919

src/main/java/com/itacademy/CrudEmpleats/domain/Jobs.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ public enum Jobs {
88
Programador_Senior("Programador Senior",35000),
99
Programador_Mid("Programador Mid-Level",29000),
1010
Programador_Junior("Programador Junior",21000),
11-
Administrativa("Administrativa",25000);
11+
Administratiu("Administratiu",25000);
1212

1313
private String name;
1414
private double salary;

src/main/java/com/itacademy/CrudEmpleats/exceptions/IdNotFound.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22

33
public class IdNotFound extends RuntimeException {
44

5+
private static final long serialVersionUID = 1L;
6+
57
private int id;
68

79
public IdNotFound(int id) {

src/main/java/com/itacademy/CrudEmpleats/persistence/EmployeeRepository.java

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,33 @@
11
package com.itacademy.CrudEmpleats.persistence;
22

3+
34
import java.util.*;
45

5-
import org.springframework.stereotype.Service;
6+
import org.springframework.stereotype.Repository;
67

78
import com.itacademy.CrudEmpleats.domain.Employee;
89
import com.itacademy.CrudEmpleats.exceptions.IdNotFound;
910

10-
@Service
11+
@Repository
1112
public class EmployeeRepository implements IEmployeeRepository{
1213

1314
// Els objectes persistents únicament en memòria
1415

1516
private static int idcount=0;
16-
/*
17-
private List<Employee> repository = new ArrayList<>(
18-
Arrays.asList(
19-
new Employee("Joan", "Director_Projectes"),
20-
new Employee("Gerard", "Programador_Junior"),
21-
new Employee("Maria", "Administrativa")
22-
)
23-
);
24-
*/
25-
private List<Employee> repository = new ArrayList<>(
17+
18+
private static List<Employee> repository = new ArrayList<>(
2619
Arrays.asList(
27-
new Employee(idcount++,"Joan", "Director_Projectes"),
28-
new Employee(idcount++,"Gerard", "Programador_Junior"),
29-
new Employee(idcount++,"Maria", "Administrativa")
20+
new Employee(idcount++,"Joan Gordi", "Director_Projectes"),
21+
new Employee(idcount++,"Gerard Puig", "Programador_Mid"),
22+
new Employee(idcount++,"Maria Camps", "Administratiu"),
23+
new Employee(idcount++,"Anaïs Iglesias", "Programador_Mid"),
24+
new Employee(idcount++,"Pere Masnou", "Administratiu"),
25+
new Employee(idcount++,"Laura Klaus", "Programador_Senior"),
26+
new Employee(idcount++,"Jhon Smith", "Administratiu"),
27+
new Employee(idcount++,"Ramón Dalmau", "Programador_Mid"),
28+
new Employee(idcount++,"Joana Gracia", "Programador_Junior"),
29+
new Employee(idcount++,"Quique Mota", "Administratiu"),
30+
new Employee(idcount++,"Kevin Lohan", "Director_Projectes")
3031
)
3132
);
3233

src/main/java/com/itacademy/CrudEmpleats/persistence/IEmployeeRepository.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import com.itacademy.CrudEmpleats.domain.Employee;
66

7+
78
public interface IEmployeeRepository {
89

910
public List<Employee> getAllEmployees();
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package com.itacademy.CrudEmpleats.service;
2+
3+
import java.util.*;
4+
5+
import org.springframework.beans.factory.annotation.Autowired;
6+
import org.springframework.stereotype.Service;
7+
8+
import com.itacademy.CrudEmpleats.domain.Employee;
9+
import com.itacademy.CrudEmpleats.persistence.EmployeeRepository;
10+
11+
@Service
12+
public class EmployeeServices {
13+
14+
@Autowired
15+
private EmployeeRepository repositori;
16+
17+
public List<Employee> getAllEmployees() {
18+
return repositori.getAllEmployees();
19+
}
20+
21+
public Employee getEmployeeById(int id){
22+
return repositori.getEmployeeById(id);
23+
}
24+
25+
public void addEmployee(Employee employee) {
26+
repositori.addEmployee(employee);
27+
}
28+
29+
public void updateEmployee(Employee employee, int id) {
30+
repositori.updateEmployee(employee, id);
31+
}
32+
33+
public void deleteEmployee(int id) {
34+
repositori.deleteEmployee(id);
35+
}
36+
37+
}

0 commit comments

Comments
 (0)