import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.http.*; import java.util.*; import org.w3c.dom.Document; import com.facebook.api.*; import com.facebook.api.*; public class MainPageServlet extends AbstractFacebookServlet implements javax.servlet.Servlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { FacebookJsonRestClient facebook = getAuthenticatedFacebookClient(request, response); String page = request.getParameter("page"); String user = request.getParameter("fb_sig_user"); String newFacebook = request.getParameter("fb_sig_in_new_facebook"); PrintWriter servletOutput; // output of servlet. HTML or FBML out String loginPage = "http://www.facebook.com/login.php?api_key="+FB_API_KEY+"&v=1.0&canvas=true"; servletOutput = response.getWriter(); // response is sent to ServletOutput response.setContentType( "text/html" ); if (facebook==null){ if (newFacebook.equals("1")){ loginPage = "http://www.new.facebook.com/login.php?api_key="+FB_API_KEY+"&v=1.0&canvas=true"; } //String loginPage = "http://www.facebook.com/login.php?api_key="+"bd5896c1ffe7ebd69e07bbd720d357ba"+"&v=1.0&canvas=true"; servletOutput.println(""); }else{ Long userLong = new Long(user); if (facebook != null) { List profileList = new ArrayList(); ProfileFieldItem javaPagesItem = new ProfileFieldItem("Java Pages", "http://apps.new.facebook.com/javapages/"); ProfileInfoField pif = new ProfileInfoField ("Test"); pif.addItem(javaPagesItem); profileList.add(pif); try { /* facebook.profile_setInfo( userLong, "Java Pages", true, profileList ); */ if (page==null){ request.getRequestDispatcher("/main_page.jsp").forward(request, response); } else if (page.equals("add")){ facebook.profile_setFBML("my app", null, userLong); request.getRequestDispatcher("/added.jsp").forward(request, response); } else if (page.equals("invite")){ request.getRequestDispatcher("/invite.jsp").forward(request, response); } else if (page.equals("Editor")){ request.getRequestDispatcher("/Editor.jsp").forward(request, response); } else if (page.equals("EditorResult")){ request.getRequestDispatcher("/EditorResult.jsp").forward(request, response); } else if (page.equals("main_tab")){ request.getRequestDispatcher("/main_tab_page.jsp").forward(request, response); } else if (page.equals("setProfile")){ String profileString = request.getParameter("profileString"); if (profileString== null){ request.getRequestDispatcher("/setprofile.jsp").forward(request, response); }else{ //facebook.profile_setFBML(profileString, null,userLong); facebook.profile_setFBML( userLong, profileString, null,null, "test"); //$result = $facebook->api_client->profile_setFBML(null, $user, $fbml, null, null , $fbml); //$facebook->api_client->profile_setFBML(NULL, 128009, 'profile', 'profile_action', 'mobile_profile', 'profile_main'); request.getRequestDispatcher("/setprofilesuccess.jsp").forward(request, response); } } else if (page.equals("sendNotification")){ String notificationString = request.getParameter("notificationString"); if (notificationString== null){ request.getRequestDispatcher("/sendNotification.jsp").forward(request, response); }else{ facebook.notifications_send(notificationString); request.getRequestDispatcher("/sendNotificationSuccess.jsp").forward(request, response); } //String not null }// page is send Notification else if (page.equals("MockAjax")){ String mockFbmlText = request.getParameter("mockfbmltext"); if (mockFbmlText== null){ request.getRequestDispatcher("/MockAjax.jsp").forward(request, response); }else{ request.getRequestDispatcher("/MockAjaxSuccess.jsp").forward(request, response); } //String not null }// page is MockAJax else if (page.equals("minifeed")){ String minifeedString = request.getParameter("minifeedString"); if (minifeedString== null){ request.getRequestDispatcher("/minifeed.jsp").forward(request, response); }else{ String appUrl = new String("Java Pages"); String title = " said: " + minifeedString + " using " + appUrl; String body = "Make Java development in Facebook easier by example"; //TemplatizedAction action = new TemplatizedAction("{actor} said: " + minifeedString + " using " + appUrl); //action.setBodyGeneral("Make Java development in Facebook easier by example"); //facebook.feed_PublishTemplatizedAction(action); boolean storyPublished; storyPublished = facebook.feed_publishActionOfUser(title, body); if (storyPublished){ request.getRequestDispatcher("/minifeedSuccess.jsp").forward(request, response); }else{ request.setAttribute("ErrorMsg", storyPublished + " Permission Error publishing story"); request.getRequestDispatcher("/error.jsp").forward(request, response); } } //String not null }// page is send minifeed else { request.getRequestDispatcher("/main_page.jsp").forward(request, response); // new facebook auth takes us here } } catch (FacebookException e) { request.setAttribute("ErrorMsg", e.toString()); request.getRequestDispatcher("/error.jsp").forward(request, response); } } } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } /* * This method obtains some basic Facebook profile * information from the logged in user who is * accessing our application in the current HTTP request. */ }