public Parameters(StringColumn... columns) { this.dataFrame = DataFrame.ofAll(List.of(columns).filter(TableComponent::isNotBlank)); } }
public static boolean isNotBlank(StringColumn column) { return !column.getValues().filter(StringUtils::isNotBlank).isEmpty(); }
@Override public MarkupDocBuilder apply(MarkupDocBuilder markupDocBuilder, Parameters params) { DataFrame dataFrame = params.dataFrame; java.util.List<MarkupTableColumn> columnSpecs = dataFrame.getColumns().map(column -> { Integer widthRatio = Integer.valueOf(column.getMetaData().get(WIDTH_RATIO).getOrElse("0")); return new MarkupTableColumn(column.getId().getName()) .withWidthRatio(widthRatio) .withHeaderColumn(Boolean.parseBoolean(column.getMetaData().get(HEADER_COLUMN).getOrElse("false"))) .withMarkupSpecifiers(MarkupLanguage.ASCIIDOC, ".^" + widthRatio + "a"); } ).toJavaList(); IndexedSeq<IndexedSeq<String>> columnValues = dataFrame.getColumns() .map(column -> ((StringColumn) column).getValues()); java.util.List<java.util.List<String>> cells = Array.range(0, dataFrame.getRowCount()) .map(rowNumber -> columnValues.map(values -> values.get(rowNumber)).toJavaList()).toJavaList(); return markupDocBuilder.tableWithColumnSpecs(columnSpecs, cells); }
@Test public void testTable() throws URISyntaxException { StringColumn.Builder typeColumnBuilder = StringColumn.builder(StringColumnId.of("type")); typeColumnBuilder.add("type1").add("type2").add("type3"); StringColumn.Builder nameColumnBuilder = StringColumn.builder(StringColumnId.of("name")); nameColumnBuilder.add("name1").add("").add("name3"); StringColumn.Builder descriptionColumnBuilder = StringColumn.builder(StringColumnId.of("description")); descriptionColumnBuilder.add("").add("").add(""); Swagger2MarkupConverter.Context context = createContext(); MarkupDocBuilder markupDocBuilder = context.createMarkupDocBuilder(); markupDocBuilder = new TableComponent(context).apply(markupDocBuilder, TableComponent.parameters( typeColumnBuilder.build(), nameColumnBuilder.build(), descriptionColumnBuilder.build())); markupDocBuilder.writeToFileWithoutExtension(outputDirectory, StandardCharsets.UTF_8); Path expectedFile = getExpectedFile(COMPONENT_NAME); DiffUtils.assertThatFileIsEqual(expectedFile, outputDirectory, getReportName(COMPONENT_NAME)); }
public String getValueAt(int rowIndex, StringColumnId columnId) { StringColumn column = getTypedColumn(columnId); return column.getValueAt(rowIndex); }
public <V, I extends GenericColumnId> V getValueAt(int rowIndex, I columnId) { GenericColumn<V, I> column = getTypedColumn(columnId); return column.getValueAt(rowIndex); }
public Instant getValueAt(int rowIndex, TimestampColumnId columnId) { TimestampColumn column = getTypedColumn(columnId); return column.getValueAt(rowIndex); }
public int getValueAt(int rowIndex, IntColumnId columnId) { IntColumn column = getTypedColumn(columnId); return column.getValueAt(rowIndex); }
public boolean getValueAt(int rowIndex, BooleanColumnId columnId) { BooleanColumn column = getTypedColumn(columnId); return column.getValueAt(rowIndex); }
public double getValueAt(int rowIndex, DoubleColumnId columnId) { DoubleColumn column = getTypedColumn(columnId); return column.getValueAt(rowIndex); }
public String getValueAt(int rowIndex, CategoryColumnId columnId) { CategoryColumn column = getTypedColumn(columnId); return column.getValueAt(rowIndex); }
applyPathsDocumentExtension(new PathsDocumentExtension.Context(PathsDocumentExtension.Position.OPERATION_PARAMETERS_BEGIN, parametersBuilder, operation)); if (CollectionUtils.isNotEmpty(filteredParameters)) { StringColumn.Builder typeColumnBuilder = StringColumn.builder(StringColumnId.of(labels.getLabel(TYPE_COLUMN))) .putMetaData(TableComponent.WIDTH_RATIO, "2"); StringColumn.Builder nameColumnBuilder = StringColumn.builder(StringColumnId.of(labels.getLabel(NAME_COLUMN))) .putMetaData(TableComponent.WIDTH_RATIO, "3"); StringColumn.Builder descriptionColumnBuilder = StringColumn.builder(StringColumnId.of(labels.getLabel(DESCRIPTION_COLUMN))) .putMetaData(TableComponent.WIDTH_RATIO, "9") .putMetaData(TableComponent.HEADER_COLUMN, "true"); StringColumn.Builder schemaColumnBuilder = StringColumn.builder(StringColumnId.of(labels.getLabel(SCHEMA_COLUMN))) .putMetaData(TableComponent.WIDTH_RATIO, "4") .putMetaData(TableComponent.HEADER_COLUMN, "true"); StringColumn.Builder defaultColumnBuilder = StringColumn.builder(StringColumnId.of(labels.getLabel(DEFAULT_COLUMN))) .putMetaData(TableComponent.WIDTH_RATIO, "2") .putMetaData(TableComponent.HEADER_COLUMN, "true"); typeColumnBuilder.add(parameterAdapter.displayType(markupDocBuilder)); nameColumnBuilder.add(getParameterNameColumnContent(markupDocBuilder, parameterAdapter)); descriptionColumnBuilder.add(buildDescriptionForParameter(markupDocBuilder, parameterAdapter)); schemaColumnBuilder.add(parameterAdapter.displaySchema(markupDocBuilder)); defaultColumnBuilder.add(parameterAdapter.displayDefaultValue(markupDocBuilder)); typeColumnBuilder.build(), nameColumnBuilder.build(), descriptionColumnBuilder.build(), schemaColumnBuilder.build(), defaultColumnBuilder.build()));
public String getValueAt(int rowIndex, StringColumnId columnId) { StringColumn column = getTypedColumn(columnId); return column.getValueAt(rowIndex); }
public <V, I extends GenericColumnId> V getValueAt(int rowIndex, I columnId) { GenericColumn<V, I> column = getTypedColumn(columnId); return column.getValueAt(rowIndex); }
applyPathsDocumentExtension(new PathsDocumentExtension.Context(PathsDocumentExtension.Position.OPERATION_SECURITY_BEGIN, securityBuilder, operation)); if (CollectionUtils.isNotEmpty(securitySchemes)) { StringColumn.Builder typeColumnBuilder = StringColumn.builder(StringColumnId.of(labels.getLabel(TYPE_COLUMN))) .putMetaData(TableComponent.WIDTH_RATIO, "3"); StringColumn.Builder nameColumnBuilder = StringColumn.builder(StringColumnId.of(labels.getLabel(NAME_COLUMN))) .putMetaData(TableComponent.WIDTH_RATIO, "4"); StringColumn.Builder scopeColumnBuilder = StringColumn.builder(StringColumnId.of(labels.getLabel(SCOPES_COLUMN))) .putMetaData(TableComponent.WIDTH_RATIO, "13") .putMetaData(TableComponent.HEADER_COLUMN, "true"); typeColumnBuilder.add(boldText(markupDocBuilder, type)); nameColumnBuilder.add(boldText(markupDocBuilder, crossReference(markupDocBuilder, securityDocumentResolver.apply(securityKey), securityKey, securityKey))); scopeColumnBuilder.add(Joiner.on(",").join(securityEntry.getValue())); securityBuilder = tableComponent.apply(securityBuilder, TableComponent.parameters(typeColumnBuilder.build(), nameColumnBuilder.build(), scopeColumnBuilder.build()));
StringColumn.Builder nameColumnBuilder = StringColumn.builder(StringColumnId.of(labels.getLabel(NAME_COLUMN))) .putMetaData(TableComponent.WIDTH_RATIO, "3") .putMetaData(TableComponent.HEADER_COLUMN, "true"); StringColumn.Builder descriptionColumnBuilder = StringColumn.builder(StringColumnId.of(labels.getLabel(DESCRIPTION_COLUMN))) .putMetaData(TableComponent.WIDTH_RATIO, "17") .putMetaData(TableComponent.HEADER_COLUMN, "true"); nameColumnBuilder.add(scope.getKey()); descriptionColumnBuilder.add(scope.getValue()); return tableComponent.apply(markupDocBuilder, TableComponent.parameters(nameColumnBuilder.build(), descriptionColumnBuilder.build())); } else {
applyPathsDocumentExtension(new PathsDocumentExtension.Context(PathsDocumentExtension.Position.OPERATION_RESPONSES_BEGIN, responsesBuilder, operation)); if (MapUtils.isNotEmpty(responses)) { StringColumn.Builder httpCodeColumnBuilder = StringColumn.builder(StringColumnId.of(labels.getLabel(HTTP_CODE_COLUMN))) .putMetaData(TableComponent.WIDTH_RATIO, "2"); StringColumn.Builder descriptionColumnBuilder = StringColumn.builder(StringColumnId.of(labels.getLabel(DESCRIPTION_COLUMN))) .putMetaData(TableComponent.WIDTH_RATIO, "14") .putMetaData(TableComponent.HEADER_COLUMN, "true"); StringColumn.Builder schemaColumnBuilder = StringColumn.builder(StringColumnId.of(labels.getLabel(SCHEMA_COLUMN))) .putMetaData(TableComponent.WIDTH_RATIO, "4") .putMetaData(TableComponent.HEADER_COLUMN, "true"); httpCodeColumnBuilder.add(boldText(markupDocBuilder, responseName)); descriptionColumnBuilder.add(descriptionBuilder.toString()); schemaColumnBuilder.add(schemaContent); }); responsesBuilder = tableComponent.apply(responsesBuilder, TableComponent.parameters(httpCodeColumnBuilder.build(), descriptionColumnBuilder.build(), schemaColumnBuilder.build()));
public MarkupDocBuilder apply(MarkupDocBuilder markupDocBuilder, Parameters params) { StringColumn.Builder nameColumnBuilder = StringColumn.builder(ColumnIds.StringColumnId.of(labels.getLabel(NAME_COLUMN))) .putMetaData(TableComponent.WIDTH_RATIO, "3"); StringColumn.Builder descriptionColumnBuilder = StringColumn.builder(ColumnIds.StringColumnId.of(labels.getLabel(DESCRIPTION_COLUMN))) .putMetaData(TableComponent.WIDTH_RATIO, "11") .putMetaData(TableComponent.HEADER_COLUMN, "true"); StringColumn.Builder schemaColumnBuilder = StringColumn.builder(ColumnIds.StringColumnId.of(labels.getLabel(SCHEMA_COLUMN))) .putMetaData(TableComponent.WIDTH_RATIO, "4") .putMetaData(TableComponent.HEADER_COLUMN, "true"); nameColumnBuilder.add(propertyNameContent.toString()); descriptionColumnBuilder.add(descriptionContent.toString()); schemaColumnBuilder.add(propertyType.displaySchema(markupDocBuilder)); }); nameColumnBuilder.build(), descriptionColumnBuilder.build(), schemaColumnBuilder.build()));