diff --git a/src/main/java/com/masai/entity/Bus.java b/src/main/java/com/masai/entity/Bus.java index 3372f18..119b99e 100644 --- a/src/main/java/com/masai/entity/Bus.java +++ b/src/main/java/com/masai/entity/Bus.java @@ -1,5 +1,6 @@ package com.masai.entity; +import java.util.ArrayList; import java.util.List; import com.fasterxml.jackson.annotation.JsonIgnore; @@ -25,36 +26,37 @@ @AllArgsConstructor public class Bus { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Integer busId; + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer busId; - @NotBlank(message = "Please provide the destination name") - @NotNull(message = "Please provide the destination name") - private String busType; + @NotBlank(message = "Please provide the destination name") + @NotNull(message = "Please provide the destination name") + private String busType; - @NotBlank(message = "Please provide the destination name") - @NotNull(message = "Please provide the destination name") - private String busNumber; + @NotBlank(message = "Please provide the destination name") + @NotNull(message = "Please provide the destination name") + private String busNumber; - @NotBlank(message = "Please provide the destination name") - @NotNull(message = "Please provide the destination name") - private Integer capacity; + @NotBlank(message = "Please provide the destination name") + @NotNull(message = "Please provide the destination name") + private Integer capacity; - @JsonIgnore - @ManyToMany(cascade = CascadeType.ALL) - private List routes; + private boolean status; + @JsonIgnore + @ManyToMany(cascade = CascadeType.ALL) + private List routes = new ArrayList<>(); - @JoinColumn(name = "travels_id") - @ManyToOne(cascade = CascadeType.ALL) - @JsonIgnore - private Travels travel; - - - @ManyToMany(cascade = CascadeType.ALL) - @JoinTable(name = "bus_destination",joinColumns = {@JoinColumn(referencedColumnName = "busId")},inverseJoinColumns = {@JoinColumn(referencedColumnName = "desId")}) - private List destinationList; + @JoinColumn(name = "travels_id") + @ManyToOne(cascade = CascadeType.ALL) + @JsonIgnore + private Travels travel; + @ManyToMany(cascade = CascadeType.ALL) + @JoinTable(name = "bus_destination", joinColumns = { + @JoinColumn(referencedColumnName = "busId") }, inverseJoinColumns = { + @JoinColumn(referencedColumnName = "desId") }) + private List destinationList = new ArrayList<>(); } diff --git a/src/main/java/com/masai/entity/Customer.java b/src/main/java/com/masai/entity/Customer.java index 6eb7eec..8564f2b 100644 --- a/src/main/java/com/masai/entity/Customer.java +++ b/src/main/java/com/masai/entity/Customer.java @@ -1,5 +1,6 @@ package com.masai.entity; +import java.util.ArrayList; import java.util.List; import com.fasterxml.jackson.annotation.JsonIgnore; @@ -25,59 +26,55 @@ @Data public class Customer { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Integer customerId; - - @NotBlank(message = "Please provide the customer name") - @NotNull(message = "Please provide the customer name") - private String customerName; - - - @NotBlank(message = "Please provide the customer password") - @NotNull(message = "Please provide the customer password") - @Size(min = 6,max = 10,message = "min 6 and max 10 characters allowed only") - private String customerPassword; - - @NotBlank(message = "Please provide the customer password") - @NotNull(message = "Please provide the customer password") - @Size(min = 6,message = "min 6 is characters required") - private String address; - - @NotBlank(message = "Please provide the customer password") - @NotNull(message = "Please provide the customer password") - @Size(min = 15,max = 15,message = "min 15 and max 15 characters allowed only") - private String aadharId; - - - @NotNull(message = "Please select gender") - private Gender gender; - - @NotBlank(message = "Please select your country") - @NotNull(message = "Please select your country") - private String country; - - - @NotBlank(message = "Please provide the customer password") - @NotNull(message = "Please provide the customer password") - @Size(min = 10,max = 10,message = "min 10 and max 10 characters allowed only") - private String mobileNo; - - @Email(message = "email is not in correct format") - @NotBlank(message = "Please provide the email") - @NotNull(message = "Please provide the email") - private String email; - - - @OneToMany(cascade = CascadeType.ALL,mappedBy = "customerBooking",fetch = FetchType.EAGER) - @JsonIgnore - private List hotelBookings; - - @OneToMany(cascade = CascadeType.ALL,mappedBy = "customer",fetch = FetchType.EAGER) - @JsonIgnore - private List packageBookings; - - @JsonIgnore - @OneToMany(cascade = CascadeType.ALL,mappedBy = "customerFeedback") - private List feedback ; + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer customerId; + + @NotBlank(message = "Please provide the customer name") + @NotNull(message = "Please provide the customer name") + private String customerName; + + @NotBlank(message = "Please provide the customer password") + @NotNull(message = "Please provide the customer password") + @Size(min = 6, max = 10, message = "min 6 and max 10 characters allowed only") + private String customerPassword; + + @NotBlank(message = "Please provide the customer password") + @NotNull(message = "Please provide the customer password") + @Size(min = 6, message = "min 6 is characters required") + private String address; + + @NotBlank(message = "Please provide the customer password") + @NotNull(message = "Please provide the customer password") + @Size(min = 15, max = 15, message = "min 15 and max 15 characters allowed only") + private String aadharId; + + @NotNull(message = "Please select gender") + private Gender gender; + + @NotBlank(message = "Please select your country") + @NotNull(message = "Please select your country") + private String country; + + @NotBlank(message = "Please provide the customer password") + @NotNull(message = "Please provide the customer password") + @Size(min = 10, max = 10, message = "min 10 and max 10 characters allowed only") + private String mobileNo; + + @Email(message = "email is not in correct format") + @NotBlank(message = "Please provide the email") + @NotNull(message = "Please provide the email") + private String email; + + @OneToMany(cascade = CascadeType.ALL, mappedBy = "customerBooking", fetch = FetchType.EAGER) + @JsonIgnore + private List hotelBookings = new ArrayList<>(); + + @OneToMany(cascade = CascadeType.ALL, mappedBy = "customer", fetch = FetchType.EAGER) + @JsonIgnore + private List packageBookings = new ArrayList<>(); + + @JsonIgnore + @OneToMany(cascade = CascadeType.ALL, mappedBy = "customerFeedback") + private List feedback = new ArrayList<>(); } diff --git a/src/main/java/com/masai/entity/Destination.java b/src/main/java/com/masai/entity/Destination.java index a7ddadd..a4fa904 100644 --- a/src/main/java/com/masai/entity/Destination.java +++ b/src/main/java/com/masai/entity/Destination.java @@ -8,6 +8,7 @@ import lombok.Data; import lombok.NoArgsConstructor; +import java.util.ArrayList; import java.util.List; @Entity @@ -16,23 +17,25 @@ @AllArgsConstructor public class Destination { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Integer desId; + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer desId; - @NotBlank(message = "Please provide the destination name") - @NotNull(message = "Please provide the destination name") - private String name; + @NotBlank(message = "Please provide the destination name") + @NotNull(message = "Please provide the destination name") + private String name; - @NotNull(message = "Please choose desEnvironment") - private DesEnvironment desEnvironment; + @NotNull(message = "Please choose desEnvironment") + private DesEnvironment desEnvironment; - @ManyToMany(cascade = CascadeType.ALL,mappedBy = "destinationList") - @JsonIgnore - private List bus; + private boolean status; - @JsonIgnore - @OneToMany(mappedBy = "destination",cascade = CascadeType.ALL) - private List hotels; + @ManyToMany(cascade = CascadeType.ALL, mappedBy = "destinationList") + @JsonIgnore + private List bus = new ArrayList<>(); + + @JsonIgnore + @OneToMany(mappedBy = "destination", cascade = CascadeType.ALL, fetch = FetchType.EAGER) + private List hotels = new ArrayList<>(); } diff --git a/src/main/java/com/masai/entity/Hotel.java b/src/main/java/com/masai/entity/Hotel.java index aab90d1..bdbf619 100644 --- a/src/main/java/com/masai/entity/Hotel.java +++ b/src/main/java/com/masai/entity/Hotel.java @@ -1,7 +1,14 @@ package com.masai.entity; import com.fasterxml.jackson.annotation.JsonIgnore; -import jakarta.persistence.*; + +import jakarta.persistence.CascadeType; +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; +import jakarta.persistence.JoinColumn; +import jakarta.persistence.ManyToOne; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotEmpty; import jakarta.validation.constraints.NotNull; @@ -9,48 +16,43 @@ import lombok.Data; import lombok.NoArgsConstructor; -import java.time.LocalDate; - @Entity @Data @NoArgsConstructor @AllArgsConstructor public class Hotel { - - - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Integer hotelId; - - @NotBlank(message = "Please provide the hotel name") - @NotNull(message = "Please provide the hotel name") - private String hotelName; - - @NotNull(message = "Please provide the hotel type") - @NotEmpty(message = "Please provide the hotel type") - private HotelType hotelType; - - @NotNull(message = "Please provide the hotel description") - @NotEmpty(message = "Please provide the hotel description") - private String hotelDescription; - - @NotNull(message = "Please provide the hotel address") - @NotEmpty(message = "Please provide the hotel address") - private String address; - - @NotNull(message = "Please provide the rent details") - @NotEmpty(message = "Please provide the rent details") - private Double rent; - - @NotNull(message = "Please provide the STATUS") - @NotEmpty(message = "Please provide the STATUS") - private HotelStatus status; - - @JsonIgnore - @ManyToOne(cascade = CascadeType.ALL) - @JoinColumn(name = "destin_id") - private Destination destination; - + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer hotelId; + + @NotBlank(message = "Please provide the hotel name") + @NotNull(message = "Please provide the hotel name") + private String hotelName; + + @NotNull(message = "Please provide the hotel type") + @NotEmpty(message = "Please provide the hotel type") + private HotelType hotelType; + + @NotNull(message = "Please provide the hotel description") + @NotEmpty(message = "Please provide the hotel description") + private String hotelDescription; + + @NotNull(message = "Please provide the hotel address") + @NotEmpty(message = "Please provide the hotel address") + private String address; + + @NotNull(message = "Please provide the rent details") + @NotEmpty(message = "Please provide the rent details") + private Double rent; + private boolean stats; + @NotNull(message = "Please provide the STATUS") + @NotEmpty(message = "Please provide the STATUS") + private HotelStatus status; + + @JsonIgnore + @ManyToOne(cascade = CascadeType.ALL) + @JoinColumn(name = "destin_id") + private Destination destination; } diff --git a/src/main/java/com/masai/entity/Package.java b/src/main/java/com/masai/entity/Package.java index 5aa8aea..a70166e 100644 --- a/src/main/java/com/masai/entity/Package.java +++ b/src/main/java/com/masai/entity/Package.java @@ -9,6 +9,7 @@ import lombok.Data; import lombok.NoArgsConstructor; +import java.util.ArrayList; import java.util.List; @Entity @@ -17,54 +18,49 @@ @AllArgsConstructor public class Package { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Integer packageId; + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer packageId; - @NotBlank(message = "Please provide the package name") - @NotNull(message = "Please provide the customer name") - @Size(min = 4,message = "min 4 is required") - private String packageName; + @NotBlank(message = "Please provide the package name") + @NotNull(message = "Please provide the customer name") + @Size(min = 4, message = "min 4 is required") + private String packageName; - @NotNull(message = "Please provide the hotel type") - private HotelType hotelType; + @NotNull(message = "Please provide the hotel type") + private HotelType hotelType; - @NotBlank(message = "Please provide the daysAndNight details") - @NotNull(message = "Please provide the daysAndNight details") - private String daysAndNight; + @NotBlank(message = "Please provide the daysAndNight details") + @NotNull(message = "Please provide the daysAndNight details") + private String daysAndNight; + @NotNull(message = "Please provide the package season") + private Season packageSeason; + @NotBlank(message = "At least 3 package description is required") + @NotNull(message = "At least 3 package description is required") + private String packageDescription1; - @NotNull(message = "Please provide the package season") - private Season packageSeason; + @NotBlank(message = "At least 3 package description is required") + @NotNull(message = "At least 3 package description is required") + private String packageDescription2; - @NotBlank(message = "At least 3 package description is required") - @NotNull(message = "At least 3 package description is required") - private String packageDescription1; + @NotBlank(message = "At least 3 package description is required") + @NotNull(message = "At least 3 package description is required") + private String packageDescription3; - @NotBlank(message = "At least 3 package description is required") - @NotNull(message = "At least 3 package description is required") - private String packageDescription2; - - @NotBlank(message = "At least 3 package description is required") - @NotNull(message = "At least 3 package description is required") - private String packageDescription3; - - private String packageDescription4; - private String packageDescription5; - - @NotNull(message = "please provide package cost") - private Double packageCost; - - @JsonIgnore - @OneToMany(cascade = CascadeType.ALL,mappedBy = "aPackage") - private List bookingList; - - @JsonIgnore - @ManyToMany(cascade = CascadeType.ALL) - private List hotels; + private String packageDescription4; + private String packageDescription5; + @NotNull(message = "please provide package cost") + private Double packageCost; + @JsonIgnore + @OneToMany(cascade = CascadeType.ALL, mappedBy = "aPackage") + private List bookingList = new ArrayList<>(); + @JsonIgnore + @ManyToMany(cascade = CascadeType.ALL) + private List hotels = new ArrayList<>(); } diff --git a/src/main/java/com/masai/entity/PackageBooking.java b/src/main/java/com/masai/entity/PackageBooking.java index 0df9cd5..a48ea57 100644 --- a/src/main/java/com/masai/entity/PackageBooking.java +++ b/src/main/java/com/masai/entity/PackageBooking.java @@ -10,6 +10,7 @@ import org.springframework.data.annotation.CreatedDate; import java.time.LocalDate; +import java.util.ArrayList; import java.util.List; @Entity @@ -49,7 +50,7 @@ public class PackageBooking{ @OneToMany(cascade = CascadeType.ALL) @JsonIgnore - private List payment; + private List payment=new ArrayList<>(); @ManyToOne(cascade = CascadeType.ALL) @JoinColumn(name = "package_id") diff --git a/src/main/java/com/masai/entity/PaymentDetails.java b/src/main/java/com/masai/entity/PaymentDetails.java index 4b13c59..60f2a53 100644 --- a/src/main/java/com/masai/entity/PaymentDetails.java +++ b/src/main/java/com/masai/entity/PaymentDetails.java @@ -1,14 +1,15 @@ package com.masai.entity; -import jakarta.persistence.*; -import jakarta.validation.constraints.NotBlank; +import java.math.BigDecimal; + +import jakarta.persistence.Entity; +import jakarta.persistence.GeneratedValue; +import jakarta.persistence.GenerationType; +import jakarta.persistence.Id; import jakarta.validation.constraints.NotNull; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; -import org.aspectj.bridge.Message; - -import java.math.BigDecimal; @Entity @Data diff --git a/src/main/java/com/masai/entity/Report.java b/src/main/java/com/masai/entity/Report.java index 5e85a26..ed77993 100644 --- a/src/main/java/com/masai/entity/Report.java +++ b/src/main/java/com/masai/entity/Report.java @@ -1,6 +1,5 @@ package com.masai.entity; - import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; @@ -18,18 +17,18 @@ @AllArgsConstructor public class Report { - @Id - @GeneratedValue(strategy = GenerationType.AUTO) - private Integer reportId; - @NotNull(message = "please provide the reason") - @NotBlank(message = "reportName can't be empty") - private String reportName; - - @NotNull(message = "select type") - private ReportType reportType; + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + private Integer reportId; + @NotNull(message = "please provide the reason") + @NotBlank(message = "reportName can't be empty") + private String reportName; - @NotNull(message = "please provide customer ID") - @NotEmpty(message = "please provide customer ID") - private String customerId; + @NotNull(message = "select type") + private ReportType reportType; + private boolean status; + @NotNull(message = "please provide customer ID") + @NotEmpty(message = "please provide customer ID") + private String customerId; } diff --git a/src/main/java/com/masai/entity/Route.java b/src/main/java/com/masai/entity/Route.java index f2d9d74..e250a11 100644 --- a/src/main/java/com/masai/entity/Route.java +++ b/src/main/java/com/masai/entity/Route.java @@ -1,58 +1,55 @@ package com.masai.entity; +import java.time.LocalDate; +import java.time.LocalDateTime; + import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.GenerationType; import jakarta.persistence.Id; import jakarta.validation.constraints.NotBlank; import jakarta.validation.constraints.NotNull; -import jakarta.validation.constraints.Size; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; -import javax.lang.model.element.NestingKind; -import java.time.LocalDate; -import java.time.LocalDateTime; - @Entity @Data @NoArgsConstructor @AllArgsConstructor public class Route { + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer routeId; - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Integer routeId; - - @NotBlank(message = "Please provide the starting details") - @NotNull(message = "Please provide the starting details") - private String routeFrom; - + @NotBlank(message = "Please provide the starting details") + @NotNull(message = "Please provide the starting details") + private String routeFrom; - @NotBlank(message = "Please provide the ending details") - @NotNull(message = "Please provide the ending details") - private String routeTo; + @NotBlank(message = "Please provide the ending details") + @NotNull(message = "Please provide the ending details") + private String routeTo; - @NotBlank(message = "Please provide the departureTime") - @NotNull(message = "Please provide the departureTime") + @NotBlank(message = "Please provide the departureTime") + @NotNull(message = "Please provide the departureTime") - private LocalDateTime departureTime; + private LocalDateTime departureTime; - @NotBlank(message = "Please provide the arrivalTime") - @NotNull(message = "Please provide the arrivalTime") - private LocalDateTime arrivalTime; + private boolean status; + @NotBlank(message = "Please provide the arrivalTime") + @NotNull(message = "Please provide the arrivalTime") + private LocalDateTime arrivalTime; - @NotBlank(message = "Please provide the doj") - @NotNull(message = "Please provide the doj") - private LocalDate doj; + @NotBlank(message = "Please provide the doj") + @NotNull(message = "Please provide the doj") + private LocalDate doj; - @NotBlank(message = "Please provide the pickupPoint") - @NotNull(message = "Please provide the pickupPoint") - private String pickupPoint; + @NotBlank(message = "Please provide the pickupPoint") + @NotNull(message = "Please provide the pickupPoint") + private String pickupPoint; - @NotBlank(message = "Please provide the fare price") - private double fare; + @NotBlank(message = "Please provide the fare price") + private double fare; } diff --git a/src/main/java/com/masai/entity/RouteDto.java b/src/main/java/com/masai/entity/RouteDto.java new file mode 100644 index 0000000..cff5039 --- /dev/null +++ b/src/main/java/com/masai/entity/RouteDto.java @@ -0,0 +1,31 @@ +package com.masai.entity; + +import java.time.LocalDateTime; + +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +public class RouteDto { + @NotBlank(message = "Please provide the starting details") + @NotNull(message = "Please provide the starting details") + private String routeFrom; + + @NotBlank(message = "Please provide the ending details") + @NotNull(message = "Please provide the ending details") + private String routeTo; + + @NotBlank(message = "Please provide the departureTime") + @NotNull(message = "Please provide the departureTime") + + private LocalDateTime departureTime; + + @NotBlank(message = "Please provide the arrivalTime") + @NotNull(message = "Please provide the arrivalTime") + private LocalDateTime arrivalTime; +} diff --git a/src/main/java/com/masai/entity/Travels.java b/src/main/java/com/masai/entity/Travels.java index 4819a08..6c0c045 100644 --- a/src/main/java/com/masai/entity/Travels.java +++ b/src/main/java/com/masai/entity/Travels.java @@ -1,5 +1,6 @@ package com.masai.entity; +import java.util.ArrayList; import java.util.List; import com.fasterxml.jackson.annotation.JsonIgnore; @@ -15,37 +16,37 @@ import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; + @Entity @Data @NoArgsConstructor @AllArgsConstructor public class Travels { - @Id - @GeneratedValue(strategy = GenerationType.IDENTITY) - private Integer travelsId; + @Id + @GeneratedValue(strategy = GenerationType.IDENTITY) + private Integer travelsId; + + @NotNull(message = "travelsName is mandatory") + @NotBlank(message = "travelsName is mandatory") + private String travelsName; - @NotNull(message = "travelsName is mandatory") - @NotBlank(message = "travelsName is mandatory") - private String travelsName; + @NotNull(message = "agentName is mandatory") + @NotBlank(message = "agentName is mandatory") + private String agentName; - @NotNull(message = "agentName is mandatory") - @NotBlank(message = "agentName is mandatory") - private String agentName; - - private boolean status; - - @NotNull(message = "address is mandatory") - @NotBlank(message = "address is mandatory") - private String address; + private boolean status; - @NotNull(message = "contact is mandatory") - @NotBlank(message = "contact is mandatory") - private String contact; + @NotNull(message = "address is mandatory") + @NotBlank(message = "address is mandatory") + private String address; - @JsonIgnore - @OneToMany(cascade = CascadeType.ALL,mappedBy = "travel") - private List buses; + @NotNull(message = "contact is mandatory") + @NotBlank(message = "contact is mandatory") + private String contact; + @JsonIgnore + @OneToMany(cascade = CascadeType.ALL, mappedBy = "travel") + private List buses = new ArrayList<>(); } diff --git a/src/main/java/com/masai/entity/User.java b/src/main/java/com/masai/entity/User.java index 622bdbe..92f1389 100644 --- a/src/main/java/com/masai/entity/User.java +++ b/src/main/java/com/masai/entity/User.java @@ -1,22 +1,25 @@ package com.masai.entity; import jakarta.validation.constraints.NotBlank; -import jakarta.validation.constraints.NotNull; import jakarta.validation.constraints.Size; +import lombok.AllArgsConstructor; +import lombok.Data; +import lombok.NoArgsConstructor; +@Data +@AllArgsConstructor +@NoArgsConstructor public class User { + @NotBlank(message = "userId is mandatory") + private Integer userId; - @NotBlank(message = "userId is mandatory") - private Integer userId; + @NotBlank(message = "userType is mandatory") - @NotBlank(message = "userType is mandatory") + private UserType userType; - private UserType userType; - - - @NotBlank(message = "password is mandatory") - @Size(min = 6,max = 10,message = "min 6 and max 10 is only allowed") - private String password; + @NotBlank(message = "password is mandatory") + @Size(min = 6, max = 10, message = "min 6 and max 10 is only allowed") + private String password; } diff --git a/src/main/java/com/masai/exception/BusNotFoundException.java b/src/main/java/com/masai/exception/BusNotFoundException.java new file mode 100644 index 0000000..3fd75a5 --- /dev/null +++ b/src/main/java/com/masai/exception/BusNotFoundException.java @@ -0,0 +1,9 @@ +package com.masai.exception; + +@SuppressWarnings("serial") +public class BusNotFoundException extends RuntimeException { + + public BusNotFoundException(String message) { + super(message); + } +} diff --git a/src/main/java/com/masai/exception/DestinationNotFoundException.java b/src/main/java/com/masai/exception/DestinationNotFoundException.java new file mode 100644 index 0000000..0d13b15 --- /dev/null +++ b/src/main/java/com/masai/exception/DestinationNotFoundException.java @@ -0,0 +1,9 @@ +package com.masai.exception; + +@SuppressWarnings("serial") +public class DestinationNotFoundException extends RuntimeException { + + public DestinationNotFoundException(String message) { + super(message); + } +} diff --git a/src/main/java/com/masai/exception/EmptyBusListException.java b/src/main/java/com/masai/exception/EmptyBusListException.java new file mode 100644 index 0000000..e83614f --- /dev/null +++ b/src/main/java/com/masai/exception/EmptyBusListException.java @@ -0,0 +1,9 @@ +package com.masai.exception; + +@SuppressWarnings("serial") +public class EmptyBusListException extends RuntimeException { + + public EmptyBusListException(String message) { + super(message); + } +} diff --git a/src/main/java/com/masai/exception/EmptyDestinationListException.java b/src/main/java/com/masai/exception/EmptyDestinationListException.java new file mode 100644 index 0000000..e4f00fc --- /dev/null +++ b/src/main/java/com/masai/exception/EmptyDestinationListException.java @@ -0,0 +1,9 @@ +package com.masai.exception; + +@SuppressWarnings("serial") +public class EmptyDestinationListException extends RuntimeException { + + public EmptyDestinationListException(String message) { + super(message); + } +} diff --git a/src/main/java/com/masai/exception/EmptyHotelListException.java b/src/main/java/com/masai/exception/EmptyHotelListException.java new file mode 100644 index 0000000..b988def --- /dev/null +++ b/src/main/java/com/masai/exception/EmptyHotelListException.java @@ -0,0 +1,8 @@ +package com.masai.exception; + +@SuppressWarnings("serial") +public class EmptyHotelListException extends RuntimeException { + public EmptyHotelListException(String message) { + super(message); + } +} diff --git a/src/main/java/com/masai/exception/EmptyReportListException.java b/src/main/java/com/masai/exception/EmptyReportListException.java new file mode 100644 index 0000000..88ba191 --- /dev/null +++ b/src/main/java/com/masai/exception/EmptyReportListException.java @@ -0,0 +1,9 @@ +package com.masai.exception; + +@SuppressWarnings("serial") +public class EmptyReportListException extends RuntimeException { + + public EmptyReportListException(String message) { + super(message); + } +} diff --git a/src/main/java/com/masai/exception/EmptyRouteListException.java b/src/main/java/com/masai/exception/EmptyRouteListException.java new file mode 100644 index 0000000..a4f9e85 --- /dev/null +++ b/src/main/java/com/masai/exception/EmptyRouteListException.java @@ -0,0 +1,9 @@ +package com.masai.exception; + +@SuppressWarnings("serial") +public class EmptyRouteListException extends RuntimeException { + + public EmptyRouteListException(String message) { + super(message); + } +} diff --git a/src/main/java/com/masai/exception/GlobalExceptionHandler.java b/src/main/java/com/masai/exception/GlobalExceptionHandler.java index c4b7eef..f2aaacb 100644 --- a/src/main/java/com/masai/exception/GlobalExceptionHandler.java +++ b/src/main/java/com/masai/exception/GlobalExceptionHandler.java @@ -74,8 +74,98 @@ public ResponseEntity feedbackNotFoundException(FeedbackNotFoundExcepti return new ResponseEntity<>(me, HttpStatus.BAD_REQUEST); } - @ExceptionHandler(EmptyFeedbackListException.class) - public ResponseEntity emptyFeedbackException(EmptyFeedbackListException ex, WebRequest wr) { + @ExceptionHandler(BusNotFoundException.class) + public ResponseEntity busNotFoundException(BusNotFoundException ex, WebRequest wr) { + + MyError me = new MyError(); + me.setLocalDateTime(LocalDateTime.now()); + me.setMessage(ex.getMessage()); + me.setDetails(wr.getDescription(false)); + return new ResponseEntity<>(me, HttpStatus.BAD_REQUEST); + } + + @ExceptionHandler(EmptyBusListException.class) + public ResponseEntity emptyBusListException(EmptyBusListException ex, WebRequest wr) { + + MyError me = new MyError(); + me.setLocalDateTime(LocalDateTime.now()); + me.setMessage(ex.getMessage()); + me.setDetails(wr.getDescription(false)); + return new ResponseEntity<>(me, HttpStatus.BAD_REQUEST); + } + + @ExceptionHandler(DestinationNotFoundException.class) + public ResponseEntity destinationNotFoundException(DestinationNotFoundException ex, WebRequest wr) { + + MyError me = new MyError(); + me.setLocalDateTime(LocalDateTime.now()); + me.setMessage(ex.getMessage()); + me.setDetails(wr.getDescription(false)); + return new ResponseEntity<>(me, HttpStatus.BAD_REQUEST); + } + + @ExceptionHandler(EmptyDestinationListException.class) + public ResponseEntity emptyDestinationListException(EmptyDestinationListException ex, WebRequest wr) { + + MyError me = new MyError(); + me.setLocalDateTime(LocalDateTime.now()); + me.setMessage(ex.getMessage()); + me.setDetails(wr.getDescription(false)); + return new ResponseEntity<>(me, HttpStatus.BAD_REQUEST); + } + + @ExceptionHandler(RouteNotFoundException.class) + public ResponseEntity routeNotFoundException(RouteNotFoundException ex, WebRequest wr) { + + MyError me = new MyError(); + me.setLocalDateTime(LocalDateTime.now()); + me.setMessage(ex.getMessage()); + me.setDetails(wr.getDescription(false)); + return new ResponseEntity<>(me, HttpStatus.BAD_REQUEST); + } + + @ExceptionHandler(EmptyRouteListException.class) + public ResponseEntity emptyRouteListException(EmptyRouteListException ex, WebRequest wr) { + + MyError me = new MyError(); + me.setLocalDateTime(LocalDateTime.now()); + me.setMessage(ex.getMessage()); + me.setDetails(wr.getDescription(false)); + return new ResponseEntity<>(me, HttpStatus.BAD_REQUEST); + } + + @ExceptionHandler(HotelNotFoundException.class) + public ResponseEntity hotelNotFoundException(HotelNotFoundException ex, WebRequest wr) { + + MyError me = new MyError(); + me.setLocalDateTime(LocalDateTime.now()); + me.setMessage(ex.getMessage()); + me.setDetails(wr.getDescription(false)); + return new ResponseEntity<>(me, HttpStatus.BAD_REQUEST); + } + + @ExceptionHandler(EmptyHotelListException.class) + public ResponseEntity emptyHotelListException(EmptyHotelListException ex, WebRequest wr) { + + MyError me = new MyError(); + me.setLocalDateTime(LocalDateTime.now()); + me.setMessage(ex.getMessage()); + me.setDetails(wr.getDescription(false)); + return new ResponseEntity<>(me, HttpStatus.BAD_REQUEST); + } + + @ExceptionHandler(ReportNotFoundException.class) + public ResponseEntity reportNotFoundException(ReportNotFoundException ex, WebRequest wr) { + + MyError me = new MyError(); + me.setLocalDateTime(LocalDateTime.now()); + me.setMessage(ex.getMessage()); + me.setDetails(wr.getDescription(false)); + return new ResponseEntity<>(me, HttpStatus.BAD_REQUEST); + } + + @ExceptionHandler(EmptyReportListException.class) + public ResponseEntity emptyReportListException(EmptyReportListException ex, WebRequest wr) { MyError me = new MyError(); me.setLocalDateTime(LocalDateTime.now()); diff --git a/src/main/java/com/masai/exception/HotelNotFoundException.java b/src/main/java/com/masai/exception/HotelNotFoundException.java new file mode 100644 index 0000000..9c5dc63 --- /dev/null +++ b/src/main/java/com/masai/exception/HotelNotFoundException.java @@ -0,0 +1,8 @@ +package com.masai.exception; + +@SuppressWarnings("serial") +public class HotelNotFoundException extends RuntimeException { + public HotelNotFoundException(String message) { + super(message); + } +} diff --git a/src/main/java/com/masai/exception/ReportNotFoundException.java b/src/main/java/com/masai/exception/ReportNotFoundException.java new file mode 100644 index 0000000..b807e03 --- /dev/null +++ b/src/main/java/com/masai/exception/ReportNotFoundException.java @@ -0,0 +1,8 @@ +package com.masai.exception; + +@SuppressWarnings("serial") +public class ReportNotFoundException extends RuntimeException { + public ReportNotFoundException(String message) { + super(message); + } +} diff --git a/src/main/java/com/masai/exception/RouteNotFoundException.java b/src/main/java/com/masai/exception/RouteNotFoundException.java new file mode 100644 index 0000000..3b81d44 --- /dev/null +++ b/src/main/java/com/masai/exception/RouteNotFoundException.java @@ -0,0 +1,8 @@ +package com.masai.exception; + +@SuppressWarnings("serial") +public class RouteNotFoundException extends RuntimeException { + public RouteNotFoundException(String message) { + super(message); + } +} diff --git a/src/main/java/com/masai/repository/BookingDao.java b/src/main/java/com/masai/repository/BookingDao.java index 76f522c..5d127b2 100644 --- a/src/main/java/com/masai/repository/BookingDao.java +++ b/src/main/java/com/masai/repository/BookingDao.java @@ -4,6 +4,7 @@ import com.masai.entity.PackageBooking; + public interface BookingDao extends JpaRepository { } diff --git a/src/main/java/com/masai/repository/DestinationDao.java b/src/main/java/com/masai/repository/DestinationDao.java new file mode 100644 index 0000000..671cba5 --- /dev/null +++ b/src/main/java/com/masai/repository/DestinationDao.java @@ -0,0 +1,9 @@ +package com.masai.repository; + +import org.springframework.data.jpa.repository.JpaRepository; + +import com.masai.entity.Destination; + +public interface DestinationDao extends JpaRepository { + +} diff --git a/src/main/java/com/masai/repository/HotelDao.java b/src/main/java/com/masai/repository/HotelDao.java new file mode 100644 index 0000000..39cc10d --- /dev/null +++ b/src/main/java/com/masai/repository/HotelDao.java @@ -0,0 +1,9 @@ +package com.masai.repository; + +import org.springframework.data.jpa.repository.JpaRepository; + +import com.masai.entity.Hotel; + +public interface HotelDao extends JpaRepository { + +} diff --git a/src/main/java/com/masai/repository/ReportDao.java b/src/main/java/com/masai/repository/ReportDao.java new file mode 100644 index 0000000..519ac2b --- /dev/null +++ b/src/main/java/com/masai/repository/ReportDao.java @@ -0,0 +1,10 @@ +package com.masai.repository; + +import org.springframework.data.jpa.repository.JpaRepository; + +import com.masai.entity.Report; + +public interface ReportDao extends JpaRepository{ + + +} diff --git a/src/main/java/com/masai/repository/RouteDao.java b/src/main/java/com/masai/repository/RouteDao.java new file mode 100644 index 0000000..a19aa59 --- /dev/null +++ b/src/main/java/com/masai/repository/RouteDao.java @@ -0,0 +1,9 @@ +package com.masai.repository; + +import org.springframework.data.jpa.repository.JpaRepository; + +import com.masai.entity.Route; + +public interface RouteDao extends JpaRepository{ + +} diff --git a/src/main/java/com/masai/service/BusOps.java b/src/main/java/com/masai/service/BusOps.java new file mode 100644 index 0000000..7b700fc --- /dev/null +++ b/src/main/java/com/masai/service/BusOps.java @@ -0,0 +1,18 @@ +package com.masai.service; + +import java.util.List; + +import com.masai.entity.Bus; + +public interface BusOps { + + Bus addBus(int travelId, Bus bus); + + Bus removeBus(int busId); + + Bus searchBus(int busId); + + List viewBusByTravelsId(int travelId); + + List viewAllBuses(); +} diff --git a/src/main/java/com/masai/service/BusOpsImpl.java b/src/main/java/com/masai/service/BusOpsImpl.java new file mode 100644 index 0000000..db75a46 --- /dev/null +++ b/src/main/java/com/masai/service/BusOpsImpl.java @@ -0,0 +1,79 @@ +package com.masai.service; + +import java.util.List; +import java.util.Optional; + +import org.springframework.beans.factory.annotation.Autowired; + +import com.masai.entity.Bus; +import com.masai.entity.Travels; +import com.masai.exception.BusNotFoundException; +import com.masai.exception.EmptyBusListException; +import com.masai.exception.TravelsNotFoundException; +import com.masai.repository.BusDao; +import com.masai.repository.TravelDao; + +public class BusOpsImpl implements BusOps { + + @Autowired + BusDao bd; + @Autowired + TravelDao td; + + @Override + public Bus addBus(int travelId, Bus bus) { + + Optional travels = td.findById(travelId); + if (!travels.isEmpty()) { + travels.get().setStatus(true); + travels.get().getBuses().add(bus); + bus.setTravel(travels.get()); + return bd.save(bus); + } + throw new TravelsNotFoundException("Tranvels not found to add bus"); + } + + @Override + public Bus removeBus(int busId) { + + Optional bus = bd.findById(busId); + if (!bus.isEmpty()) { + bus.get().setStatus(false); + return bd.save(bus.get()); + } + + throw new BusNotFoundException("Bus not found with the given id to remove"); + } + + @Override + public Bus searchBus(int busId) { + Optional bus = bd.findById(busId); + if (!bus.isEmpty()) { + return bus.get(); + } + throw new BusNotFoundException("Bus not found "); + } + + @Override + public List viewBusByTravelsId(int travelId) { + Optional travels = td.findById(travelId); + if (!travels.isEmpty()) { + Travels travel = travels.get(); + + List buses = travel.getBuses(); + if (!buses.isEmpty()) + return buses; + throw new EmptyBusListException("No bus is added by this traveler yet"); + } + throw new TravelsNotFoundException("Tranvels not found to add bus"); + } + + @Override + public List viewAllBuses() { + List buses = bd.findAll(); + if (!buses.isEmpty()) + return buses; + throw new EmptyBusListException("Bus list is empty"); + } + +} diff --git a/src/main/java/com/masai/service/DestinationOps.java b/src/main/java/com/masai/service/DestinationOps.java new file mode 100644 index 0000000..1c7bfd5 --- /dev/null +++ b/src/main/java/com/masai/service/DestinationOps.java @@ -0,0 +1,17 @@ +package com.masai.service; + +import java.util.List; + +import com.masai.entity.Destination; + +public interface DestinationOps { + Destination addDestination(int busId, Destination destination); + + Destination removeDestination(int destinationId); + + Destination searchDestination(int destinationId); + + List viewDestinationByBusId(int busId); + + List viewAllDestination(); +} diff --git a/src/main/java/com/masai/service/DestinationOpsImpl.java b/src/main/java/com/masai/service/DestinationOpsImpl.java new file mode 100644 index 0000000..e8eaa96 --- /dev/null +++ b/src/main/java/com/masai/service/DestinationOpsImpl.java @@ -0,0 +1,80 @@ +package com.masai.service; + +import java.util.List; +import java.util.Optional; + +import org.springframework.beans.factory.annotation.Autowired; + +import com.masai.entity.Bus; +import com.masai.entity.Destination; +import com.masai.exception.BusNotFoundException; +import com.masai.exception.DestinationNotFoundException; +import com.masai.exception.EmptyDestinationListException; +import com.masai.repository.BusDao; +import com.masai.repository.DestinationDao; + +public class DestinationOpsImpl implements DestinationOps { + + @Autowired + DestinationDao dd; + @Autowired + BusDao bd; + + @Override + public Destination addDestination(int busId, Destination destination) { + + Optional bus = bd.findById(busId); + if (!bus.isEmpty()) { + destination.setStatus(true); + Bus b = bus.get(); + b.getDestinationList().add(destination); + destination.getBus().add(b); + return destination; + } + throw new BusNotFoundException("Bus not found with the given id"); + } + + @Override + public Destination removeDestination(int destinationId) { + Optional destination = dd.findById(destinationId); + if (!destination.isEmpty()) { + Destination dest = destination.get(); + dest.setStatus(false); + return dd.save(dest); + } + throw new DestinationNotFoundException("Destination not found with the given id"); + } + + @Override + public Destination searchDestination(int destinationId) { + Optional destination = dd.findById(destinationId); + if (!destination.isEmpty()) { + Destination dest = destination.get(); + return dest; + } + throw new DestinationNotFoundException("Destination not found with the given id"); + } + + @Override + public List viewDestinationByBusId(int busId) { + Optional bus = bd.findById(busId); + if (!bus.isEmpty()) { + Bus b = bus.get(); + List destinations = b.getDestinationList(); + if (!destinations.isEmpty()) + return destinations; + throw new EmptyDestinationListException("Given bus not go any destination yet"); + } + throw new BusNotFoundException("Bus not found with the given id"); + } + + @Override + public List viewAllDestination() { + + List destinations = dd.findAll(); + if (!destinations.isEmpty()) + return destinations; + throw new EmptyDestinationListException("Destination list is empty"); + } + +} diff --git a/src/main/java/com/masai/service/HotelOps.java b/src/main/java/com/masai/service/HotelOps.java new file mode 100644 index 0000000..f84d1ee --- /dev/null +++ b/src/main/java/com/masai/service/HotelOps.java @@ -0,0 +1,17 @@ +package com.masai.service; + +import java.util.List; + +import com.masai.entity.Hotel; + +public interface HotelOps { + Hotel addHotel(int destinationId, Hotel hotel); + + Hotel removeHotel(int hotelId); + + Hotel searchHotel(int hotelId); + + List viewHotelsBydestinationId(int destinationId); + + List viewAllHotels(); +} diff --git a/src/main/java/com/masai/service/HotelOpsImpl.java b/src/main/java/com/masai/service/HotelOpsImpl.java new file mode 100644 index 0000000..4f5b9ac --- /dev/null +++ b/src/main/java/com/masai/service/HotelOpsImpl.java @@ -0,0 +1,78 @@ +package com.masai.service; + +import java.util.List; +import java.util.Optional; + +import org.springframework.beans.factory.annotation.Autowired; + +import com.masai.entity.Destination; +import com.masai.entity.Hotel; +import com.masai.exception.DestinationNotFoundException; +import com.masai.exception.EmptyHotelListException; +import com.masai.exception.HotelNotFoundException; +import com.masai.repository.DestinationDao; +import com.masai.repository.HotelDao; + +public class HotelOpsImpl implements HotelOps { + + @Autowired + DestinationDao dd; + @Autowired + HotelDao hd; + + @Override + public Hotel addHotel(int destinationId, Hotel hotel) { + + Optional destination = dd.findById(destinationId); + if (!destination.isEmpty()) { + Destination dest = destination.get(); + hotel.setDestination(dest); + hotel.setStats(true); + dest.getHotels().add(hotel); + return hd.save(hotel); + } + throw new DestinationNotFoundException("No destination found"); + } + + @Override + public Hotel removeHotel(int hotelId) { + + Optional hotel = hd.findById(hotelId); + if (!hotel.isEmpty()) { + hotel.get().setStats(false); + return hd.save(hotel.get()); + } + throw new HotelNotFoundException("Hotel not found with given id"); + } + + @Override + public Hotel searchHotel(int hotelId) { + Optional hotel = hd.findById(hotelId); + if (!hotel.isEmpty()) { + return hotel.get(); + } + throw new HotelNotFoundException("Hotel not found to view"); + } + + @Override + public List viewHotelsBydestinationId(int destinationId) { + + Optional destination = dd.findById(destinationId); + if (!destination.isEmpty()) { + List hotels = destination.get().getHotels(); + if (!hotels.isEmpty()) + return hotels; + throw new EmptyHotelListException("Empty hotel list"); + } + throw new DestinationNotFoundException("No destination is found with the given id"); + } + + @Override + public List viewAllHotels() { + List hotels = hd.findAll(); + if (!hotels.isEmpty()) + return hotels; + throw new EmptyHotelListException("Hotels list is empty"); + } + +} diff --git a/src/main/java/com/masai/service/ReportOps.java b/src/main/java/com/masai/service/ReportOps.java new file mode 100644 index 0000000..ef23840 --- /dev/null +++ b/src/main/java/com/masai/service/ReportOps.java @@ -0,0 +1,16 @@ +package com.masai.service; + +import java.util.List; + +import com.masai.entity.Report; + +public interface ReportOps { + + Report addReport(int customerId, Report report); + + Report deleteReport(int reportId); + + Report viewReport(int reportId); + + List viewAllReport(); +} diff --git a/src/main/java/com/masai/service/ReportOpsImpl.java b/src/main/java/com/masai/service/ReportOpsImpl.java new file mode 100644 index 0000000..3aea93e --- /dev/null +++ b/src/main/java/com/masai/service/ReportOpsImpl.java @@ -0,0 +1,63 @@ +package com.masai.service; + +import java.util.List; +import java.util.Optional; + +import org.springframework.beans.factory.annotation.Autowired; + +import com.masai.entity.Customer; +import com.masai.entity.Report; +import com.masai.exception.CustomerNotFoundException; +import com.masai.exception.EmptyReportListException; +import com.masai.exception.ReportNotFoundException; +import com.masai.repository.CustomerDao; +import com.masai.repository.ReportDao; + +public class ReportOpsImpl implements ReportOps { + + @Autowired + CustomerDao cd; + @Autowired + ReportDao rd; + + @Override + public Report addReport(int customerId, Report report) { + + Optional customer = cd.findById(customerId); + if (!customer.isEmpty()) { + report.setCustomerId(customerId + ""); + report.setStatus(true); + return rd.save(report); + } + throw new CustomerNotFoundException("Custmer not found to report"); + } + + @Override + public Report deleteReport(int reportId) { + + Optional report = rd.findById(reportId); + if (!report.isEmpty()) { + report.get().setStatus(false); + return rd.save(report.get()); + } + throw new ReportNotFoundException("Report not found to delete"); + } + + @Override + public Report viewReport(int reportId) { + Optional report = rd.findById(reportId); + if (!report.isEmpty()) { + return report.get(); + } + throw new ReportNotFoundException("Report not found to view"); + } + + @Override + public List viewAllReport() { + List reportList = rd.findAll(); + if (!reportList.isEmpty()) + return reportList; + throw new EmptyReportListException("No report found"); + } + +} diff --git a/src/main/java/com/masai/service/RouteOps.java b/src/main/java/com/masai/service/RouteOps.java new file mode 100644 index 0000000..83b50ba --- /dev/null +++ b/src/main/java/com/masai/service/RouteOps.java @@ -0,0 +1,19 @@ +package com.masai.service; + +import java.util.List; + +import com.masai.entity.Route; +import com.masai.repository.RouteDao; + +public interface RouteOps { + + Route addRoute(int busId,Route route); + + Route updateRoute(RouteDao routedto, Route route); + + Route removeRoute(int routeId); + + Route searchRoute(int routeId); + + List viewRouteList(); +} diff --git a/src/main/java/com/masai/service/RouteOpsImpl.java b/src/main/java/com/masai/service/RouteOpsImpl.java new file mode 100644 index 0000000..9611959 --- /dev/null +++ b/src/main/java/com/masai/service/RouteOpsImpl.java @@ -0,0 +1,80 @@ +package com.masai.service; + +import java.util.List; +import java.util.Optional; + +import org.springframework.beans.factory.annotation.Autowired; + +import com.masai.entity.Bus; +import com.masai.entity.Route; +import com.masai.exception.BusNotFoundException; +import com.masai.exception.EmptyRouteListException; +import com.masai.exception.RouteNotFoundException; +import com.masai.repository.BusDao; +import com.masai.repository.RouteDao; + +public class RouteOpsImpl implements RouteOps { + + @Autowired + BusDao bd; + @Autowired + RouteDao rd; + + @Override + public Route addRoute(int busId, Route route) { + + Optional bus = bd.findById(busId); + if (!bus.isEmpty()) { + Bus b = bus.get(); + route.setStatus(true); + b.getRoutes().add(route); + return rd.save(route); + } + throw new BusNotFoundException("Bus not found with the given id "); + } + + @Override + public Route updateRoute(RouteDao routedto, Route route) { + Optional rt = rd.findById(route.getRouteId()); + if (!rt.isEmpty()) { + Route rot = rt.get(); + route.setRouteFrom(rot.getRouteFrom()); + route.setRouteTo(rot.getRouteTo()); + route.setArrivalTime(rot.getArrivalTime()); + route.setDepartureTime(rot.getDepartureTime()); + rd.save(route); + } + throw new RouteNotFoundException("Route not found to update "); + } + + @Override + public Route removeRoute(int routeId) { + + Optional route = rd.findById(routeId); + if (!route.isEmpty()) { + Route rut = route.get(); + rut.setStatus(false); + return rd.save(rut); + } + throw new RouteNotFoundException("Route not found to remove"); + } + + @Override + public Route searchRoute(int routeId) { + Optional route = rd.findById(routeId); + if (!route.isEmpty()) { + return route.get(); + } + throw new RouteNotFoundException("Route not found to view"); + } + + @Override + public List viewRouteList() { + + List routeList = rd.findAll(); + if (!routeList.isEmpty()) + return routeList; + throw new EmptyRouteListException("Empty route list"); + } + +}