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

Integrating with FlightController and StewardController. Removing conflicting...

Integrating with FlightController and StewardController. Removing conflicting attributes from FlightSteward
parent c7191803
No related branches found
No related tags found
No related merge requests found
...@@ -16,13 +16,9 @@ import java.util.Objects; ...@@ -16,13 +16,9 @@ import java.util.Objects;
@NoArgsConstructor @NoArgsConstructor
public class FlightSteward extends DomainEntity { public class FlightSteward extends DomainEntity {
private Long flightId;
@ManyToOne @ManyToOne
private Flight flight; private Flight flight;
private Long stewardId;
@ManyToOne @ManyToOne
private Steward steward; private Steward steward;
...@@ -35,14 +31,12 @@ public class FlightSteward extends DomainEntity { ...@@ -35,14 +31,12 @@ public class FlightSteward extends DomainEntity {
return false; return false;
} }
return Objects.equals(getId(), flightSteward.getId()) && return Objects.equals(getId(), flightSteward.getId()) &&
Objects.equals(getFlightId(), flightSteward.getFlightId()) &&
Objects.equals(getFlight(), flightSteward.getFlight()) && Objects.equals(getFlight(), flightSteward.getFlight()) &&
Objects.equals(getStewardId(), flightSteward.getStewardId()) &&
Objects.equals(getSteward(), flightSteward.getSteward()); Objects.equals(getSteward(), flightSteward.getSteward());
} }
@Override @Override
public int hashCode() { public int hashCode() {
return Objects.hash(getId(), getFlightId(), getFlight(), getStewardId(), getSteward()); return Objects.hash(getId(), getFlight(), getSteward());
} }
} }
...@@ -11,6 +11,6 @@ import java.util.Optional; ...@@ -11,6 +11,6 @@ import java.util.Optional;
public interface FlightRepository extends BaseRepository<Flight, Long> { public interface FlightRepository extends BaseRepository<Flight, Long> {
@Override @Override
@EntityGraph(attributePaths = {"flightSteward"}) @EntityGraph(attributePaths = {"flightStewards"})
Optional<Flight> findById(Long id); Optional<Flight> findById(Long id);
} }
...@@ -68,9 +68,7 @@ public class StewardFacadeImpl implements StewardFacade<Long> { ...@@ -68,9 +68,7 @@ public class StewardFacadeImpl implements StewardFacade<Long> {
var flightEntity = flightEntityOpt.get(); var flightEntity = flightEntityOpt.get();
var flightSteward = new FlightSteward(); var flightSteward = new FlightSteward();
flightSteward.setStewardId(stewardId);
flightSteward.setSteward(stewardEntity); flightSteward.setSteward(stewardEntity);
flightSteward.setFlightId(flightId);
flightSteward.setFlight(flightEntity); flightSteward.setFlight(flightEntity);
flightEntity.getFlightStewards().add(flightSteward); flightEntity.getFlightStewards().add(flightSteward);
......
...@@ -2,8 +2,10 @@ package cz.muni.fi.pa165.core.rest; ...@@ -2,8 +2,10 @@ package cz.muni.fi.pa165.core.rest;
import cz.muni.fi.pa165.core.api.FlightApi; import cz.muni.fi.pa165.core.api.FlightApi;
import cz.muni.fi.pa165.core.api.FlightApiDelegate; import cz.muni.fi.pa165.core.api.FlightApiDelegate;
import cz.muni.fi.pa165.core.facade.flight.FlightFacade;
import cz.muni.fi.pa165.core.model.FlightDto; import cz.muni.fi.pa165.core.model.FlightDto;
import cz.muni.fi.pa165.core.model.NewFlightDtoRequest; import cz.muni.fi.pa165.core.model.NewFlightDtoRequest;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
...@@ -12,6 +14,13 @@ import java.util.List; ...@@ -12,6 +14,13 @@ import java.util.List;
@RestController @RestController
public class FlightController implements FlightApiDelegate { public class FlightController implements FlightApiDelegate {
private final FlightFacade<Long> flightFacade;
@Autowired
public FlightController(FlightFacade<Long> flightFacade) {
this.flightFacade = flightFacade;
}
/** /**
* POST /api/flights : Create a new flight. * POST /api/flights : Create a new flight.
* Creates a new flight and returns it as a response. * Creates a new flight and returns it as a response.
...@@ -23,7 +32,7 @@ public class FlightController implements FlightApiDelegate { ...@@ -23,7 +32,7 @@ public class FlightController implements FlightApiDelegate {
*/ */
@Override @Override
public ResponseEntity<FlightDto> createFlight(NewFlightDtoRequest newFlightDtoRequest) { public ResponseEntity<FlightDto> createFlight(NewFlightDtoRequest newFlightDtoRequest) {
return FlightApiDelegate.super.createFlight(newFlightDtoRequest); return ResponseEntity.ok(flightFacade.save(newFlightDtoRequest));
} }
/** /**
...@@ -61,7 +70,7 @@ public class FlightController implements FlightApiDelegate { ...@@ -61,7 +70,7 @@ public class FlightController implements FlightApiDelegate {
*/ */
@Override @Override
public ResponseEntity<FlightDto> getFlightById(Long id) { public ResponseEntity<FlightDto> getFlightById(Long id) {
return FlightApiDelegate.super.getFlightById(id); return ResponseEntity.of(flightFacade.findById(id));
} }
/** /**
......
...@@ -2,7 +2,9 @@ package cz.muni.fi.pa165.core.rest; ...@@ -2,7 +2,9 @@ package cz.muni.fi.pa165.core.rest;
import cz.muni.fi.pa165.core.api.StewardApi; import cz.muni.fi.pa165.core.api.StewardApi;
import cz.muni.fi.pa165.core.api.StewardApiDelegate; import cz.muni.fi.pa165.core.api.StewardApiDelegate;
import cz.muni.fi.pa165.core.facade.steward.StewardFacade;
import cz.muni.fi.pa165.core.model.*; import cz.muni.fi.pa165.core.model.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
...@@ -11,6 +13,13 @@ import java.util.List; ...@@ -11,6 +13,13 @@ import java.util.List;
@RestController @RestController
public class StewardController implements StewardApiDelegate { public class StewardController implements StewardApiDelegate {
private final StewardFacade<Long> stewardFacade;
@Autowired
public StewardController(StewardFacade<Long> stewardFacade) {
this.stewardFacade = stewardFacade;
}
/** /**
* POST /api/stewards : Create a new steward. * POST /api/stewards : Create a new steward.
* Creates a new steward and returns it as a response. * Creates a new steward and returns it as a response.
...@@ -22,7 +31,7 @@ public class StewardController implements StewardApiDelegate { ...@@ -22,7 +31,7 @@ public class StewardController implements StewardApiDelegate {
*/ */
@Override @Override
public ResponseEntity<StewardDto> createSteward(NewStewardDtoRequest newStewardDtoRequest) { public ResponseEntity<StewardDto> createSteward(NewStewardDtoRequest newStewardDtoRequest) {
return StewardApiDelegate.super.createSteward(newStewardDtoRequest); return ResponseEntity.ok(stewardFacade.save(newStewardDtoRequest));
} }
/** /**
...@@ -36,7 +45,7 @@ public class StewardController implements StewardApiDelegate { ...@@ -36,7 +45,7 @@ public class StewardController implements StewardApiDelegate {
*/ */
@Override @Override
public ResponseEntity<StewardDto> createStewardFlights(Long stewardId, Long flightId) { public ResponseEntity<StewardDto> createStewardFlights(Long stewardId, Long flightId) {
return StewardApiDelegate.super.createStewardFlights(stewardId, flightId); return ResponseEntity.ok(stewardFacade.assignStewardFlight(stewardId, flightId));
} }
/** /**
......
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