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 security section of a Swagger Operation. * * @param operation the Swagger Operation */ private void buildSecuritySchemeSection(MarkupDocBuilder markupDocBuilder, PathOperation operation) { if (config.isPathSecuritySectionEnabled()) { securitySchemeComponent.apply(markupDocBuilder, SecuritySchemeComponent.parameters( operation, getSectionTitleLevel() )); } }
MarkupDocBuilder securityBuilder = copyMarkupDocBuilder(markupDocBuilder); List<Map<String, List<String>>> securitySchemes = operation.getOperation().getSecurity(); 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))) scopeColumnBuilder.build())); applyPathsDocumentExtension(new PathsDocumentExtension.Context(PathsDocumentExtension.Position.OPERATION_SECURITY_END, securityBuilder, operation)); String securityContent = securityBuilder.toString(); applyPathsDocumentExtension(new PathsDocumentExtension.Context(PathsDocumentExtension.Position.OPERATION_SECURITY_BEFORE, markupDocBuilder, operation)); if (isNotBlank(securityContent)) { markupDocBuilder.sectionTitleLevel(params.titleLevel, labels.getLabel(SECURITY)); markupDocBuilder.text(securityContent); applyPathsDocumentExtension(new PathsDocumentExtension.Context(PathsDocumentExtension.Position.OPERATION_SECURITY_AFTER, markupDocBuilder, operation)); return markupDocBuilder;
@Test public void testSecuritySchemeComponent() throws URISyntaxException { //Given Path file = Paths.get(SecuritySchemeComponentTest.class.getResource("/yaml/swagger_petstore.yaml").toURI()); Swagger2MarkupConverter converter = Swagger2MarkupConverter.from(file).build(); Swagger swagger = converter.getContext().getSwagger(); List<PathOperation> pathOperations = PathUtils.toPathOperationsList(swagger.getPaths(), "", converter.getContext().getConfig().getOperationOrdering()); Swagger2MarkupConverter.Context context = converter.getContext(); MarkupDocBuilder markupDocBuilder = context.createMarkupDocBuilder(); //When markupDocBuilder = new SecuritySchemeComponent(context, new SecurityDocumentResolver(context)) .apply(markupDocBuilder, SecuritySchemeComponent.parameters(pathOperations.get(0), 3)); markupDocBuilder.writeToFileWithoutExtension(outputDirectory, StandardCharsets.UTF_8); //Then Path expectedFile = getExpectedFile(COMPONENT_NAME); DiffUtils.assertThatFileIsEqual(expectedFile, outputDirectory, getReportName(COMPONENT_NAME)); } }
/** * Builds the security section of a Swagger Operation. * * @param operation the Swagger Operation */ private void buildSecuritySchemeSection(MarkupDocBuilder markupDocBuilder, PathOperation operation) { if (config.isPathSecuritySectionEnabled()) { securitySchemeComponent.apply(markupDocBuilder, SecuritySchemeComponent.parameters( operation, getSectionTitleLevel() )); } }
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); }
MarkupDocBuilder securityBuilder = copyMarkupDocBuilder(markupDocBuilder); List<Map<String, List<String>>> securitySchemes = operation.getOperation().getSecurity(); 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))) scopeColumnBuilder.build())); applyPathsDocumentExtension(new PathsDocumentExtension.Context(PathsDocumentExtension.Position.OPERATION_SECURITY_END, securityBuilder, operation)); String securityContent = securityBuilder.toString(); applyPathsDocumentExtension(new PathsDocumentExtension.Context(PathsDocumentExtension.Position.OPERATION_SECURITY_BEFORE, markupDocBuilder, operation)); if (isNotBlank(securityContent)) { markupDocBuilder.sectionTitleLevel(params.titleLevel, labels.getLabel(SECURITY)); markupDocBuilder.text(securityContent); applyPathsDocumentExtension(new PathsDocumentExtension.Context(PathsDocumentExtension.Position.OPERATION_SECURITY_AFTER, markupDocBuilder, operation)); return markupDocBuilder;
/** * Builds the security section of a Swagger Operation. * * @param operation the Swagger Operation */ private void buildSecuritySchemeSection(MarkupDocBuilder markupDocBuilder, PathOperation operation) { if (config.isPathSecuritySectionEnabled()) { securitySchemeComponent.apply(markupDocBuilder, SecuritySchemeComponent.parameters( operation, getSectionTitleLevel() )); } }
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); }
MarkupDocBuilder securityBuilder = copyMarkupDocBuilder(markupDocBuilder); final List<SecurityRequirement> securitySchemes = operation.getOperation().getSecurity(); 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))) scopeColumnBuilder.build())); applyPathsDocumentExtension(new PathsDocumentExtension.Context(PathsDocumentExtension.Position.OPERATION_SECURITY_END, securityBuilder, operation)); String securityContent = securityBuilder.toString(); applyPathsDocumentExtension(new PathsDocumentExtension.Context(PathsDocumentExtension.Position.OPERATION_SECURITY_BEFORE, markupDocBuilder, operation)); if (isNotBlank(securityContent)) { markupDocBuilder.sectionTitleLevel(params.titleLevel, labels.getLabel(SECURITY)); markupDocBuilder.text(securityContent); applyPathsDocumentExtension(new PathsDocumentExtension.Context(PathsDocumentExtension.Position.OPERATION_SECURITY_AFTER, markupDocBuilder, operation)); return markupDocBuilder;