- Timestamp:
- 12/24/21 23:31:23 (3 years ago)
- Branches:
- master
- Children:
- 9dd526f
- Parents:
- 8588fcb
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sources/app/src/main/java/parkup/services/ParkingSpaceService.java
r8588fcb r9ff45d6 5 5 import parkup.entities.ParkingSpace; 6 6 import parkup.repositories.ParkingSpaceRepository; 7 import parkup.repositories.ParkingZoneRepository; 7 8 8 9 import javax.transaction.Transactional; … … 10 11 import java.util.Objects; 11 12 import java.util.Optional; 13 import java.util.stream.Collectors; 12 14 13 15 @Service 14 16 public class ParkingSpaceService { 15 17 private final ParkingSpaceRepository parkingSpaceRepository; 18 private final ParkingZoneRepository parkingZoneRepository; 16 19 17 20 @Autowired 18 public ParkingSpaceService(ParkingSpaceRepository parkingSpaceRepository ) {21 public ParkingSpaceService(ParkingSpaceRepository parkingSpaceRepository, ParkingZoneRepository parkingZoneRepository) { 19 22 this.parkingSpaceRepository = parkingSpaceRepository; 23 this.parkingZoneRepository = parkingZoneRepository; 20 24 } 21 25 … … 29 33 } 30 34 31 public Optional<ParkingSpace> addParkingSpace(ParkingSpace parkingSpace ) {32 Optional<ParkingSpace> parkingSpaceOpt = Optional.ofNullable(parkingSpaceRepository.findByPsName(parkingSpace.getPsName()));33 if ( parkingSpaceOpt.isPresent()) {34 throw new IllegalStateException("Name already taken, try adding a Parking Zone with a different name");35 public Optional<ParkingSpace> addParkingSpace(ParkingSpace parkingSpace,int parkingZoneId) { 36 List<String> names = parkingZoneRepository.findByPzId(parkingZoneId).getParkingSpaces().stream().map(ParkingSpace::getPsName).collect(Collectors.toList()); 37 if (names.contains(parkingSpace.getPsName())) { 38 throw new IllegalStateException("Name already taken, try adding a ParkingSpace with a different name"); 35 39 } else { 36 40 System.out.println(parkingSpace); 37 41 parkingSpaceRepository.save(parkingSpace); 38 42 } 39 return parkingSpaceOpt;43 return Optional.of(parkingSpace); 40 44 } 41 45 42 46 @Transactional 43 public ParkingSpace updateParkingSpace(int parkingSpaceId, String psName, boolean taken, boolean handicaped,float lat, float lng) {47 public ParkingSpace updateParkingSpace(int parkingSpaceId, String psName, boolean taken, float lat, float lng) { 44 48 Optional<ParkingSpace> ParkingSpaceOpt = Optional.ofNullable(parkingSpaceRepository.findByPsId(parkingSpaceId)); 45 49 if (ParkingSpaceOpt.isPresent()) { … … 58 62 } 59 63 60 if (!Objects.equals(ParkingSpaceNov.isHandicaped(), handicaped)) {61 ParkingSpaceNov.setHandicaped(handicaped);62 }63 64 64 65 if(lat!=0 && !Objects.equals(ParkingSpaceNov.getLat(), lat)){ … … 85 86 return parkingSpaceOpt; 86 87 } 88 public long getNumberOfTakenSpaces(){ 89 return parkingSpaceRepository.findAll().stream().filter(ParkingSpace::isTaken).count(); 90 } 87 91 }
Note:
See TracChangeset
for help on using the changeset viewer.