├── .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 | 
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 |
--------------------------------------------------------------------------------