Skip to content
Snippets Groups Projects
Commit 12d4b858 authored by Martin Slovík's avatar Martin Slovík
Browse files

Integrating with AirplaneController

parent e2fd73e8
No related branches found
No related tags found
No related merge requests found
......@@ -2,6 +2,7 @@ package cz.muni.fi.pa165.core.facade.airplane;
import cz.muni.fi.pa165.core.data.domain.Airplane;
import cz.muni.fi.pa165.core.model.AirplaneDto;
import cz.muni.fi.pa165.core.model.AirplaneTypeDto;
import cz.muni.fi.pa165.core.model.NewAirplaneDtoRequest;
import cz.muni.fi.pa165.core.service.airplane.AirplaneService;
import cz.muni.fi.pa165.core.service.airplanetype.AirplaneTypeService;
......@@ -59,13 +60,19 @@ public class AirplaneFacadeImpl implements AirplaneFacade<Long> {
@Override
public AirplaneDto assignAirplaneType(Long airplaneId, Long airplaneTypeId) {
var airplaneEntity = airplaneService.findById(airplaneId);
var airplaneTypeEntity = airplaneTypeService.findById(airplaneTypeId);
var airplaneEntityOpt = airplaneService.findById(airplaneId);
var airplaneTypeEntityOpt = airplaneTypeService.findById(airplaneTypeId);
if (airplaneEntity.isPresent() && airplaneTypeEntity.isPresent()) {
airplaneEntity.get().setType(airplaneTypeEntity.get());
if (airplaneEntityOpt.isPresent() && airplaneTypeEntityOpt.isPresent()) {
var airplaneEntity = airplaneEntityOpt.get();
var airplaneTypeEntity = airplaneTypeEntityOpt.get();
airplaneEntity.setType(airplaneTypeEntity);
var airplaneTypeDto = modelMapper.map(airplaneTypeEntity, AirplaneTypeDto.class);
var airplaneDto = modelMapper.map(airplaneEntity, AirplaneDto.class);
airplaneDto.setType(airplaneTypeDto);
return modelMapper.map(airplaneEntity, AirplaneDto.class);
return airplaneDto;
}
return null;
......
......@@ -2,8 +2,10 @@ package cz.muni.fi.pa165.core.rest;
import cz.muni.fi.pa165.core.api.AirplaneApi;
import cz.muni.fi.pa165.core.api.AirplaneApiDelegate;
import cz.muni.fi.pa165.core.facade.airplane.AirplaneFacade;
import cz.muni.fi.pa165.core.model.AirplaneDto;
import cz.muni.fi.pa165.core.model.NewAirplaneDtoRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RestController;
......@@ -12,6 +14,13 @@ import java.util.List;
@RestController
public class AirplaneController implements AirplaneApiDelegate {
private final AirplaneFacade<Long> airplaneFacade;
@Autowired
public AirplaneController(AirplaneFacade<Long> airplaneFacade) {
this.airplaneFacade = airplaneFacade;
}
/**
* POST /api/airplanes/{airplaneId}/airplaneTypes/{airplaneTypeId} : Assign airplane type to a airplane.
*
......@@ -23,7 +32,7 @@ public class AirplaneController implements AirplaneApiDelegate {
*/
@Override
public ResponseEntity<AirplaneDto> assignAirplaneType(Long airplaneId, Long airplaneTypeId) {
return AirplaneApiDelegate.super.assignAirplaneType(airplaneId, airplaneTypeId);
return ResponseEntity.ok(airplaneFacade.assignAirplaneType(airplaneId, airplaneTypeId));
}
/**
......@@ -37,7 +46,7 @@ public class AirplaneController implements AirplaneApiDelegate {
*/
@Override
public ResponseEntity<AirplaneDto> createAirplane(NewAirplaneDtoRequest newAirplaneDtoRequest) {
return AirplaneApiDelegate.super.createAirplane(newAirplaneDtoRequest);
return ResponseEntity.ok(airplaneFacade.save(newAirplaneDtoRequest));
}
/**
......@@ -50,7 +59,8 @@ public class AirplaneController implements AirplaneApiDelegate {
*/
@Override
public ResponseEntity<Void> deleteAirplane(Long id) {
return AirplaneApiDelegate.super.deleteAirplane(id);
airplaneFacade.deleteById(id);
return null;
}
/**
......@@ -64,7 +74,8 @@ public class AirplaneController implements AirplaneApiDelegate {
*/
@Override
public ResponseEntity<Void> deleteAirplaneTypeAssignment(Long airplaneId, Long airplaneTypeId) {
return AirplaneApiDelegate.super.deleteAirplaneTypeAssignment(airplaneId, airplaneTypeId);
airplaneFacade.deleteAirplaneTypeAssignment(airplaneId, airplaneTypeId);
return null;
}
/**
......@@ -77,7 +88,7 @@ public class AirplaneController implements AirplaneApiDelegate {
*/
@Override
public ResponseEntity<AirplaneDto> getAirplaneById(Long id) {
return AirplaneApiDelegate.super.getAirplaneById(id);
return ResponseEntity.of(airplaneFacade.findById(id));
}
/**
......@@ -89,7 +100,7 @@ public class AirplaneController implements AirplaneApiDelegate {
*/
@Override
public ResponseEntity<List<AirplaneDto>> getAllAirplanes() {
return AirplaneApiDelegate.super.getAllAirplanes();
return ResponseEntity.ok(airplaneFacade.findAll());
}
/**
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment