embulk-output-utf8parquet 1.0.1 → 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/LICENSE.txt +21 -0
 - data/build.gradle +91 -0
 - data/build/classes/main/org/embulk/output/EmbulkWriteSupport$ParquetColumnVisitor.class +0 -0
 - data/build/classes/main/org/embulk/output/EmbulkWriteSupport$SchemaConvertColumnVisitor.class +0 -0
 - data/build/classes/main/org/embulk/output/EmbulkWriteSupport$SchemaConvertColumnVisitorWithUTF8.class +0 -0
 - data/build/classes/main/org/embulk/output/EmbulkWriteSupport.class +0 -0
 - data/build/classes/main/org/embulk/output/EmbulkWriterBuilder.class +0 -0
 - data/build/classes/main/org/embulk/output/ParquetOutputPlugin$ParquetTransactionalPageOutput.class +0 -0
 - data/build/classes/main/org/embulk/output/ParquetOutputPlugin$PluginTask.class +0 -0
 - data/build/classes/main/org/embulk/output/ParquetOutputPlugin$TimestampColumnOption.class +0 -0
 - data/build/classes/main/org/embulk/output/ParquetOutputPlugin.class +0 -0
 - data/build/classes/test/org/embulk/output/ParquetOutputPluginTest.class +0 -0
 - data/build/gemspec +19 -0
 - data/build/libs/embulk-output-utf8parquet-1.0.0.jar +0 -0
 - data/build/libs/embulk-output-utf8parquet-1.0.1.jar +0 -0
 - data/build/reports/checkstyle/main.html +119 -0
 - data/build/reports/checkstyle/main.xml +9 -0
 - data/build/reports/checkstyle/test.html +99 -0
 - data/build/reports/checkstyle/test.xml +5 -0
 - data/build/reports/tests/test/classes/org.embulk.output.ParquetOutputPluginTest.html +106 -0
 - data/build/reports/tests/test/css/base-style.css +179 -0
 - data/build/reports/tests/test/css/style.css +84 -0
 - data/build/reports/tests/test/index.html +132 -0
 - data/build/reports/tests/test/js/report.js +194 -0
 - data/build/reports/tests/test/packages/org.embulk.output.html +103 -0
 - data/build/test-results/test/TEST-org.embulk.output.ParquetOutputPluginTest.xml +9 -0
 - data/build/test-results/test/binary/output.bin +0 -0
 - data/build/test-results/test/binary/output.bin.idx +0 -0
 - data/build/test-results/test/binary/results.bin +0 -0
 - data/build/tmp/jar/MANIFEST.MF +2 -0
 - data/classpath/embulk-output-utf8parquet-1.0.2.jar +0 -0
 - data/config/checkstyle/checkstyle.xml +128 -0
 - data/config/checkstyle/default.xml +108 -0
 - data/gradle/wrapper/gradle-wrapper.jar +0 -0
 - data/gradle/wrapper/gradle-wrapper.properties +6 -0
 - data/gradlew +164 -0
 - data/gradlew.bat +90 -0
 - data/lib/embulk/output/utf8parquet.rb +3 -0
 - data/src/main/java/org/embulk/output/EmbulkWriteSupport.java +215 -0
 - data/src/main/java/org/embulk/output/EmbulkWriterBuilder.java +37 -0
 - data/src/main/java/org/embulk/output/ParquetOutputPlugin.java +236 -0
 - data/src/test/java/org/embulk/output/ParquetOutputPluginTest.java +70 -0
 - metadata +115 -73
 
| 
         @@ -0,0 +1,179 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
             
     | 
| 
      
 2 
     | 
    
         
            +
            body {
         
     | 
| 
      
 3 
     | 
    
         
            +
                margin: 0;
         
     | 
| 
      
 4 
     | 
    
         
            +
                padding: 0;
         
     | 
| 
      
 5 
     | 
    
         
            +
                font-family: sans-serif;
         
     | 
| 
      
 6 
     | 
    
         
            +
                font-size: 12pt;
         
     | 
| 
      
 7 
     | 
    
         
            +
            }
         
     | 
| 
      
 8 
     | 
    
         
            +
             
     | 
| 
      
 9 
     | 
    
         
            +
            body, a, a:visited {
         
     | 
| 
      
 10 
     | 
    
         
            +
                color: #303030;
         
     | 
| 
      
 11 
     | 
    
         
            +
            }
         
     | 
| 
      
 12 
     | 
    
         
            +
             
     | 
| 
      
 13 
     | 
    
         
            +
            #content {
         
     | 
| 
      
 14 
     | 
    
         
            +
                padding-left: 50px;
         
     | 
| 
      
 15 
     | 
    
         
            +
                padding-right: 50px;
         
     | 
| 
      
 16 
     | 
    
         
            +
                padding-top: 30px;
         
     | 
| 
      
 17 
     | 
    
         
            +
                padding-bottom: 30px;
         
     | 
| 
      
 18 
     | 
    
         
            +
            }
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
            #content h1 {
         
     | 
| 
      
 21 
     | 
    
         
            +
                font-size: 160%;
         
     | 
| 
      
 22 
     | 
    
         
            +
                margin-bottom: 10px;
         
     | 
| 
      
 23 
     | 
    
         
            +
            }
         
     | 
| 
      
 24 
     | 
    
         
            +
             
     | 
| 
      
 25 
     | 
    
         
            +
            #footer {
         
     | 
| 
      
 26 
     | 
    
         
            +
                margin-top: 100px;
         
     | 
| 
      
 27 
     | 
    
         
            +
                font-size: 80%;
         
     | 
| 
      
 28 
     | 
    
         
            +
                white-space: nowrap;
         
     | 
| 
      
 29 
     | 
    
         
            +
            }
         
     | 
| 
      
 30 
     | 
    
         
            +
             
     | 
| 
      
 31 
     | 
    
         
            +
            #footer, #footer a {
         
     | 
| 
      
 32 
     | 
    
         
            +
                color: #a0a0a0;
         
     | 
| 
      
 33 
     | 
    
         
            +
            }
         
     | 
| 
      
 34 
     | 
    
         
            +
             
     | 
| 
      
 35 
     | 
    
         
            +
            #line-wrapping-toggle {
         
     | 
| 
      
 36 
     | 
    
         
            +
                vertical-align: middle;
         
     | 
| 
      
 37 
     | 
    
         
            +
            }
         
     | 
| 
      
 38 
     | 
    
         
            +
             
     | 
