├── .gitignore ├── Cab_booking ├── src │ ├── main │ │ ├── java │ │ │ └── com │ │ │ │ └── masai │ │ │ │ ├── entity │ │ │ │ ├── Payment.java │ │ │ │ ├── CustomerDTO.java │ │ │ │ ├── Admin.java │ │ │ │ ├── driverDTO.java │ │ │ │ ├── Address.java │ │ │ │ ├── Cab.java │ │ │ │ ├── Customer.java │ │ │ │ ├── CurrentUserSession.java │ │ │ │ ├── Driver.java │ │ │ │ ├── Abstractuser.java │ │ │ │ └── TripBooking.java │ │ │ │ ├── service │ │ │ │ ├── UserLogIn.java │ │ │ │ ├── CabService.java │ │ │ │ ├── TripService.java │ │ │ │ ├── DriverService.java │ │ │ │ ├── CustomerService.java │ │ │ │ ├── AdminService.java │ │ │ │ ├── CabServiceImpl.java │ │ │ │ ├── DriverServiceImpl.java │ │ │ │ ├── UserLogInImpl.java │ │ │ │ ├── TripServiceImp.java │ │ │ │ ├── CustomerServiceImp.java │ │ │ │ └── AdminServiceImp.java │ │ │ │ ├── repository │ │ │ │ ├── AddressDao.java │ │ │ │ ├── AdminDao.java │ │ │ │ ├── CustomerDao.java │ │ │ │ ├── SessionDao.java │ │ │ │ ├── CabDao.java │ │ │ │ ├── DriverDao.java │ │ │ │ └── TripDao.java │ │ │ │ ├── exception │ │ │ │ ├── DriverNotFoundException.java │ │ │ │ ├── NotFoundException.java │ │ │ │ ├── AdminExceptions.java │ │ │ │ ├── InvalidPasswordException.java │ │ │ │ ├── UserAlreadyExistWithuserId.java │ │ │ │ ├── Nullexception.java │ │ │ │ ├── InvalidId.java │ │ │ │ ├── MyErrorDetails.java │ │ │ │ └── GlobalExceptionHandler.java │ │ │ │ ├── CabBookingApplication.java │ │ │ │ └── controller │ │ │ │ ├── LoginController.java │ │ │ │ ├── CustomerController.java │ │ │ │ ├── TripbookingController.java │ │ │ │ ├── CabController.java │ │ │ │ ├── DriverController.java │ │ │ │ └── AdminController.java │ │ └── resources │ │ │ ├── message.properties │ │ │ └── application.properties │ └── test │ │ └── java │ │ └── com │ │ └── masai │ │ └── CabBookingApplicationTests.java ├── .mvn │ └── wrapper │ │ ├── maven-wrapper.jar │ │ └── maven-wrapper.properties ├── bin │ ├── .mvn │ │ └── wrapper │ │ │ ├── maven-wrapper.jar │ │ │ └── maven-wrapper.properties │ ├── src │ │ ├── main │ │ │ ├── java │ │ │ │ └── com │ │ │ │ │ └── masai │ │ │ │ │ ├── entity │ │ │ │ │ ├── Admin.class │ │ │ │ │ ├── Cab.class │ │ │ │ │ ├── Address.class │ │ │ │ │ ├── Driver.class │ │ │ │ │ ├── Customer.class │ │ │ │ │ ├── Abstractuser.class │ │ │ │ │ └── TripBooking.class │ │ │ │ │ ├── repository │ │ │ │ │ ├── CabDao.class │ │ │ │ │ ├── AdminDao.class │ │ │ │ │ ├── TripDao.class │ │ │ │ │ ├── CustomerDao.class │ │ │ │ │ └── DriverDao.class │ │ │ │ │ ├── exception │ │ │ │ │ ├── InvalidId.class │ │ │ │ │ ├── MyErrorDetails.class │ │ │ │ │ ├── Nullexception.class │ │ │ │ │ ├── AdminExceptions.class │ │ │ │ │ ├── CabNotFoundException.class │ │ │ │ │ ├── GlobalExceptionHandler.class │ │ │ │ │ └── DriverNotFoundException.class │ │ │ │ │ ├── service │ │ │ │ │ ├── CabService.class │ │ │ │ │ ├── TripService.class │ │ │ │ │ ├── AdminService.class │ │ │ │ │ ├── CabServiceImpl.class │ │ │ │ │ ├── DriverService.class │ │ │ │ │ ├── TripServiceImp.class │ │ │ │ │ ├── AdminServiceImp.class │ │ │ │ │ ├── CustomerService.class │ │ │ │ │ ├── CustomerServiceImp.class │ │ │ │ │ └── DriverServiceImpl.class │ │ │ │ │ ├── CabBookingApplication.class │ │ │ │ │ └── controller │ │ │ │ │ ├── CabController.class │ │ │ │ │ ├── AdminController.class │ │ │ │ │ ├── DriverController.class │ │ │ │ │ ├── CustomerController.class │ │ │ │ │ └── TripbookingController.class │ │ │ └── resources │ │ │ │ ├── message.properties │ │ │ │ └── application.properties │ │ └── test │ │ │ └── java │ │ │ └── com │ │ │ └── masai │ │ │ └── CabBookingApplicationTests.class │ ├── .gitignore │ ├── pom.xml │ ├── mvnw.cmd │ └── mvnw ├── .gitignore ├── pom.xml ├── mvnw.cmd └── mvnw ├── .project └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | /.metadata/ 2 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/entity/Payment.java: -------------------------------------------------------------------------------- 1 | package com.masai.entity; 2 | 3 | public enum Payment { 4 | ONLINE,OFFLINE; 5 | } 6 | -------------------------------------------------------------------------------- /Cab_booking/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /Cab_booking/bin/.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/entity/Admin.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/entity/Admin.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/entity/Cab.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/entity/Cab.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/entity/Address.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/entity/Address.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/entity/Driver.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/entity/Driver.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/entity/Customer.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/entity/Customer.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/repository/CabDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/repository/CabDao.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/entity/Abstractuser.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/entity/Abstractuser.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/entity/TripBooking.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/entity/TripBooking.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/exception/InvalidId.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/exception/InvalidId.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/repository/AdminDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/repository/AdminDao.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/repository/TripDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/repository/TripDao.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/service/CabService.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/service/CabService.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/service/TripService.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/service/TripService.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/CabBookingApplication.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/CabBookingApplication.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/repository/CustomerDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/repository/CustomerDao.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/repository/DriverDao.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/repository/DriverDao.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/service/AdminService.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/service/AdminService.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/service/CabServiceImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/service/CabServiceImpl.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/service/DriverService.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/service/DriverService.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/service/TripServiceImp.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/service/TripServiceImp.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/controller/CabController.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/controller/CabController.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/exception/MyErrorDetails.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/exception/MyErrorDetails.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/exception/Nullexception.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/exception/Nullexception.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/service/AdminServiceImp.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/service/AdminServiceImp.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/service/CustomerService.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/service/CustomerService.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/controller/AdminController.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/controller/AdminController.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/controller/DriverController.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/controller/DriverController.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/exception/AdminExceptions.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/exception/AdminExceptions.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/service/CustomerServiceImp.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/service/CustomerServiceImp.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/service/DriverServiceImpl.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/service/DriverServiceImpl.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/test/java/com/masai/CabBookingApplicationTests.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/test/java/com/masai/CabBookingApplicationTests.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/controller/CustomerController.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/controller/CustomerController.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/controller/TripbookingController.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/controller/TripbookingController.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/exception/CabNotFoundException.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/exception/CabNotFoundException.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/exception/GlobalExceptionHandler.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/exception/GlobalExceptionHandler.class -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/java/com/masai/exception/DriverNotFoundException.class: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/VaibhavTyagi010/Online_CabBookingApp/HEAD/Cab_booking/bin/src/main/java/com/masai/exception/DriverNotFoundException.class -------------------------------------------------------------------------------- /.project: -------------------------------------------------------------------------------- 1 | 2 | 3 | Cab_booking 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /Cab_booking/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 3 | -------------------------------------------------------------------------------- /Cab_booking/bin/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.6/apache-maven-3.8.6-bin.zip 2 | wrapperUrl=https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar 3 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/service/UserLogIn.java: -------------------------------------------------------------------------------- 1 | package com.masai.service; 2 | 3 | import com.masai.entity.CustomerDTO; 4 | 5 | public interface UserLogIn { 6 | 7 | public String logIntoAccount(CustomerDTO userDto); 8 | 9 | public String logOutFromAccount(String key); 10 | } 11 | -------------------------------------------------------------------------------- /Cab_booking/src/main/resources/message.properties: -------------------------------------------------------------------------------- 1 | nameRange=name length should be between 3 to 255 2 | notNull=this property cannot be not null 3 | PasswordRange=password length should be between 4 to 20 4 | MobileRange=mobile no should be of 10 digits 5 | AddressRange=name length should be between 3 to 255 -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/resources/message.properties: -------------------------------------------------------------------------------- 1 | nameRange=name length should be between 3 to 255 2 | notNull=this property cannot be not null 3 | PasswordRange=password length should be between 4 to 20 4 | MobileRange=mobile no should be of 10 digits 5 | AddressRange=name length should be between 3 to 255 -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/repository/AddressDao.java: -------------------------------------------------------------------------------- 1 | package com.masai.repository; 2 | 3 | 4 | 5 | import org.springframework.data.jpa.repository.JpaRepository; 6 | 7 | import com.masai.entity.Address; 8 | 9 | public interface AddressDao extends JpaRepository { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/exception/DriverNotFoundException.java: -------------------------------------------------------------------------------- 1 | 2 | package com.masai.exception; 3 | 4 | public class DriverNotFoundException extends RuntimeException { 5 | public DriverNotFoundException() { 6 | 7 | } 8 | public DriverNotFoundException(String message) { 9 | super(message); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/exception/NotFoundException.java: -------------------------------------------------------------------------------- 1 | package com.masai.exception; 2 | 3 | 4 | public class NotFoundException extends RuntimeException { 5 | public NotFoundException() { 6 | 7 | } 8 | public NotFoundException(String message) { 9 | super(message); 10 | } 11 | 12 | } 13 | 14 | -------------------------------------------------------------------------------- /Cab_booking/src/test/java/com/masai/CabBookingApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.masai; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | @SpringBootTest 7 | class CabBookingApplicationTests { 8 | 9 | @Test 10 | void contextLoads() { 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/exception/AdminExceptions.java: -------------------------------------------------------------------------------- 1 | package com.masai.exception; 2 | 3 | public class AdminExceptions extends RuntimeException { 4 | public AdminExceptions() { 5 | // TODO Auto-generated constructor stub 6 | } 7 | public AdminExceptions(String message) { 8 | super(message); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/entity/CustomerDTO.java: -------------------------------------------------------------------------------- 1 | package com.masai.entity; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class CustomerDTO { 7 | private Integer userId; 8 | 9 | // @Pattern(regexp="^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?&])[A-Za-z\\d@$!%*?&]{6,12}$",message = "{password.invalid}") 10 | private String password; 11 | } 12 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/exception/InvalidPasswordException.java: -------------------------------------------------------------------------------- 1 | package com.masai.exception; 2 | 3 | public class InvalidPasswordException extends RuntimeException { 4 | public InvalidPasswordException() { 5 | // TODO Auto-generated constructor stub 6 | } 7 | public InvalidPasswordException(String message) { 8 | super(message); 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/repository/AdminDao.java: -------------------------------------------------------------------------------- 1 | package com.masai.repository; 2 | 3 | import org.springframework.data.jpa.repository.JpaRepository; 4 | import org.springframework.stereotype.Repository; 5 | 6 | import com.masai.entity.Admin; 7 | 8 | 9 | @Repository 10 | public interface AdminDao extends JpaRepository { 11 | 12 | 13 | 14 | } 15 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/exception/UserAlreadyExistWithuserId.java: -------------------------------------------------------------------------------- 1 | package com.masai.exception; 2 | 3 | public class UserAlreadyExistWithuserId extends RuntimeException { 4 | public UserAlreadyExistWithuserId() { 5 | // TODO Auto-generated constructor stub 6 | } 7 | 8 | public UserAlreadyExistWithuserId(String message) { 9 | super(message); 10 | } 11 | 12 | } 13 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/exception/Nullexception.java: -------------------------------------------------------------------------------- 1 | package com.masai.exception; 2 | 3 | public class Nullexception extends RuntimeException{ 4 | 5 | public Nullexception() { 6 | super(); 7 | // TODO Auto-generated constructor stub 8 | } 9 | 10 | public Nullexception(String message) { 11 | super(message); 12 | // TODO Auto-generated constructor stub 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/repository/CustomerDao.java: -------------------------------------------------------------------------------- 1 | package com.masai.repository; 2 | 3 | 4 | 5 | import org.springframework.data.jpa.repository.JpaRepository; 6 | import org.springframework.stereotype.Repository; 7 | import com.masai.entity.Customer; 8 | 9 | 10 | 11 | @Repository 12 | public interface CustomerDao extends JpaRepository{ 13 | 14 | } 15 | 16 | 17 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/exception/InvalidId.java: -------------------------------------------------------------------------------- 1 | package com.masai.exception; 2 | 3 | public class InvalidId extends RuntimeException { 4 | 5 | public InvalidId() { 6 | super(); 7 | // TODO Auto-generated constructor stub 8 | } 9 | 10 | public InvalidId(String message) { 11 | super(message); 12 | // TODO Auto-generated constructor stub 13 | } 14 | 15 | 16 | 17 | } 18 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/entity/Admin.java: -------------------------------------------------------------------------------- 1 | package com.masai.entity; 2 | 3 | import javax.persistence.Entity; 4 | import javax.persistence.PrimaryKeyJoinColumn; 5 | 6 | import lombok.AllArgsConstructor; 7 | import lombok.Data; 8 | import lombok.NoArgsConstructor; 9 | 10 | 11 | @Entity 12 | @Data 13 | @NoArgsConstructor 14 | 15 | @PrimaryKeyJoinColumn(name="adminId") 16 | public class Admin extends Abstractuser { 17 | 18 | } 19 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/exception/MyErrorDetails.java: -------------------------------------------------------------------------------- 1 | package com.masai.exception; 2 | 3 | import java.time.LocalDateTime; 4 | 5 | import lombok.AllArgsConstructor; 6 | import lombok.Data; 7 | import lombok.NoArgsConstructor; 8 | @Data 9 | @AllArgsConstructor 10 | @NoArgsConstructor 11 | public class MyErrorDetails { 12 | private LocalDateTime timestamp; 13 | private String message; 14 | private String details; 15 | 16 | } 17 | -------------------------------------------------------------------------------- /Cab_booking/bin/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | server.port=8080 3 | 4 | #db specific properties 5 | spring.datasource.url=jdbc:mysql://localhost:3306/sb201db 6 | spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver 7 | spring.datasource.username=root 8 | spring.datasource.password=ramsinha@32 9 | 10 | #ORM s/w specific properties 11 | spring.jpa.hibernate.ddl-auto=update 12 | spring.jpa.show-sql=true 13 | 14 | spring.mvc.throw-exception-if-no-handler-found=true 15 | spring.web.resources.add-mappings=false 16 | 17 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/service/CabService.java: -------------------------------------------------------------------------------- 1 | package com.masai.service; 2 | 3 | import java.util.List; 4 | 5 | import com.masai.entity.Cab; 6 | import com.masai.exception.NotFoundException; 7 | import com.masai.exception.InvalidId; 8 | 9 | 10 | 11 | public interface CabService { 12 | 13 | public Cab updateCab(Integer id,String type, Integer rate) throws NotFoundException; 14 | 15 | public List viewCabsOfType() throws NotFoundException; 16 | public int countCabsOfType() throws NotFoundException; 17 | 18 | } 19 | 20 | -------------------------------------------------------------------------------- /Cab_booking/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/repository/SessionDao.java: -------------------------------------------------------------------------------- 1 | package com.masai.repository; 2 | 3 | import java.util.Optional; 4 | 5 | import org.springframework.data.jpa.repository.JpaRepository; 6 | import org.springframework.stereotype.Repository; 7 | 8 | import com.masai.entity.CurrentUserSession; 9 | 10 | @Repository 11 | public interface SessionDao extends JpaRepository{ 12 | 13 | public Optional findById(Integer userId); 14 | 15 | public Optional findByUuid(String uuid); 16 | } 17 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/service/TripService.java: -------------------------------------------------------------------------------- 1 | package com.masai.service; 2 | 3 | import java.util.List; 4 | 5 | import com.masai.entity.TripBooking; 6 | import com.masai.exception.InvalidId; 7 | 8 | 9 | public interface TripService { 10 | 11 | 12 | public TripBooking AddTrip(TripBooking tb); 13 | public List alltrip(); 14 | public TripBooking updateTrip(TripBooking tb,Integer id)throws InvalidId; 15 | public String deletetrip(Integer id) throws InvalidId; 16 | public TripBooking tripEnd(Integer id)throws InvalidId; 17 | } 18 | -------------------------------------------------------------------------------- /Cab_booking/bin/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | target/ 3 | !.mvn/wrapper/maven-wrapper.jar 4 | !**/src/main/**/target/ 5 | !**/src/test/**/target/ 6 | 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | 22 | ### NetBeans ### 23 | /nbproject/private/ 24 | /nbbuild/ 25 | /dist/ 26 | /nbdist/ 27 | /.nb-gradle/ 28 | build/ 29 | !**/src/main/**/build/ 30 | !**/src/test/**/build/ 31 | 32 | ### VS Code ### 33 | .vscode/ 34 | -------------------------------------------------------------------------------- /Cab_booking/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | 3 | #changing the server port 4 | server.port=8888 5 | 6 | 7 | #db specific properties 8 | spring.datasource.url=jdbc:mysql://localhost:3306/sb201db 9 | spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver 10 | spring.datasource.username=root 11 | 12 | spring.datasource.password=goosebumps7 13 | 14 | #ORM s/w specific properties 15 | spring.jpa.hibernate.ddl-auto=update 16 | spring.jpa.show-sql=true 17 | 18 | 19 | 20 | 21 | 22 | 23 | spring.mvc.pathmatch.matching-strategy=ANT_PATH_MATCHER 24 | 25 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/repository/CabDao.java: -------------------------------------------------------------------------------- 1 | package com.masai.repository; 2 | 3 | import java.util.List; 4 | 5 | import org.springframework.data.jpa.repository.JpaRepository; 6 | import org.springframework.data.jpa.repository.Query; 7 | import org.springframework.stereotype.Repository; 8 | 9 | import com.masai.entity.Cab; 10 | import com.masai.entity.Driver; 11 | 12 | @Repository 13 | public interface CabDao extends JpaRepository { 14 | 15 | 16 | @Query("select distinct carType from Cab") 17 | public List viewCarType(); 18 | 19 | 20 | } 21 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/entity/driverDTO.java: -------------------------------------------------------------------------------- 1 | package com.masai.entity; 2 | 3 | import javax.persistence.Entity; 4 | 5 | 6 | import lombok.Data; 7 | 8 | 9 | @Data 10 | public class driverDTO { 11 | 12 | private Integer userId; 13 | 14 | private String Username; 15 | 16 | private String Mobile; 17 | 18 | private Address address; 19 | 20 | private String Email; 21 | 22 | private Integer licenseNo; 23 | 24 | private Double rating; 25 | 26 | private Boolean available; 27 | 28 | 29 | private Cab cab; 30 | 31 | private TripBooking tripBooking; 32 | } 33 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/service/DriverService.java: -------------------------------------------------------------------------------- 1 | package com.masai.service; 2 | 3 | import java.util.List; 4 | 5 | import com.masai.entity.Driver; 6 | import com.masai.exception.DriverNotFoundException; 7 | import com.masai.exception.InvalidId; 8 | 9 | public interface DriverService { 10 | public Driver insertDriver(Driver driver); 11 | public Driver viewDriverById(Integer id) throws InvalidId; 12 | public Driver updateDriver(Integer id,Integer license, Boolean available)throws DriverNotFoundException; 13 | public Driver deleteDriverById(Integer id)throws DriverNotFoundException; 14 | public List viewBestDriver()throws DriverNotFoundException; 15 | } 16 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/repository/DriverDao.java: -------------------------------------------------------------------------------- 1 | package com.masai.repository; 2 | 3 | import java.util.List; 4 | import java.util.Optional; 5 | 6 | import org.springframework.data.jpa.repository.JpaRepository; 7 | import org.springframework.data.jpa.repository.Query; 8 | import org.springframework.stereotype.Repository; 9 | 10 | import com.masai.entity.Driver; 11 | @Repository 12 | public interface DriverDao extends JpaRepository { 13 | @Query("from Driver d where d.rating>=4.5 AND d.available=true") 14 | public List viewBestDriver(); 15 | 16 | // @Query("from Driver d where cab") 17 | // public Optional findByCabId(Integer cabId); 18 | } 19 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/entity/Address.java: -------------------------------------------------------------------------------- 1 | package com.masai.entity; 2 | 3 | 4 | import javax.persistence.Entity; 5 | import javax.persistence.GeneratedValue; 6 | import javax.persistence.GenerationType; 7 | import javax.persistence.Id; 8 | 9 | import lombok.AllArgsConstructor; 10 | import lombok.Getter; 11 | import lombok.NoArgsConstructor; 12 | import lombok.Setter; 13 | 14 | @Getter 15 | @Setter 16 | @NoArgsConstructor 17 | @AllArgsConstructor 18 | @Entity 19 | 20 | public class Address { 21 | 22 | @Id 23 | @GeneratedValue(strategy = GenerationType.AUTO) 24 | private Integer id; 25 | 26 | private String city; 27 | 28 | private String state; 29 | 30 | private String pincode; 31 | } 32 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/service/CustomerService.java: -------------------------------------------------------------------------------- 1 | package com.masai.service; 2 | 3 | 4 | 5 | import java.util.List; 6 | 7 | import com.masai.entity.Customer; 8 | import com.masai.exception.InvalidId; 9 | import com.masai.exception.Nullexception; 10 | 11 | public interface CustomerService { 12 | 13 | public Customer saveCustomer(Customer customer); 14 | public Customer findCustomer(Integer id)throws InvalidId; 15 | public Customer updateCustomer(Customer customer,Integer id)throws InvalidId; 16 | public String deleteCustomer(Integer id)throws InvalidId; 17 | public List allCustomer()throws Nullexception; 18 | public Customer vaildCustomer(String Email,String Password)throws InvalidId; 19 | 20 | } 21 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/entity/Cab.java: -------------------------------------------------------------------------------- 1 | package com.masai.entity; 2 | 3 | import javax.persistence.CascadeType; 4 | import javax.persistence.Entity; 5 | import javax.persistence.GeneratedValue; 6 | import javax.persistence.GenerationType; 7 | import javax.persistence.Id; 8 | import javax.persistence.JoinColumn; 9 | import javax.persistence.OneToOne; 10 | 11 | import com.fasterxml.jackson.annotation.JsonIgnore; 12 | 13 | import lombok.AllArgsConstructor; 14 | import lombok.Data; 15 | import lombok.NoArgsConstructor; 16 | import lombok.ToString; 17 | 18 | @Entity 19 | @Data 20 | @NoArgsConstructor 21 | @AllArgsConstructor 22 | @ToString 23 | 24 | public class Cab { 25 | @Id 26 | @GeneratedValue(strategy=GenerationType.AUTO) 27 | private Integer cabId; 28 | private String carType; 29 | private Integer ratePerKm; 30 | 31 | @OneToOne(cascade=CascadeType.ALL,mappedBy="cab",orphanRemoval = true) 32 | @JsonIgnore 33 | 34 | private Driver driver; 35 | } 36 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/entity/Customer.java: -------------------------------------------------------------------------------- 1 | package com.masai.entity; 2 | 3 | import java.sql.Date; 4 | 5 | import javax.persistence.Column; 6 | import javax.persistence.Entity; 7 | import javax.persistence.GeneratedValue; 8 | import javax.persistence.GenerationType; 9 | import javax.persistence.Id; 10 | import javax.persistence.PrimaryKeyJoinColumn; 11 | import javax.validation.constraints.AssertTrue; 12 | import javax.validation.constraints.Email; 13 | import javax.validation.constraints.NotEmpty; 14 | import javax.validation.constraints.NotNull; 15 | import javax.validation.constraints.Size; 16 | 17 | import lombok.AllArgsConstructor; 18 | import lombok.Data; 19 | import lombok.NoArgsConstructor; 20 | 21 | @Entity 22 | @AllArgsConstructor 23 | @NoArgsConstructor 24 | @Data 25 | @PrimaryKeyJoinColumn(name="customerId") 26 | public class Customer extends Abstractuser { 27 | 28 | 29 | private boolean journey_status; 30 | 31 | } 32 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/repository/TripDao.java: -------------------------------------------------------------------------------- 1 | package com.masai.repository; 2 | 3 | import java.time.LocalDate; 4 | import java.util.List; 5 | 6 | import org.springframework.data.jpa.repository.JpaRepository; 7 | import org.springframework.data.jpa.repository.Query; 8 | import org.springframework.stereotype.Repository; 9 | 10 | import com.masai.entity.TripBooking; 11 | 12 | 13 | @Repository 14 | public interface TripDao extends JpaRepository { 15 | @Query("from TripBooking order by Customerid") 16 | public List findByCustomeridAsce(); 17 | @Query("from TripBooking order by fromdate_time") 18 | public List findByFromdate_timeAsce(); 19 | 20 | @Query("from TripBooking where CustomerId=:customerId AND Fromdate_time=:date") 21 | public List findByCustomerIdAndFromdate_time(Integer customerId, LocalDate date); 22 | 23 | @Query("from TripBooking Group by DriverId") 24 | public List findByDriverAscs(); 25 | } 26 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/service/AdminService.java: -------------------------------------------------------------------------------- 1 | package com.masai.service; 2 | 3 | import java.time.LocalDate; 4 | import java.util.List; 5 | 6 | import com.masai.entity.Admin; 7 | import com.masai.entity.Cab; 8 | import com.masai.entity.TripBooking; 9 | import com.masai.exception.AdminExceptions; 10 | 11 | 12 | 13 | public interface AdminService { 14 | 15 | public Admin saveAdmin(Admin admin) throws AdminExceptions; 16 | 17 | public Admin update(Admin admin) throws AdminExceptions; 18 | 19 | public Admin delete(Integer id) throws AdminExceptions; 20 | 21 | public List getAllTrips(Integer customerid) throws AdminExceptions; 22 | 23 | public List getTripsDriverwise(); 24 | 25 | public List getTripsCustomerwise(); 26 | 27 | public List getTripsDatewise() throws AdminExceptions; 28 | 29 | public List getTripsDatewiseAndCustomer(Integer customerId,LocalDate date) throws AdminExceptions; 30 | 31 | 32 | 33 | 34 | } 35 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/entity/CurrentUserSession.java: -------------------------------------------------------------------------------- 1 | package com.masai.entity; 2 | 3 | import java.time.LocalDateTime; 4 | 5 | import javax.persistence.Column; 6 | import javax.persistence.Entity; 7 | import javax.persistence.GeneratedValue; 8 | import javax.persistence.GenerationType; 9 | import javax.persistence.Id; 10 | 11 | import lombok.AllArgsConstructor; 12 | import lombok.Data; 13 | import lombok.NoArgsConstructor; 14 | import lombok.ToString; 15 | 16 | @Entity 17 | @Data 18 | @NoArgsConstructor 19 | @AllArgsConstructor 20 | @ToString 21 | public class CurrentUserSession { 22 | @Id 23 | @GeneratedValue(strategy = GenerationType.AUTO) 24 | private Integer id; 25 | 26 | @Column(unique = true) 27 | private Integer userId; 28 | 29 | private String uuid; 30 | 31 | private LocalDateTime localDateTime; 32 | 33 | public CurrentUserSession(Integer userId, String uuid, LocalDateTime localDateTime) { 34 | super(); 35 | this.userId = userId; 36 | this.uuid = uuid; 37 | this.localDateTime = localDateTime; 38 | } 39 | } 40 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/CabBookingApplication.java: -------------------------------------------------------------------------------- 1 | package com.masai; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | import org.springframework.context.annotation.Bean; 6 | 7 | import springfox.documentation.builders.PathSelectors; 8 | import springfox.documentation.builders.RequestHandlerSelectors; 9 | import springfox.documentation.spi.DocumentationType; 10 | import springfox.documentation.spring.web.plugins.Docket; 11 | import springfox.documentation.swagger2.annotations.EnableSwagger2; 12 | 13 | @SpringBootApplication 14 | @EnableSwagger2 15 | public class CabBookingApplication { 16 | 17 | public static void main(String[] args) { 18 | SpringApplication.run(CabBookingApplication.class, args); 19 | } 20 | 21 | @Bean 22 | public Docket productApi() { 23 | return new Docket(DocumentationType.SWAGGER_2) 24 | .select() 25 | .apis(RequestHandlerSelectors.any()) 26 | .paths(PathSelectors.any()) 27 | .build(); 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/controller/LoginController.java: -------------------------------------------------------------------------------- 1 | package com.masai.controller; 2 | 3 | import javax.validation.Valid; 4 | 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.web.bind.annotation.PatchMapping; 7 | import org.springframework.web.bind.annotation.PostMapping; 8 | import org.springframework.web.bind.annotation.RequestBody; 9 | import org.springframework.web.bind.annotation.RequestMapping; 10 | import org.springframework.web.bind.annotation.RequestParam; 11 | import org.springframework.web.bind.annotation.RestController; 12 | 13 | import com.masai.entity.CustomerDTO; 14 | import com.masai.service.UserLogInImpl; 15 | 16 | @RestController 17 | @RequestMapping("/api") 18 | public class LoginController { 19 | 20 | @Autowired 21 | private UserLogInImpl userLogIn; 22 | 23 | // for user Login 24 | @PostMapping(value = "/login") 25 | public String logInCustomer(@Valid @RequestBody CustomerDTO customerDTO) { 26 | return userLogIn.logIntoAccount(customerDTO); 27 | } 28 | 29 | // for user Logout 30 | @PatchMapping(value = "/logout") 31 | public String logOutCustomer(@RequestParam(required = false) String key) { 32 | return userLogIn.logOutFromAccount(key); 33 | } 34 | 35 | } -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/entity/Driver.java: -------------------------------------------------------------------------------- 1 | package com.masai.entity; 2 | 3 | 4 | import javax.persistence.CascadeType; 5 | import javax.persistence.Entity; 6 | import javax.persistence.JoinColumn; 7 | import javax.persistence.OneToOne; 8 | import javax.persistence.PrimaryKeyJoinColumn; 9 | import javax.validation.constraints.Min; 10 | import javax.validation.constraints.NotNull; 11 | 12 | import com.fasterxml.jackson.annotation.JsonIgnore; 13 | 14 | import lombok.AllArgsConstructor; 15 | import lombok.Data; 16 | import lombok.NoArgsConstructor; 17 | import lombok.ToString; 18 | 19 | @Entity 20 | @Data 21 | @NoArgsConstructor 22 | @AllArgsConstructor 23 | @ToString 24 | @PrimaryKeyJoinColumn(name="driverId") 25 | public class Driver extends Abstractuser { 26 | 27 | 28 | @NotNull 29 | @Min(value=1, message="id should be more than 1") 30 | @PrimaryKeyJoinColumn(name="driverID") 31 | 32 | @Min(value=1, message="id should be more than 1") 33 | private Integer licenseNo; 34 | @Min(value=1, message="id should be more than 1") 35 | private Double rating; 36 | private Boolean available; 37 | 38 | @OneToOne(cascade= CascadeType.ALL) 39 | @JoinColumn(name="cabId") 40 | private Cab cab; 41 | 42 | 43 | @OneToOne(cascade = CascadeType.ALL,mappedBy = "driver",orphanRemoval = true) 44 | @JsonIgnore 45 | private TripBooking tripBooking; 46 | 47 | } 48 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/entity/Abstractuser.java: -------------------------------------------------------------------------------- 1 | package com.masai.entity; 2 | 3 | 4 | 5 | import java.io.Serializable; 6 | 7 | import javax.persistence.CascadeType; 8 | import javax.persistence.Entity; 9 | import javax.persistence.GeneratedValue; 10 | import javax.persistence.GenerationType; 11 | import javax.persistence.Id; 12 | import javax.persistence.Inheritance; 13 | import javax.persistence.InheritanceType; 14 | import javax.persistence.JoinColumn; 15 | import javax.persistence.OneToOne; 16 | import javax.validation.constraints.Email; 17 | import javax.validation.constraints.NotNull; 18 | import javax.validation.constraints.Size; 19 | 20 | import lombok.AllArgsConstructor; 21 | import lombok.Data; 22 | import lombok.EqualsAndHashCode; 23 | import lombok.NoArgsConstructor; 24 | import lombok.ToString; 25 | 26 | 27 | @Entity 28 | @Inheritance(strategy=InheritanceType.JOINED) 29 | @Data 30 | @ToString 31 | @AllArgsConstructor 32 | @NoArgsConstructor 33 | public abstract class Abstractuser implements Serializable { 34 | 35 | @GeneratedValue(strategy = GenerationType.AUTO) 36 | @Id 37 | @EqualsAndHashCode.Include 38 | private Integer userId; 39 | 40 | @Size(min = 3, max = 255, message = "{nameRange}") 41 | @NotNull(message = "{notNull}") 42 | private String Username; 43 | 44 | @Size(min = 4, max = 20, message = "{PasswordRange}") 45 | @NotNull(message = "{notNull}") 46 | private String Password; 47 | 48 | 49 | 50 | @Size(min = 10, message = "{MobileRange}") 51 | private String Mobile; 52 | 53 | 54 | 55 | @OneToOne(cascade = CascadeType.ALL) 56 | @JoinColumn(name="id") 57 | private Address address; 58 | 59 | @Email 60 | @NotNull(message = "{notNull}") 61 | private String Email; 62 | 63 | } 64 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/controller/CustomerController.java: -------------------------------------------------------------------------------- 1 | package com.masai.controller; 2 | 3 | import java.util.List; 4 | 5 | import javax.validation.Valid; 6 | 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.web.bind.annotation.DeleteMapping; 9 | import org.springframework.web.bind.annotation.GetMapping; 10 | import org.springframework.web.bind.annotation.PathVariable; 11 | import org.springframework.web.bind.annotation.PostMapping; 12 | import org.springframework.web.bind.annotation.PutMapping; 13 | import org.springframework.web.bind.annotation.RequestBody; 14 | import org.springframework.web.bind.annotation.RequestMapping; 15 | import org.springframework.web.bind.annotation.RestController; 16 | import com.masai.service.CustomerService; 17 | import com.masai.entity.Customer; 18 | 19 | 20 | @RestController 21 | @RequestMapping("/api") 22 | public class CustomerController { 23 | 24 | @Autowired 25 | private CustomerService service; 26 | 27 | @GetMapping("/customer/{Id}") 28 | public Customer getCustomer(@PathVariable("Id") Integer id) 29 | { 30 | return service.findCustomer(id); 31 | } 32 | @GetMapping("/customers") 33 | public List getAllCustomer() 34 | { 35 | return service.allCustomer(); 36 | } 37 | 38 | @PostMapping(value = "/save",consumes = "application/json") 39 | public Customer SaveStudent(@Valid @RequestBody Customer customer) 40 | { System.out.println(customer); 41 | return service.saveCustomer(customer); 42 | } 43 | @PutMapping("/update/{id}") 44 | public Customer updateStudent(@Valid @RequestBody Customer customer,@PathVariable("id")Integer id ) 45 | { 46 | 47 | return service.updateCustomer(customer,id); 48 | } 49 | @DeleteMapping("/delete/{id}") 50 | public String delete(@PathVariable("id")Integer id) { 51 | 52 | return service.deleteCustomer(id); 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/controller/TripbookingController.java: -------------------------------------------------------------------------------- 1 | package com.masai.controller; 2 | 3 | import java.util.List; 4 | 5 | import javax.validation.Valid; 6 | 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.http.HttpStatus; 9 | import org.springframework.http.ResponseEntity; 10 | import org.springframework.web.bind.annotation.DeleteMapping; 11 | import org.springframework.web.bind.annotation.GetMapping; 12 | import org.springframework.web.bind.annotation.PathVariable; 13 | import org.springframework.web.bind.annotation.PostMapping; 14 | import org.springframework.web.bind.annotation.PutMapping; 15 | import org.springframework.web.bind.annotation.RequestBody; 16 | import org.springframework.web.bind.annotation.RequestMapping; 17 | import org.springframework.web.bind.annotation.RestController; 18 | 19 | import com.masai.entity.Customer; 20 | import com.masai.entity.TripBooking; 21 | import com.masai.service.TripService; 22 | 23 | @RestController 24 | @RequestMapping("/api") 25 | public class TripbookingController { 26 | 27 | @Autowired 28 | TripService service; 29 | 30 | 31 | @PostMapping("/trip") 32 | public TripBooking Add( @Valid @RequestBody TripBooking trip) 33 | { 34 | return service.AddTrip(trip); 35 | } 36 | 37 | @GetMapping("/trips") 38 | public List getAlltrip() 39 | { 40 | return service.alltrip() ; 41 | } 42 | @PutMapping("/tripupdate/{id}") 43 | public TripBooking updatetrip(@Valid @RequestBody TripBooking trip,@PathVariable("id")Integer id) 44 | { 45 | 46 | return service.updateTrip(trip,id); 47 | } 48 | @DeleteMapping("/tripdelete/{id}") 49 | public String delete(@PathVariable("id")Integer id) { 50 | 51 | return service.deletetrip(id); 52 | } 53 | @GetMapping("/tripend/{id}") 54 | public TripBooking end(@PathVariable("id")Integer id) { 55 | 56 | return service.tripEnd(id); 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/controller/CabController.java: -------------------------------------------------------------------------------- 1 | package com.masai.controller; 2 | 3 | import java.util.List; 4 | 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.http.HttpStatus; 7 | import org.springframework.http.ResponseEntity; 8 | import org.springframework.web.bind.annotation.DeleteMapping; 9 | import org.springframework.web.bind.annotation.GetMapping; 10 | import org.springframework.web.bind.annotation.PathVariable; 11 | import org.springframework.web.bind.annotation.PostMapping; 12 | import org.springframework.web.bind.annotation.PutMapping; 13 | import org.springframework.web.bind.annotation.RequestBody; 14 | import org.springframework.web.bind.annotation.RequestMapping; 15 | import org.springframework.web.bind.annotation.RequestParam; 16 | import org.springframework.web.bind.annotation.RestController; 17 | 18 | import com.masai.entity.Admin; 19 | import com.masai.entity.Cab; 20 | import com.masai.service.CabService; 21 | 22 | @RestController 23 | @RequestMapping("/api") 24 | public class CabController { 25 | 26 | @Autowired 27 | private CabService cService; 28 | 29 | @PutMapping("/cabs") 30 | public ResponseEntity updateCabHandler(@RequestParam Integer id, 31 | @RequestParam String type, 32 | @RequestParam Integer rate) 33 | { 34 | 35 | Cab updatedCab = cService.updateCab(id,type,rate); 36 | return new ResponseEntity(updatedCab,HttpStatus.ACCEPTED); 37 | 38 | 39 | 40 | } 41 | 42 | @GetMapping("/cabs") 43 | public ResponseEntity> viewCabsHandler() 44 | { 45 | 46 | List cabs = cService.viewCabsOfType(); 47 | 48 | return new ResponseEntity>(cabs,HttpStatus.OK); 49 | 50 | } 51 | @GetMapping("/cabsCount") 52 | public String countCabsOfType() 53 | { 54 | int countCab = cService.countCabsOfType(); 55 | 56 | return "Number of Cabs Abvailable " + countCab; 57 | } 58 | 59 | 60 | } 61 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/service/CabServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.masai.service; 2 | 3 | import java.util.List; 4 | 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.stereotype.Service; 7 | 8 | import com.masai.entity.Cab; 9 | import com.masai.entity.Driver; 10 | import com.masai.exception.NotFoundException; 11 | import com.masai.exception.InvalidId; 12 | import com.masai.repository.CabDao; 13 | import com.masai.repository.DriverDao; 14 | 15 | import net.bytebuddy.dynamic.DynamicType.Builder.FieldDefinition.Optional; 16 | 17 | @Service("CabService") 18 | public class CabServiceImpl implements CabService { 19 | 20 | @Autowired 21 | private CabDao cDao; 22 | 23 | 24 | @Autowired 25 | private DriverDao dDao; 26 | 27 | 28 | 29 | 30 | @Override 31 | public Cab updateCab(Integer id,String type, Integer rate) throws NotFoundException { 32 | // TODO Auto-generated method stub 33 | java.util.Optional opt = cDao.findById(id); 34 | 35 | if(opt.isPresent()) 36 | { 37 | Cab fCab=opt.get(); 38 | fCab.setCarType(type); 39 | fCab.setRatePerKm(rate); 40 | Driver fDriver= fCab.getDriver(); 41 | fDriver.setCab(fCab);; 42 | dDao.save(fDriver); 43 | return cDao.save(fCab); 44 | 45 | 46 | /* 47 | //Driver driver = dDao.getDriverByCabId(cab.getCabId()); 48 | 49 | Cab cab1 = opt.get(); 50 | Driver cabDriver=cab1.getDriver(); 51 | cabDriver.setCab(cab1); 52 | dDao.save(cabDriver); 53 | return cDao.save(cab1);*/ 54 | 55 | 56 | }else 57 | { 58 | throw new NotFoundException("Cab Not Found"); 59 | } 60 | 61 | 62 | 63 | 64 | } 65 | 66 | 67 | 68 | @Override 69 | public List viewCabsOfType() throws NotFoundException { 70 | // TODO Auto-generated method stub 71 | List cabs = cDao.viewCarType(); 72 | return cabs; 73 | } 74 | 75 | @Override 76 | public int countCabsOfType() throws NotFoundException { 77 | // TODO Auto-generated method stub 78 | List listcab = cDao.findAll(); 79 | return listcab.size(); 80 | } 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | } 89 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/entity/TripBooking.java: -------------------------------------------------------------------------------- 1 | package com.masai.entity; 2 | 3 | import java.time.LocalDate; 4 | 5 | import javax.persistence.CascadeType; 6 | import javax.persistence.Entity; 7 | import javax.persistence.GeneratedValue; 8 | import javax.persistence.GenerationType; 9 | import javax.persistence.Id; 10 | import javax.persistence.JoinColumn; 11 | import javax.persistence.ManyToOne; 12 | import javax.persistence.OneToOne; 13 | import javax.persistence.SecondaryTable; 14 | import javax.validation.constraints.FutureOrPresent; 15 | import javax.validation.constraints.NotNull; 16 | 17 | import org.springframework.format.annotation.DateTimeFormat; 18 | 19 | import com.fasterxml.jackson.annotation.JsonIgnore; 20 | 21 | import lombok.AllArgsConstructor; 22 | import lombok.Data; 23 | import lombok.EqualsAndHashCode; 24 | import lombok.Getter; 25 | import lombok.NoArgsConstructor; 26 | import lombok.NonNull; 27 | import lombok.Setter; 28 | import lombok.ToString; 29 | 30 | @Entity 31 | @Data 32 | @AllArgsConstructor 33 | @NoArgsConstructor 34 | @ToString 35 | @EqualsAndHashCode 36 | public class TripBooking { 37 | @Id 38 | @GeneratedValue(strategy = GenerationType.AUTO) 39 | private Integer TripBookingId; 40 | @NonNull 41 | private Integer CustomerId; 42 | 43 | @OneToOne(cascade=CascadeType.ALL) 44 | @JoinColumn(name="driver_id",referencedColumnName = "driverID") 45 | private Driver driver; 46 | 47 | @NotNull(message = "{From Location notNull}") 48 | private String From_location; 49 | 50 | @NotNull(message = "{To Loccation notNull}") 51 | private String To_location; 52 | 53 | 54 | @FutureOrPresent(message = "{futOrPres}") 55 | @NotNull(message = "{data not null}") 56 | @DateTimeFormat(pattern = "yyyy-MM-dd") 57 | private LocalDate Fromdate_time; 58 | 59 | 60 | @FutureOrPresent(message = "{futOrPres}") 61 | @NotNull(message = "{data not null}") 62 | @DateTimeFormat(pattern = "yyyy-MM-dd") 63 | private LocalDate Todate_time; 64 | 65 | private Integer km; 66 | private Integer Totalamount; 67 | private Boolean Payment; 68 | 69 | } 70 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/controller/DriverController.java: -------------------------------------------------------------------------------- 1 | package com.masai.controller; 2 | 3 | import java.util.List; 4 | 5 | import javax.validation.Valid; 6 | 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.http.HttpStatus; 9 | import org.springframework.http.ResponseEntity; 10 | import org.springframework.stereotype.Controller; 11 | import org.springframework.web.bind.annotation.DeleteMapping; 12 | import org.springframework.web.bind.annotation.GetMapping; 13 | import org.springframework.web.bind.annotation.PathVariable; 14 | import org.springframework.web.bind.annotation.PostMapping; 15 | import org.springframework.web.bind.annotation.PutMapping; 16 | import org.springframework.web.bind.annotation.RequestBody; 17 | import org.springframework.web.bind.annotation.RequestMapping; 18 | import org.springframework.web.bind.annotation.RequestParam; 19 | import org.springframework.web.bind.annotation.RestController; 20 | 21 | import com.masai.entity.Driver; 22 | import com.masai.service.DriverService; 23 | 24 | @RestController 25 | @RequestMapping("/api") 26 | public class DriverController { 27 | @Autowired 28 | private DriverService dService; 29 | 30 | @PostMapping("/drivers") 31 | public ResponseEntity insertDriver(@Valid @RequestBody Driver driver){ 32 | Driver addedDriver= dService.insertDriver(driver); 33 | return new ResponseEntity(addedDriver,HttpStatus.ACCEPTED); 34 | } 35 | @GetMapping("/drivers/{id}") 36 | public ResponseEntity viewDriverById(@PathVariable("id") Integer id){ 37 | Driver foundDriver= dService.viewDriverById(id); 38 | return new ResponseEntity(foundDriver,HttpStatus.ACCEPTED); 39 | } 40 | @PutMapping("/drivers") 41 | public ResponseEntity updateDriver(@RequestParam Integer id, 42 | @RequestParam Integer lic, 43 | @RequestParam Boolean avail) { 44 | Driver driver=dService.updateDriver(id,lic,avail); 45 | return new ResponseEntity(driver,HttpStatus.ACCEPTED); 46 | } 47 | @DeleteMapping("/drivers/{id}") 48 | 49 | public ResponseEntity deleteDriverById(@PathVariable("id") Integer id) { 50 | Driver driver=dService.deleteDriverById(id); 51 | return new ResponseEntity(driver,HttpStatus.ACCEPTED); 52 | 53 | 54 | 55 | 56 | } 57 | @GetMapping("/topDrivers") 58 | public ResponseEntity> viewBestDrivers(){ 59 | List list=dService.viewBestDriver(); 60 | return new ResponseEntity>(list,HttpStatus.ACCEPTED); 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/service/DriverServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.masai.service; 2 | 3 | import java.util.List; 4 | import java.util.Optional; 5 | 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.stereotype.Service; 8 | 9 | import com.masai.entity.Cab; 10 | import com.masai.entity.Driver; 11 | import com.masai.exception.DriverNotFoundException; 12 | import com.masai.exception.InvalidId; 13 | import com.masai.repository.AddressDao; 14 | import com.masai.repository.CabDao; 15 | import com.masai.repository.DriverDao; 16 | @Service 17 | public class DriverServiceImpl implements DriverService { 18 | 19 | @Autowired 20 | private DriverDao dDao; 21 | 22 | @Autowired 23 | private CabDao cDao; 24 | @Autowired 25 | private AddressDao Adao; 26 | 27 | @Override 28 | public Driver insertDriver(Driver driver) { 29 | Cab cab= driver.getCab(); 30 | cDao.save(cab); 31 | return dDao.save(driver); 32 | } 33 | 34 | @Override 35 | public Driver viewDriverById(Integer id) throws InvalidId { 36 | if(id<1) 37 | throw new InvalidId("Id should be more than 1"); 38 | 39 | Optional opt=dDao.findById(id); 40 | 41 | return opt.orElseThrow(() -> new DriverNotFoundException("No Driver found for id: "+id)); 42 | } 43 | 44 | @Override 45 | public Driver updateDriver(Integer id,Integer license, Boolean available) throws DriverNotFoundException{ 46 | Optional opt= dDao.findById(id); 47 | if(opt.isPresent()) { 48 | 49 | Driver fDriver=opt.get(); 50 | fDriver.setLicenseNo(license); 51 | fDriver.setAvailable(available); 52 | Cab fCab= fDriver.getCab(); 53 | fCab.setDriver(fDriver); 54 | cDao.save(fCab); 55 | return dDao.save(fDriver); 56 | 57 | } 58 | 59 | else 60 | throw new DriverNotFoundException("No Driver found "); 61 | } 62 | 63 | @Override 64 | 65 | public Driver deleteDriverById(Integer id) throws DriverNotFoundException{ 66 | Driver d1=dDao.findById(id).orElseThrow(()-> new DriverNotFoundException("No Driver found")); 67 | 68 | cDao.deleteById(d1.getCab().getCabId()); 69 | Adao.delete(d1.getAddress()); 70 | dDao.delete(d1); 71 | return d1; 72 | 73 | } 74 | 75 | @Override 76 | public List viewBestDriver() throws DriverNotFoundException { 77 | List drivers= dDao.viewBestDriver(); 78 | if(drivers.size()>0) 79 | return drivers; 80 | else 81 | throw new DriverNotFoundException("No Driver found with rating>=4.5"); 82 | } 83 | 84 | 85 | 86 | 87 | } 88 | -------------------------------------------------------------------------------- /Cab_booking/bin/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.springframework.boot 7 | spring-boot-starter-parent 8 | 2.7.2 9 | 10 | 11 | com.masai 12 | Cab_booking 13 | 0.0.1-SNAPSHOT 14 | Cab_booking 15 | Cab booking API 16 | 17 | 1.8 18 | 19 | 20 | 21 | org.springframework.boot 22 | spring-boot-starter-web 23 | 24 | 25 | 26 | mysql 27 | mysql-connector-java 28 | 8.0.30 29 | 30 | 31 | 32 | org.projectlombok 33 | lombok 34 | 1.18.24 35 | provided 36 | 37 | 38 | org.springframework.boot 39 | spring-boot-starter-validation 40 | 2.6.7 41 | 42 | 43 | org.springframework.boot 44 | spring-boot-devtools 45 | runtime 46 | true 47 | 48 | 49 | org.springframework.boot 50 | spring-boot-starter-test 51 | test 52 | 53 | 54 | org.springframework.boot 55 | spring-boot-starter-data-jpa 56 | 57 | 58 | 59 | 60 | 61 | 62 | org.springframework.boot 63 | spring-boot-maven-plugin 64 | 65 | 66 | 67 | 68 | 69 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Cab Booking Application 2 | It is built to support all the functionality related to managing a Cab booking system. 3 | We will discuss each aspect of this project in detail for enhanced understanding. 4 | The Cab Booking System project is designed in Spring Boot and Hibernate along with the source code. 5 | Admin will be responsible for keeping a check on the booking of cab, managing CabBooking, drivers, 6 | payments, etc. On the other hand, Users can register themselves, log in using the login credentials, 7 | view and book the Cab, view charges, etc. 8 | 9 | we have designed a cab Booking System project in spring boot & hibernate, which has three main roles i.e. Admin and User. Admin is the primary user and can add/remove/update any details related to the system. Admin can manage registered users and drivers. Admin can Add/Remove/Update cab and their details from the system. Admin can also categorize cab accordingly. Admin will be responsible for keeping a check on all the bookings done by users. Admin can View/Confirm/Cancel bookings done by users. Admin can check and manage the availability of cab and also, keep a track of the status of all the cab that are engaged. 10 | 11 | Admin can set/update prices and charges of the taxi rides. Admin can manage the drivers and their details. 12 | 13 | On the other hand, users can register. Users can search and view the Cabs available. Users can search Cabs by entering the location. 14 | 15 | Admin can maintain a database of drivers. Drivers have to register on the portal. Drivers will be able to see the booking done by users and details of users like name, source, and destination location. 16 | 17 | # Cab Booking Application ER diagram 18 | ![cab_booking_3](https://user-images.githubusercontent.com/68966858/185020617-92914a9c-b5e2-4b3b-aa36-dc6a26454cba.jpeg) 19 | 20 | # Functions of Admin, Cutomer, Driver 21 | ## Through admin we can : 22 | 1. Can Log in/Log out of the system.
23 | 2. Admin can View/Edit/Delete taxis into the system.
24 | 3. Admin can View/Confirm/Cancel booking done by the User.
25 | 4. Can check payments done by User.
26 | 5. Can check the availability of cabs and drivers.
27 | 6. Can manage driver staff.
28 | 7. Can change the charge.
29 | 8. Can change password.
30 | 31 | ## Through Customer we can: 32 | 1. Can Log in/Log out of the system. 33 | 2. Can Manage “My profile”.
34 | 3. Can search for cab.
35 | 4. Users can Book/Cancel cabs.
36 | 5. Can change password.
37 | 38 | ## Through Driver we can: 39 | 1. Add a driver in the system. 40 | 2. Update driver details. 41 | 3. Delete a driver from the system. 42 | 4. Get the list of all drivers. 43 | 5. Get the list of all best available(rated>=4.5) drivers. 44 | -------------------------------------------------------------------------------- /Cab_booking/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 4.0.0 6 | 7 | org.springframework.boot 8 | spring-boot-starter-parent 9 | 2.7.2 10 | 11 | 12 | com.masai 13 | Cab_booking 14 | 0.0.1-SNAPSHOT 15 | Cab_booking 16 | Cab booking API 17 | 18 | 1.8 19 | 20 | 21 | 22 | org.springframework.boot 23 | spring-boot-starter-web 24 | 25 | 26 | 27 | mysql 28 | mysql-connector-java 29 | 8.0.30 30 | 31 | 32 | 33 | org.projectlombok 34 | lombok 35 | 1.18.24 36 | provided 37 | 38 | 39 | org.springframework.boot 40 | spring-boot-starter-validation 41 | 2.6.7 42 | 43 | 44 | io.springfox 45 | springfox-swagger2 46 | 2.7.0 47 | 48 | 49 | io.springfox 50 | springfox-swagger-ui 51 | 2.7.0 52 | 53 | 54 | org.springframework.boot 55 | spring-boot-devtools 56 | runtime 57 | true 58 | 59 | 60 | org.springframework.boot 61 | spring-boot-starter-test 62 | test 63 | 64 | 65 | org.springframework.boot 66 | spring-boot-starter-data-jpa 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | org.springframework.boot 75 | spring-boot-maven-plugin 76 | 77 | 78 | 79 | 80 | 81 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/service/UserLogInImpl.java: -------------------------------------------------------------------------------- 1 | package com.masai.service; 2 | 3 | import java.time.LocalDateTime; 4 | import java.util.Optional; 5 | 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.stereotype.Service; 8 | 9 | import com.masai.entity.Admin; 10 | import com.masai.entity.CurrentUserSession; 11 | import com.masai.entity.Customer; 12 | import com.masai.entity.CustomerDTO; 13 | import com.masai.entity.Driver; 14 | 15 | import com.masai.exception.AdminExceptions; 16 | import com.masai.exception.InvalidPasswordException; 17 | import com.masai.exception.NotFoundException; 18 | import com.masai.exception.UserAlreadyExistWithuserId; 19 | import com.masai.repository.AdminDao; 20 | import com.masai.repository.CustomerDao; 21 | import com.masai.repository.DriverDao; 22 | import com.masai.repository.SessionDao; 23 | 24 | import net.bytebuddy.utility.RandomString; 25 | 26 | @Service 27 | public class UserLogInImpl implements UserLogIn { 28 | @Autowired 29 | private AdminDao adminDao; 30 | 31 | @Autowired 32 | private DriverDao driverDao; 33 | 34 | @Autowired 35 | private CustomerDao customerDao; 36 | 37 | @Autowired 38 | private SessionDao sessionDao; 39 | 40 | @Override 41 | public String logIntoAccount(CustomerDTO userDto) { 42 | Optional opt_customer = customerDao.findById(userDto.getUserId()); 43 | // Optional opt_driver = driverDao.findById(userDto.getUserId()); 44 | // Optional opt_admin = adminDao.findById(userDto.getUserId()); 45 | 46 | Integer userId = opt_customer.get().getUserId(); 47 | 48 | Optional currentUserOptional = sessionDao.findById(userId); 49 | 50 | if (!opt_customer.isPresent()) { 51 | throw new AdminExceptions("user not found"); 52 | } 53 | if (currentUserOptional.isPresent()) { 54 | throw new UserAlreadyExistWithuserId("User already logged in with this number"); 55 | } 56 | if (opt_customer.get().getPassword().equals(userDto.getPassword())) { 57 | String key = RandomString.make(6); 58 | CurrentUserSession currentUserSession = new CurrentUserSession(opt_customer.get().getUserId(), key, 59 | LocalDateTime.now()); 60 | sessionDao.save(currentUserSession); 61 | 62 | return currentUserSession.toString(); 63 | } else { 64 | throw new InvalidPasswordException("Please Enter Valid Password"); 65 | } 66 | 67 | } 68 | 69 | @Override 70 | public String logOutFromAccount(String key) { 71 | Optional currentUserOptional = sessionDao.findByUuid(key); 72 | 73 | if (!currentUserOptional.isPresent()) { 74 | throw new NotFoundException("User is not logged in with this number"); 75 | } 76 | 77 | CurrentUserSession currentUserSession = currentUserOptional.get(); 78 | sessionDao.delete(currentUserSession); 79 | 80 | return "Logged Out..."; 81 | } 82 | 83 | } 84 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/service/TripServiceImp.java: -------------------------------------------------------------------------------- 1 | package com.masai.service; 2 | 3 | import java.util.List; 4 | 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.stereotype.Service; 7 | 8 | import com.masai.entity.Driver; 9 | import com.masai.entity.TripBooking; 10 | import com.masai.exception.DriverNotFoundException; 11 | import com.masai.exception.InvalidId; 12 | import com.masai.repository.CustomerDao; 13 | import com.masai.repository.DriverDao; 14 | import com.masai.repository.TripDao; 15 | 16 | 17 | @Service 18 | public class TripServiceImp implements TripService { 19 | @Autowired 20 | TripDao trip; 21 | @Autowired 22 | CustomerDao cdao; 23 | @Autowired 24 | DriverDao ddao; 25 | 26 | @Override 27 | public TripBooking AddTrip(TripBooking tb) throws InvalidId { 28 | 29 | cdao.findById(tb.getCustomerId()).orElseThrow(() -> new InvalidId("Customer with ID "+tb.getCustomerId()+" does not exit..")); 30 | List drivers= ddao.viewBestDriver(); 31 | if(drivers.size()==0) 32 | { 33 | throw new DriverNotFoundException("Sorry No driver Available just now..."); 34 | } 35 | drivers.get(0).setAvailable(false); 36 | 37 | Integer km = tb.getKm(); 38 | Integer price=drivers.get(0).getCab().getRatePerKm(); 39 | tb.setTotalamount(km*price); 40 | tb.setDriver(drivers.get(0)); 41 | return trip.save(tb); 42 | } 43 | 44 | 45 | @Override 46 | public List alltrip() { 47 | 48 | return trip.findAll(); 49 | } 50 | 51 | @Override 52 | public TripBooking updateTrip(TripBooking tb,Integer id) throws InvalidId { 53 | 54 | 55 | TripBooking c1=trip.getById(id); 56 | 57 | c1.setCustomerId(tb.getCustomerId()); 58 | c1.setFrom_location(tb.getFrom_location()); 59 | c1.setTo_location(tb.getTo_location()); 60 | c1.setFromdate_time(tb.getFromdate_time()); 61 | c1.setTodate_time(tb.getTodate_time()); 62 | c1.setKm(tb.getKm()); 63 | 64 | trip.save(c1); 65 | return c1; 66 | } 67 | 68 | @Override 69 | public String deletetrip(Integer id) throws InvalidId { 70 | TripBooking ct=trip.findById(id).orElseThrow(() -> new InvalidId("TripBooking with ID "+id+" does not exit..")); 71 | 72 | ct.setDriver(null); 73 | trip.delete(ct); 74 | 75 | return "delete..."; 76 | } 77 | 78 | 79 | @Override 80 | public TripBooking tripEnd(Integer id) throws InvalidId { 81 | 82 | TripBooking ct=trip.findById(id).orElseThrow(() -> new InvalidId("TripBooking with ID "+id+" does not exit..")); 83 | 84 | Integer driverid=ct.getDriver().getUserId(); 85 | Driver dt=ddao.findById(driverid).orElseThrow(() -> new InvalidId("Drive with ID "+driverid+" does not exit..")); 86 | 87 | dt.setAvailable(true); 88 | ddao.save(dt); 89 | ct.setPayment(true); 90 | 91 | 92 | return trip.save(ct); 93 | } 94 | 95 | } 96 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/exception/GlobalExceptionHandler.java: -------------------------------------------------------------------------------- 1 | package com.masai.exception; 2 | 3 | import java.time.LocalDateTime; 4 | 5 | import org.springframework.http.HttpStatus; 6 | import org.springframework.http.ResponseEntity; 7 | import org.springframework.web.bind.MethodArgumentNotValidException; 8 | import org.springframework.web.bind.annotation.ControllerAdvice; 9 | import org.springframework.web.bind.annotation.ExceptionHandler; 10 | import org.springframework.web.bind.support.WebRequestDataBinder; 11 | import org.springframework.web.context.request.WebRequest; 12 | import org.springframework.web.servlet.NoHandlerFoundException; 13 | 14 | @ControllerAdvice 15 | public class GlobalExceptionHandler { 16 | 17 | @ExceptionHandler(InvalidId.class) 18 | public ResponseEntity myExpHandler1(InvalidId ie,WebRequest wr) 19 | { 20 | MyErrorDetails err= new MyErrorDetails(LocalDateTime.now(),ie.getMessage(),wr.getDescription(false)); 21 | return new ResponseEntity(err,HttpStatus.BAD_REQUEST); 22 | } 23 | 24 | 25 | @ExceptionHandler(DriverNotFoundException.class) 26 | public ResponseEntity myExpHandler4(DriverNotFoundException ie, WebRequest wr){ 27 | MyErrorDetails err= new MyErrorDetails(LocalDateTime.now(),ie.getMessage(),wr.getDescription(false)); 28 | return new ResponseEntity(err,HttpStatus.BAD_REQUEST); 29 | } 30 | @ExceptionHandler(AdminExceptions.class) 31 | public ResponseEntity myExpHandler4(AdminExceptions ae, WebRequest wr){ 32 | MyErrorDetails err= new MyErrorDetails(LocalDateTime.now(),ae.getMessage(),wr.getDescription(false)); 33 | return new ResponseEntity(err,HttpStatus.CONFLICT); 34 | } 35 | 36 | 37 | 38 | @ExceptionHandler(NoHandlerFoundException.class) 39 | public ResponseEntity myExpHandler2(NoHandlerFoundException e,WebRequest wr) 40 | { 41 | MyErrorDetails err= new MyErrorDetails(LocalDateTime.now(),e.getMessage(),wr.getDescription(false)); 42 | return new ResponseEntity(err,HttpStatus.BAD_REQUEST); 43 | 44 | } 45 | 46 | 47 | 48 | 49 | @ExceptionHandler(MethodArgumentNotValidException.class) 50 | public ResponseEntity myExpHandler3(MethodArgumentNotValidException me) { 51 | MyErrorDetails err=new MyErrorDetails(LocalDateTime.now(),"Validation Error",me.getBindingResult().getFieldError().getDefaultMessage()); 52 | return new ResponseEntity<>(err,HttpStatus.BAD_REQUEST); 53 | } 54 | 55 | 56 | 57 | 58 | @ExceptionHandler(Exception.class) 59 | public ResponseEntity myExpHandler(Exception e,WebRequest wr) 60 | { 61 | MyErrorDetails err= new MyErrorDetails(LocalDateTime.now(),e.getMessage(),wr.getDescription(false)); 62 | return new ResponseEntity(err,HttpStatus.BAD_REQUEST); 63 | 64 | } 65 | 66 | } 67 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/service/CustomerServiceImp.java: -------------------------------------------------------------------------------- 1 | package com.masai.service; 2 | 3 | import java.util.List; 4 | 5 | import org.springframework.beans.factory.annotation.Autowired; 6 | import org.springframework.stereotype.Service; 7 | 8 | import com.masai.repository.AddressDao; 9 | import com.masai.repository.CustomerDao; 10 | import com.masai.entity.Address; 11 | import com.masai.entity.Customer; 12 | import com.masai.exception.InvalidId; 13 | import com.masai.exception.Nullexception; 14 | 15 | 16 | @Service 17 | public class CustomerServiceImp implements CustomerService { 18 | 19 | @Autowired 20 | private CustomerDao cdao; 21 | @Autowired 22 | private AddressDao Adao; 23 | 24 | 25 | @Override 26 | public Customer saveCustomer(Customer customer) { 27 | return cdao.save(customer); 28 | } 29 | 30 | 31 | @Override 32 | public Customer findCustomer(Integer id) throws InvalidId { 33 | 34 | 35 | Customer ct=cdao.findById(id).orElseThrow(() -> new InvalidId("Customer with ID "+id+" does not exit..")); 36 | 37 | 38 | return ct; 39 | 40 | } 41 | @Override 42 | public Customer updateCustomer(Customer customer, Integer id) throws InvalidId { 43 | 44 | Customer c1=cdao.findById(id).orElseThrow(() -> new InvalidId("Customer with ID "+id+" does not exit..")); 45 | 46 | Integer aid= c1.getAddress().getId(); 47 | 48 | c1.setAddress(customer.getAddress()); 49 | c1.setEmail(customer.getEmail()); 50 | c1.setMobile(customer.getMobile()); 51 | c1.setPassword(customer.getPassword()); 52 | c1.setUsername(customer.getUsername()); 53 | Address a1=Adao.findById(aid).orElseThrow(() -> new InvalidId("Address with ID "+aid+" does not exit..")); 54 | Adao.delete(a1); 55 | Adao.save(customer.getAddress()); 56 | 57 | return c1; 58 | } 59 | 60 | 61 | @Override 62 | public String deleteCustomer(Integer id) throws InvalidId { 63 | // TODO Auto-generated method stub 64 | Customer ct=cdao.findById(id).orElseThrow(() -> new InvalidId("Customer with ID "+id+" does not exit..")); 65 | Adao.delete(ct.getAddress()); 66 | cdao.delete(ct); 67 | 68 | return "delete..."; 69 | } 70 | 71 | 72 | @Override 73 | public List allCustomer() throws Nullexception { 74 | List c1 =cdao.findAll(); 75 | if(c1.size()==0) 76 | throw new Nullexception("EMPTY NO DATA AVAILABLE"); 77 | return c1; 78 | } 79 | 80 | 81 | @Override 82 | public Customer vaildCustomer(String Email, String Password) throws InvalidId { 83 | // TODO Auto-generated method stub 84 | 85 | List c1 =cdao.findAll(); 86 | for(int i= 0; i < c1.size(); i++) { 87 | if(c1.get(i).getEmail().equals(Email) && c1.get(i).getPassword().equals(Password)) 88 | return c1.get(i); 89 | } 90 | throw new InvalidId("Invalid Email and password"); 91 | } 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | } 100 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/controller/AdminController.java: -------------------------------------------------------------------------------- 1 | package com.masai.controller; 2 | 3 | 4 | 5 | import java.time.LocalDate; 6 | 7 | import java.time.LocalDateTime; 8 | 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | 12 | import org.springframework.beans.factory.annotation.Autowired; 13 | import org.springframework.http.HttpStatus; 14 | import org.springframework.http.ResponseEntity; 15 | import org.springframework.web.bind.annotation.DeleteMapping; 16 | import org.springframework.web.bind.annotation.GetMapping; 17 | import org.springframework.web.bind.annotation.PathVariable; 18 | import org.springframework.web.bind.annotation.PostMapping; 19 | import org.springframework.web.bind.annotation.PutMapping; 20 | import org.springframework.web.bind.annotation.RequestBody; 21 | import org.springframework.web.bind.annotation.RequestMapping; 22 | import org.springframework.web.bind.annotation.RestController; 23 | 24 | import com.masai.entity.Admin; 25 | import com.masai.entity.Cab; 26 | import com.masai.entity.TripBooking; 27 | import com.masai.service.AdminService; 28 | @RestController 29 | @RequestMapping("/api/admin") 30 | public class AdminController { 31 | 32 | @Autowired 33 | private AdminService adminService; 34 | 35 | @PostMapping("/") 36 | public ResponseEntity insertAdminHandler(@RequestBody Admin admin) { 37 | Admin savedAdmin = adminService.saveAdmin(admin); 38 | return new ResponseEntity(savedAdmin,HttpStatus.OK); 39 | } 40 | 41 | @GetMapping("/") 42 | public Admin deleteMappingHandler1() { 43 | 44 | return null; 45 | } 46 | 47 | @DeleteMapping("/{adminId}") 48 | public ResponseEntity deleteMappingHandler(@PathVariable("adminId") Integer adminId) { 49 | Admin returnAdmin = adminService.delete(adminId); 50 | return new ResponseEntity(returnAdmin,HttpStatus.OK); 51 | } 52 | 53 | @GetMapping("/trips/{customerId}") 54 | public ResponseEntity> getAllTripsHandler(@PathVariable("customerId") Integer customerId){ 55 | 56 | List trips= adminService.getAllTrips(customerId); 57 | return new ResponseEntity>(trips,HttpStatus.OK); 58 | } 59 | 60 | @GetMapping("trips/{cab}") 61 | public ResponseEntity> getTripsDriverwiseHandler(@RequestBody Cab cab){ 62 | 63 | List trips= adminService.getTripsDriverwise(); 64 | return new ResponseEntity>(trips,HttpStatus.OK); 65 | } 66 | 67 | 68 | @PutMapping("/") 69 | public ResponseEntity updateAdminHandler(@RequestBody Admin admin) { 70 | Admin updatedAdmin = adminService.update(admin); 71 | return new ResponseEntity("admin updated "+updatedAdmin,HttpStatus.ACCEPTED); 72 | } 73 | 74 | 75 | 76 | 77 | @GetMapping("/customertrips") 78 | public List getTripsCustomerwiseHandler(){ 79 | List list = adminService.getTripsCustomerwise(); 80 | return list; 81 | } 82 | 83 | @GetMapping("/datewisetrips") 84 | public List getTripsDatewiseHandler(){ 85 | List list = adminService.getTripsDatewise(); 86 | return list; 87 | } 88 | 89 | @GetMapping("trips/{customerId}/{date}") 90 | public List getTripsDatewiseAndCustomerHandler(@PathVariable("customerId") Integer customerId, @PathVariable("date") LocalDate date){ 91 | List list = adminService.getTripsDatewiseAndCustomer(customerId, date); 92 | return list; 93 | 94 | } 95 | } 96 | -------------------------------------------------------------------------------- /Cab_booking/src/main/java/com/masai/service/AdminServiceImp.java: -------------------------------------------------------------------------------- 1 | package com.masai.service; 2 | 3 | import java.time.LocalDate; 4 | import java.util.List; 5 | import java.util.Optional; 6 | 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.stereotype.Service; 9 | 10 | import com.masai.entity.Admin; 11 | import com.masai.entity.Cab; 12 | import com.masai.entity.Customer; 13 | import com.masai.entity.Driver; 14 | import com.masai.entity.TripBooking; 15 | import com.masai.exception.AdminExceptions; 16 | import com.masai.exception.NotFoundException; 17 | import com.masai.repository.AdminDao; 18 | import com.masai.repository.CabDao; 19 | import com.masai.repository.CustomerDao; 20 | import com.masai.repository.DriverDao; 21 | 22 | import com.masai.repository.TripDao; 23 | 24 | 25 | @Service 26 | public class AdminServiceImp implements AdminService { 27 | @Autowired 28 | private AdminDao adminDao; 29 | 30 | @Autowired 31 | private CustomerDao customerDao; 32 | 33 | @Autowired 34 | private DriverDao driverDao; 35 | 36 | @Autowired 37 | private CabDao cabDao; 38 | 39 | @Autowired 40 | private TripDao tripDao; 41 | 42 | @Override 43 | public Admin saveAdmin(Admin admin) throws AdminExceptions { 44 | System.out.println(admin); 45 | return adminDao.save(admin); 46 | } 47 | 48 | @Override 49 | public Admin update(Admin admin) throws AdminExceptions { 50 | Optional opt = adminDao.findById(admin.getUserId()); 51 | if (opt.isPresent()) { 52 | //Admin existAdmin = opt.get(); 53 | return adminDao.save(admin); 54 | } 55 | throw new AdminExceptions("Invalid Id"); 56 | } 57 | 58 | @Override 59 | public Admin delete(Integer id) throws AdminExceptions { 60 | Admin existingAdmin = adminDao.findById(id).orElseThrow(() -> new AdminExceptions("Invalid Id")); 61 | adminDao.delete(existingAdmin); 62 | 63 | return existingAdmin; 64 | } 65 | 66 | @Override //all trips detail of customer 67 | public List getAllTrips(Integer customerid) throws AdminExceptions { 68 | //customer exception 69 | Optional opt = customerDao.findById(customerid); 70 | if(opt.isPresent()) { 71 | List trips = tripDao.findAll(); 72 | return trips; 73 | 74 | } 75 | throw new AdminExceptions("Invalid Id"); 76 | } 77 | 78 | @Override 79 | 80 | public List getTripsDriverwise() { 81 | List list = tripDao.findByDriverAscs(); 82 | System.out.println(list); 83 | return list; 84 | 85 | 86 | } 87 | 88 | 89 | @Override 90 | public List getTripsCustomerwise() { 91 | List list = tripDao.findByCustomeridAsce(); 92 | if(list.size() > 0) 93 | return list; 94 | else 95 | throw new AdminExceptions("No trips found"); 96 | 97 | } 98 | 99 | @Override 100 | public List getTripsDatewise() throws AdminExceptions { 101 | List list = tripDao.findByFromdate_timeAsce(); 102 | if(list.size() > 0) 103 | return list; 104 | else 105 | throw new AdminExceptions("No trips found"); 106 | } 107 | 108 | @Override 109 | public List getTripsDatewiseAndCustomer(Integer customerId, LocalDate date) throws AdminExceptions { 110 | List list = tripDao.findByCustomerIdAndFromdate_time(customerId, date); 111 | if(list.size() > 0) 112 | return list; 113 | else 114 | throw new AdminExceptions("No trips found for customer id "+customerId+" and date : "+date); 115 | } 116 | 117 | 118 | } 119 | -------------------------------------------------------------------------------- /Cab_booking/bin/mvnw.cmd: -------------------------------------------------------------------------------- 1 | @REM ---------------------------------------------------------------------------- 2 | @REM Licensed to the Apache Software Foundation (ASF) under one 3 | @REM or more contributor license agreements. See the NOTICE file 4 | @REM distributed with this work for additional information 5 | @REM regarding copyright ownership. The ASF licenses this file 6 | @REM to you under the Apache License, Version 2.0 (the 7 | @REM "License"); you may not use this file except in compliance 8 | @REM with the License. You may obtain a copy of the License at 9 | @REM 10 | @REM https://www.apache.org/licenses/LICENSE-2.0 11 | @REM 12 | @REM Unless required by applicable law or agreed to in writing, 13 | @REM software distributed under the License is distributed on an 14 | @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | @REM KIND, either express or implied. See the License for the 16 | @REM specific language governing permissions and limitations 17 | @REM under the License. 18 | @REM ---------------------------------------------------------------------------- 19 | 20 | @REM ---------------------------------------------------------------------------- 21 | @REM Maven Start Up Batch script 22 | @REM 23 | @REM Required ENV vars: 24 | @REM JAVA_HOME - location of a JDK home dir 25 | @REM 26 | @REM Optional ENV vars 27 | @REM M2_HOME - location of maven2's installed home dir 28 | @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands 29 | @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending 30 | @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven 31 | @REM e.g. to debug Maven itself, use 32 | @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 33 | @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files 34 | @REM ---------------------------------------------------------------------------- 35 | 36 | @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' 37 | @echo off 38 | @REM set title of command window 39 | title %0 40 | @REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' 41 | @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% 42 | 43 | @REM set %HOME% to equivalent of $HOME 44 | if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") 45 | 46 | @REM Execute a user defined script before this one 47 | if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre 48 | @REM check for pre script, once with legacy .bat ending and once with .cmd ending 49 | if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* 50 | if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* 51 | :skipRcPre 52 | 53 | @setlocal 54 | 55 | set ERROR_CODE=0 56 | 57 | @REM To isolate internal variables from possible post scripts, we use another setlocal 58 | @setlocal 59 | 60 | @REM ==== START VALIDATION ==== 61 | if not "%JAVA_HOME%" == "" goto OkJHome 62 | 63 | echo. 64 | echo Error: JAVA_HOME not found in your environment. >&2 65 | echo Please set the JAVA_HOME variable in your environment to match the >&2 66 | echo location of your Java installation. >&2 67 | echo. 68 | goto error 69 | 70 | :OkJHome 71 | if exist "%JAVA_HOME%\bin\java.exe" goto init 72 | 73 | echo. 74 | echo Error: JAVA_HOME is set to an invalid directory. >&2 75 | echo JAVA_HOME = "%JAVA_HOME%" >&2 76 | echo Please set the JAVA_HOME variable in your environment to match the >&2 77 | echo location of your Java installation. >&2 78 | echo. 79 | goto error 80 | 81 | @REM ==== END VALIDATION ==== 82 | 83 | :init 84 | 85 | @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". 86 | @REM Fallback to current working directory if not found. 87 | 88 | set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% 89 | IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir 90 | 91 | set EXEC_DIR=%CD% 92 | set WDIR=%EXEC_DIR% 93 | :findBaseDir 94 | IF EXIST "%WDIR%"\.mvn goto baseDirFound 95 | cd .. 96 | IF "%WDIR%"=="%CD%" goto baseDirNotFound 97 | set WDIR=%CD% 98 | goto findBaseDir 99 | 100 | :baseDirFound 101 | set MAVEN_PROJECTBASEDIR=%WDIR% 102 | cd "%EXEC_DIR%" 103 | goto endDetectBaseDir 104 | 105 | :baseDirNotFound 106 | set MAVEN_PROJECTBASEDIR=%EXEC_DIR% 107 | cd "%EXEC_DIR%" 108 | 109 | :endDetectBaseDir 110 | 111 | IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig 112 | 113 | @setlocal EnableExtensions EnableDelayedExpansion 114 | for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a 115 | @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% 116 | 117 | :endReadAdditionalConfig 118 | 119 | SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" 120 | set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" 121 | set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain 122 | 123 | set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" 124 | 125 | FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( 126 | IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B 127 | ) 128 | 129 | @REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central 130 | @REM This allows using the maven wrapper in projects that prohibit checking in binary data. 131 | if exist %WRAPPER_JAR% ( 132 | if "%MVNW_VERBOSE%" == "true" ( 133 | echo Found %WRAPPER_JAR% 134 | ) 135 | ) else ( 136 | if not "%MVNW_REPOURL%" == "" ( 137 | SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" 138 | ) 139 | if "%MVNW_VERBOSE%" == "true" ( 140 | echo Couldn't find %WRAPPER_JAR%, downloading it ... 141 | echo Downloading from: %DOWNLOAD_URL% 142 | ) 143 | 144 | powershell -Command "&{"^ 145 | "$webclient = new-object System.Net.WebClient;"^ 146 | "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ 147 | "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ 148 | "}"^ 149 | "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ 150 | "}" 151 | if "%MVNW_VERBOSE%" == "true" ( 152 | echo Finished downloading %WRAPPER_JAR% 153 | ) 154 | ) 155 | @REM End of extension 156 | 157 | @REM Provide a "standardized" way to retrieve the CLI args that will 158 | @REM work with both Windows and non-Windows executions. 159 | set MAVEN_CMD_LINE_ARGS=%* 160 | 161 | %MAVEN_JAVA_EXE% ^ 162 | %JVM_CONFIG_MAVEN_PROPS% ^ 163 | %MAVEN_OPTS% ^ 164 | %MAVEN_DEBUG_OPTS% ^ 165 | -classpath %WRAPPER_JAR% ^ 166 | "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ 167 | %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* 168 | if ERRORLEVEL 1 goto error 169 | goto end 170 | 171 | :error 172 | set ERROR_CODE=1 173 | 174 | :end 175 | @endlocal & set ERROR_CODE=%ERROR_CODE% 176 | 177 | if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost 178 | @REM check for post script, once with legacy .bat ending and once with .cmd ending 179 | if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" 180 | if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" 181 | :skipRcPost 182 | 183 | @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' 184 | if "%MAVEN_BATCH_PAUSE%"=="on" pause 185 | 186 | if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% 187 | 188 | cmd /C exit /B %ERROR_CODE% 189 | -------------------------------------------------------------------------------- /Cab_booking/mvnw.cmd: -------------------------------------------------------------------------------- 1 | @REM ---------------------------------------------------------------------------- 2 | @REM Licensed to the Apache Software Foundation (ASF) under one 3 | @REM or more contributor license agreements. See the NOTICE file 4 | @REM distributed with this work for additional information 5 | @REM regarding copyright ownership. The ASF licenses this file 6 | @REM to you under the Apache License, Version 2.0 (the 7 | @REM "License"); you may not use this file except in compliance 8 | @REM with the License. You may obtain a copy of the License at 9 | @REM 10 | @REM https://www.apache.org/licenses/LICENSE-2.0 11 | @REM 12 | @REM Unless required by applicable law or agreed to in writing, 13 | @REM software distributed under the License is distributed on an 14 | @REM "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 | @REM KIND, either express or implied. See the License for the 16 | @REM specific language governing permissions and limitations 17 | @REM under the License. 18 | @REM ---------------------------------------------------------------------------- 19 | 20 | @REM ---------------------------------------------------------------------------- 21 | @REM Maven Start Up Batch script 22 | @REM 23 | @REM Required ENV vars: 24 | @REM JAVA_HOME - location of a JDK home dir 25 | @REM 26 | @REM Optional ENV vars 27 | @REM M2_HOME - location of maven2's installed home dir 28 | @REM MAVEN_BATCH_ECHO - set to 'on' to enable the echoing of the batch commands 29 | @REM MAVEN_BATCH_PAUSE - set to 'on' to wait for a keystroke before ending 30 | @REM MAVEN_OPTS - parameters passed to the Java VM when running Maven 31 | @REM e.g. to debug Maven itself, use 32 | @REM set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 33 | @REM MAVEN_SKIP_RC - flag to disable loading of mavenrc files 34 | @REM ---------------------------------------------------------------------------- 35 | 36 | @REM Begin all REM lines with '@' in case MAVEN_BATCH_ECHO is 'on' 37 | @echo off 38 | @REM set title of command window 39 | title %0 40 | @REM enable echoing by setting MAVEN_BATCH_ECHO to 'on' 41 | @if "%MAVEN_BATCH_ECHO%" == "on" echo %MAVEN_BATCH_ECHO% 42 | 43 | @REM set %HOME% to equivalent of $HOME 44 | if "%HOME%" == "" (set "HOME=%HOMEDRIVE%%HOMEPATH%") 45 | 46 | @REM Execute a user defined script before this one 47 | if not "%MAVEN_SKIP_RC%" == "" goto skipRcPre 48 | @REM check for pre script, once with legacy .bat ending and once with .cmd ending 49 | if exist "%USERPROFILE%\mavenrc_pre.bat" call "%USERPROFILE%\mavenrc_pre.bat" %* 50 | if exist "%USERPROFILE%\mavenrc_pre.cmd" call "%USERPROFILE%\mavenrc_pre.cmd" %* 51 | :skipRcPre 52 | 53 | @setlocal 54 | 55 | set ERROR_CODE=0 56 | 57 | @REM To isolate internal variables from possible post scripts, we use another setlocal 58 | @setlocal 59 | 60 | @REM ==== START VALIDATION ==== 61 | if not "%JAVA_HOME%" == "" goto OkJHome 62 | 63 | echo. 64 | echo Error: JAVA_HOME not found in your environment. >&2 65 | echo Please set the JAVA_HOME variable in your environment to match the >&2 66 | echo location of your Java installation. >&2 67 | echo. 68 | goto error 69 | 70 | :OkJHome 71 | if exist "%JAVA_HOME%\bin\java.exe" goto init 72 | 73 | echo. 74 | echo Error: JAVA_HOME is set to an invalid directory. >&2 75 | echo JAVA_HOME = "%JAVA_HOME%" >&2 76 | echo Please set the JAVA_HOME variable in your environment to match the >&2 77 | echo location of your Java installation. >&2 78 | echo. 79 | goto error 80 | 81 | @REM ==== END VALIDATION ==== 82 | 83 | :init 84 | 85 | @REM Find the project base dir, i.e. the directory that contains the folder ".mvn". 86 | @REM Fallback to current working directory if not found. 87 | 88 | set MAVEN_PROJECTBASEDIR=%MAVEN_BASEDIR% 89 | IF NOT "%MAVEN_PROJECTBASEDIR%"=="" goto endDetectBaseDir 90 | 91 | set EXEC_DIR=%CD% 92 | set WDIR=%EXEC_DIR% 93 | :findBaseDir 94 | IF EXIST "%WDIR%"\.mvn goto baseDirFound 95 | cd .. 96 | IF "%WDIR%"=="%CD%" goto baseDirNotFound 97 | set WDIR=%CD% 98 | goto findBaseDir 99 | 100 | :baseDirFound 101 | set MAVEN_PROJECTBASEDIR=%WDIR% 102 | cd "%EXEC_DIR%" 103 | goto endDetectBaseDir 104 | 105 | :baseDirNotFound 106 | set MAVEN_PROJECTBASEDIR=%EXEC_DIR% 107 | cd "%EXEC_DIR%" 108 | 109 | :endDetectBaseDir 110 | 111 | IF NOT EXIST "%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config" goto endReadAdditionalConfig 112 | 113 | @setlocal EnableExtensions EnableDelayedExpansion 114 | for /F "usebackq delims=" %%a in ("%MAVEN_PROJECTBASEDIR%\.mvn\jvm.config") do set JVM_CONFIG_MAVEN_PROPS=!JVM_CONFIG_MAVEN_PROPS! %%a 115 | @endlocal & set JVM_CONFIG_MAVEN_PROPS=%JVM_CONFIG_MAVEN_PROPS% 116 | 117 | :endReadAdditionalConfig 118 | 119 | SET MAVEN_JAVA_EXE="%JAVA_HOME%\bin\java.exe" 120 | set WRAPPER_JAR="%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.jar" 121 | set WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain 122 | 123 | set DOWNLOAD_URL="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" 124 | 125 | FOR /F "usebackq tokens=1,2 delims==" %%A IN ("%MAVEN_PROJECTBASEDIR%\.mvn\wrapper\maven-wrapper.properties") DO ( 126 | IF "%%A"=="wrapperUrl" SET DOWNLOAD_URL=%%B 127 | ) 128 | 129 | @REM Extension to allow automatically downloading the maven-wrapper.jar from Maven-central 130 | @REM This allows using the maven wrapper in projects that prohibit checking in binary data. 131 | if exist %WRAPPER_JAR% ( 132 | if "%MVNW_VERBOSE%" == "true" ( 133 | echo Found %WRAPPER_JAR% 134 | ) 135 | ) else ( 136 | if not "%MVNW_REPOURL%" == "" ( 137 | SET DOWNLOAD_URL="%MVNW_REPOURL%/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" 138 | ) 139 | if "%MVNW_VERBOSE%" == "true" ( 140 | echo Couldn't find %WRAPPER_JAR%, downloading it ... 141 | echo Downloading from: %DOWNLOAD_URL% 142 | ) 143 | 144 | powershell -Command "&{"^ 145 | "$webclient = new-object System.Net.WebClient;"^ 146 | "if (-not ([string]::IsNullOrEmpty('%MVNW_USERNAME%') -and [string]::IsNullOrEmpty('%MVNW_PASSWORD%'))) {"^ 147 | "$webclient.Credentials = new-object System.Net.NetworkCredential('%MVNW_USERNAME%', '%MVNW_PASSWORD%');"^ 148 | "}"^ 149 | "[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; $webclient.DownloadFile('%DOWNLOAD_URL%', '%WRAPPER_JAR%')"^ 150 | "}" 151 | if "%MVNW_VERBOSE%" == "true" ( 152 | echo Finished downloading %WRAPPER_JAR% 153 | ) 154 | ) 155 | @REM End of extension 156 | 157 | @REM Provide a "standardized" way to retrieve the CLI args that will 158 | @REM work with both Windows and non-Windows executions. 159 | set MAVEN_CMD_LINE_ARGS=%* 160 | 161 | %MAVEN_JAVA_EXE% ^ 162 | %JVM_CONFIG_MAVEN_PROPS% ^ 163 | %MAVEN_OPTS% ^ 164 | %MAVEN_DEBUG_OPTS% ^ 165 | -classpath %WRAPPER_JAR% ^ 166 | "-Dmaven.multiModuleProjectDirectory=%MAVEN_PROJECTBASEDIR%" ^ 167 | %WRAPPER_LAUNCHER% %MAVEN_CONFIG% %* 168 | if ERRORLEVEL 1 goto error 169 | goto end 170 | 171 | :error 172 | set ERROR_CODE=1 173 | 174 | :end 175 | @endlocal & set ERROR_CODE=%ERROR_CODE% 176 | 177 | if not "%MAVEN_SKIP_RC%"=="" goto skipRcPost 178 | @REM check for post script, once with legacy .bat ending and once with .cmd ending 179 | if exist "%USERPROFILE%\mavenrc_post.bat" call "%USERPROFILE%\mavenrc_post.bat" 180 | if exist "%USERPROFILE%\mavenrc_post.cmd" call "%USERPROFILE%\mavenrc_post.cmd" 181 | :skipRcPost 182 | 183 | @REM pause the script if MAVEN_BATCH_PAUSE is set to 'on' 184 | if "%MAVEN_BATCH_PAUSE%"=="on" pause 185 | 186 | if "%MAVEN_TERMINATE_CMD%"=="on" exit %ERROR_CODE% 187 | 188 | cmd /C exit /B %ERROR_CODE% 189 | -------------------------------------------------------------------------------- /Cab_booking/mvnw: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # ---------------------------------------------------------------------------- 3 | # Licensed to the Apache Software Foundation (ASF) under one 4 | # or more contributor license agreements. See the NOTICE file 5 | # distributed with this work for additional information 6 | # regarding copyright ownership. The ASF licenses this file 7 | # to you under the Apache License, Version 2.0 (the 8 | # "License"); you may not use this file except in compliance 9 | # with the License. You may obtain a copy of the License at 10 | # 11 | # https://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, 14 | # software distributed under the License is distributed on an 15 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the 17 | # specific language governing permissions and limitations 18 | # under the License. 19 | # ---------------------------------------------------------------------------- 20 | 21 | # ---------------------------------------------------------------------------- 22 | # Maven Start Up Batch script 23 | # 24 | # Required ENV vars: 25 | # ------------------ 26 | # JAVA_HOME - location of a JDK home dir 27 | # 28 | # Optional ENV vars 29 | # ----------------- 30 | # M2_HOME - location of maven2's installed home dir 31 | # MAVEN_OPTS - parameters passed to the Java VM when running Maven 32 | # e.g. to debug Maven itself, use 33 | # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 34 | # MAVEN_SKIP_RC - flag to disable loading of mavenrc files 35 | # ---------------------------------------------------------------------------- 36 | 37 | if [ -z "$MAVEN_SKIP_RC" ] ; then 38 | 39 | if [ -f /usr/local/etc/mavenrc ] ; then 40 | . /usr/local/etc/mavenrc 41 | fi 42 | 43 | if [ -f /etc/mavenrc ] ; then 44 | . /etc/mavenrc 45 | fi 46 | 47 | if [ -f "$HOME/.mavenrc" ] ; then 48 | . "$HOME/.mavenrc" 49 | fi 50 | 51 | fi 52 | 53 | # OS specific support. $var _must_ be set to either true or false. 54 | cygwin=false; 55 | darwin=false; 56 | mingw=false 57 | case "`uname`" in 58 | CYGWIN*) cygwin=true ;; 59 | MINGW*) mingw=true;; 60 | Darwin*) darwin=true 61 | # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home 62 | # See https://developer.apple.com/library/mac/qa/qa1170/_index.html 63 | if [ -z "$JAVA_HOME" ]; then 64 | if [ -x "/usr/libexec/java_home" ]; then 65 | export JAVA_HOME="`/usr/libexec/java_home`" 66 | else 67 | export JAVA_HOME="/Library/Java/Home" 68 | fi 69 | fi 70 | ;; 71 | esac 72 | 73 | if [ -z "$JAVA_HOME" ] ; then 74 | if [ -r /etc/gentoo-release ] ; then 75 | JAVA_HOME=`java-config --jre-home` 76 | fi 77 | fi 78 | 79 | if [ -z "$M2_HOME" ] ; then 80 | ## resolve links - $0 may be a link to maven's home 81 | PRG="$0" 82 | 83 | # need this for relative symlinks 84 | while [ -h "$PRG" ] ; do 85 | ls=`ls -ld "$PRG"` 86 | link=`expr "$ls" : '.*-> \(.*\)$'` 87 | if expr "$link" : '/.*' > /dev/null; then 88 | PRG="$link" 89 | else 90 | PRG="`dirname "$PRG"`/$link" 91 | fi 92 | done 93 | 94 | saveddir=`pwd` 95 | 96 | M2_HOME=`dirname "$PRG"`/.. 97 | 98 | # make it fully qualified 99 | M2_HOME=`cd "$M2_HOME" && pwd` 100 | 101 | cd "$saveddir" 102 | # echo Using m2 at $M2_HOME 103 | fi 104 | 105 | # For Cygwin, ensure paths are in UNIX format before anything is touched 106 | if $cygwin ; then 107 | [ -n "$M2_HOME" ] && 108 | M2_HOME=`cygpath --unix "$M2_HOME"` 109 | [ -n "$JAVA_HOME" ] && 110 | JAVA_HOME=`cygpath --unix "$JAVA_HOME"` 111 | [ -n "$CLASSPATH" ] && 112 | CLASSPATH=`cygpath --path --unix "$CLASSPATH"` 113 | fi 114 | 115 | # For Mingw, ensure paths are in UNIX format before anything is touched 116 | if $mingw ; then 117 | [ -n "$M2_HOME" ] && 118 | M2_HOME="`(cd "$M2_HOME"; pwd)`" 119 | [ -n "$JAVA_HOME" ] && 120 | JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" 121 | fi 122 | 123 | if [ -z "$JAVA_HOME" ]; then 124 | javaExecutable="`which javac`" 125 | if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then 126 | # readlink(1) is not available as standard on Solaris 10. 127 | readLink=`which readlink` 128 | if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then 129 | if $darwin ; then 130 | javaHome="`dirname \"$javaExecutable\"`" 131 | javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" 132 | else 133 | javaExecutable="`readlink -f \"$javaExecutable\"`" 134 | fi 135 | javaHome="`dirname \"$javaExecutable\"`" 136 | javaHome=`expr "$javaHome" : '\(.*\)/bin'` 137 | JAVA_HOME="$javaHome" 138 | export JAVA_HOME 139 | fi 140 | fi 141 | fi 142 | 143 | if [ -z "$JAVACMD" ] ; then 144 | if [ -n "$JAVA_HOME" ] ; then 145 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 146 | # IBM's JDK on AIX uses strange locations for the executables 147 | JAVACMD="$JAVA_HOME/jre/sh/java" 148 | else 149 | JAVACMD="$JAVA_HOME/bin/java" 150 | fi 151 | else 152 | JAVACMD="`\\unset -f command; \\command -v java`" 153 | fi 154 | fi 155 | 156 | if [ ! -x "$JAVACMD" ] ; then 157 | echo "Error: JAVA_HOME is not defined correctly." >&2 158 | echo " We cannot execute $JAVACMD" >&2 159 | exit 1 160 | fi 161 | 162 | if [ -z "$JAVA_HOME" ] ; then 163 | echo "Warning: JAVA_HOME environment variable is not set." 164 | fi 165 | 166 | CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher 167 | 168 | # traverses directory structure from process work directory to filesystem root 169 | # first directory with .mvn subdirectory is considered project base directory 170 | find_maven_basedir() { 171 | 172 | if [ -z "$1" ] 173 | then 174 | echo "Path not specified to find_maven_basedir" 175 | return 1 176 | fi 177 | 178 | basedir="$1" 179 | wdir="$1" 180 | while [ "$wdir" != '/' ] ; do 181 | if [ -d "$wdir"/.mvn ] ; then 182 | basedir=$wdir 183 | break 184 | fi 185 | # workaround for JBEAP-8937 (on Solaris 10/Sparc) 186 | if [ -d "${wdir}" ]; then 187 | wdir=`cd "$wdir/.."; pwd` 188 | fi 189 | # end of workaround 190 | done 191 | echo "${basedir}" 192 | } 193 | 194 | # concatenates all lines of a file 195 | concat_lines() { 196 | if [ -f "$1" ]; then 197 | echo "$(tr -s '\n' ' ' < "$1")" 198 | fi 199 | } 200 | 201 | BASE_DIR=`find_maven_basedir "$(pwd)"` 202 | if [ -z "$BASE_DIR" ]; then 203 | exit 1; 204 | fi 205 | 206 | ########################################################################################## 207 | # Extension to allow automatically downloading the maven-wrapper.jar from Maven-central 208 | # This allows using the maven wrapper in projects that prohibit checking in binary data. 209 | ########################################################################################## 210 | if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then 211 | if [ "$MVNW_VERBOSE" = true ]; then 212 | echo "Found .mvn/wrapper/maven-wrapper.jar" 213 | fi 214 | else 215 | if [ "$MVNW_VERBOSE" = true ]; then 216 | echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." 217 | fi 218 | if [ -n "$MVNW_REPOURL" ]; then 219 | jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" 220 | else 221 | jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" 222 | fi 223 | while IFS="=" read key value; do 224 | case "$key" in (wrapperUrl) jarUrl="$value"; break ;; 225 | esac 226 | done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" 227 | if [ "$MVNW_VERBOSE" = true ]; then 228 | echo "Downloading from: $jarUrl" 229 | fi 230 | wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" 231 | if $cygwin; then 232 | wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` 233 | fi 234 | 235 | if command -v wget > /dev/null; then 236 | if [ "$MVNW_VERBOSE" = true ]; then 237 | echo "Found wget ... using wget" 238 | fi 239 | if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then 240 | wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" 241 | else 242 | wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" 243 | fi 244 | elif command -v curl > /dev/null; then 245 | if [ "$MVNW_VERBOSE" = true ]; then 246 | echo "Found curl ... using curl" 247 | fi 248 | if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then 249 | curl -o "$wrapperJarPath" "$jarUrl" -f 250 | else 251 | curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f 252 | fi 253 | 254 | else 255 | if [ "$MVNW_VERBOSE" = true ]; then 256 | echo "Falling back to using Java to download" 257 | fi 258 | javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" 259 | # For Cygwin, switch paths to Windows format before running javac 260 | if $cygwin; then 261 | javaClass=`cygpath --path --windows "$javaClass"` 262 | fi 263 | if [ -e "$javaClass" ]; then 264 | if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then 265 | if [ "$MVNW_VERBOSE" = true ]; then 266 | echo " - Compiling MavenWrapperDownloader.java ..." 267 | fi 268 | # Compiling the Java class 269 | ("$JAVA_HOME/bin/javac" "$javaClass") 270 | fi 271 | if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then 272 | # Running the downloader 273 | if [ "$MVNW_VERBOSE" = true ]; then 274 | echo " - Running MavenWrapperDownloader.java ..." 275 | fi 276 | ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") 277 | fi 278 | fi 279 | fi 280 | fi 281 | ########################################################################################## 282 | # End of extension 283 | ########################################################################################## 284 | 285 | export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} 286 | if [ "$MVNW_VERBOSE" = true ]; then 287 | echo $MAVEN_PROJECTBASEDIR 288 | fi 289 | MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" 290 | 291 | # For Cygwin, switch paths to Windows format before running java 292 | if $cygwin; then 293 | [ -n "$M2_HOME" ] && 294 | M2_HOME=`cygpath --path --windows "$M2_HOME"` 295 | [ -n "$JAVA_HOME" ] && 296 | JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` 297 | [ -n "$CLASSPATH" ] && 298 | CLASSPATH=`cygpath --path --windows "$CLASSPATH"` 299 | [ -n "$MAVEN_PROJECTBASEDIR" ] && 300 | MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` 301 | fi 302 | 303 | # Provide a "standardized" way to retrieve the CLI args that will 304 | # work with both Windows and non-Windows executions. 305 | MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" 306 | export MAVEN_CMD_LINE_ARGS 307 | 308 | WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain 309 | 310 | exec "$JAVACMD" \ 311 | $MAVEN_OPTS \ 312 | $MAVEN_DEBUG_OPTS \ 313 | -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ 314 | "-Dmaven.home=${M2_HOME}" \ 315 | "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ 316 | ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" 317 | -------------------------------------------------------------------------------- /Cab_booking/bin/mvnw: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | # ---------------------------------------------------------------------------- 3 | # Licensed to the Apache Software Foundation (ASF) under one 4 | # or more contributor license agreements. See the NOTICE file 5 | # distributed with this work for additional information 6 | # regarding copyright ownership. The ASF licenses this file 7 | # to you under the Apache License, Version 2.0 (the 8 | # "License"); you may not use this file except in compliance 9 | # with the License. You may obtain a copy of the License at 10 | # 11 | # https://www.apache.org/licenses/LICENSE-2.0 12 | # 13 | # Unless required by applicable law or agreed to in writing, 14 | # software distributed under the License is distributed on an 15 | # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 | # KIND, either express or implied. See the License for the 17 | # specific language governing permissions and limitations 18 | # under the License. 19 | # ---------------------------------------------------------------------------- 20 | 21 | # ---------------------------------------------------------------------------- 22 | # Maven Start Up Batch script 23 | # 24 | # Required ENV vars: 25 | # ------------------ 26 | # JAVA_HOME - location of a JDK home dir 27 | # 28 | # Optional ENV vars 29 | # ----------------- 30 | # M2_HOME - location of maven2's installed home dir 31 | # MAVEN_OPTS - parameters passed to the Java VM when running Maven 32 | # e.g. to debug Maven itself, use 33 | # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000 34 | # MAVEN_SKIP_RC - flag to disable loading of mavenrc files 35 | # ---------------------------------------------------------------------------- 36 | 37 | if [ -z "$MAVEN_SKIP_RC" ] ; then 38 | 39 | if [ -f /usr/local/etc/mavenrc ] ; then 40 | . /usr/local/etc/mavenrc 41 | fi 42 | 43 | if [ -f /etc/mavenrc ] ; then 44 | . /etc/mavenrc 45 | fi 46 | 47 | if [ -f "$HOME/.mavenrc" ] ; then 48 | . "$HOME/.mavenrc" 49 | fi 50 | 51 | fi 52 | 53 | # OS specific support. $var _must_ be set to either true or false. 54 | cygwin=false; 55 | darwin=false; 56 | mingw=false 57 | case "`uname`" in 58 | CYGWIN*) cygwin=true ;; 59 | MINGW*) mingw=true;; 60 | Darwin*) darwin=true 61 | # Use /usr/libexec/java_home if available, otherwise fall back to /Library/Java/Home 62 | # See https://developer.apple.com/library/mac/qa/qa1170/_index.html 63 | if [ -z "$JAVA_HOME" ]; then 64 | if [ -x "/usr/libexec/java_home" ]; then 65 | export JAVA_HOME="`/usr/libexec/java_home`" 66 | else 67 | export JAVA_HOME="/Library/Java/Home" 68 | fi 69 | fi 70 | ;; 71 | esac 72 | 73 | if [ -z "$JAVA_HOME" ] ; then 74 | if [ -r /etc/gentoo-release ] ; then 75 | JAVA_HOME=`java-config --jre-home` 76 | fi 77 | fi 78 | 79 | if [ -z "$M2_HOME" ] ; then 80 | ## resolve links - $0 may be a link to maven's home 81 | PRG="$0" 82 | 83 | # need this for relative symlinks 84 | while [ -h "$PRG" ] ; do 85 | ls=`ls -ld "$PRG"` 86 | link=`expr "$ls" : '.*-> \(.*\)$'` 87 | if expr "$link" : '/.*' > /dev/null; then 88 | PRG="$link" 89 | else 90 | PRG="`dirname "$PRG"`/$link" 91 | fi 92 | done 93 | 94 | saveddir=`pwd` 95 | 96 | M2_HOME=`dirname "$PRG"`/.. 97 | 98 | # make it fully qualified 99 | M2_HOME=`cd "$M2_HOME" && pwd` 100 | 101 | cd "$saveddir" 102 | # echo Using m2 at $M2_HOME 103 | fi 104 | 105 | # For Cygwin, ensure paths are in UNIX format before anything is touched 106 | if $cygwin ; then 107 | [ -n "$M2_HOME" ] && 108 | M2_HOME=`cygpath --unix "$M2_HOME"` 109 | [ -n "$JAVA_HOME" ] && 110 | JAVA_HOME=`cygpath --unix "$JAVA_HOME"` 111 | [ -n "$CLASSPATH" ] && 112 | CLASSPATH=`cygpath --path --unix "$CLASSPATH"` 113 | fi 114 | 115 | # For Mingw, ensure paths are in UNIX format before anything is touched 116 | if $mingw ; then 117 | [ -n "$M2_HOME" ] && 118 | M2_HOME="`(cd "$M2_HOME"; pwd)`" 119 | [ -n "$JAVA_HOME" ] && 120 | JAVA_HOME="`(cd "$JAVA_HOME"; pwd)`" 121 | fi 122 | 123 | if [ -z "$JAVA_HOME" ]; then 124 | javaExecutable="`which javac`" 125 | if [ -n "$javaExecutable" ] && ! [ "`expr \"$javaExecutable\" : '\([^ ]*\)'`" = "no" ]; then 126 | # readlink(1) is not available as standard on Solaris 10. 127 | readLink=`which readlink` 128 | if [ ! `expr "$readLink" : '\([^ ]*\)'` = "no" ]; then 129 | if $darwin ; then 130 | javaHome="`dirname \"$javaExecutable\"`" 131 | javaExecutable="`cd \"$javaHome\" && pwd -P`/javac" 132 | else 133 | javaExecutable="`readlink -f \"$javaExecutable\"`" 134 | fi 135 | javaHome="`dirname \"$javaExecutable\"`" 136 | javaHome=`expr "$javaHome" : '\(.*\)/bin'` 137 | JAVA_HOME="$javaHome" 138 | export JAVA_HOME 139 | fi 140 | fi 141 | fi 142 | 143 | if [ -z "$JAVACMD" ] ; then 144 | if [ -n "$JAVA_HOME" ] ; then 145 | if [ -x "$JAVA_HOME/jre/sh/java" ] ; then 146 | # IBM's JDK on AIX uses strange locations for the executables 147 | JAVACMD="$JAVA_HOME/jre/sh/java" 148 | else 149 | JAVACMD="$JAVA_HOME/bin/java" 150 | fi 151 | else 152 | JAVACMD="`\\unset -f command; \\command -v java`" 153 | fi 154 | fi 155 | 156 | if [ ! -x "$JAVACMD" ] ; then 157 | echo "Error: JAVA_HOME is not defined correctly." >&2 158 | echo " We cannot execute $JAVACMD" >&2 159 | exit 1 160 | fi 161 | 162 | if [ -z "$JAVA_HOME" ] ; then 163 | echo "Warning: JAVA_HOME environment variable is not set." 164 | fi 165 | 166 | CLASSWORLDS_LAUNCHER=org.codehaus.plexus.classworlds.launcher.Launcher 167 | 168 | # traverses directory structure from process work directory to filesystem root 169 | # first directory with .mvn subdirectory is considered project base directory 170 | find_maven_basedir() { 171 | 172 | if [ -z "$1" ] 173 | then 174 | echo "Path not specified to find_maven_basedir" 175 | return 1 176 | fi 177 | 178 | basedir="$1" 179 | wdir="$1" 180 | while [ "$wdir" != '/' ] ; do 181 | if [ -d "$wdir"/.mvn ] ; then 182 | basedir=$wdir 183 | break 184 | fi 185 | # workaround for JBEAP-8937 (on Solaris 10/Sparc) 186 | if [ -d "${wdir}" ]; then 187 | wdir=`cd "$wdir/.."; pwd` 188 | fi 189 | # end of workaround 190 | done 191 | echo "${basedir}" 192 | } 193 | 194 | # concatenates all lines of a file 195 | concat_lines() { 196 | if [ -f "$1" ]; then 197 | echo "$(tr -s '\n' ' ' < "$1")" 198 | fi 199 | } 200 | 201 | BASE_DIR=`find_maven_basedir "$(pwd)"` 202 | if [ -z "$BASE_DIR" ]; then 203 | exit 1; 204 | fi 205 | 206 | ########################################################################################## 207 | # Extension to allow automatically downloading the maven-wrapper.jar from Maven-central 208 | # This allows using the maven wrapper in projects that prohibit checking in binary data. 209 | ########################################################################################## 210 | if [ -r "$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" ]; then 211 | if [ "$MVNW_VERBOSE" = true ]; then 212 | echo "Found .mvn/wrapper/maven-wrapper.jar" 213 | fi 214 | else 215 | if [ "$MVNW_VERBOSE" = true ]; then 216 | echo "Couldn't find .mvn/wrapper/maven-wrapper.jar, downloading it ..." 217 | fi 218 | if [ -n "$MVNW_REPOURL" ]; then 219 | jarUrl="$MVNW_REPOURL/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" 220 | else 221 | jarUrl="https://repo.maven.apache.org/maven2/org/apache/maven/wrapper/maven-wrapper/3.1.0/maven-wrapper-3.1.0.jar" 222 | fi 223 | while IFS="=" read key value; do 224 | case "$key" in (wrapperUrl) jarUrl="$value"; break ;; 225 | esac 226 | done < "$BASE_DIR/.mvn/wrapper/maven-wrapper.properties" 227 | if [ "$MVNW_VERBOSE" = true ]; then 228 | echo "Downloading from: $jarUrl" 229 | fi 230 | wrapperJarPath="$BASE_DIR/.mvn/wrapper/maven-wrapper.jar" 231 | if $cygwin; then 232 | wrapperJarPath=`cygpath --path --windows "$wrapperJarPath"` 233 | fi 234 | 235 | if command -v wget > /dev/null; then 236 | if [ "$MVNW_VERBOSE" = true ]; then 237 | echo "Found wget ... using wget" 238 | fi 239 | if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then 240 | wget "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" 241 | else 242 | wget --http-user=$MVNW_USERNAME --http-password=$MVNW_PASSWORD "$jarUrl" -O "$wrapperJarPath" || rm -f "$wrapperJarPath" 243 | fi 244 | elif command -v curl > /dev/null; then 245 | if [ "$MVNW_VERBOSE" = true ]; then 246 | echo "Found curl ... using curl" 247 | fi 248 | if [ -z "$MVNW_USERNAME" ] || [ -z "$MVNW_PASSWORD" ]; then 249 | curl -o "$wrapperJarPath" "$jarUrl" -f 250 | else 251 | curl --user $MVNW_USERNAME:$MVNW_PASSWORD -o "$wrapperJarPath" "$jarUrl" -f 252 | fi 253 | 254 | else 255 | if [ "$MVNW_VERBOSE" = true ]; then 256 | echo "Falling back to using Java to download" 257 | fi 258 | javaClass="$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.java" 259 | # For Cygwin, switch paths to Windows format before running javac 260 | if $cygwin; then 261 | javaClass=`cygpath --path --windows "$javaClass"` 262 | fi 263 | if [ -e "$javaClass" ]; then 264 | if [ ! -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then 265 | if [ "$MVNW_VERBOSE" = true ]; then 266 | echo " - Compiling MavenWrapperDownloader.java ..." 267 | fi 268 | # Compiling the Java class 269 | ("$JAVA_HOME/bin/javac" "$javaClass") 270 | fi 271 | if [ -e "$BASE_DIR/.mvn/wrapper/MavenWrapperDownloader.class" ]; then 272 | # Running the downloader 273 | if [ "$MVNW_VERBOSE" = true ]; then 274 | echo " - Running MavenWrapperDownloader.java ..." 275 | fi 276 | ("$JAVA_HOME/bin/java" -cp .mvn/wrapper MavenWrapperDownloader "$MAVEN_PROJECTBASEDIR") 277 | fi 278 | fi 279 | fi 280 | fi 281 | ########################################################################################## 282 | # End of extension 283 | ########################################################################################## 284 | 285 | export MAVEN_PROJECTBASEDIR=${MAVEN_BASEDIR:-"$BASE_DIR"} 286 | if [ "$MVNW_VERBOSE" = true ]; then 287 | echo $MAVEN_PROJECTBASEDIR 288 | fi 289 | MAVEN_OPTS="$(concat_lines "$MAVEN_PROJECTBASEDIR/.mvn/jvm.config") $MAVEN_OPTS" 290 | 291 | # For Cygwin, switch paths to Windows format before running java 292 | if $cygwin; then 293 | [ -n "$M2_HOME" ] && 294 | M2_HOME=`cygpath --path --windows "$M2_HOME"` 295 | [ -n "$JAVA_HOME" ] && 296 | JAVA_HOME=`cygpath --path --windows "$JAVA_HOME"` 297 | [ -n "$CLASSPATH" ] && 298 | CLASSPATH=`cygpath --path --windows "$CLASSPATH"` 299 | [ -n "$MAVEN_PROJECTBASEDIR" ] && 300 | MAVEN_PROJECTBASEDIR=`cygpath --path --windows "$MAVEN_PROJECTBASEDIR"` 301 | fi 302 | 303 | # Provide a "standardized" way to retrieve the CLI args that will 304 | # work with both Windows and non-Windows executions. 305 | MAVEN_CMD_LINE_ARGS="$MAVEN_CONFIG $@" 306 | export MAVEN_CMD_LINE_ARGS 307 | 308 | WRAPPER_LAUNCHER=org.apache.maven.wrapper.MavenWrapperMain 309 | 310 | exec "$JAVACMD" \ 311 | $MAVEN_OPTS \ 312 | $MAVEN_DEBUG_OPTS \ 313 | -classpath "$MAVEN_PROJECTBASEDIR/.mvn/wrapper/maven-wrapper.jar" \ 314 | "-Dmaven.home=${M2_HOME}" \ 315 | "-Dmaven.multiModuleProjectDirectory=${MAVEN_PROJECTBASEDIR}" \ 316 | ${WRAPPER_LAUNCHER} $MAVEN_CONFIG "$@" 317 | --------------------------------------------------------------------------------