@@ -216,13 +216,28 @@ private String schema(ChangedSchema schema) {
216
216
return schema (1 , schema );
217
217
}
218
218
219
+ private String oneOfSchema (int deepness , ChangedOneOfSchema schema , String discriminator ) {
220
+ StringBuilder sb = new StringBuilder ("" );
221
+ sb .append (format ("%sSwitch `%s`:\n " , indent (deepness ), discriminator ));
222
+ schema .getMissingMapping ().keySet ()
223
+ .forEach (key -> sb .append (format ("%s- Removed '%s'\n " , indent (deepness ), key )));
224
+ schema .getIncreasedMapping ().forEach ((key , sub ) ->
225
+ sb .append (format ("%s- Added '%s':\n " , indent (deepness ), key )).append (schema (deepness + 1 , sub )));
226
+ schema .getChangedMapping ().forEach ((key , sub ) ->
227
+ sb .append (format ("%s- Updated `%s`:\n " , indent (deepness ), key ))
228
+ .append (schema (deepness + 1 , sub )));
229
+ return sb .toString ();
230
+ }
231
+
219
232
private String schema (int deepness , ChangedSchema schema ) {
220
233
StringBuilder sb = new StringBuilder ("" );
221
234
if (schema .isDiscriminatorPropertyChanged ()) {
222
235
LOGGER .debug ("Discriminator property changed" );
223
236
}
224
237
if (schema .getChangedOneOfSchema () != null ) {
225
- LOGGER .debug ("One of schema changed" );
238
+ String discriminator = schema .getNewSchema ().getDiscriminator () != null ?
239
+ schema .getNewSchema ().getDiscriminator ().getPropertyName () : "" ;
240
+ sb .append (oneOfSchema (deepness , schema .getChangedOneOfSchema (), discriminator ));
226
241
}
227
242
sb .append (listDiff (deepness , "enum" , schema .getChangeEnum ()));
228
243
sb .append (properties (deepness , "Added property" , schema .getIncreasedProperties (), true ));
0 commit comments