| 
      
 39 
     | 
    
         
            +
            #label-for-line-wrapping-toggle {
         
     | 
| 
      
 40 
     | 
    
         
            +
                vertical-align: middle;
         
     | 
| 
      
 41 
     | 
    
         
            +
            }
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
            ul {
         
     | 
| 
      
 44 
     | 
    
         
            +
                margin-left: 0;
         
     | 
| 
      
 45 
     | 
    
         
            +
            }
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
            h1, h2, h3 {
         
     | 
| 
      
 48 
     | 
    
         
            +
                white-space: nowrap;
         
     | 
| 
      
 49 
     | 
    
         
            +
            }
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
            h2 {
         
     | 
| 
      
 52 
     | 
    
         
            +
                font-size: 120%;
         
     | 
| 
      
 53 
     | 
    
         
            +
            }
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
            ul.tabLinks {
         
     | 
| 
      
 56 
     | 
    
         
            +
                padding-left: 0;
         
     | 
| 
      
 57 
     | 
    
         
            +
                padding-top: 10px;
         
     | 
| 
      
 58 
     | 
    
         
            +
                padding-bottom: 10px;
         
     | 
| 
      
 59 
     | 
    
         
            +
                overflow: auto;
         
     | 
| 
      
 60 
     | 
    
         
            +
                min-width: 800px;
         
     | 
| 
      
 61 
     | 
    
         
            +
                width: auto !important;
         
     | 
| 
      
 62 
     | 
    
         
            +
                width: 800px;
         
     | 
| 
      
 63 
     | 
    
         
            +
            }
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
      
 65 
     | 
    
         
            +
            ul.tabLinks li {
         
     | 
| 
      
 66 
     | 
    
         
            +
                float: left;
         
     | 
| 
      
 67 
     | 
    
         
            +
                height: 100%;
         
     | 
| 
      
 68 
     | 
    
         
            +
                list-style: none;
         
     | 
| 
      
 69 
     | 
    
         
            +
                padding-left: 10px;
         
     | 
| 
      
 70 
     | 
    
         
            +
                padding-right: 10px;
         
     | 
| 
      
 71 
     | 
    
         
            +
                padding-top: 5px;
         
     | 
| 
      
 72 
     | 
    
         
            +
                padding-bottom: 5px;
         
     | 
| 
      
 73 
     | 
    
         
            +
                margin-bottom: 0;
         
     | 
| 
      
 74 
     | 
    
         
            +
                -moz-border-radius: 7px;
         
     | 
| 
      
 75 
     | 
    
         
            +
                border-radius: 7px;
         
     | 
| 
      
 76 
     | 
    
         
            +
                margin-right: 25px;
         
     | 
| 
      
 77 
     | 
    
         
            +
                border: solid 1px #d4d4d4;
         
     | 
| 
      
 78 
     | 
    
         
            +
                background-color: #f0f0f0;
         
     | 
| 
      
 79 
     | 
    
         
            +
            }
         
     | 
| 
      
 80 
     | 
    
         
            +
             
     | 
| 
      
 81 
     | 
    
         
            +
            ul.tabLinks li:hover {
         
     | 
| 
      
 82 
     | 
    
         
            +
                background-color: #fafafa;
         
     | 
| 
      
 83 
     | 
    
         
            +
            }
         
     | 
| 
      
 84 
     | 
    
         
            +
             
     | 
| 
      
 85 
     | 
    
         
            +
            ul.tabLinks li.selected {
         
     | 
| 
      
 86 
     | 
    
         
            +
                background-color: #c5f0f5;
         
     | 
| 
      
 87 
     | 
    
         
            +
                border-color: #c5f0f5;
         
     | 
| 
      
 88 
     | 
    
         
            +
            }
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
            ul.tabLinks a {
         
     | 
| 
      
 91 
     | 
    
         
            +
                font-size: 120%;
         
     | 
| 
      
 92 
     | 
    
         
            +
                display: block;
         
     | 
| 
      
 93 
     | 
    
         
            +
                outline: none;
         
     | 
| 
      
 94 
     | 
    
         
            +
                text-decoration: none;
         
     | 
| 
      
 95 
     | 
    
         
            +
                margin: 0;
         
     | 
| 
      
 96 
     | 
    
         
            +
                padding: 0;
         
     | 
| 
      
 97 
     | 
    
         
            +
            }
         
     | 
| 
      
 98 
     | 
    
         
            +
             
     | 
| 
      
 99 
     | 
    
         
            +
            ul.tabLinks li h2 {
         
     | 
| 
      
 100 
     | 
    
         
            +
                margin: 0;
         
     | 
| 
      
 101 
     | 
    
         
            +
                padding: 0;
         
     | 
| 
      
 102 
     | 
    
         
            +
            }
         
     | 
| 
      
 103 
     | 
    
         
            +
             
     | 
| 
      
 104 
     | 
    
         
            +
            div.tab {
         
     | 
| 
      
 105 
     | 
    
         
            +
            }
         
     | 
| 
      
 106 
     | 
    
         
            +
             
     | 
| 
      
 107 
     | 
    
         
            +
            div.selected {
         
     | 
| 
      
 108 
     | 
    
         
            +
                display: block;
         
     | 
| 
      
 109 
     | 
    
         
            +
            }
         
     | 
| 
      
 110 
     | 
    
         
            +
             
     | 
| 
      
 111 
     | 
    
         
            +
            div.deselected {
         
     | 
| 
      
 112 
     | 
    
         
            +
                display: none;
         
     | 
| 
      
 113 
     | 
    
         
            +
            }
         
     | 
| 
      
 114 
     | 
    
         
            +
             
     | 
| 
      
 115 
     | 
    
         
            +
            div.tab table {
         
     | 
| 
      
 116 
     | 
    
         
            +
                min-width: 350px;
         
     | 
| 
      
 117 
     | 
    
         
            +
                width: auto !important;
         
     | 
| 
      
 118 
     | 
    
         
            +
                width: 350px;
         
     | 
| 
      
 119 
     | 
    
         
            +
                border-collapse: collapse;
         
     | 
| 
      
 120 
     | 
    
         
            +
            }
         
     | 
| 
      
 121 
     | 
    
         
            +
             
     | 
| 
      
 122 
     | 
    
         
            +
            div.tab th, div.tab table {
         
     | 
| 
      
 123 
     | 
    
         
            +
                border-bottom: solid #d0d0d0 1px;
         
     | 
| 
      
 124 
     | 
    
         
            +
            }
         
     | 
