CAMEL-9732: camel-swagger-java - Issue in appendModels in the reader
diff --git a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java
index 08c0a2d..dc7bfeb 100644
--- a/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java
+++ b/components/camel-swagger-java/src/main/java/org/apache/camel/swagger/RestSwaggerReader.java
@@ -506,7 +506,16 @@
RestModelConverters converters = new RestModelConverters();
final Map<String, Model> models = converters.readClass(clazz);
for (Map.Entry<String, Model> entry : models.entrySet()) {
- swagger.model(entry.getKey(), entry.getValue());
+
+ // favor keeping any existing model that has the vendor extension in the model
+ boolean oldExt = false;
+ if (swagger.getDefinitions() != null && swagger.getDefinitions().get(entry.getKey()) != null) {
+ oldExt = swagger.getDefinitions().get(entry.getKey()).getVendorExtensions().get("x-className") == null;
+ }
+
+ if (!oldExt) {
+ swagger.model(entry.getKey(), entry.getValue());
+ }
}
}