package org.fluxtream.connectors.quantifiedmind; import java.io.IOException; import javax.servlet.http.HttpServletRequest; import org.fluxtream.core.Configuration; import org.fluxtream.core.connectors.Connector; import org.fluxtream.connectors.controllers.ControllerSupport; import org.fluxtream.core.domain.ApiKey; import org.fluxtream.core.domain.Guest; import org.fluxtream.core.auth.AuthHelper; import org.fluxtream.core.services.GuestService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.servlet.ModelAndView; @Controller() @RequestMapping("/quantifiedmind") public class QuantifiedMindConnectorController { @Autowired GuestService guestService; @Autowired Configuration env; @RequestMapping(value = "/getTokenDialog") public ModelAndView enterUsername(HttpServletRequest request) { ModelAndView mav = new ModelAndView("connectors/quantifiedmind/getToken"); mav.addObject("redirect_url", ControllerSupport.getLocationBase(request, env) + "quantifiedmind/setToken"); return mav; } @RequestMapping(value = "/setToken") public String getToken(@RequestParam("token") String token, @RequestParam("username") String username) throws IOException { Guest guest = AuthHelper.getGuest(); final Connector connector = Connector.getConnector("quantifiedmind"); final ApiKey apiKey = guestService.createApiKey(guest.getId(), connector); guestService.setApiKeyAttribute(apiKey, "token", token); guestService.setApiKeyAttribute(apiKey, "username", username); return "redirect:/app/from/quantifiedmind"; } }