Skip to content

Commit ef83194

Browse files
committed
refs - #995 validating against resolved definitions
1 parent d37ed66 commit ef83194

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

modules/swagger-parser/src/main/java/io/swagger/parser/processors/ExternalRefProcessor.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -210,12 +210,17 @@ private void processDiscriminator(String discriminator, Map<String, Property> pr
210210
}
211211
}else if (prop.getValue() instanceof RefProperty) {
212212
String ref = ((RefProperty) prop.getValue()).getSimpleRef();
213-
Object resolved = swagger.getDefinitions().get(ref);
214-
if (resolved instanceof ModelImpl) {
215-
ModelImpl schema = (ModelImpl) resolved;
216-
if (schema.getEnum() != null) {
217-
for (String name : schema.getEnum()) {
218-
processRefProperty(new RefProperty(RefType.DEFINITION.getInternalPrefix() + name), file);
213+
for (String key : cache.getRenameCache().keySet()) {
214+
String value = cache.getRenamedRef(key);
215+
if (value.equals(ref)) {
216+
Object resolved = cache.getResolutionCache().get(key);
217+
if (resolved instanceof ModelImpl) {
218+
ModelImpl schema = (ModelImpl) resolved;
219+
if (schema.getEnum() != null) {
220+
for (String name : schema.getEnum()) {
221+
processRefProperty(new RefProperty(RefType.DEFINITION.getInternalPrefix() + name), file);
222+
}
223+
}
219224
}
220225
}
221226
}

0 commit comments

Comments
 (0)