Skip to content

Commit f5b7b5f

Browse files
author
gustavnavar
committed
Update samples
1 parent 1f9ed70 commit f5b7b5f

9 files changed

Lines changed: 575 additions & 67 deletions

File tree

demo/src/main/java/me/agno/demo/controllers/CustomerController.java

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,14 @@ public ResponseEntity<List<Customer>> getAll() {
2424
@PostMapping(value = {"/customer", "/Customer"})
2525
public ResponseEntity<Object> create(@RequestBody Customer customer) {
2626

27-
Customer savedCustomer = customerRepository.saveAndFlush(customer);
28-
return ResponseEntity.ok(savedCustomer.getCustomerID());
27+
try {
28+
Customer savedCustomer = customerRepository.saveAndFlush(customer);
29+
return ResponseEntity.ok(savedCustomer.getCustomerID());
30+
}
31+
catch (Exception e) {
32+
return ResponseEntity.badRequest()
33+
.body(e.getMessage().replace('{', '(').replace('}', ')'));
34+
}
2935
}
3036

3137
@GetMapping(value = {"/customer/{id}", "/Customer/{id}"})
@@ -42,10 +48,15 @@ public ResponseEntity<Object> update(@RequestBody Customer customer, @PathVariab
4248
if (attachedCustomer.isEmpty())
4349
return ResponseEntity.notFound().build();
4450

45-
customer.setCustomerID(id);
46-
customerRepository.saveAndFlush(customer);
47-
48-
return ResponseEntity.noContent().build();
51+
try {
52+
customer.setCustomerID(id);
53+
customerRepository.saveAndFlush(customer);
54+
return ResponseEntity.noContent().build();
55+
}
56+
catch (Exception e) {
57+
return ResponseEntity.badRequest()
58+
.body(e.getMessage().replace('{', '(').replace('}', ')'));
59+
}
4960
}
5061

5162
@DeleteMapping(value = {"/customer/{id}", "/Customer/{id}"})
@@ -55,9 +66,14 @@ public ResponseEntity<Object> delete(@PathVariable String id) {
5566
if (customer.isEmpty())
5667
return ResponseEntity.notFound().build();
5768

58-
customerRepository.delete(customer.get());
59-
customerRepository.flush();
60-
61-
return ResponseEntity.noContent().build();
69+
try {
70+
customerRepository.delete(customer.get());
71+
customerRepository.flush();
72+
return ResponseEntity.noContent().build();
73+
}
74+
catch (Exception e) {
75+
return ResponseEntity.badRequest()
76+
.body(e.getMessage().replace('{', '(').replace('}', ')'));
77+
}
6278
}
6379
}

demo/src/main/java/me/agno/demo/controllers/EmployeeController.java

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,14 @@ public ResponseEntity<List<Employee>> getAll() {
2424
@PostMapping(value = {"/employee", "/Employee"})
2525
public ResponseEntity<Object> create(@RequestBody Employee employee) {
2626

27-
Employee savedEmployee = employeeRepository.saveAndFlush(employee);
28-
return ResponseEntity.ok(savedEmployee.getEmployeeID());
27+
try {
28+
Employee savedEmployee = employeeRepository.saveAndFlush(employee);
29+
return ResponseEntity.ok(savedEmployee.getEmployeeID());
30+
}
31+
catch (Exception e) {
32+
return ResponseEntity.badRequest()
33+
.body(e.getMessage().replace('{', '(').replace('}', ')'));
34+
}
2935
}
3036

3137
@GetMapping(value = {"/employee/{id}", "/Employee/{id}"})
@@ -42,10 +48,15 @@ public ResponseEntity<Object> update(@RequestBody Employee employee, @PathVariab
4248
if (attachedEmployee.isEmpty())
4349
return ResponseEntity.notFound().build();
4450

45-
employee.setEmployeeID(id);
46-
employeeRepository.saveAndFlush(employee);
47-
48-
return ResponseEntity.noContent().build();
51+
try {
52+
employee.setPhoto(attachedEmployee.get().getPhoto());
53+
employeeRepository.saveAndFlush(employee);
54+
return ResponseEntity.noContent().build();
55+
}
56+
catch (Exception e) {
57+
return ResponseEntity.badRequest()
58+
.body(e.getMessage().replace('{', '(').replace('}', ')'));
59+
}
4960
}
5061

5162
@DeleteMapping(value = {"/employee/{id}", "/Employee/{id}"})
@@ -55,9 +66,14 @@ public ResponseEntity<Object> delete(@PathVariable int id) {
5566
if (employee.isEmpty())
5667
return ResponseEntity.notFound().build();
5768

58-
employeeRepository.delete(employee.get());
59-
employeeRepository.flush();
60-
61-
return ResponseEntity.noContent().build();
69+
try {
70+
employeeRepository.delete(employee.get());
71+
employeeRepository.flush();
72+
return ResponseEntity.noContent().build();
73+
}
74+
catch (Exception e) {
75+
return ResponseEntity.badRequest()
76+
.body(e.getMessage().replace('{', '(').replace('}', ')'));
77+
}
6278
}
6379
}

