Skip to content

Commit bc14ff0

Browse files
committed
fixed NPE on getComponent call from openAPI object.
1 parent fe57363 commit bc14ff0

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

modules/swagger-codegen-maven-plugin/pom.xml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,11 @@
5151
<artifactId>swagger-codegen</artifactId>
5252
<version>${project.version}</version>
5353
</dependency>
54+
<dependency>
55+
<groupId>io.swagger</groupId>
56+
<artifactId>swagger-codegen-generators</artifactId>
57+
<version>1.0.0-SNAPSHOT</version>
58+
</dependency>
5459
<dependency>
5560
<groupId>junit</groupId>
5661
<artifactId>junit</artifactId>

modules/swagger-codegen/src/main/java/io/swagger/codegen/DefaultGenerator.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -681,7 +681,9 @@ private Map<String, Object> buildSupportFileBundle(List<Object> allOperations, L
681681
bundle.put("models", allModels);
682682
bundle.put("apiFolder", config.apiPackage().replace('.', File.separatorChar));
683683
bundle.put("modelPackage", config.modelPackage());
684-
List<CodegenSecurity> authMethods = config.fromSecurity(openAPI.getComponents().getSecuritySchemes());
684+
685+
final Map<String, SecurityScheme> securitySchemeMap = openAPI.getComponents() != null ? openAPI.getComponents().getSecuritySchemes() : null;
686+
final List<CodegenSecurity> authMethods = config.fromSecurity(securitySchemeMap);
685687
if (authMethods != null && !authMethods.isEmpty()) {
686688
bundle.put("authMethods", authMethods);
687689
bundle.put("hasAuthMethods", true);
@@ -843,14 +845,15 @@ private void processOperation(String resourcePath, String httpMethod, Operation
843845
}
844846
}
845847

848+
final Map<String, Schema> schemas = openAPI.getComponents() != null ? openAPI.getComponents().getSchemas() : null;
849+
final Map<String, SecurityScheme> securitySchemes = openAPI.getComponents() != null ? openAPI.getComponents().getSecuritySchemes() : null;
850+
final List<SecurityRequirement> globalSecurities = openAPI.getSecurity();
846851
for (Tag tag : tags) {
847852
try {
848-
CodegenOperation codegenOperation = config.fromOperation(resourcePath, httpMethod, operation, openAPI.getComponents().getSchemas(), openAPI);
853+
CodegenOperation codegenOperation = config.fromOperation(resourcePath, httpMethod, operation, schemas, openAPI);
849854
codegenOperation.tags = new ArrayList<>(tags);
850855
config.addOperationToGroup(config.sanitizeTag(tag.getName()), resourcePath, operation, codegenOperation, operations);
851856

852-
final Map<String, SecurityScheme> securitySchemes = openAPI.getComponents().getSecuritySchemes();
853-
List<SecurityRequirement> globalSecurities = openAPI.getSecurity();
854857
List<SecurityRequirement> securities = operation.getSecurity();
855858
if (securities != null && securities.isEmpty()) {
856859
continue;

0 commit comments

Comments
 (0)