After cloning the repository, run the following commands on the root folder of the repository
mvn clean package
java -jar target/airline-2.0.jar
mvn clean package -Dmaven.test.skip=true
To simulate objects call CLI command
mock
API should be available under http://localhost:8080
Add, edit, delete a aircraft:
Method | MediaType | URL | Body example | Description |
---|---|---|---|---|
POST | application_json | /commuterliners /helicopters /wideBodyAirliners |
{ "name": "Skyvan SD-330", "seatingCapacity": 10, "carryingCapacityKg": 2000, "flightRangeKm": 10000, "fuelConsumptionLitersPerHour": 150 } |
Add aircraft |
PUT | application_json | /aircrafts/{id} | { "name": "Skyvan SD-330 2", "seatingCapacity": 20, "carryingCapacityKg": 4000, "flightRangeKm": 10000, "fuelConsumptionLitersPerHour": 150 } |
Edit aircraft |
DELETE | /aircrafts/{id} | Delete aircraft |
Get calculated total passenger capacity and cargo capacity of all the aircrafts in the airline:
Method | URL | Description |
---|---|---|
GET | /total-passenger-capacity | Get calculated total passenger capacity |
GET | /total-cargo-capacity | Get calculated total cargo capacity |
Get sorted list of all aircrafts in the airline. Sort the aircrafts by flight range (from smaller to larger):
Method | URL | Description |
---|---|---|
GET | /aircraft-sorted-by-flight-range /aircrafts?sort=flightrangekm |
Get sorted list of aircrafts by flight range |
Find aircraft corresponding to the specified range of fuel consumption parameters (liters per hour):
Method | URL | Description |
---|---|---|
GET | /aircraft-in-fuel-range?from={fromLitersPerHour}&to={toLitersPerHour} | Find aircraft corresponding to the specified range of fuel consumption |
Find aircraft which corresponding to the specified passenger capacity and the flight range (strict conformity):
Method | URL | Description |
---|---|---|
GET | /aircraft-corresponding-to?seating-capacity={seatingCapacity}&flight-range={flightRange} | Find aircraft corresponding to the specified passenger capacity and the flight range (strict conformity) |
Enter help
to list all commands
Airline (to display available commands type help)
airline>help
AVAILABLE COMMANDS
Airline Shell Controller
add: Add aircraft
cc: Carrying capacity of all the aircraft in the airline
delete: Delete
fuel: Airplanes corresponding to a given range of fuel consumption parameters
mock: Simulate objects
search: Search
show: Show all aircraft
sort: List of aircraft of the company sorted by flight range
tc: Total capacity of all the aircraft in the airline
Built-In Commands
clear: Clear the shell screen.
exit, quit: Exit the shell.
help: Display help about available commands.
script: Read and execute commands from a file.
stacktrace: Display the full stacktrace of the last error
airline>|
Here's the sample session:
Airline (to display available commands type help)
airline>show
ββββ¬βββββ¬βββββββββββββββββ¬ββββββββββββββββββββββ¬βββββββββββββββββ¬ββββββββββββββββββββββ
βIDβTypeβSeating capacityβCarrying capacity, KgβFlight range, KmβFuel consumption, L/hβ
ββββ΄βββββ΄βββββββββββββββββ΄ββββββββββββββββββββββ΄βββββββββββββββββ΄ββββββββββββββββββββββ
airline>mock
airline>show
ββββ¬βββββββββββββββββββ¬βββββββββββββββββ¬ββββββββββββββββββββββ¬βββββββββββββββββ¬ββββββββββββββββββββββ
βIDβType βSeating capacityβCarrying capacity, KgβFlight range, KmβFuel consumption, L/hβ
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β1 βCOMMUTERLINER β10 β2000 β10000 β150 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β2 βHELICOPTER β18 β800 β3050 β350 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β3 βWIDE_BODY_AIRLINERβ200 β18000 β14300 β555 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β4 βCOMMUTERLINER β150 β5550 β1000 β990 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β5 βHELICOPTER β4 β2110 β2300 β120 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β6 βWIDE_BODY_AIRLINERβ777 β400 β19500 β1150 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β7 βCOMMUTERLINER β101 β2014 β1675 β350 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β8 βHELICOPTER β9 β900 β1900 β120 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β9 βWIDE_BODY_AIRLINERβ1020 β12000 β10100 β1600 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β10βWIDE_BODY_AIRLINERβ555 β14500 β9900 β2500 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β11βCOMMUTERLINER β19 β4500 β5675 β1001 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β12βHELICOPTER β24 β2600 β900 β630 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β13βWIDE_BODY_AIRLINERβ8 β8950 β12500 β1340 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β14βCOMMUTERLINER β189 β1600 β19000 β2250 β
ββββ΄βββββββββββββββββββ΄βββββββββββββββββ΄ββββββββββββββββββββββ΄βββββββββββββββββ΄ββββββββββββββββββββββ
airline>tc
3084
airline>cc
75924
airline>fuel 800 1400
ββββ¬βββββββββββββββββββ¬βββββββββββββββββ¬ββββββββββββββββββββββ¬βββββββββββββββββ¬ββββββββββββββββββββββ
βIDβType βSeating capacityβCarrying capacity, KgβFlight range, KmβFuel consumption, L/hβ
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β6 βWIDE_BODY_AIRLINERβ777 β400 β19500 β1150 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β13βWIDE_BODY_AIRLINERβ8 β8950 β12500 β1340 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β4 βCOMMUTERLINER β150 β5550 β1000 β990 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β11βCOMMUTERLINER β19 β4500 β5675 β1001 β
ββββ΄βββββββββββββββββββ΄βββββββββββββββββ΄ββββββββββββββββββββββ΄βββββββββββββββββ΄ββββββββββββββββββββββ
airline>sort
ββββ¬βββββββββββββββββββ¬βββββββββββββββββ¬ββββββββββββββββββββββ¬βββββββββββββββββ¬ββββββββββββββββββββββ
βIDβType βSeating capacityβCarrying capacity, KgβFlight range, KmβFuel consumption, L/hβ
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β12βHELICOPTER β24 β2600 β900 β630 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β4 βCOMMUTERLINER β150 β5550 β1000 β990 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β7 βCOMMUTERLINER β101 β2014 β1675 β350 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β8 βHELICOPTER β9 β900 β1900 β120 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β5 βHELICOPTER β4 β2110 β2300 β120 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β2 βHELICOPTER β18 β800 β3050 β350 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β11βCOMMUTERLINER β19 β4500 β5675 β1001 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β10βWIDE_BODY_AIRLINERβ555 β14500 β9900 β2500 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β1 βCOMMUTERLINER β10 β2000 β10000 β150 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β9 βWIDE_BODY_AIRLINERβ1020 β12000 β10100 β1600 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β13βWIDE_BODY_AIRLINERβ8 β8950 β12500 β1340 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β3 βWIDE_BODY_AIRLINERβ200 β18000 β14300 β555 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β14βCOMMUTERLINER β189 β1600 β19000 β2250 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β6 βWIDE_BODY_AIRLINERβ777 β400 β19500 β1150 β
ββββ΄βββββββββββββββββββ΄βββββββββββββββββ΄ββββββββββββββββββββββ΄βββββββββββββββββ΄ββββββββββββββββββββββ
airline>sort -desc
ββββ¬βββββββββββββββββββ¬βββββββββββββββββ¬ββββββββββββββββββββββ¬βββββββββββββββββ¬ββββββββββββββββββββββ
βIDβType βSeating capacityβCarrying capacity, KgβFlight range, KmβFuel consumption, L/hβ
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β6 βWIDE_BODY_AIRLINERβ777 β400 β19500 β1150 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β14βCOMMUTERLINER β189 β1600 β19000 β2250 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β3 βWIDE_BODY_AIRLINERβ200 β18000 β14300 β555 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β13βWIDE_BODY_AIRLINERβ8 β8950 β12500 β1340 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β9 βWIDE_BODY_AIRLINERβ1020 β12000 β10100 β1600 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β1 βCOMMUTERLINER β10 β2000 β10000 β150 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β10βWIDE_BODY_AIRLINERβ555 β14500 β9900 β2500 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β11βCOMMUTERLINER β19 β4500 β5675 β1001 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β2 βHELICOPTER β18 β800 β3050 β350 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β5 βHELICOPTER β4 β2110 β2300 β120 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β8 βHELICOPTER β9 β900 β1900 β120 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β7 βCOMMUTERLINER β101 β2014 β1675 β350 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β4 βCOMMUTERLINER β150 β5550 β1000 β990 β
ββββΌβββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β12βHELICOPTER β24 β2600 β900 β630 β
ββββ΄βββββββββββββββββββ΄βββββββββββββββββ΄ββββββββββββββββββββββ΄βββββββββββββββββ΄ββββββββββββββββββββββ
airline>add HELICOPTER 1 2 3 4
airline>fuel 0 10
ββββ¬βββββββββββ¬βββββββββββββββββ¬ββββββββββββββββββββββ¬βββββββββββββββββ¬ββββββββββββββββββββββ
βIDβType βSeating capacityβCarrying capacity, KgβFlight range, KmβFuel consumption, L/hβ
ββββΌβββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β15βHELICOPTERβ1 β2 β3 β4 β
ββββ΄βββββββββββ΄βββββββββββββββββ΄ββββββββββββββββββββββ΄βββββββββββββββββ΄ββββββββββββββββββββββ
airline>help add
NAME
add - Add aircraft
SYNOPSYS
add [-aircraft-type] aircraft-type [[-seating-capacity] int] [[-carrying-capacity-kg] int] [[-flight-range-km] int] [[-fuel-consumption-liters-per-hour] int]
OPTIONS
-aircraft-type aircraft-type
Type [WIDE_BODY_AIRLINER|COMMUTERLINER|HELICOPTER]
[Mandatory]
-seating-capacity int
Seating capacity
[Optional, default = 0]
-carrying-capacity-kg int
Carrying capacity (kg)
[Optional, default = 0]
-flight-range-km int
Flight range (km)
[Optional, default = 0]
-fuel-consumption-liters-per-hour int
Fuel consumption (liters per hour)
[Optional, default = 0]
airline>add HELICOPTER -seating-capacity 8
airline>fuel 0 10
ββββ¬βββββββββββ¬βββββββββββββββββ¬ββββββββββββββββββββββ¬βββββββββββββββββ¬ββββββββββββββββββββββ
βIDβType βSeating capacityβCarrying capacity, KgβFlight range, KmβFuel consumption, L/hβ
ββββΌβββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β15βHELICOPTERβ1 β2 β3 β4 β
ββββΌβββββββββββΌβββββββββββββββββΌββββββββββββββββββββββΌβββββββββββββββββΌββββββββββββββββββββββ€
β16βHELICOPTERβ8 β0 β0 β0 β
ββββ΄βββββββββββ΄βββββββββββββββββ΄ββββββββββββββββββββββ΄βββββββββββββββββ΄ββββββββββββββββββββββ
airline>exit