| 
      
 125 
     | 
    
         
            +
             
     | 
| 
      
 126 
     | 
    
         
            +
            div.tab th {
         
     | 
| 
      
 127 
     | 
    
         
            +
                text-align: left;
         
     | 
| 
      
 128 
     | 
    
         
            +
                white-space: nowrap;
         
     | 
| 
      
 129 
     | 
    
         
            +
                padding-left: 6em;
         
     | 
| 
      
 130 
     | 
    
         
            +
            }
         
     | 
| 
      
 131 
     | 
    
         
            +
             
     | 
| 
      
 132 
     | 
    
         
            +
            div.tab th:first-child {
         
     | 
| 
      
 133 
     | 
    
         
            +
                padding-left: 0;
         
     | 
| 
      
 134 
     | 
    
         
            +
            }
         
     | 
| 
      
 135 
     | 
    
         
            +
             
     | 
| 
      
 136 
     | 
    
         
            +
            div.tab td {
         
     | 
| 
      
 137 
     | 
    
         
            +
                white-space: nowrap;
         
     | 
| 
      
 138 
     | 
    
         
            +
                padding-left: 6em;
         
     | 
| 
      
 139 
     | 
    
         
            +
                padding-top: 5px;
         
     | 
| 
      
 140 
     | 
    
         
            +
                padding-bottom: 5px;
         
     | 
| 
      
 141 
     | 
    
         
            +
            }
         
     | 
| 
      
 142 
     | 
    
         
            +
             
     | 
| 
      
 143 
     | 
    
         
            +
            div.tab td:first-child {
         
     | 
| 
      
 144 
     | 
    
         
            +
                padding-left: 0;
         
     | 
| 
      
 145 
     | 
    
         
            +
            }
         
     | 
| 
      
 146 
     | 
    
         
            +
             
     | 
| 
      
 147 
     | 
    
         
            +
            div.tab td.numeric, div.tab th.numeric {
         
     | 
| 
      
 148 
     | 
    
         
            +
                text-align: right;
         
     | 
| 
      
 149 
     | 
    
         
            +
            }
         
     | 
| 
      
 150 
     | 
    
         
            +
             
     | 
| 
      
 151 
     | 
    
         
            +
            span.code {
         
     | 
| 
      
 152 
     | 
    
         
            +
                display: inline-block;
         
     | 
| 
      
 153 
     | 
    
         
            +
                margin-top: 0em;
         
     | 
| 
      
 154 
     | 
    
         
            +
                margin-bottom: 1em;
         
     | 
| 
      
 155 
     | 
    
         
            +
            }
         
     | 
| 
      
 156 
     | 
    
         
            +
             
     | 
| 
      
 157 
     | 
    
         
            +
            span.code pre {
         
     | 
| 
      
 158 
     | 
    
         
            +
                font-size: 11pt;
         
     | 
| 
      
 159 
     | 
    
         
            +
                padding-top: 10px;
         
     | 
| 
      
 160 
     | 
    
         
            +
                padding-bottom: 10px;
         
     | 
| 
      
 161 
     | 
    
         
            +
                padding-left: 10px;
         
     | 
| 
      
 162 
     | 
    
         
            +
                padding-right: 10px;
         
     | 
| 
      
 163 
     | 
    
         
            +
                margin: 0;
         
     | 
| 
      
 164 
     | 
    
         
            +
                background-color: #f7f7f7;
         
     | 
| 
      
 165 
     | 
    
         
            +
                border: solid 1px #d0d0d0;
         
     | 
| 
      
 166 
     | 
    
         
            +
                min-width: 700px;
         
     | 
| 
      
 167 
     | 
    
         
            +
                width: auto !important;
         
     | 
| 
      
 168 
     | 
    
         
            +
                width: 700px;
         
     | 
| 
      
 169 
     | 
    
         
            +
            }
         
     | 
| 
      
 170 
     | 
    
         
            +
             
     | 
| 
      
 171 
     | 
    
         
            +
            span.wrapped pre {
         
     | 
| 
      
 172 
     | 
    
         
            +
                word-wrap: break-word;
         
     | 
| 
      
 173 
     | 
    
         
            +
                white-space: pre-wrap;
         
     | 
| 
      
 174 
     | 
    
         
            +
                word-break: break-all;
         
     | 
| 
      
 175 
     | 
    
         
            +
            }
         
     | 
| 
      
 176 
     | 
    
         
            +
             
     | 
| 
      
 177 
     | 
    
         
            +
            label.hidden {
         
     | 
| 
      
 178 
     | 
    
         
            +
                display: none;
         
     | 
| 
      
 179 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -0,0 +1,84 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
             
     | 
| 
      
 2 
     | 
    
         
            +
            #summary {
         
     | 
| 
      
 3 
     | 
    
         
            +
                margin-top: 30px;
         
     | 
| 
      
 4 
     | 
    
         
            +
                margin-bottom: 40px;
         
     | 
| 
      
 5 
     | 
    
         
            +
            }
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
            #summary table {
         
     | 
| 
      
 8 
     | 
    
         
            +
                border-collapse: collapse;
         
     | 
| 
      
 9 
     | 
    
         
            +
            }
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
            #summary td {
         
     | 
| 
      
 12 
     | 
    
         
            +
                vertical-align: top;
         
     | 
| 
      
 13 
     | 
    
         
            +
            }
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
            .breadcrumbs, .breadcrumbs a {
         
     | 
| 
      
 16 
     | 
    
         
            +
                color: #606060;
         
     | 
| 
      
 17 
     | 
    
         
            +
            }
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
            .infoBox {
         
     | 
| 
      
 20 
     | 
    
         
            +
                width: 110px;
         
     | 
| 
      
 21 
     | 
    
         
            +
                padding-top: 15px;
         
     | 
| 
      
 22 
     | 
    
         
            +
                padding-bottom: 15px;
         
     | 
| 
      
 23 
     | 
    
         
            +
                text-align: center;
         
     | 
| 
      
 24 
     | 
    
         
            +
            }
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
            .infoBox p {
         
     | 
| 
      
 27 
     | 
    
         
            +
                margin: 0;
         
     | 
| 
      
 28 
     | 
    
         
            +
            }
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
            .counter, .percent {
         
     | 
| 
      
 31 
     | 
    
         
            +
                font-size: 120%;
         
     | 
| 
      
 32 
     | 
    
         
            +
                font-weight: bold;
         
     | 
| 
      
 33 
     | 
    
         
            +
                margin-bottom: 8px;
         
     | 
| 
      
 34 
     | 
    
         
            +
            }
         
     | 
