1 package de.juplo.yourshouter;
3 import java.io.PrintWriter;
6 import javax.inject.Inject;
7 import javax.servlet.http.HttpServletRequest;
8 import javax.servlet.http.HttpServletResponse;
9 import org.springframework.social.connect.ConnectionFactoryLocator;
10 import org.springframework.social.connect.ConnectionRepository;
11 import org.springframework.social.connect.web.ConnectController;
13 import org.springframework.social.facebook.api.Facebook;
14 import org.springframework.social.facebook.api.Permission;
15 import org.springframework.stereotype.Controller;
16 import org.springframework.ui.Model;
17 import org.springframework.web.bind.annotation.RequestMapping;
18 import org.springframework.web.bind.annotation.RequestMethod;
19 import org.springframework.web.context.request.NativeWebRequest;
20 import org.springframework.web.servlet.View;
21 import org.springframework.web.servlet.view.RedirectView;
25 * Controller, that handles requests to the root of the application.
30 @RequestMapping("/permissions.html")
31 public class PermissionsController extends ConnectController
33 private final Facebook facebook;
37 public PermissionsController(
38 ConnectionFactoryLocator connectionFactoryLocator,
39 ConnectionRepository connectionRepository,
43 super(connectionFactoryLocator, connectionRepository);
44 this.facebook = facebook;
49 public String connectionStatus(NativeWebRequest request, Model model)
51 List<Permission> permissions = facebook.userOperations().getUserPermissions();
52 model.addAttribute("permissions", permissions);
56 @RequestMapping(method=RequestMethod.POST)
57 public View connect(NativeWebRequest request)
59 final RedirectView redirect = super.connect("facebook", request);
63 public String getContentType()
71 HttpServletRequest request,
72 HttpServletResponse response
77 PrintWriter writer = response.getWriter();
78 writer.write("<script>");
79 writer.write("top.location.href='");
80 writer.write(redirect.getUrl());
82 writer.write("</script>");
83 response.flushBuffer();
89 protected RedirectView connectionStatusRedirect(
91 NativeWebRequest request
94 return new RedirectView("/permissions.html", true);