Ejemplo n.º 1
0
 protected internal virtual void addHtmlSections(HtmlDocumentBuilder builder, IDictionary <string, object> sections, int level)
 {
     foreach (string section in sections.Keys)
     {
         addHtmlSection(builder, section, sections[section], level);
     }
 }
Ejemplo n.º 2
0
        public virtual string execute()
        {
            HtmlDocumentBuilder builder = new HtmlDocumentBuilder(new HtmlElementWriter("html"));

            addHtmlHead(builder);
            addHtmlBody(builder);

            return(builder.endElement().HtmlString);
        }
Ejemplo n.º 3
0
        public virtual string execute()
        {
            HtmlDocumentBuilder documentBuilder = new HtmlDocumentBuilder(new HtmlElementWriter("html"));

            /// <summary>
            /// <head>...</head> </summary>
            documentBuilder.startElement(new HtmlElementWriter("head")).startElement((new HtmlElementWriter("title")).textContent(reportName)).endElement().startElement(new HtmlElementWriter("link")
                                                                                                                                                                         .attribute("rel", "stylesheet").attribute("href", "http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css")).endElement().startElement(new HtmlElementWriter("link")
                                                                                                                                                                                                                                                                                                                              .attribute("rel", "stylesheet").attribute("href", "http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap-theme.min.css")).endElement().endElement();

            /// <summary>
            /// <body> </summary>
            HtmlDocumentBuilder bodyBuilder = documentBuilder.startElement(new HtmlElementWriter("body")).startElement((new HtmlElementWriter("div")).attribute("class", "container"));

            /// <summary>
            /// build Headline row </summary>
            bodyBuilder.startElement((new HtmlElementWriter("div")).attribute("class", "row")).startElement((new HtmlElementWriter("div")).attribute("class", "coll-md-12")).startElement((new HtmlElementWriter("h1")).textContent(reportName)).endElement().endElement().endElement();

            if (!string.ReferenceEquals(jsonSourceFileName, null) || !string.ReferenceEquals(csvSourceFileName, null))
            {
                HtmlDocumentBuilder sourceRow = bodyBuilder.startElement((new HtmlElementWriter("div")).attribute("class", "row")).startElement((new HtmlElementWriter("div")).attribute("class", "coll-md-12")).startElement(new HtmlElementWriter("p"));

                if (!string.ReferenceEquals(jsonSourceFileName, null))
                {
                    sourceRow.startElement(new HtmlElementWriter("a")
                                           .attribute("href", jsonSourceFileName).textContent("This Report as JSON")).endElement();
                }

                if (!string.ReferenceEquals(jsonSourceFileName, null))
                {
                    sourceRow.startElement((new HtmlElementWriter("span")).textContent("&nbsp;|&nbsp;")).endElement();
                }

                if (!string.ReferenceEquals(jsonSourceFileName, null))
                {
                    sourceRow.startElement(new HtmlElementWriter("a")
                                           .attribute("href", csvSourceFileName).textContent("This Report as CSV")).endElement();
                }

                sourceRow.endElement().endElement().endElement();
            }

            bodyBuilder.startElement((new HtmlElementWriter("div")).attribute("class", "row")).startElement((new HtmlElementWriter("div")).attribute("class", "coll-md-12"));

            writeResultTable(bodyBuilder);

            bodyBuilder.endElement().endElement();


            /// <summary>
            /// </body> </summary>
            bodyBuilder.endElement().endElement();

            return(documentBuilder.endElement().HtmlString);
        }
Ejemplo n.º 4
0
 protected internal virtual void addHtmlBody(HtmlDocumentBuilder builder)
 {
     builder.startElement(new HtmlElementWriter("body"));
     builder.startElement((new HtmlElementWriter("div")).attribute("class", "container"));
     builder.startElement((new HtmlElementWriter("div")).attribute("class", "row"));
     builder.startElement((new HtmlElementWriter("div")).attribute("class", "coll-md-12"));
     builder.startElement((new HtmlElementWriter("h1")).textContent(reportName)).endElement();
     addHtmlSections(builder, sections, 3);
     builder.endElement();
     builder.endElement();
     builder.endElement();
     builder.endElement();
 }