| 
      
 35 
     | 
    
         
            +
             
     | 
| 
      
 36 
     | 
    
         
            +
            #duration {
         
     | 
| 
      
 37 
     | 
    
         
            +
                width: 125px;
         
     | 
| 
      
 38 
     | 
    
         
            +
            }
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
            #successRate, .summaryGroup {
         
     | 
| 
      
 41 
     | 
    
         
            +
                border: solid 2px #d0d0d0;
         
     | 
| 
      
 42 
     | 
    
         
            +
                -moz-border-radius: 10px;
         
     | 
| 
      
 43 
     | 
    
         
            +
                border-radius: 10px;
         
     | 
| 
      
 44 
     | 
    
         
            +
            }
         
     | 
| 
      
 45 
     | 
    
         
            +
             
     | 
| 
      
 46 
     | 
    
         
            +
            #successRate {
         
     | 
| 
      
 47 
     | 
    
         
            +
                width: 140px;
         
     | 
| 
      
 48 
     | 
    
         
            +
                margin-left: 35px;
         
     | 
| 
      
 49 
     | 
    
         
            +
            }
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
            #successRate .percent {
         
     | 
| 
      
 52 
     | 
    
         
            +
                font-size: 180%;
         
     | 
| 
      
 53 
     | 
    
         
            +
            }
         
     | 
| 
      
 54 
     | 
    
         
            +
             
     | 
| 
      
 55 
     | 
    
         
            +
            .success, .success a {
         
     | 
| 
      
 56 
     | 
    
         
            +
                color: #008000;
         
     | 
| 
      
 57 
     | 
    
         
            +
            }
         
     | 
| 
      
 58 
     | 
    
         
            +
             
     | 
| 
      
 59 
     | 
    
         
            +
            div.success, #successRate.success {
         
     | 
| 
      
 60 
     | 
    
         
            +
                background-color: #bbd9bb;
         
     | 
| 
      
 61 
     | 
    
         
            +
                border-color: #008000;
         
     | 
| 
      
 62 
     | 
    
         
            +
            }
         
     | 
| 
      
 63 
     | 
    
         
            +
             
     | 
| 
      
 64 
     | 
    
         
            +
            .failures, .failures a {
         
     | 
| 
      
 65 
     | 
    
         
            +
                color: #b60808;
         
     | 
| 
      
 66 
     | 
    
         
            +
            }
         
     | 
| 
      
 67 
     | 
    
         
            +
             
     | 
| 
      
 68 
     | 
    
         
            +
            .skipped, .skipped a {
         
     | 
| 
      
 69 
     | 
    
         
            +
                color: #c09853;
         
     | 
| 
      
 70 
     | 
    
         
            +
            }
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
            div.failures, #successRate.failures {
         
     | 
| 
      
 73 
     | 
    
         
            +
                background-color: #ecdada;
         
     | 
| 
      
 74 
     | 
    
         
            +
                border-color: #b60808;
         
     | 
| 
      
 75 
     | 
    
         
            +
            }
         
     | 
| 
      
 76 
     | 
    
         
            +
             
     | 
| 
      
 77 
     | 
    
         
            +
            ul.linkList {
         
     | 
| 
      
 78 
     | 
    
         
            +
                padding-left: 0;
         
     | 
| 
      
 79 
     | 
    
         
            +
            }
         
     | 
| 
      
 80 
     | 
    
         
            +
             
     | 
| 
      
 81 
     | 
    
         
            +
            ul.linkList li {
         
     | 
| 
      
 82 
     | 
    
         
            +
                list-style: none;
         
     | 
| 
      
 83 
     | 
    
         
            +
                margin-bottom: 5px;
         
     | 
| 
      
 84 
     | 
    
         
            +
            }
         
     | 
| 
         @@ -0,0 +1,132 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            <!DOCTYPE html>
         
     | 
| 
      
 2 
     | 
    
         
            +
            <html>
         
     | 
| 
      
 3 
     | 
    
         
            +
            <head>
         
     | 
| 
      
 4 
     | 
    
         
            +
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
         
     | 
| 
      
 5 
     | 
    
         
            +
            <meta http-equiv="x-ua-compatible" content="IE=edge"/>
         
     | 
| 
      
 6 
     | 
    
         
            +
            <title>Test results - Test Summary</title>
         
     | 
| 
      
 7 
     | 
    
         
            +
            <link href="css/base-style.css" rel="stylesheet" type="text/css"/>
         
     | 
| 
      
 8 
     | 
    
         
            +
            <link href="css/style.css" rel="stylesheet" type="text/css"/>
         
     | 
| 
      
 9 
     | 
    
         
            +
            <script src="js/report.js" type="text/javascript"></script>
         
     | 
| 
      
 10 
     | 
    
         
            +
            </head>
         
     | 
| 
      
 11 
     | 
    
         
            +
            <body>
         
     | 
| 
      
 12 
     | 
    
         
            +
            <div id="content">
         
     | 
| 
      
 13 
     | 
    
         
            +
            <h1>Test Summary</h1>
         
     | 
| 
      
 14 
     | 
    
         
            +
            <div id="summary">
         
     | 
| 
      
 15 
     | 
    
         
            +
            <table>
         
     | 
| 
      
 16 
     | 
    
         
            +
            <tr>
         
     | 
| 
      
 17 
     | 
    
         
            +
            <td>
         
     | 
| 
      
 18 
     | 
    
         
            +
            <div class="summaryGroup">
         
     | 
| 
      
 19 
     | 
    
         
            +
            <table>
         
     | 
| 
      
 20 
     | 
    
         
            +
            <tr>
         
     | 
| 
      
 21 
     | 
    
         
            +
            <td>
         
     | 
| 
      
 22 
     | 
    
         
            +
            <div class="infoBox" id="tests">
         
     | 
| 
      
 23 
     | 
    
         
            +
            <div class="counter">3</div>
         
     | 
| 
      
 24 
     | 
    
         
            +
            <p>tests</p>
         
     | 
| 
      
 25 
     | 
    
         
            +
            </div>
         
     | 
| 
      
 26 
     | 
    
         
            +
            </td>
         
     | 
| 
      
 27 
     | 
    
         
            +
            <td>
         
     | 
| 
      
 28 
     | 
    
         
            +
            <div class="infoBox" id="failures">
         
     | 
