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");
public static boolean isNotBlank(StringColumn column) { return !column.getValues().filter(StringUtils::isNotBlank).isEmpty(); }
@Test public void defaultColumnTypes() { StringColumn nameColumn = StringColumn.builder(NAME).addAll("Ada", "Homer", "Hillary").putMetaData("meta-data", "rocks").build(); IntColumn ageColumn = IntColumn.ofAll(AGE, 42, 99, 67); DoubleColumn heightColumn = DoubleColumn.ofAll(HEIGHT, 1.74, 1.20, 1.70); assertEquals(NAME, df.getColumnId(0, ColumnType.STRING)); assertEquals(nameColumn, df.getColumn(NAME)); assertEquals(Array.of("Ada", "Homer", "Hillary"), nameColumn.getValues()); ColumnId nonSpecificId = nameColumn.getId(); Column<?> column = df.getColumn(nonSpecificId); assertNotNull(column);
@Test public void valueTypeSpecificBuilding() { StringColumn column = builder().add("bli").addAll("bla", "blu").add("zzz").build(); assertEquals(ID, column.getId()); assertEquals(4, column.getRowCount()); assertEquals("bli", column.getValueAt(0)); assertEquals("zzz", column.getValueAt(column.getRowCount() - 1)); }
public String getValueAt(int rowIndex, StringColumnId columnId) { StringColumn column = getTypedColumn(columnId); return column.getValueAt(rowIndex); }
@Override public StringColumn build() { return new StringColumn(id, Array.ofAll(values), metaDataBuilder.build()); }
public String getValueAt(int rowIndex, StringColumnId columnId) { StringColumn column = getTypedColumn(columnId); return column.getValueAt(rowIndex); }
@Override public StringColumn build() { return new StringColumn(id, Array.ofAll(values), metaDataBuilder.build()); }
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");
@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); }
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");
public static boolean isNotBlank(StringColumn column) { return !column.getValues().filter(StringUtils::isNotBlank).isEmpty(); }
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");
public static boolean isNotBlank(StringColumn column) { return !column.getValues().filter(StringUtils::isNotBlank).isEmpty(); }
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");
@Test public void demo() { final String EXAMPLE = "Name\tColor\tServing Size (g)\n" + "String\tCategory\tDouble\n" + "Banana\tYellow\t118\n" + "Blueberry\tBlue\t148\n" + "Lemon\tYellow\t83\n" + "Apple\tGreen\t182"; DataFrame dataFrame = Parser.tsv(new StringReader(EXAMPLE)); // Lookup typed identifiers by column index final StringColumnId NAME = dataFrame.getColumnId(0, ColumnType.STRING); final CategoryColumnId COLOR = dataFrame.getColumnId(1, ColumnType.CATEGORY); final DoubleColumnId SERVING_SIZE = dataFrame.getColumnId(2, ColumnType.DOUBLE); // Use identifier to access columns & values StringColumn nameColumn = dataFrame.getColumn(NAME); IndexedSeq<String> nameValues = nameColumn.getValues(); // ... or access individual values via row index / column id String yellow = dataFrame.getValueAt(2, COLOR); }
@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)); }
@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); }
@Override protected StringColumn.Builder builder() { return StringColumn.builder(ID); }
@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); }