15
15
import java .util .List ;
16
16
import java .util .Map ;
17
17
18
+ import static java .lang .String .format ;
19
+
18
20
public class MarkdownRender implements Render {
19
21
public static final Logger LOGGER = LoggerFactory .getLogger (MarkdownRender .class );
20
22
@@ -119,7 +121,7 @@ private String itemResponse(String title, String code, String description) {
119
121
if (!code .equals ("default" )) {
120
122
status = HttpStatus .getStatusText (Integer .parseInt (code ));
121
123
}
122
- sb .append (String . format ("%s : **%s %s**\n " , title , code , status ));
124
+ sb .append (format ("%s : **%s %s**\n " , title , code , status ));
123
125
sb .append (description (description ));
124
126
return sb .toString ();
125
127
}
@@ -153,7 +155,7 @@ private String itemHeader(String code, ChangedHeader header) {
153
155
154
156
private String itemHeader (String title , String mediaType , String description ) {
155
157
StringBuilder sb = new StringBuilder ("" );
156
- sb .append (String . format ("%s : `%s`\n \n " , title , mediaType ));
158
+ sb .append (format ("%s : `%s`\n \n " , title , mediaType ));
157
159
sb .append (description (description )).append ('\n' );
158
160
return sb .toString ();
159
161
}
@@ -184,7 +186,7 @@ private String listContent(String prefix, String title, Map<String, MediaType> m
184
186
185
187
private String itemContent (String title , String mediaType ) {
186
188
StringBuilder sb = new StringBuilder ("" );
187
- sb .append (String . format ("%s : `%s`\n \n " , title , mediaType ));
189
+ sb .append (format ("%s : `%s`\n \n " , title , mediaType ));
188
190
return sb .toString ();
189
191
}
190
192
@@ -207,6 +209,7 @@ private String schema(ChangedSchema schema) {
207
209
208
210
private String schema (int deepness , ChangedSchema schema ) {
209
211
StringBuilder sb = new StringBuilder ("" );
212
+ sb .append (listDiff (deepness , "enum" , schema .getChangeEnum ()));
210
213
sb .append (properties (deepness , "Added property" , schema .getIncreasedProperties ()));
211
214
sb .append (properties (deepness , "Deleted property" , schema .getMissingProperties ()));
212
215
schema .getChangedProperties ().forEach ((name , property ) -> sb .append (property (deepness , name , property )));
@@ -235,7 +238,24 @@ private String property(int deepness, String title, String name, Schema schema)
235
238
}
236
239
237
240
private String property (int deepness , String title , String name , String type , String description ) {
238
- return String .format ("%s* %s `%s` (%s)\n %s\n " , indent (deepness ), title , name , type , description (indent (deepness + 1 ), description ));
241
+ return format ("%s* %s `%s` (%s)\n %s\n " , indent (deepness ), title , name , type , description (indent (deepness + 1 ), description ));
242
+ }
243
+
244
+ private String listDiff (int deepness , String name , ListDiff listDiff ) {
245
+ if (listDiff == null ) {
246
+ return "" ;
247
+ }
248
+ return listItem (deepness , "Added " + name , listDiff .getIncreased ()) +
249
+ listItem (deepness , "Removed " + name , listDiff .getMissing ());
250
+ }
251
+
252
+ private <T > String listItem (int deepness , String name , List <T > list ) {
253
+ StringBuilder sb = new StringBuilder ("" );
254
+ if (list != null && list .size () > 0 ) {
255
+ sb .append (format ("%s%s value%s:\n \n " , indent (deepness ), name , list .size () > 1 ? "s" : "" ));
256
+ list .forEach (p -> sb .append (format ("%s* `%s`\n " , indent (deepness ), p )));
257
+ }
258
+ return sb .toString ();
239
259
}
240
260
241
261
private String parameters (ChangedParameters changedParameters ) {
@@ -258,7 +278,7 @@ private String itemParameter(String title, Parameter parameter) {
258
278
}
259
279
260
280
private String itemParameter (String title , String name , String in , String description ) {
261
- return String . format ("%s: " , title ) + code (name ) + " in " + code (in ) + '\n' + description (description ) + '\n' ;
281
+ return format ("%s: " , title ) + code (name ) + " in " + code (in ) + '\n' + description (description ) + '\n' ;
262
282
}
263
283
264
284
private String itemParameter (ChangedParameter param ) {
0 commit comments