| 
      
 29 
     | 
    
         
            +
            <div class="counter">0</div>
         
     | 
| 
      
 30 
     | 
    
         
            +
            <p>failures</p>
         
     | 
| 
      
 31 
     | 
    
         
            +
            </div>
         
     | 
| 
      
 32 
     | 
    
         
            +
            </td>
         
     | 
| 
      
 33 
     | 
    
         
            +
            <td>
         
     | 
| 
      
 34 
     | 
    
         
            +
            <div class="infoBox" id="ignored">
         
     | 
| 
      
 35 
     | 
    
         
            +
            <div class="counter">0</div>
         
     | 
| 
      
 36 
     | 
    
         
            +
            <p>ignored</p>
         
     | 
| 
      
 37 
     | 
    
         
            +
            </div>
         
     | 
| 
      
 38 
     | 
    
         
            +
            </td>
         
     | 
| 
      
 39 
     | 
    
         
            +
            <td>
         
     | 
| 
      
 40 
     | 
    
         
            +
            <div class="infoBox" id="duration">
         
     | 
| 
      
 41 
     | 
    
         
            +
            <div class="counter">0.296s</div>
         
     | 
| 
      
 42 
     | 
    
         
            +
            <p>duration</p>
         
     | 
| 
      
 43 
     | 
    
         
            +
            </div>
         
     | 
| 
      
 44 
     | 
    
         
            +
            </td>
         
     | 
| 
      
 45 
     | 
    
         
            +
            </tr>
         
     | 
| 
      
 46 
     | 
    
         
            +
            </table>
         
     | 
| 
      
 47 
     | 
    
         
            +
            </div>
         
     | 
| 
      
 48 
     | 
    
         
            +
            </td>
         
     | 
| 
      
 49 
     | 
    
         
            +
            <td>
         
     | 
| 
      
 50 
     | 
    
         
            +
            <div class="infoBox success" id="successRate">
         
     | 
| 
      
 51 
     | 
    
         
            +
            <div class="percent">100%</div>
         
     | 
| 
      
 52 
     | 
    
         
            +
            <p>successful</p>
         
     | 
| 
      
 53 
     | 
    
         
            +
            </div>
         
     | 
| 
      
 54 
     | 
    
         
            +
            </td>
         
     | 
| 
      
 55 
     | 
    
         
            +
            </tr>
         
     | 
| 
      
 56 
     | 
    
         
            +
            </table>
         
     | 
| 
      
 57 
     | 
    
         
            +
            </div>
         
     | 
| 
      
 58 
     | 
    
         
            +
            <div id="tabs">
         
     | 
| 
      
 59 
     | 
    
         
            +
            <ul class="tabLinks">
         
     | 
| 
      
 60 
     | 
    
         
            +
            <li>
         
     | 
| 
      
 61 
     | 
    
         
            +
            <a href="#tab0">Packages</a>
         
     | 
| 
      
 62 
     | 
    
         
            +
            </li>
         
     | 
| 
      
 63 
     | 
    
         
            +
            <li>
         
     | 
| 
      
 64 
     | 
    
         
            +
            <a href="#tab1">Classes</a>
         
     | 
| 
      
 65 
     | 
    
         
            +
            </li>
         
     | 
| 
      
 66 
     | 
    
         
            +
            </ul>
         
     | 
| 
      
 67 
     | 
    
         
            +
            <div id="tab0" class="tab">
         
     | 
| 
      
 68 
     | 
    
         
            +
            <h2>Packages</h2>
         
     | 
| 
      
 69 
     | 
    
         
            +
            <table>
         
     | 
| 
      
 70 
     | 
    
         
            +
            <thead>
         
     | 
| 
      
 71 
     | 
    
         
            +
            <tr>
         
     | 
| 
      
 72 
     | 
    
         
            +
            <th>Package</th>
         
     | 
| 
      
 73 
     | 
    
         
            +
            <th>Tests</th>
         
     | 
| 
      
 74 
     | 
    
         
            +
            <th>Failures</th>
         
     | 
| 
      
 75 
     | 
    
         
            +
            <th>Ignored</th>
         
     | 
| 
      
 76 
     | 
    
         
            +
            <th>Duration</th>
         
     | 
| 
      
 77 
     | 
    
         
            +
            <th>Success rate</th>
         
     | 
| 
      
 78 
     | 
    
         
            +
            </tr>
         
     | 
| 
      
 79 
     | 
    
         
            +
            </thead>
         
     | 
| 
      
 80 
     | 
    
         
            +
            <tbody>
         
     | 
| 
      
 81 
     | 
    
         
            +
            <tr>
         
     | 
| 
      
 82 
     | 
    
         
            +
            <td class="success">
         
     | 
| 
      
 83 
     | 
    
         
            +
            <a href="packages/org.embulk.output.html">org.embulk.output</a>
         
     | 
| 
      
 84 
     | 
    
         
            +
            </td>
         
     | 
| 
      
 85 
     | 
    
         
            +
            <td>3</td>
         
     | 
| 
      
 86 
     | 
    
         
            +
            <td>0</td>
         
     | 
| 
      
 87 
     | 
    
         
            +
            <td>0</td>
         
     | 
| 
      
 88 
     | 
    
         
            +
            <td>0.296s</td>
         
     | 
| 
      
 89 
     | 
    
         
            +
            <td class="success">100%</td>
         
     | 
| 
      
 90 
     | 
    
         
            +
            </tr>
         
     | 
| 
      
 91 
     | 
    
         
            +
            </tbody>
         
     | 
| 
      
 92 
     | 
    
         
            +
            </table>
         
     | 
| 
      
 93 
     | 
    
         
            +
            </div>
         
     | 
| 
      
 94 
     | 
    
         
            +
            <div id="tab1" class="tab">
         
     | 
| 
      
 95 
     | 
    
         
            +
            <h2>Classes</h2>
         
     | 
| 
      
 96 
     | 
    
         
            +
            <table>
         
     | 
| 
      
 97 
     | 
    
         
            +
            <thead>
         
     | 
| 
      
 98 
     | 
    
         
            +
            <tr>
         
     | 
| 
      
 99 
     | 
    
         
            +
            <th>Class</th>
         
     | 
| 
      
 100 
     | 
    
         
            +
            <th>Tests</th>
         
     | 
| 
      
 101 
     | 
    
         
            +
            <th>Failures</th>
         
     | 
| 
      
 102 
     | 
    
         
            +
            <th>Ignored</th>
         
     | 
