package service; import api.v1.User; import api.v1.UserPreferences; import controllers.PoseidonController; import exceptions.PoseidonException; import models.CoordinateFormat; import models.UserPreferenceModel; import play.mvc.Http; public class UserPreferenceService extends PoseidonService { public UserPreferenceService(String username) { super(username); } public UserPreferenceModel updatePreferences(User user, UserPreferences prefs) { auth.models.User userModel = auth.models.User.findById(Long.valueOf(user.id)); userModel.preferences.showGrid = prefs.showGrid; switch (prefs.coordinateFormat){ case DECIMAL_DEGREES: userModel.preferences.coordinateFormat = CoordinateFormat.DECIMAL_DEGREES; break; case DEGREES_MINUTES_SECONDS: userModel.preferences.coordinateFormat = CoordinateFormat.DEGREES_MINUTES_SECONDS; break; case UTM: userModel.preferences.coordinateFormat = CoordinateFormat.UTM; break; } userModel.updated = PoseidonService.getNow().toDate(); userModel.updatedBy = user.username; userModel.preferences.save(); userModel.save(); return userModel.preferences; } }