Package org.dbwiki.web.ui.printer.page

Examples of org.dbwiki.web.ui.printer.page.PageContentPrinter


    if (isGetRequest) {
      contentGenerator.put(DatabaseWikiContentGenerator.ContentMenu,
          new PageMenuPrinter(request));
      contentGenerator.put(DatabaseWikiContentGenerator.ContentContent,
          new PageContentPrinter(request, _layouter));
    } else if ((isIndexRequest) || (request.type().isDelete())
        || (action.actionInsert())) {
      contentGenerator.put(DatabaseWikiContentGenerator.ContentMenu,
          new PageMenuPrinter(request));
      if (DatabaseLayouter.IndexAZMultiPage.equals(_layouter.indexType())) {
View Full Code Here


     */
    @Override
    public void print(Printer printer) {
      HtmlLinePrinter body = new HtmlLinePrinter();
     
        PageContentPrinter contentPrinter = (PageContentPrinter)((ExtendedPrinter) printer).getExtension();
        Database database = contentPrinter.getDatabase();
     
      try {     
        String query = _queryString;
        if(query.toLowerCase().startsWith("ignore:")) {
          return;
        }
        else if(query.toLowerCase().startsWith("chart:") || query.toLowerCase().startsWith("chart(")) {
          // FIXME: should parse the arguments to charts in a more
          // sensible scalable way.
          query = query.substring("chart".length());
          String xSize = "800";
          String ySize = "600";
          if(query.startsWith("(")) {
            int comma = query.indexOf(",");
            int closeParen = query.indexOf(")", comma);
            int colon = query.indexOf(":", closeParen);
           
            if(comma == -1 || closeParen == -1 || colon != closeParen+1)
              throw new WikiQueryException(WikiQueryException.UnknownQueryFormat, _queryString);
           
            xSize = query.substring(1, comma);
            ySize = query.substring(comma+1, closeParen);
            query = query.substring(colon+1);
          } else {
            query = query.substring(1);
          }
          QueryResultSet rs = database.query(query);
          body.openPARAGRAPH(CSS.CSSPageText);
          drawChart(ChartType.Column, xSize, ySize, rs, body);
        } else if(query.toLowerCase().startsWith("pie:") || query.toLowerCase().startsWith("pie(")) {
          // FIXME: should parse the arguments to charts in a more
          // sensible scalable way.
          query = query.substring("pie".length());
          String xSize = "800";
          String ySize = "600";
          if(query.startsWith("(")) {
            int comma = query.indexOf(",");
            int closeParen = query.indexOf(")", comma);
            int colon = query.indexOf(":", closeParen);

            if(comma == -1 || closeParen == -1 || colon != closeParen+1)
              throw new WikiQueryException(WikiQueryException.UnknownQueryFormat, _queryString);

            xSize = query.substring(1, comma);
            ySize = query.substring(comma+1, closeParen);
            query = query.substring(colon+1);
          } else {
            query = query.substring(1);
          }
          QueryResultSet rs = database.query(query);
          body.openPARAGRAPH(CSS.CSSPageText);
          drawChart(ChartType.Pie, xSize, ySize, rs, body);
        } else if(query.toLowerCase().startsWith("map:")) {
          query = query.substring("map:".length());
          QueryResultSet rs = database.query(query);
          body.openPARAGRAPH(CSS.CSSPageText);
          drawMap(rs, body);
        } else {
          QueryResultSet rs = database.query(query);
          if (!rs.isEmpty()) {
            body.openPARAGRAPH(CSS.CSSPageText);
            if (rs.isElement()) {
              RequestParameterVersion versionParameter = null;
              if (rs.hasTimestamp()) {
                versionParameter = new RequestParameterVersionTimestamp(rs.getTimestamp());
              } else {
                versionParameter = new RequestParameterVersionCurrent();
              }
              body.add(contentPrinter.getLinesForNodeList(new SchemaNodeList(rs),
                                    versionParameter));
            } else {
              for (int i = 0; i < rs.size(); i++) {
                contentPrinter.printTextNode((DatabaseTextNode)rs.get(i), body);
              }
            }
          }
        }
    } catch (org.dbwiki.exception.data.WikiQueryException queryException) {
View Full Code Here

TOP

Related Classes of org.dbwiki.web.ui.printer.page.PageContentPrinter

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.