Ejemplo n.º 5
0
//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes:
//ORIGINAL LINE: @SuppressWarnings("unchecked") protected void addHtmlSection(org.camunda.bpm.engine.impl.form.engine.HtmlDocumentBuilder builder, String title, Object section, int level)
        protected internal virtual void addHtmlSection(HtmlDocumentBuilder builder, string title, object section, int level)
        {
            // add heading
            builder.startElement((new HtmlElementWriter("h" + level)).textContent(title)).endElement();
            if (section is System.Collections.IDictionary)
            {
                IDictionary <string, object> sections = (IDictionary <string, object>)section;
                addHtmlSections(builder, sections, level + 1);
            }
            else
            {
                TabularResultSet resultSet = (TabularResultSet)section;
                addHtmlTable(builder, resultSet);
            }
        }
Ejemplo n.º 6
0
        protected internal virtual void addHtmlTable(HtmlDocumentBuilder builder, TabularResultSet resultSet)
        {
            /// <summary>
            /// <table> </summary>
            builder.startElement((new HtmlElementWriter("table")).attribute("class", "table table-condensed table-hover table-bordered"));

            /// <summary>
            /// <tr> </summary>

            HtmlDocumentBuilder tableHeadRowBuilder = builder.startElement(new HtmlElementWriter("tr"));

            foreach (string columnName in resultSet.ResultColumnNames)
            {
                tableHeadRowBuilder.startElement((new HtmlElementWriter("th")).textContent(columnName)).endElement();
            }

            /// <summary>
            /// </tr> </summary>
            tableHeadRowBuilder.endElement();

            foreach (IList <object> resultRow in resultSet.Results)
            {
                /// <summary>
                /// <tr> </summary>
                HtmlDocumentBuilder tableRowBuilder = builder.startElement(new HtmlElementWriter("tr"));

                foreach (object value in resultRow)
                {
                    if (value is TableCell)
                    {
                        tableRowBuilder.startElement(((TableCell)value).toHtmlElementWriter()).endElement();
                    }
                    else
                    {
                        tableRowBuilder.startElement((new HtmlElementWriter("td")).textContent(value.ToString())).endElement();
                    }
                }

                /// <summary>
                /// </tr> </summary>
                tableRowBuilder.endElement();
            }

            /// <summary>
            /// </table> </summary>
            builder.endElement();
        }
Ejemplo n.º 7
0
        protected internal virtual void writeResultTable(HtmlDocumentBuilder bodyBuilder)
        {
            /// <summary>
            /// <table> </summary>
            HtmlDocumentBuilder tableBuilder = bodyBuilder.startElement((new HtmlElementWriter("table")).attribute("class", "table table-condensed"));

            /// <summary>
            /// <tr> </summary>
            HtmlDocumentBuilder tableHeadRowBuilder = tableBuilder.startElement(new HtmlElementWriter("tr"));

            foreach (string columnName in resultSet.ResultColumnNames)
            {
                tableHeadRowBuilder.startElement((new HtmlElementWriter("th")).textContent(columnName)).endElement();
            }

            if (!string.ReferenceEquals(resultsBaseFolder, null))
            {
                tableHeadRowBuilder.startElement(new HtmlElementWriter("th", true)).endElement();
            }

            /// <summary>
            /// </tr> </summary>
            tableHeadRowBuilder.endElement();

            foreach (IList <object> resultRow in resultSet.Results)
            {
                /// <summary>
                /// <tr> </summary>
                HtmlDocumentBuilder tableRowBuilder = tableBuilder.startElement(new HtmlElementWriter("tr"));

                for (int i = 0; i < resultRow.Count; i++)
                {
                    object value = resultRow[i];
                    if (i == 0 && isCreateImageLinks)
                    {
                        tableHeadRowBuilder.startElement(new HtmlElementWriter("td")).startElement(new HtmlElementWriter("a")
                                                                                                   .attribute("href", "images/" + value + ".png").textContent(value.ToString())).endElement().endElement();
                    }
                    else
                    {
                        tableHeadRowBuilder.startElement((new HtmlElementWriter("td")).textContent(value.ToString())).endElement();
                    }
                }

                if (!string.ReferenceEquals(resultsBaseFolder, null))
                {
                    /// <summary>
                    /// build link to Json file </summary>
                    tableHeadRowBuilder.startElement(new HtmlElementWriter("td")).startElement(new HtmlElementWriter("a")
                                                                                               .attribute("href", resultsBaseFolder + resultRow[0] + ".json").textContent("details")).endElement().endElement();
                }

                /// <summary>
                /// </tr> </summary>
                tableRowBuilder.endElement();
            }

            /// <summary>
            /// </table> </summary>
            tableBuilder.endElement();
        }
