Skip to content

Commit 8af23f4

Browse files
Merge pull request #1 from swagger-api/master
Update to latest swagger-api/swagger-parser
2 parents aeb9def + 0cb2c9b commit 8af23f4

File tree

21 files changed

+1074
-92
lines changed

21 files changed

+1074
-92
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ You can include this library from Sonatype OSS for SNAPSHOTS, or Maven central f
9999
<dependency>
100100
<groupId>io.swagger.parser.v3</groupId>
101101
<artifactId>swagger-parser</artifactId>
102-
<version>2.0.10-SNAPSHOT</version>
102+
<version>2.0.12</version>
103103
</dependency>
104104
```
105105

modules/swagger-parser-core/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<parent>
44
<groupId>io.swagger.parser.v3</groupId>
55
<artifactId>swagger-parser-project</artifactId>
6-
<version>2.0.10-SNAPSHOT</version>
6+
<version>2.0.13-SNAPSHOT</version>
77
<relativePath>../..</relativePath>
88
</parent>
99
<modelVersion>4.0.0</modelVersion>

modules/swagger-parser-v2-converter/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<parent>
44
<groupId>io.swagger.parser.v3</groupId>
55
<artifactId>swagger-parser-project</artifactId>
6-
<version>2.0.10-SNAPSHOT</version>
6+
<version>2.0.13-SNAPSHOT</version>
77
<relativePath>../..</relativePath>
88
</parent>
99
<modelVersion>4.0.0</modelVersion>

modules/swagger-parser-v2-converter/src/main/java/io/swagger/v3/parser/converter/SwaggerConverter.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@
7171
import java.util.ArrayList;
7272
import java.util.Arrays;
7373
import java.util.HashMap;
74+
import java.util.LinkedHashMap;
7475
import java.util.List;
7576
import java.util.Map;
7677
import java.util.Optional;
@@ -921,7 +922,7 @@ private Schema convert(Property schema) {
921922
result.setExample(schema.getExample());
922923

923924
if ("object".equals(schema.getType()) && (result.getProperties() != null) && (result.getProperties().size() > 0)) {
924-
Map<String, Schema> properties = new HashMap<>();
925+
Map<String, Schema> properties = new LinkedHashMap<>();
925926

926927
((ObjectProperty) schema).getProperties().forEach((k, v) -> properties.put(k, convert(v)));
927928

modules/swagger-parser-v3/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<parent>
44
<groupId>io.swagger.parser.v3</groupId>
55
<artifactId>swagger-parser-project</artifactId>
6-
<version>2.0.10-SNAPSHOT</version>
6+
<version>2.0.13-SNAPSHOT</version>
77
<relativePath>../..</relativePath>
88
</parent>
99
<modelVersion>4.0.0</modelVersion>

modules/swagger-parser-v3/src/main/java/io/swagger/v3/parser/OpenAPIV3Parser.java

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -197,19 +197,36 @@ public SwaggerParseResult readContents(String swaggerAsString, List<Authorizatio
197197
return result;
198198
}
199199

200-
protected List<SwaggerParserExtension> getExtensions() {
200+
/**
201+
* Locates extensions on the current thread class loader and then, if it differs
202+
* from this class classloader (as in OSGi), locates extensions from this
203+
* class classloader as well.
204+
*
205+
* @return a list of extensions
206+
*/
207+
public static List<SwaggerParserExtension> getExtensions() {
208+
ClassLoader tccl = Thread.currentThread().getContextClassLoader();
209+
List<SwaggerParserExtension> extensions = getExtensions(tccl);
210+
ClassLoader cl = SwaggerParserExtension.class.getClassLoader();
211+
if (cl != tccl) {
212+
extensions.addAll(getExtensions(cl));
213+
}
214+
extensions.add(0, new OpenAPIV3Parser());
215+
return extensions;
216+
}
217+
218+
protected static List<SwaggerParserExtension> getExtensions(ClassLoader cl) {
201219
List<SwaggerParserExtension> extensions = new ArrayList<>();
202220

203-
ServiceLoader<SwaggerParserExtension> loader = ServiceLoader.load(SwaggerParserExtension.class);
221+
ServiceLoader<SwaggerParserExtension> loader = ServiceLoader.load(SwaggerParserExtension.class, cl);
204222
Iterator<SwaggerParserExtension> itr = loader.iterator();
205223
while (itr.hasNext()) {
206224
extensions.add(itr.next());
207225
}
208-
extensions.add(0, new OpenAPIV3Parser());
209226
return extensions;
210227
}
211228

212-
/**
229+
/**
213230
* Transform the swagger-model version of AuthorizationValue into a parser-specific one, to avoid
214231
* dependencies across extensions
215232
*

0 commit comments

Comments
 (0)