demo/src/main/java/me/agno/demo/controllers/OrderController.java

Lines changed: 57 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,10 @@
22

33
import lombok.RequiredArgsConstructor;
44
import me.agno.demo.model.Order;
5+
import me.agno.demo.repositories.CustomerRepository;
6+
import me.agno.demo.repositories.EmployeeRepository;
57
import me.agno.demo.repositories.OrderRepository;
8+
import me.agno.demo.repositories.ShipperRepository;
69
import org.springframework.http.ResponseEntity;
710
import org.springframework.web.bind.annotation.*;
811

@@ -15,6 +18,9 @@
1518
public class OrderController {
1619

1720
private final OrderRepository orderRepository;
21+
private final CustomerRepository customerRepository;
22+
private final EmployeeRepository employeeRepository;
23+
private final ShipperRepository shipperRepository;
1824

1925
@GetMapping(value = {"/order", "/Order"})
2026
public ResponseEntity<List<Order>> getAll() {
@@ -24,8 +30,26 @@ public ResponseEntity<List<Order>> getAll() {
2430
@PostMapping(value = {"/order", "/Order"})
2531
public ResponseEntity<Object> create(@RequestBody Order order) {
2632

27-
Order savedOrder = orderRepository.saveAndFlush(order);
28-
return ResponseEntity.ok(savedOrder.getOrderID());
33+
try {
34+
if(order.getCustomerID() != null && ! order.getCustomerID().isBlank()) {
35+
var customer = customerRepository.findById(order.getCustomerID());
36+
customer.ifPresent(order::setCustomer);
37+
}
38+
if(order.getEmployeeID() != null) {
39+
var employee = employeeRepository.findById(order.getEmployeeID());
40+
employee.ifPresent(order::setEmployee);
41+
}
42+
if(order.getShipVia() != null) {
43+
var shipper = shipperRepository.findById(order.getShipVia());
44+
shipper.ifPresent(order::setShipper);
45+
}
46+
Order savedOrder = orderRepository.saveAndFlush(order);
47+
return ResponseEntity.ok(savedOrder.getOrderID());
48+
}
49+
catch (Exception e) {
50+
return ResponseEntity.badRequest()
51+
.body(e.getMessage().replace('{', '(').replace('}', ')'));
52+
}
2953
}
3054

3155
@GetMapping(value = {"/order/{id}", "/Order/{id}"})
@@ -42,10 +66,28 @@ public ResponseEntity<Object> update(@RequestBody Order order, @PathVariable int
4266
if (attachedOrder.isEmpty())
4367
return ResponseEntity.notFound().build();
4468

45-
order.setOrderID(id);
46-
orderRepository.saveAndFlush(order);
47-
48-
return ResponseEntity.noContent().build();
69+
try {
70+
order.setOrderID(id);
71+
if(order.getCustomerID() != null && ! order.getCustomerID().isBlank()
72+
&& !order.getCustomerID().equals(attachedOrder.get().getCustomerID())) {
73+
var customer = customerRepository.findById(order.getCustomerID());
74+
customer.ifPresent(order::setCustomer);
75+
}
76+
if(order.getEmployeeID() != null && !order.getEmployeeID().equals(attachedOrder.get().getEmployeeID())) {
77+
var employee = employeeRepository.findById(order.getEmployeeID());
78+
employee.ifPresent(order::setEmployee);
79+
}
80+
if(order.getShipVia() != null && !order.getShipVia().equals(attachedOrder.get().getShipVia())) {
81+
var shipper = shipperRepository.findById(order.getShipVia());
82+
shipper.ifPresent(order::setShipper);
83+
}
84+
orderRepository.saveAndFlush(order);
85+
return ResponseEntity.noContent().build();
86+
}
87+
catch (Exception e) {
88+
return ResponseEntity.badRequest()
89+
.body(e.getMessage().replace('{', '(').replace('}', ')'));
90+
}
4991
}
5092

5193
@DeleteMapping(value = {"/order/{id}", "/Order/{id}"})
@@ -55,9 +97,14 @@ public ResponseEntity<Object> delete(@PathVariable int id) {
5597
if (order.isEmpty())
5698
return ResponseEntity.notFound().build();
5799

58-
orderRepository.delete(order.get());
59-
orderRepository.flush();
60-
61-
return ResponseEntity.noContent().build();
100+
try {
101+
orderRepository.delete(order.get());
102+
orderRepository.flush();
103+
return ResponseEntity.noContent().build();
104+
}
105+
catch (Exception e) {
106+
return ResponseEntity.badRequest()
107+
.body(e.getMessage().replace('{', '(').replace('}', ')'));
108+
}
62109
}
63110
}

demo/src/main/java/me/agno/demo/controllers/OrderDetailController.java

Lines changed: 27 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,14 @@ public ResponseEntity<List<OrderDetail>> getAll() {
2525
@PostMapping(value = {"/orderdetail", "/OrderDetail"})
2626
public ResponseEntity<Object> create(@RequestBody OrderDetail orderDetail) {
2727

28-
orderDetailRepository.saveAndFlush(orderDetail);
29-
return ResponseEntity.ok().build();
28+
try {
29+
orderDetailRepository.saveAndFlush(orderDetail);
30+
return ResponseEntity.ok().build();
31+
}
32+
catch (Exception e) {
33+
return ResponseEntity.badRequest()
34+
.body(e.getMessage().replace('{', '(').replace('}', ')'));
35+
}
3036
}
3137

3238
@GetMapping(value = {"/orderdetail/{orderId}/{productId}", "/OrderDetail/{orderId}/{productId}"})
@@ -44,11 +50,16 @@ public ResponseEntity<Object> update(@RequestBody OrderDetail orderDetail,
4450
if (attachedOrderDetail.isEmpty())
4551
return ResponseEntity.notFound().build();
4652

47-
orderDetail.setOrderID(orderId);
48-
orderDetail.setProductID(productId);
49-
orderDetailRepository.saveAndFlush(orderDetail);
50-
51-
return ResponseEntity.noContent().build();
53+
try {
54+
orderDetail.setOrderID(orderId);
55+
orderDetail.setProductID(productId);
56+
orderDetailRepository.saveAndFlush(orderDetail);
57+
return ResponseEntity.noContent().build();
58+
}
59+
catch (Exception e) {
60+
return ResponseEntity.badRequest()
61+
.body(e.getMessage().replace('{', '(').replace('}', ')'));
62+
}
5263
}
5364

5465
@DeleteMapping(value = {"/orderdetail/{orderId}/{productId}", "/OrderDetail/{orderId}/{productId}"})
@@ -58,9 +69,14 @@ public ResponseEntity<Object> delete(@PathVariable int orderId, @PathVariable in
5869
if (orderDetail.isEmpty())
5970
return ResponseEntity.notFound().build();
6071

61-
orderDetailRepository.delete(orderDetail.get());
62-
orderDetailRepository.flush();
63-
64-
return ResponseEntity.noContent().build();
72+
try {
73+
orderDetailRepository.delete(orderDetail.get());
74+
orderDetailRepository.flush();
75+
return ResponseEntity.noContent().build();
76+
}
77+
catch (Exception e) {
78+
return ResponseEntity.badRequest()
79+
.body(e.getMessage().replace('{', '(').replace('}', ')'));
80+
}
6581
}
6682
}

0 commit comments

Comments
 (0)