| 
      
 103 
     | 
    
         
            +
            <th>Duration</th>
         
     | 
| 
      
 104 
     | 
    
         
            +
            <th>Success rate</th>
         
     | 
| 
      
 105 
     | 
    
         
            +
            </tr>
         
     | 
| 
      
 106 
     | 
    
         
            +
            </thead>
         
     | 
| 
      
 107 
     | 
    
         
            +
            <tbody>
         
     | 
| 
      
 108 
     | 
    
         
            +
            <tr>
         
     | 
| 
      
 109 
     | 
    
         
            +
            <td class="success"/>
         
     | 
| 
      
 110 
     | 
    
         
            +
            <a href="classes/org.embulk.output.ParquetOutputPluginTest.html">org.embulk.output.ParquetOutputPluginTest</a>
         
     | 
| 
      
 111 
     | 
    
         
            +
            <td>3</td>
         
     | 
| 
      
 112 
     | 
    
         
            +
            <td>0</td>
         
     | 
| 
      
 113 
     | 
    
         
            +
            <td>0</td>
         
     | 
| 
      
 114 
     | 
    
         
            +
            <td>0.296s</td>
         
     | 
| 
      
 115 
     | 
    
         
            +
            <td class="success">100%</td>
         
     | 
| 
      
 116 
     | 
    
         
            +
            </tr>
         
     | 
| 
      
 117 
     | 
    
         
            +
            </tbody>
         
     | 
| 
      
 118 
     | 
    
         
            +
            </table>
         
     | 
| 
      
 119 
     | 
    
         
            +
            </div>
         
     | 
| 
      
 120 
     | 
    
         
            +
            </div>
         
     | 
| 
      
 121 
     | 
    
         
            +
            <div id="footer">
         
     | 
| 
      
 122 
     | 
    
         
            +
            <p>
         
     | 
| 
      
 123 
     | 
    
         
            +
            <div>
         
     | 
| 
      
 124 
     | 
    
         
            +
            <label class="hidden" id="label-for-line-wrapping-toggle" for="line-wrapping-toggle">Wrap lines
         
     | 
| 
      
 125 
     | 
    
         
            +
            <input id="line-wrapping-toggle" type="checkbox" autocomplete="off"/>
         
     | 
| 
      
 126 
     | 
    
         
            +
            </label>
         
     | 
| 
      
 127 
     | 
    
         
            +
            </div>Generated by 
         
     | 
| 
      
 128 
     | 
    
         
            +
            <a href="http://www.gradle.org">Gradle 3.2.1</a> at May 28, 2018 8:55:32 AM</p>
         
     | 
| 
      
 129 
     | 
    
         
            +
            </div>
         
     | 
| 
      
 130 
     | 
    
         
            +
            </div>
         
     | 
| 
      
 131 
     | 
    
         
            +
            </body>
         
     | 
| 
      
 132 
     | 
    
         
            +
            </html>
         
     | 
