/* (non-Javadoc) * @see com.nebulent.vectura.services.resources.v1.AccountResource#createAccountRide(java.lang.String, nebulent.schema.software.vectura._1.Ride) */ @Override public Ride createAccountRide(String accountId, Ride ride) { if (StringUtils.isBlank(accountId)) { throw new BadRequestException( new StatusResponse(false, "Account ID is a required field.", null)); } ride.setAccountId(accountId); com.nebulent.vectura.data.model.mongodb.Ride mongoRide = DomainUtils.toRide(ride); mongoRide = getMongoRepository().getRideRepository().save(mongoRide); ride = DomainUtils.toRide(mongoRide); // Create pick-up location. Place place = new Place(); place.setAddress(ride.getDropOffAddress()); Place dropoffPlace = createAccountPlace(accountId, place); if (dropoffPlace != null) { ride.setDropOffAddress(dropoffPlace.getAddress()); } // Create drop-off location. place = new Place(); place.setAddress(ride.getPickupAddress()); Place pickupPlace = createAccountPlace(accountId, place); if (pickupPlace != null) { ride.setPickupAddress(pickupPlace.getAddress()); } return ride; }
/* (non-Javadoc) * @see com.nebulent.vectura.services.resources.v1.RideResource#findRide(java.lang.String) */ @Override public Ride findRide(String id) { if (StringUtils.isBlank(id)) { throw new BadRequestException( new StatusResponse(false, "Ride ID is a required field.", null)); } com.nebulent.vectura.data.model.mongodb.Ride ride = getMongoRepository().getRideRepository().findOne(id); if (ride != null) { return DomainUtils.toRide(ride); } throw new NotFoundException(new StatusResponse(false, "Ride not found by id:", id)); }