|
5 | 5 |
|
6 | 6 | package io.openapiparser; |
7 | 7 |
|
8 | | -import io.openapiprocessor.jsonschema.converter.StringNotNullConverter; |
9 | 8 | import io.openapiprocessor.jsonschema.schema.*; |
10 | 9 |
|
11 | 10 | import java.net.URI; |
12 | 11 |
|
13 | | -import static io.openapiparser.Keywords.OPENAPI; |
14 | 12 | import static io.openapiprocessor.jsonschema.support.Null.nonNull; |
15 | 13 |
|
16 | 14 | public class OpenApiParser { |
@@ -47,20 +45,19 @@ public OpenApiResult parse(URI baseUri, Object document) { |
47 | 45 | } |
48 | 46 |
|
49 | 47 | private OpenApiResult parseVersion(URI baseUri, Object document) { |
50 | | - String version = getVersion(baseUri, document); |
| 48 | + OpenApiVersion version = OpenApiVersionParser.parseVersion(document); |
51 | 49 |
|
52 | | - if (isVersion30(version)) { |
| 50 | + if (version == OpenApiVersion.V30) { |
53 | 51 | return parse30(baseUri, document); |
54 | 52 |
|
55 | | - } else if (isVersion31(version)) { |
| 53 | + } else if (version == OpenApiVersion.V31) { |
56 | 54 | return parse31(baseUri, document); |
57 | 55 |
|
58 | | - } else if (isVersion32(version)) { |
| 56 | + } else if (version == OpenApiVersion.V32) { |
59 | 57 | return parse32(baseUri, document); |
60 | | - |
61 | | - } else { |
62 | | - throw new UnknownVersionException(version); |
63 | 58 | } |
| 59 | + |
| 60 | + throw new RuntimeException("failed to parser OpenAPI version!"); |
64 | 61 | } |
65 | 62 |
|
66 | 63 | private OpenApiResult32 parse32(URI baseUri, Object document) { |
@@ -103,26 +100,4 @@ private OpenApiResult30 parse30(URI baseUri, Object document) { |
103 | 100 | nonNull(Bucket.createBucket(result.getScope(), document)), |
104 | 101 | documents); |
105 | 102 | } |
106 | | - |
107 | | - private String getVersion(URI baseUri, Object document) { |
108 | | - Scope scope = Scope.createScope(baseUri, document, SchemaVersion.getLatest()); |
109 | | - Bucket api = nonNull(Bucket.createBucket(scope, document)); |
110 | | - return nonNull(api.convert (OPENAPI, new StringNotNullConverter ())); |
111 | | - } |
112 | | - |
113 | | - private boolean isVersion30(String version) { |
114 | | - return checkVersion (version, "3.0"); |
115 | | - } |
116 | | - |
117 | | - private boolean isVersion31(String version) { |
118 | | - return checkVersion (version, "3.1"); |
119 | | - } |
120 | | - |
121 | | - private boolean isVersion32(String version) { |
122 | | - return checkVersion (version, "3.2"); |
123 | | - } |
124 | | - |
125 | | - private boolean checkVersion (String version, String prefix) { |
126 | | - return version.startsWith (prefix); |
127 | | - } |
128 | 103 | } |
0 commit comments