Exemplo n.º 1
0
  @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();
  }
Exemplo n.º 2
0
  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);
    }
  }