@Test public void testParameterTableComponent() throws URISyntaxException { //Given Path file = Paths.get(ParameterTableComponentTest.class.getResource("/yaml/swagger_petstore.yaml").toURI()); Swagger2MarkupConverter converter = Swagger2MarkupConverter.from(file).build(); Swagger swagger = converter.getContext().getSwagger(); io.swagger.models.Path path = swagger.getPaths().get("/pets"); List<PathOperation> pathOperations = PathUtils.toPathOperationsList("/pets", path); Swagger2MarkupConverter.Context context = converter.getContext(); MarkupDocBuilder markupDocBuilder = context.createMarkupDocBuilder(); //When markupDocBuilder = new ParameterTableComponent(context, new DefinitionDocumentResolverFromOperation(context)) .apply(markupDocBuilder, ParameterTableComponent.parameters(pathOperations.get(0), new ArrayList<>(), 3)); markupDocBuilder.writeToFileWithoutExtension(outputDirectory, StandardCharsets.UTF_8); //Then Path expectedFile = getExpectedFile(COMPONENT_NAME); DiffUtils.assertThatFileIsEqual(expectedFile, outputDirectory, getReportName(COMPONENT_NAME)); } }
/** * Builds the parameters section * * @param operation the Swagger Operation */ private List<ObjectType> buildParametersSection(MarkupDocBuilder markupDocBuilder, PathOperation operation) { List<ObjectType> inlineDefinitions = new ArrayList<>(); parameterTableComponent.apply(markupDocBuilder, ParameterTableComponent.parameters( operation, inlineDefinitions, getSectionTitleLevel() )); return inlineDefinitions; }
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))) nameColumnBuilder.add(getParameterNameColumnContent(markupDocBuilder, parameterAdapter)); descriptionColumnBuilder.add(buildDescriptionForParameter(markupDocBuilder, parameterAdapter)); schemaColumnBuilder.add(parameterAdapter.displaySchema(markupDocBuilder)); defaultColumnBuilder.add(parameterAdapter.displayDefaultValue(markupDocBuilder)); defaultColumnBuilder.build())); applyPathsDocumentExtension(new PathsDocumentExtension.Context(PathsDocumentExtension.Position.OPERATION_PARAMETERS_END, parametersBuilder, operation)); String parametersContent = parametersBuilder.toString(); applyPathsDocumentExtension(new PathsDocumentExtension.Context(PathsDocumentExtension.Position.OPERATION_PARAMETERS_BEFORE, markupDocBuilder, operation)); if (isNotBlank(parametersContent)) { markupDocBuilder.sectionTitleLevel(params.titleLevel, labels.getLabel(PARAMETERS)); markupDocBuilder.text(parametersContent); applyPathsDocumentExtension(new PathsDocumentExtension.Context(PathsDocumentExtension.Position.OPERATION_PARAMETERS_AFTER, markupDocBuilder, operation));
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))) nameColumnBuilder.add(getParameterNameColumnContent(markupDocBuilder, parameterAdapter)); descriptionColumnBuilder.add(parameterAdapter.displayDescription(markupDocBuilder)); schemaColumnBuilder.add(parameterAdapter.displaySchema(markupDocBuilder)); defaultColumnBuilder.build())); applyPathsDocumentExtension(new PathsDocumentExtension.Context(PathsDocumentExtension.Position.OPERATION_PARAMETERS_END, parametersBuilder, operation)); String parametersContent = parametersBuilder.toString(); applyPathsDocumentExtension(new PathsDocumentExtension.Context(PathsDocumentExtension.Position.OPERATION_PARAMETERS_BEFORE, markupDocBuilder, operation)); if (isNotBlank(parametersContent)) { markupDocBuilder.sectionTitleLevel(params.titleLevel, labels.getLabel(PARAMETERS)); markupDocBuilder.text(parametersContent); applyPathsDocumentExtension(new PathsDocumentExtension.Context(PathsDocumentExtension.Position.OPERATION_PARAMETERS_AFTER, markupDocBuilder, operation));
public PathOperationComponent(Swagger2MarkupConverter.Context context, DocumentResolver definitionDocumentResolver, DocumentResolver securityDocumentResolver) { super(context); this.definitions = context.getSwagger().getDefinitions(); this.definitionDocumentResolver = Validate.notNull(definitionDocumentResolver, "DocumentResolver must not be null"); this.propertiesTableComponent = new PropertiesTableComponent(context, definitionDocumentResolver); this.parameterTableComponent = new ParameterTableComponent(context, definitionDocumentResolver); this.consumesComponent = new ConsumesComponent(context); this.producesComponent = new ProducesComponent(context); this.securitySchemeComponent = new SecuritySchemeComponent(context, securityDocumentResolver); this.bodyParameterComponent = new BodyParameterComponent(context, definitionDocumentResolver); this.responseComponent = new ResponseComponent(context, definitionDocumentResolver); }
/** * Builds the parameters section * * @param operation the Swagger Operation */ private List<ObjectType> buildParametersSection(MarkupDocBuilder markupDocBuilder, PathOperation operation) { List<ObjectType> inlineDefinitions = new ArrayList<>(); parameterTableComponent.apply(markupDocBuilder, ParameterTableComponent.parameters( operation, inlineDefinitions, getSectionTitleLevel() )); return inlineDefinitions; }
applyPathsDocumentExtension(new PathsDocumentExtension.Context(PathsDocumentExtension.Position.OPERATION_PARAMETERS_BEGIN, parametersBuilder, operation)); if (CollectionUtils.isNotEmpty(filteredParameters) || operation.getOperation().getRequestBody() != null) { StringColumn.Builder typeColumnBuilder = StringColumn.builder(StringColumnId.of(labels.getLabel(TYPE_COLUMN))) nameColumnBuilder.add(getParameterNameColumnContent(markupDocBuilder, parameterAdapter)); descriptionColumnBuilder.add(parameterAdapter.displayDescription(markupDocBuilder)); schemaColumnBuilder.add(parameterAdapter.displaySchema(markupDocBuilder)); definitionDocumentResolver); typeColumnBuilder.add(requestBodyAdapter.displayType(markupDocBuilder)); nameColumnBuilder.add(getParameterNameColumnContent(markupDocBuilder, requestBodyAdapter)); descriptionColumnBuilder.add(requestBodyAdapter.displayDescription(markupDocBuilder)); schemaColumnBuilder.add(requestBodyAdapter.displaySchema(markupDocBuilder)); defaultColumnBuilder.build())); applyPathsDocumentExtension(new PathsDocumentExtension.Context(PathsDocumentExtension.Position.OPERATION_PARAMETERS_END, parametersBuilder, operation)); String parametersContent = parametersBuilder.toString(); applyPathsDocumentExtension(new PathsDocumentExtension.Context(PathsDocumentExtension.Position.OPERATION_PARAMETERS_BEFORE, markupDocBuilder, operation)); if (isNotBlank(parametersContent)) { markupDocBuilder.sectionTitleLevel(params.titleLevel, labels.getLabel(PARAMETERS)); markupDocBuilder.text(parametersContent); applyPathsDocumentExtension(new PathsDocumentExtension.Context(PathsDocumentExtension.Position.OPERATION_PARAMETERS_AFTER, markupDocBuilder, operation));
public PathOperationComponent(Swagger2MarkupConverter.Context context, DocumentResolver definitionDocumentResolver, DocumentResolver securityDocumentResolver) { super(context); this.definitions = context.getSwagger().getDefinitions(); this.definitionDocumentResolver = Validate.notNull(definitionDocumentResolver, "DocumentResolver must not be null"); this.propertiesTableComponent = new PropertiesTableComponent(context, definitionDocumentResolver); this.parameterTableComponent = new ParameterTableComponent(context, definitionDocumentResolver); this.consumesComponent = new ConsumesComponent(context); this.producesComponent = new ProducesComponent(context); this.securitySchemeComponent = new SecuritySchemeComponent(context, securityDocumentResolver); this.bodyParameterComponent = new BodyParameterComponent(context, definitionDocumentResolver); this.responseComponent = new ResponseComponent(context, definitionDocumentResolver); }
/** * Builds the parameters section * * @param operation the Swagger Operation */ private List<ObjectType> buildParametersSection(MarkupDocBuilder markupDocBuilder, PathOperation operation) { List<ObjectType> inlineDefinitions = new ArrayList<>(); parameterTableComponent.apply(markupDocBuilder, ParameterTableComponent.parameters( operation, inlineDefinitions, getSectionTitleLevel() )); return inlineDefinitions; }
public PathOperationComponent(Swagger2MarkupConverter.Context context, DocumentResolver definitionDocumentResolver, DocumentResolver securityDocumentResolver) { super(context); this.definitions = context.getSwagger().getComponents().getSchemas(); this.definitionDocumentResolver = Validate.notNull(definitionDocumentResolver, "DocumentResolver must not be null"); this.propertiesTableComponent = new PropertiesTableComponent(context, definitionDocumentResolver); this.parameterTableComponent = new ParameterTableComponent(context, definitionDocumentResolver); this.consumesComponent = new ConsumesComponent(context); this.producesComponent = new ProducesComponent(context); this.securitySchemeComponent = new SecuritySchemeComponent(context, securityDocumentResolver); this.bodyParameterComponent = new BodyParameterComponent(context, definitionDocumentResolver); this.responseComponent = new ResponseComponent(context, definitionDocumentResolver); }