package Ġtop . better code . logging . operation Ċ Ċ import Ġcom . sun . org . apache . xml . internal . utils . Default ErrorHandler Ċ import Ġio . micro meter . core . instrument . util . Json Utils Ċ import Ġorg . slf 4 j . Logger Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . xml . sax . Input Source Ċ import Ġorg . xml . sax . SAX Exception Ċ import Ġtop . better code . lang . util . StringUtil Ċ import Ġjava . io . ByteArray InputStream Ċ import Ġjava . io . ByteArray OutputStream Ċ import Ġjava . io . IOException Ċ import Ġjava . util .* Ċ import Ġjavax . xml . parsers . Parser ConfigurationException Ċ import Ġjavax . xml . parsers . SAX Parser Factory Ċ import Ġjavax . xml . transform . Output Keys Ċ import Ġjavax . xml . transform . Transformer Factory Ċ import Ġjavax . xml . transform . sax . SAX Source Ċ import Ġjavax . xml . transform . stream . Stream Result ĊĊ Ċ /** Ċ Ġ* ĠA ĠContent Modifier Ġthat Ġmod ifies Ġthe Ġcontent Ġby Ġpretty Ġprinting Ġit . Ċ Ġ* Ċ Ġ*/ Ċ object ĠPretty Print ing Content Modifier Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġlog : ĠLogger Ġ= ĠLoggerFactory . getLogger ( Pretty Print ing Content Modifier :: class . java ) ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġmodify Content ( original Content : ĠByteArray ): ĠByteArray Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( original Content . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( pretty Printer Ġin ĠP RET TY _ PR INTER S ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġpretty Printer . pretty Print ( original Content ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ(_ : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġoriginal Content ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Jvm Static ĊĠĠĠ Ġfun Ġmodify Content ( original Content : ĠString ?): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠString ( modify Content ( original Content ?. toByteArray () Ġ?: ĠByteArray ( 0 ))) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġinterface ĠPretty Printer Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠĠĠĠĠ Ġfun Ġpretty Print ( content : ĠByteArray ): ĠByteArray ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠXml PrettyPrinter Ġ: ĠPretty Printer Ġ{ ĊĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġtransformer Factory Ġ= ĠTransformer Factory . newInstance () ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġparser Factory Ġ= ĠSAX Parser Factory . newInstance () ĊĊĠĠĠĠĠĠĠ Ġ@ Throws ( Exception :: class ) ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġpretty Print ( content : ĠByteArray ): ĠByteArray Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtransformer Ġ= Ġtransformer Factory . new Transformer () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransformer . setOutput Property ( Output Keys . IND ENT , Ġ" yes ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransformer . setOutput Property ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"{ http :// xml . apache . org / xsl t } indent - amount ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" 4 " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransformer . setOutput Property ( Output Keys . DOCTYPE _ PUBLIC , Ġ" yes ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtransformed Ġ= ĠByteArrayOutputStream () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransformer . error Listener Ġ= ĠDefault ErrorHandler () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtransformer . transform ( create S ax Source ( content ), ĠStream Result ( transformed )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtransformed . toByteArray () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ@ Throws ( Parser ConfigurationException :: class , ĠSAX Exception :: class ) ĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġcreate S ax Source ( original : ĠByteArray ): ĠSAX Source Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparser Ġ= Ġparser Factory . new SAX Parser () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġxml Reader Ġ= Ġparser . xml Reader ĊĠĠĠĠĠĠĠĠĠĠĠ Ġxml Reader . error Handler Ġ= ĠDefault ErrorHandler () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠSAX Source ( xml Reader , ĠInput Source ( ByteArray InputStream ( original ))) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġclass ĠJson PrettyPrinter Ġ: ĠPretty Printer Ġ{ ĊĊĠĠĠĠĠĠĠ Ġ@ Throws ( IOException :: class ) ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġpretty Print ( content : ĠByteArray ): ĠByteArray Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠString Util . OBJECT _ MAP PER . read Tree ( content ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠJson Utils . pretty Print ( String ( content ). split ("\ n "). join ToString ("") Ġ{ Ġit . trim () Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toByteArray () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval ĠP RET TY _ PR INTER S Ġ= ĠCollections ĊĠĠĠĠĠĠĠ Ġ. unmodifiable List ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Json PrettyPrinter (), ĠXml PrettyPrinter ()) ĊĠĠĠĠĠĠĠ Ġ) Ċ Ċ } Ċ