@Override public void doGet(final HttpServletRequest request, final HttpServletResponse response) throws ServletException, IOException { // set MIME type and encoding response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); // get writer for output final PrintWriter p = response.getWriter(); // make sure that we have obtained an access token, otherwise redirect // to login final String accessToken = request.getParameter("access_token"); if (accessToken == null) { response.sendRedirect(Config.getValue("LOGIN_URL")); return; } else { // Store the token in a session HttpSession session = request.getSession(); session.setAttribute(Config.getValue("ACCESS_TOKEN_SESSION"), accessToken); } // get client final DefaultFacebookClient client = new DefaultFacebookClient(accessToken); // retrieve the document with all friend user ids try { final URL url = new URL( "https://api.facebook.com/method/fql.query?access_token=" + accessToken + "&query=" + URLEncoder.encode( "SELECT name,uid,pic_square FROM user WHERE uid IN ( SELECT uid2 FROM friend WHERE uid1=me() ) ORDER BY name;", "UTF-8")); final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); final DocumentBuilder builder = factory.newDocumentBuilder(); final Document doc = builder.parse(url.openStream()); // returns an XML tree // OutputGenerator.transformToXML(new DOMSource(doc), new // StreamResult(p)); // transform the XML to HTML String xslFile = File.separator + "xsl" + File.separator + "facebook.xsl"; final StreamSource source = new StreamSource(new File(this.getServletContext().getRealPath(xslFile))); OutputGenerator.transformWithStyle(new DOMSource(doc), source, new StreamResult(p)); } catch (final Exception e) { System.out.println(e.getMessage()); e.printStackTrace(); } p.flush(); p.close(); }
public static void main(String[] args) { try { CLI.parse(args, new String[0]); InputStream inputStream = args.length == 0 ? System.in : new java.io.FileInputStream(CLI.infile); if (CLI.target == Action.SCAN) { CScanner scanner = new CScanner(new DataInputStream(inputStream)); scanner.setTrace(CLI.debug); Token token; boolean done = false; while (!done) { try { for (token = scanner.nextToken(); token.getType() != CParserTokenTypes.EOF; token = scanner.nextToken()) { System.out.println(token.getType()); } done = true; } catch (Exception e) { // print the error: System.out.println("ERROR: " + CLI.infile + " " + e); scanner.consume(); } } } else if (CLI.target == Action.PARSE || CLI.target == Action.DOT || CLI.target == Action.DEFAULT) { CScanner scanner = new CScanner(new DataInputStream(inputStream)); CParser parser = new CParser(scanner); parser.setTrace(CLI.debug); parser.program(); if (parser.getError()) { System.out.println("ERROR"); System.exit(-1); } if (CLI.target == Action.DOT) { System.out.println(TreeVisualizer.generateDOT(parser.getAST())); } } else if (CLI.target == Action.LOWIR) { CScanner scanner = new CScanner(new DataInputStream(inputStream)); CParser parser = new CParser(scanner); parser.setTrace(CLI.debug); parser.program(); if (parser.getError()) { System.out.println("ERROR"); System.exit(-1); } IrProgram cfg = (IrProgram) IrGenerator.getIr(parser.getAST()); SemanticChecker checker = new SemanticChecker(); checker.check(cfg); SymbolTable table = checker.getSymbolTable(); OutputGenerator gen = new OutputGenerator(); gen.generate(cfg, table); } else { System.out.println("Unsupported target"); } } catch (Exception e) { // print the error: System.out.println(CLI.infile + " " + e); } }