Java Reference
In-Depth Information
B
Finds or creates
pending order
PendingOrderDTO pendingOrder =
findOrCreatePendingOrder(pendingOrderId);
Calendar earliestDeliveryTime = Calendar
.getInstance();
earliestDeliveryTime
.add(Calendar.HOUR, 1);
C
Checks
delivery time
if (deliveryTime
.before(earliestDeliveryTime
.getTime())) {
return new UpdateDeliveryInfoResult(
UpdateDeliveryInfoResult.
bbbbbb
b
➥
INVALID_DELIVERY_INFO,
pendingOrder, null);
}
List availableRestaurants =
restaurantDAO
.findAvailableRestaurants(
deliveryAddress, deliveryTime);
if (availableRestaurants.isEmpty()) {
return new UpdateDeliveryInfoResult (
UpdateDeliveryInfoResult.
bbbbbbb
b
➥
NO_RESTAURANT_AVAILABLE,
pendingOrder, null);
}
pendingOrder
.setDeliveryAddress(deliveryAddress);
pendingOrder
.setDeliveryTime(deliveryTime);
pendingOrder
.setState(PendingOrder.
bbbbbbbb
b
➥
DELIVERY_INFO_SPECIFIED);
pendingOrderDAO
.savePendingOrder(pendingOrder);
return new UpdateDeliveryInfoResult(
UpdateDeliveryInfoResult.
bbbbbb
➥
SELECT_RESTAURANT,
pendingOrder,
availableRestaurants);
}
D
Finds available
restaurants
E
Returns error code
if there are none
F
Updates
PendingOrderDTO
G
Saves PendingOrderDTO
back to database
H
Creates
result object
private PendingOrderDTO findOrCreatePendingOrder(
String pendingOrderId) {
if (pendingOrderId == null)
Search WWH ::
Custom Search