1 package de.juplo.yourshouter;
3 import java.io.PrintWriter;
6 import javax.annotation.PostConstruct;
7 import javax.inject.Inject;
8 import javax.servlet.http.HttpServletRequest;
9 import javax.servlet.http.HttpServletResponse;
10 import org.springframework.social.connect.ConnectionFactoryLocator;
11 import org.springframework.social.connect.ConnectionRepository;
12 import org.springframework.social.connect.web.ConnectController;
14 import org.springframework.social.facebook.api.Facebook;
15 import org.springframework.social.facebook.api.Permission;
16 import org.springframework.stereotype.Controller;
17 import org.springframework.ui.Model;
18 import org.springframework.web.bind.annotation.RequestMapping;
19 import org.springframework.web.bind.annotation.RequestMethod;
20 import org.springframework.web.context.request.NativeWebRequest;
21 import org.springframework.web.servlet.View;
22 import org.springframework.web.servlet.view.RedirectView;
26 * Controller, that handles requests to the root of the application.
31 @RequestMapping("/permissions.html")
32 public class PermissionsController extends ConnectController
34 private final Facebook facebook;
38 public PermissionsController(
39 ConnectionFactoryLocator connectionFactoryLocator,
40 ConnectionRepository connectionRepository,
44 super(connectionFactoryLocator, connectionRepository);
45 this.facebook = facebook;
57 public String connectionStatus(NativeWebRequest request, Model model)
59 List<Permission> permissions = facebook.userOperations().getUserPermissions();
60 model.addAttribute("permissions", permissions);
64 @RequestMapping(method=RequestMethod.POST)
65 public View connect(NativeWebRequest request)
67 final RedirectView redirect = super.connect("facebook", request);
71 public String getContentType()
79 HttpServletRequest request,
80 HttpServletResponse response
85 PrintWriter writer = response.getWriter();
86 writer.write("<script>");
87 writer.write("top.location.href='");
88 writer.write(redirect.getUrl());
90 writer.write("</script>");
91 response.flushBuffer();
95 public String toString()
97 return redirect.getUrl();
103 protected RedirectView connectionStatusRedirect(
105 NativeWebRequest request
108 return new RedirectView("https://apps.facebook.com/juplo-spielwiese/", true);