Skip to content

Commit 4827198

Browse files
committed
fixed merge error
2 parents a79d6e9 + 7cf86b1 commit 4827198

File tree

16 files changed

+179
-80
lines changed

16 files changed

+179
-80
lines changed

modules/swagger-compat-spec-parser/pom.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
<parent>
44
<groupId>io.swagger</groupId>
55
<artifactId>swagger-parser-project</artifactId>
6-
<version>1.0.2</version>
6+
<version>1.0.3</version>
77
<relativePath>../..</relativePath>
88
</parent>
99
<modelVersion>4.0.0</modelVersion>
1010
<groupId>io.swagger</groupId>
1111
<artifactId>swagger-compat-spec-parser</artifactId>
12-
<version>1.0.2</version>
12+
<version>1.0.3</version>
1313
<packaging>jar</packaging>
1414
<name>swagger-compat-spec-parser</name>
1515
<dependencies>

modules/swagger-compat-spec-parser/src/main/java/io/swagger/parser/SwaggerCompatConverter.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -124,6 +124,8 @@ public ResourceListing readResourceListing(String input, MessageBuilder messages
124124
else {
125125
jsonNode = Json.mapper().readTree(new File(input));
126126
}
127+
if(jsonNode.get("swaggerVersion") == null)
128+
return null;
127129
ResourceListingMigrator migrator = new ResourceListingMigrator();
128130
JsonNode transformed = migrator.migrate(messages, jsonNode);
129131
output = Json.mapper().convertValue(transformed, ResourceListing.class);
@@ -314,10 +316,14 @@ else if(items.getRef() != null) {
314316
Property i = PropertyBuilder.build(type, format, args);
315317
if(i != null)
316318
output = i;
317-
else if(obj.getRef() != null)
318-
output = new RefProperty(obj.getRef());
319-
else
320-
output = new RefProperty(type);
319+
else {
320+
if(obj.getRef() != null)
321+
output = new RefProperty(obj.getRef());
322+
else if(type != null)
323+
output = new RefProperty(type);
324+
else
325+
output = new RefProperty("void");
326+
}
321327
}
322328

323329
return output;

modules/swagger-compat-spec-parser/src/main/java/io/swagger/parser/SwaggerLegacyParser.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package io.swagger.parser;
22

3-
import com.fasterxml.jackson.databind.JsonNode;
3+
import com.wordnik.swagger.util.Json;
4+
45
import io.swagger.deserializer.ApiDeclarationDeserializer;
56
import io.swagger.deserializer.ResourceListingDeserializer;
67
import io.swagger.io.Authentication;
@@ -18,6 +19,8 @@
1819
import io.swagger.validate.ApiDeclarationJsonValidator;
1920
import io.swagger.validate.ResourceListingJsonValidator;
2021

22+
import com.fasterxml.jackson.databind.JsonNode;
23+
2124
import java.net.URI;
2225
import java.net.URISyntaxException;
2326

modules/swagger-compat-spec-parser/src/test/java/com/wordnik/swagger/converter/LegacyConverterTest.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,4 +86,11 @@ public void convertSingleFile() throws Exception {
8686
assertEquals(_enum.get(1), "pending");
8787
assertEquals(_enum.get(2), "sold");
8888
}
89-
}
89+
90+
@Test
91+
public void failConversionTest() throws Exception {
92+
Swagger swagger = converter.read("src/test/resources/specs/v1_2/empty.json");
93+
94+
assertNull(swagger);
95+
}
96+
}

modules/swagger-compat-spec-parser/src/test/java/io/swagger/parser/Testing.java

Lines changed: 0 additions & 23 deletions
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
{}

modules/swagger-compat-spec-parser/src/test/resources/specs/v1_2/singleFile.json

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@
188188
"method": "DELETE",
189189
"summary": "Deletes a pet",
190190
"notes": "",
191-
"type": "void",
191+
"type": null,
192192
"nickname": "deletePet",
193193
"authorizations": {
194194
"oauth2": [
@@ -206,12 +206,6 @@
206206
"type": "string",
207207
"paramType": "path"
208208
}
209-
],
210-
"responseMessages": [
211-
{
212-
"code": 400,
213-
"message": "Invalid pet value"
214-
}
215209
]
216210
}
217211
]

modules/swagger-parser/pom.xml

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
<parent>
44
<groupId>io.swagger</groupId>
55
<artifactId>swagger-parser-project</artifactId>
6-
<version>1.0.2</version>
6+
<version>1.0.3</version>
77
<relativePath>../..</relativePath>
88
</parent>
99
<modelVersion>4.0.0</modelVersion>
1010
<groupId>io.swagger</groupId>
1111
<artifactId>swagger-parser</artifactId>
12-
<version>1.0.2</version>
12+
<version>1.0.3</version>
1313
<packaging>jar</packaging>
1414
<name>swagger-parser</name>
1515
<dependencies>
@@ -40,5 +40,10 @@
4040
<artifactId>slf4j-api</artifactId>
4141
<version>${slf4j-version}</version>
4242
</dependency>
43+
<dependency>
44+
<groupId>commons-io</groupId>
45+
<artifactId>commons-io</artifactId>
46+
<version>${commons-io-version}</version>
47+
</dependency>
4348
</dependencies>
4449
</project>

