lab 3: driver: updated OAuthController to use a logger instead of System.out
and updated apiclientconfig.json to use the correct callback URL for
foursquare; shared: updated OAuthServiceManager.APIClientConfiguration to
include the push key; fsqtests.log added example of a pushed checking object
lab 3: driver/shared: moved the getDetailsForUser method in OAuthController
to the OAuthServiceManager and renamed it to callAPI; updated autowiring and
call in UserController.
lab 3: shared: updated JsonSerializationTests to handle raw object
and nested object serialization
lab 3: shared: added JavaJsonAccess utility and tests
lab 3: driver: add UserProfile object to store more user information than
contained in the UserDetails object; added UserProfileManager to manage the
UserProfile objects, plus a method to fetch the foursquare user id when a
user authorizes the app to access their foursquare account; updated
OAuthController to call UserProfileManager.updateApiID; added entry to
driver-spring-pages-servlet for initializing the UserProfileManager.
lab 3: driver: updated ExertnalAPINotificationsController to parse the json
objects and extract the foursquare user ID and the lat/lng values
lab 3: driver: ExternalAPINotificationsController now updates the lat/lng of
the users; added a method to UserProfileManager to get the UserProfiles
containing a given API ID, it is possible for multiple driver users to have
the same API ID; updated UserProfile to store a latitude and longitude.
lab 3: shared: added getValueAs method to JavaJsonAccess; driver: updated
ExternalAPINotificationsController to use JavaJsonAccess.getValueAs
lab 3: driver: added TODO comment in UserController and removed unnecessary
imports from ExternalAPINotificationsController and UserProfileManager
lab 3: shared: added SphericalUtils and tests for the great circle distance
lab 3: driver: EventDispatchController now calculates the great circle
distance between the shop's location and the lat/lng last seen for the user
and only sends a bid_available event automatically if withing 5 miles (
hard-coded); will need to handle the storing of events later