Skip to content

Commit

Permalink
Fixes #270
Browse files Browse the repository at this point in the history
  • Loading branch information
Diego de Estrada committed Jul 26, 2016
1 parent b719170 commit 8e70f7f
Showing 1 changed file with 14 additions and 1 deletion.
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.swagger.parser.processors;

import io.swagger.models.Model;
import io.swagger.models.RefModel;
import io.swagger.models.Swagger;
import io.swagger.models.properties.Property;
import io.swagger.models.properties.RefProperty;
Expand Down Expand Up @@ -48,15 +49,27 @@ public String processRefToExternalDefinition(String $ref, RefFormat refFormat) {


//If this is a new model, then check it for other sub references
String file = $ref.split("#/")[0];
if (model instanceof RefModel) {
RefModel refModel = (RefModel) model;
if(isAnExternalRefFormat(refModel.getRefFormat())) {
processRefToExternalDefinition(refModel.get$ref(), refModel.getRefFormat());
} else {
processRefToExternalDefinition(file + refModel.get$ref(), RefFormat.RELATIVE);
}
}
//Loop the properties and recursively call this method;
Map<String, Property> subProps = model.getProperties();
if(subProps != null) {
for (Map.Entry<String, Property> prop : subProps.entrySet()) {
if (prop.getValue() instanceof RefProperty) {
RefProperty subRef = (RefProperty) prop.getValue();

if(isAnExternalRefFormat(subRef.getRefFormat()))
if(isAnExternalRefFormat(subRef.getRefFormat())) {
subRef.set$ref(processRefToExternalDefinition(subRef.get$ref(), subRef.getRefFormat()));
} else {
processRefToExternalDefinition(file + subRef.get$ref(), RefFormat.RELATIVE);
}
}
}
}
Expand Down

0 comments on commit 8e70f7f

Please sign in to comment.