-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathInternalRequestProcessor.java
More file actions
19 lines (18 loc) · 1.07 KB
/
InternalRequestProcessor.java
File metadata and controls
19 lines (18 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public class InternalRequestProcessor {
void addNextStop(InternalRequest internalRequest) {
ElevatorManager elevatorManager=ElevatorManager.getElevatorManagerInstance();
Elevator elevator=elevatorManager.elevatorHashMap.get(internalRequest.getElevatorID());
NextFloorDirectionPair nextFloorDirectionPair=new NextFloorDirectionPair();
nextFloorDirectionPair.nextFloor=internalRequest.floorNo;
if(elevator.currentFloor==internalRequest.floorNo){
System.out.println("Cannot go to same floor");
}
else if(elevator.currentFloor>internalRequest.floorNo && internalRequest.floorNo>0){
nextFloorDirectionPair.elevatorDirection=ElevatorDirection.DOWN;
}
else if(elevator.currentFloor<internalRequest.floorNo && internalRequest.floorNo<= elevatorManager.getNoOfFloors())
nextFloorDirectionPair.elevatorDirection=ElevatorDirection.UP;
else System.out.println("Throw Error: Invalid Request at InternalRequestProcessor");
elevator.requestQueue.add(nextFloorDirectionPair);
}
}