| 
         @@ -0,0 +1,194 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            (function (window, document) {
         
     | 
| 
      
 2 
     | 
    
         
            +
                "use strict";
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
                var tabs = {};
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
                function changeElementClass(element, classValue) {
         
     | 
| 
      
 7 
     | 
    
         
            +
                    if (element.getAttribute("className")) {
         
     | 
| 
      
 8 
     | 
    
         
            +
                        element.setAttribute("className", classValue);
         
     | 
| 
      
 9 
     | 
    
         
            +
                    } else {
         
     | 
| 
      
 10 
     | 
    
         
            +
                        element.setAttribute("class", classValue);
         
     | 
| 
      
 11 
     | 
    
         
            +
                    }
         
     | 
| 
      
 12 
     | 
    
         
            +
                }
         
     | 
| 
      
 13 
     | 
    
         
            +
             
     | 
| 
      
 14 
     | 
    
         
            +
                function getClassAttribute(element) {
         
     | 
| 
      
 15 
     | 
    
         
            +
                    if (element.getAttribute("className")) {
         
     | 
| 
      
 16 
     | 
    
         
            +
                        return element.getAttribute("className");
         
     | 
| 
      
 17 
     | 
    
         
            +
                    } else {
         
     | 
| 
      
 18 
     | 
    
         
            +
                        return element.getAttribute("class");
         
     | 
| 
      
 19 
     | 
    
         
            +
                    }
         
     | 
| 
      
 20 
     | 
    
         
            +
                }
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                function addClass(element, classValue) {
         
     | 
| 
      
 23 
     | 
    
         
            +
                    changeElementClass(element, getClassAttribute(element) + " " + classValue);
         
     | 
| 
      
 24 
     | 
    
         
            +
                }
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
                function removeClass(element, classValue) {
         
     | 
| 
      
 27 
     | 
    
         
            +
                    changeElementClass(element, getClassAttribute(element).replace(classValue, ""));
         
     | 
| 
      
 28 
     | 
    
         
            +
                }
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
                function initTabs() {
         
     | 
| 
      
 31 
     | 
    
         
            +
                    var container = document.getElementById("tabs");
         
     | 
| 
      
 32 
     | 
    
         
            +
             
     | 
| 
      
 33 
     | 
    
         
            +
                    tabs.tabs = findTabs(container);
         
     | 
| 
      
 34 
     | 
    
         
            +
                    tabs.titles = findTitles(tabs.tabs);
         
     | 
| 
      
 35 
     | 
    
         
            +
                    tabs.headers = findHeaders(container);
         
     | 
| 
      
 36 
     | 
    
         
            +
                    tabs.select = select;
         
     | 
| 
      
 37 
     | 
    
         
            +
                    tabs.deselectAll = deselectAll;
         
     | 
| 
      
 38 
     | 
    
         
            +
                    tabs.select(0);
         
     | 
| 
      
 39 
     | 
    
         
            +
             
     | 
| 
      
 40 
     | 
    
         
            +
                    return true;
         
     | 
| 
      
 41 
     | 
    
         
            +
                }
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
                function getCheckBox() {
         
     | 
| 
      
 44 
     | 
    
         
            +
                    return document.getElementById("line-wrapping-toggle");
         
     | 
| 
      
 45 
     | 
    
         
            +
                }
         
     | 
| 
      
 46 
     | 
    
         
            +
             
     | 
| 
      
 47 
     | 
    
         
            +
                function getLabelForCheckBox() {
         
     | 
| 
      
 48 
     | 
    
         
            +
                    return document.getElementById("label-for-line-wrapping-toggle");
         
     | 
| 
      
 49 
     | 
    
         
            +
                }
         
     | 
| 
      
 50 
     | 
    
         
            +
             
     | 
| 
      
 51 
     | 
    
         
            +
                function findCodeBlocks() {
         
     | 
| 
      
 52 
     | 
    
         
            +
                    var spans = document.getElementById("tabs").getElementsByTagName("span");
         
     | 
| 
      
 53 
     | 
    
         
            +
                    var codeBlocks = [];
         
     | 
| 
      
 54 
     | 
    
         
            +
                    for (var i = 0; i < spans.length; ++i) {
         
     | 
| 
      
 55 
     | 
    
         
            +
                        if (spans[i].className.indexOf("code") >= 0) {
         
     | 
| 
      
 56 
     | 
    
         
            +
                            codeBlocks.push(spans[i]);
         
     | 
| 
      
 57 
     | 
    
         
            +
                        }
         
     | 
| 
      
 58 
     | 
    
         
            +
                    }
         
     | 
| 
      
 59 
     | 
    
         
            +
                    return codeBlocks;
         
     | 
| 
      
 60 
     | 
    
         
            +
                }
         
     | 
| 
      
 61 
     | 
    
         
            +
             
     | 
| 
      
 62 
     | 
    
         
            +
                function forAllCodeBlocks(operation) {
         
     | 
| 
      
 63 
     | 
    
         
            +
                    var codeBlocks = findCodeBlocks();
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
      
 65 
     | 
    
         
            +
                    for (var i = 0; i < codeBlocks.length; ++i) {
         
     | 
| 
      
 66 
     | 
    
         
            +
                        operation(codeBlocks[i], "wrapped");
         
     | 
| 
      
 67 
     | 
    
         
            +
                    }
         
     | 
| 
      
 68 
     | 
    
         
            +
                }
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
                function toggleLineWrapping() {
         
     | 
| 
      
 71 
     | 
    
         
            +
                    var checkBox = getCheckBox();
         
     | 
| 
      
 72 
     | 
    
         
            +
             
     | 
| 
      
 73 
     | 
    
         
            +
                    if (checkBox.checked) {
         
     | 
| 
      
 74 
     | 
    
         
            +
                        forAllCodeBlocks(addClass);
         
     | 
| 
      
 75 
     | 
    
         
            +
                    } else {
         
     | 
| 
      
 76 
     | 
    
         
            +
                        forAllCodeBlocks(removeClass);
         
     | 
| 
      
 77 
     | 
    
         
            +
                    }
         
     | 
| 
      
 78 
     | 
    
         
            +
                }
         
     | 
| 
      
 79 
     | 
    
         
            +
             
     | 
| 
      
 80 
     | 
    
         
            +
                function initControls() {
         
     | 
| 
      
 81 
     | 
    
         
            +
                    if (findCodeBlocks().length > 0) {
         
     | 
| 
      
 82 
     | 
    
         
            +
                        var checkBox = getCheckBox();
         
     | 
| 
      
 83 
     | 
    
         
            +
                        var label = getLabelForCheckBox();
         
     | 
| 
      
 84 
     | 
    
         
            +
             
     | 
| 
      
 85 
     | 
    
         
            +
                        checkBox.onclick = toggleLineWrapping;
         
     | 
| 
      
 86 
     | 
    
         
            +
                        checkBox.checked = false;
         
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
      
 88 
     | 
    
         
            +
                        removeClass(label, "hidden");
         
     | 
| 
      
 89 
     | 
    
         
            +
                     }
         
     | 
| 
      
 90 
     | 
    
         
            +
                }
         
     | 
| 
      
 91 
     | 
    
         
            +
             
     | 
| 
      
 92 
     | 
    
         
            +
                function switchTab() {
         
     | 
| 
      
 93 
     | 
    
         
            +
                    var id = this.id.substr(1);
         
     | 
| 
      
 94 
     | 
    
         
            +
             
     | 
| 
      
 95 
     | 
    
         
            +
                    for (var i = 0; i < tabs.tabs.length; i++) {
         
     | 
| 
      
 96 
     | 
    
         
            +
                        if (tabs.tabs[i].id === id) {
         
     | 
| 
      
 97 
     | 
    
         
            +
                            tabs.select(i);
         
     | 
| 
      
 98 
     | 
    
         
            +
                            break;
         
     | 
| 
      
 99 
     | 
    
         
            +
                        }
         
     | 
| 
      
 100 
     | 
    
         
            +
                    }
         
     | 
| 
      
 101 
     | 
    
         
            +
             
     | 
| 
      
 102 
     | 
    
         
            +
                    return false;
         
     | 
| 
      
 103 
     | 
    
         
            +
                }
         
     | 
| 
      
 104 
     | 
    
         
            +
             
     | 
| 
      
 105 
     | 
    
         
            +
                function select(i) {
         
     | 
| 
      
 106 
     | 
    
         
            +
                    this.deselectAll();
         
     | 
| 
      
 107 
     | 
    
         
            +
             
     | 
| 
      
 108 
     | 
    
         
            +
                    changeElementClass(this.tabs[i], "tab selected");
         
     | 
| 
      
 109 
     | 
    
         
            +
                    changeElementClass(this.headers[i], "selected");
         
     | 
| 
      
 110 
     | 
    
         
            +
             
     | 
| 
      
 111 
     | 
    
         
            +
                    while (this.headers[i].firstChild) {
         
     | 
| 
      
 112 
     | 
    
         
            +
                        this.headers[i].removeChild(this.headers[i].firstChild);
         
     | 
| 
      
 113 
     | 
    
         
            +
                    }
         
     | 
| 
      
 114 
     | 
    
         
            +
             
     | 
| 
      
 115 
     | 
    
         
            +
                    var h2 = document.createElement("H2");
         
     | 
| 
      
 116 
     | 
    
         
            +
             
     | 
| 
      
 117 
     | 
    
         
            +
                    h2.appendChild(document.createTextNode(this.titles[i]));
         
     | 
| 
      
 118 
     | 
    
         
            +
                    this.headers[i].appendChild(h2);
         
     | 
| 
      
 119 
     | 
    
         
            +
                }
         
     | 
| 
      
 120 
     | 
    
         
            +
             
     | 
| 
      
 121 
     | 
    
         
            +
                function deselectAll() {
         
     | 
| 
      
 122 
     | 
    
         
            +
                    for (var i = 0; i < this.tabs.length; i++) {
         
     | 
| 
      
 123 
     | 
    
         
            +
                        changeElementClass(this.tabs[i], "tab deselected");
         
     | 
| 
      
 124 
     | 
    
         
            +
                        changeElementClass(this.headers[i], "deselected");
         
     | 
| 
      
 125 
     | 
    
         
            +
             
     | 
| 
      
 126 
     | 
    
         
            +
                        while (this.headers[i].firstChild) {
         
     | 
| 
      
 127 
     | 
    
         
            +
                            this.headers[i].removeChild(this.headers[i].firstChild);
         
     | 
| 
      
 128 
     | 
    
         
            +
                        }
         
     | 
| 
      
 129 
     | 
    
         
            +
             
     | 
| 
      
 130 
     | 
    
         
            +
                        var a = document.createElement("A");
         
     | 
| 
      
 131 
     | 
    
         
            +
             
     | 
| 
      
 132 
     | 
    
         
            +
                        a.setAttribute("id", "ltab" + i);
         
     | 
| 
      
 133 
     | 
    
         
            +
                        a.setAttribute("href", "#tab" + i);
         
     | 
| 
      
 134 
     | 
    
         
            +
                        a.onclick = switchTab;
         
     | 
| 
      
 135 
     | 
    
         
            +
                        a.appendChild(document.createTextNode(this.titles[i]));
         
     | 
| 
      
 136 
     | 
    
         
            +
             
     | 
| 
      
 137 
     | 
    
         
            +
                        this.headers[i].appendChild(a);
         
     | 
| 
      
 138 
     | 
    
         
            +
                    }
         
     | 
| 
      
 139 
     | 
    
         
            +
                }
         
     | 
| 
      
 140 
     | 
    
         
            +
             
     | 
| 
      
 141 
     | 
    
         
            +
                function findTabs(container) {
         
     | 
| 
      
 142 
     | 
    
         
            +
                    return findChildElements(container, "DIV", "tab");
         
     | 
| 
      
 143 
     | 
    
         
            +
                }
         
     | 
| 
      
 144 
     | 
    
         
            +
             
     | 
| 
      
 145 
     | 
    
         
            +
                function findHeaders(container) {
         
     | 
| 
      
 146 
     | 
    
         
            +
                    var owner = findChildElements(container, "UL", "tabLinks");
         
     | 
| 
      
 147 
     | 
    
         
            +
                    return findChildElements(owner[0], "LI", null);
         
     | 
| 
      
 148 
     | 
    
         
            +
                }
         
     | 
| 
      
 149 
     | 
    
         
            +
             
     | 
| 
      
 150 
     | 
    
         
            +
                function findTitles(tabs) {
         
     | 
| 
      
 151 
     | 
    
         
            +
                    var titles = [];
         
     | 
| 
      
 152 
     | 
    
         
            +
             
     | 
| 
      
 153 
     | 
    
         
            +
                    for (var i = 0; i < tabs.length; i++) {
         
     | 
| 
      
 154 
     | 
    
         
            +
                        var tab = tabs[i];
         
     | 
| 
      
 155 
     | 
    
         
            +
                        var header = findChildElements(tab, "H2", null)[0];
         
     | 
| 
      
 156 
     | 
    
         
            +
             
     | 
| 
      
 157 
     | 
    
         
            +
                        header.parentNode.removeChild(header);
         
     | 
| 
      
 158 
     | 
    
         
            +
             
     | 
| 
      
 159 
     | 
    
         
            +
                        if (header.innerText) {
         
     | 
| 
      
 160 
     | 
    
         
            +
                            titles.push(header.innerText);
         
     | 
| 
      
 161 
     | 
    
         
            +
                        } else {
         
     | 
| 
      
 162 
     | 
    
         
            +
                            titles.push(header.textContent);
         
     | 
| 
      
 163 
     | 
    
         
            +
                        }
         
     | 
| 
      
 164 
     | 
    
         
            +
                    }
         
     | 
| 
      
 165 
     | 
    
         
            +
             
     | 
| 
      
 166 
     | 
    
         
            +
                    return titles;
         
     | 
| 
      
 167 
     | 
    
         
            +
                }
         
     | 
| 
      
 168 
     | 
    
         
            +
             
     | 
| 
      
 169 
     | 
    
         
            +
                function findChildElements(container, name, targetClass) {
         
     | 
| 
      
 170 
     | 
    
         
            +
                    var elements = [];
         
     | 
| 
      
 171 
     | 
    
         
            +
                    var children = container.childNodes;
         
     | 
| 
      
 172 
     | 
    
         
            +
             
     | 
| 
      
 173 
     | 
    
         
            +
                    for (var i = 0; i < children.length; i++) {
         
     | 
| 
      
 174 
     | 
    
         
            +
                        var child = children.item(i);
         
     | 
| 
      
 175 
     | 
    
         
            +
             
     | 
| 
      
 176 
     | 
    
         
            +
                        if (child.nodeType === 1 && child.nodeName === name) {
         
     | 
| 
      
 177 
     | 
    
         
            +
                            if (targetClass && child.className.indexOf(targetClass) < 0) {
         
     | 
| 
      
 178 
     | 
    
         
            +
                                continue;
         
     | 
| 
      
 179 
     | 
    
         
            +
                            }
         
     | 
| 
      
 180 
     | 
    
         
            +
             
     | 
| 
      
 181 
     | 
    
         
            +
                            elements.push(child);
         
     | 
| 
      
 182 
     | 
    
         
            +
                        }
         
     | 
| 
      
 183 
     | 
    
         
            +
                    }
         
     | 
| 
      
 184 
     | 
    
         
            +
             
     | 
| 
      
 185 
     | 
    
         
            +
                    return elements;
         
     | 
| 
      
 186 
     | 
    
         
            +
                }
         
     | 
| 
      
 187 
     | 
    
         
            +
             
     | 
| 
      
 188 
     | 
    
         
            +
                // Entry point.
         
     | 
| 
      
 189 
     | 
    
         
            +
             
     | 
| 
      
 190 
     | 
    
         
            +
                window.onload = function() {
         
     | 
| 
      
 191 
     | 
    
         
            +
                    initTabs();
         
     | 
| 
      
 192 
     | 
    
         
            +
                    initControls();
         
     | 
| 
      
 193 
     | 
    
         
            +
                };
         
     | 
| 
      
 194 
     | 
    
         
            +
            } (window, window.document));
         
     |