Ejemplo n.º 8
0
 protected internal virtual void addHtmlHead(HtmlDocumentBuilder builder)
 {
     builder.startElement(new HtmlElementWriter("head")).startElement((new HtmlElementWriter("title")).textContent(reportName)).endElement().startElement(new HtmlElementWriter("link")
                                                                                                                                                          .attribute("rel", "stylesheet").attribute("href", "http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css")).endElement().startElement(new HtmlElementWriter("link")
                                                                                                                                                                                                                                                                                                               .attribute("rel", "stylesheet").attribute("href", "http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap-theme.min.css")).endElement().endElement();
 }
Ejemplo n.º 9
0
        public virtual void testHtmlElementWriter()
        {
            var htmlString = new HtmlDocumentBuilder(new HtmlElementWriter("someTagName")).EndElement()
                             .HtmlString;

            AssertHtmlEquals("<someTagName></someTagName>", htmlString);

            htmlString = new HtmlDocumentBuilder(new HtmlElementWriter("someTagName", true)).EndElement()
                         .HtmlString;
            AssertHtmlEquals("<someTagName />", htmlString);

            htmlString =
                new HtmlDocumentBuilder(new HtmlElementWriter("someTagName", true).Attribute("someAttr", "someAttrValue"))
                .EndElement()
                .HtmlString;
            AssertHtmlEquals("<someTagName someAttr=\"someAttrValue\" />", htmlString);

            htmlString =
                new HtmlDocumentBuilder(new HtmlElementWriter("someTagName").Attribute("someAttr", "someAttrValue"))
                .EndElement()
                .HtmlString;
            AssertHtmlEquals("<someTagName someAttr=\"someAttrValue\"></someTagName>", htmlString);

            htmlString =
                new HtmlDocumentBuilder(new HtmlElementWriter("someTagName").Attribute("someAttr", null)).EndElement()
                .HtmlString;
            AssertHtmlEquals("<someTagName someAttr></someTagName>", htmlString);

            htmlString =
                new HtmlDocumentBuilder(new HtmlElementWriter("someTagName").TextContent("someTextContent")).EndElement()
                .HtmlString;
            AssertHtmlEquals("<someTagName>someTextContent</someTagName>", htmlString);

            htmlString =
                new HtmlDocumentBuilder(new HtmlElementWriter("someTagName")).StartElement(
                    new HtmlElementWriter("someChildTag"))
                .EndElement()
                .EndElement()
                .HtmlString;
            AssertHtmlEquals("<someTagName><someChildTag></someChildTag></someTagName>", htmlString);

            htmlString =
                new HtmlDocumentBuilder(new HtmlElementWriter("someTagName")).StartElement(
                    new HtmlElementWriter("someChildTag").TextContent("someTextContent"))
                .EndElement()
                .EndElement()
                .HtmlString;
            AssertHtmlEquals("<someTagName><someChildTag>someTextContent</someChildTag></someTagName>", htmlString);

            htmlString =
                new HtmlDocumentBuilder(new HtmlElementWriter("someTagName").TextContent("someTextContent"))
                .StartElement(new HtmlElementWriter("someChildTag"))
                .EndElement()
                .EndElement()
                .HtmlString;
            AssertHtmlEquals("<someTagName><someChildTag></someChildTag>someTextContent</someTagName>", htmlString);

            // invalid usage

            try
            {
                new HtmlElementWriter("sometagname", true).TextContent("sometextcontet");
            }
            catch (InvalidOperationException e)
            {
                Assert.True(e.Message.Contains("Self-closing element cannot have text content"));
            }
        }