modules/swagger-parser/src/main/java/io/swagger/parser/Swagger20Parser.java

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@
99
import com.fasterxml.jackson.databind.JsonNode;
1010
import com.fasterxml.jackson.databind.ObjectMapper;
1111

12+
import org.apache.commons.io.FileUtils;
13+
1214
import java.io.File;
1315
import java.io.IOException;
1416
import java.net.URL;
@@ -19,20 +21,25 @@ public Swagger read(String location, List<AuthorizationValue> auths) throws IOEx
1921
System.out.println("reading from " + location);
2022

2123
try {
22-
// TODO make smarter
23-
ObjectMapper mapper = location.toLowerCase().endsWith(".yaml") ?
24-
Yaml.mapper() :
25-
Json.mapper();
26-
24+
ObjectMapper mapper = null;
2725
JsonNode rootNode = null;
26+
String data = null;
2827

29-
if(location.toLowerCase().startsWith("http")) {
30-
String json = RemoteUrl.urlToString(location, auths);
31-
rootNode = mapper.readTree(json);
32-
}
33-
else {
34-
rootNode = mapper.readTree(new File(location));
28+
if(location.toLowerCase().startsWith("http"))
29+
data = RemoteUrl.urlToString(location, auths);
30+
else
31+
data = FileUtils.readFileToString(new File(location), "UTF-8");
32+
33+
if(data != null) {
34+
if(data.trim().startsWith("{"))
35+
mapper = Json.mapper();
36+
else
37+
mapper = Yaml.mapper();
3538
}
39+
else
40+
return null;
41+
42+
rootNode = mapper.readTree(data);
3643

3744
// must have swagger node set
3845
JsonNode swaggerNode = rootNode.get("swagger");

modules/swagger-parser/src/main/java/io/swagger/parser/SwaggerResolver.java

Lines changed: 25 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -197,33 +197,35 @@ else if(model instanceof ArrayModel) {
197197
else if(model instanceof ModelImpl) {
198198
ModelImpl impl = (ModelImpl) model;
199199
Map<String, Property> properties = impl.getProperties();
200-
for(String propertyName : properties.keySet()) {
201-
Property property = properties.get(propertyName);
202-
if(property instanceof RefProperty) {
203-
RefProperty ref = (RefProperty)property;
204-
if(ref.get$ref() != null && ref.get$ref().startsWith("http")) {
205-
LOGGER.debug("added reference to " + ref.get$ref());
206-
resolutionMap.put(ref.get$ref(), new ResolutionContext(ref, impl, "ref"));
207-
}
208-
}
209-
else if(property instanceof ArrayProperty) {
210-
ArrayProperty arrayProperty = (ArrayProperty) property;
211-
if(arrayProperty.getItems() != null && arrayProperty.getItems() instanceof RefProperty) {
212-
RefProperty ref = (RefProperty)arrayProperty.getItems();
200+
if(properties != null) {
201+
for(String propertyName : properties.keySet()) {
202+
Property property = properties.get(propertyName);
203+
if(property instanceof RefProperty) {
204+
RefProperty ref = (RefProperty)property;
213205
if(ref.get$ref() != null && ref.get$ref().startsWith("http")) {
214206
LOGGER.debug("added reference to " + ref.get$ref());
215-
resolutionMap.put(ref.get$ref(), new ResolutionContext(ref, arrayProperty, "ref"));
207+
resolutionMap.put(ref.get$ref(), new ResolutionContext(ref, impl, "ref"));
216208
}
217209
}
218-
}
219-
else if(property instanceof MapProperty) {
220-
MapProperty mp = (MapProperty) property;
221-
if(mp.getAdditionalProperties() != null && mp.getAdditionalProperties() instanceof RefProperty) {
222-
RefProperty ref = (RefProperty)mp.getAdditionalProperties();
223-
if(ref.get$ref() != null && ref.get$ref().startsWith("http")) {
224-
LOGGER.debug("added reference to " + ref.get$ref());
225-
resolutionMap.put(ref.get$ref(), new ResolutionContext(ref, mp, "ref"));
226-
}
210+
else if(property instanceof ArrayProperty) {
211+
ArrayProperty arrayProperty = (ArrayProperty) property;
212+
if(arrayProperty.getItems() != null && arrayProperty.getItems() instanceof RefProperty) {
213+
RefProperty ref = (RefProperty)arrayProperty.getItems();
214+
if(ref.get$ref() != null && ref.get$ref().startsWith("http")) {
215+
LOGGER.debug("added reference to " + ref.get$ref());
216+
resolutionMap.put(ref.get$ref(), new ResolutionContext(ref, arrayProperty, "ref"));
217+
}
218+
}
219+
}
220+
else if(property instanceof MapProperty) {
221+
MapProperty mp = (MapProperty) property;
222+
if(mp.getAdditionalProperties() != null && mp.getAdditionalProperties() instanceof RefProperty) {
223+
RefProperty ref = (RefProperty)mp.getAdditionalProperties();
224+
if(ref.get$ref() != null && ref.get$ref().startsWith("http")) {
225+
LOGGER.debug("added reference to " + ref.get$ref());
226+
resolutionMap.put(ref.get$ref(), new ResolutionContext(ref, mp, "ref"));
227+
}
228+
}
227229
}
228230
}
229231
}

0 commit comments

Comments
 (0)