package Ġorg . mig or . rss . rich . har vest . feed parser Ċ Ċ import Ġcom . rome tools . rome . feed . syn d .* Ċ import Ġorg . mig or . rss . rich . har vest . Feed Data Ċ import Ġorg . mig or . rss . rich . har vest . Har vest Response Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . springframework . util . MimeType Ċ import Ġsoftware . tin l ion . pert w ee . Author Ċ import Ġsoftware . tin l ion . pert w ee . Feed Ċ import Ġsoftware . tin l ion . pert w ee . Item Ċ import Ġsoftware . tin l ion . pert w ee . feed . Default Feed Ċ Ċ class ĠJson Feed Parser Ġ: ĠFeed Body Parser Ġ{ ĊĊĠ Ġprivate Ġval Ġlog Ġ= ĠLoggerFactory . getLogger ( Json Feed Parser :: class . simple Name ) ĊĊĠ Ġoverride Ġfun Ġpriority (): ĠInt Ġ{ ĊĠĠĠ Ġreturn Ġ 1 ; ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġcan Process ( feed Type : ĠFeed Type , ĠmimeType : ĠMime Type ?): ĠBoolean Ġ{ ĊĠĠĠ Ġreturn Ġfeed Type Ġ== ĠFeed Type . JSON ĊĠ Ġ} ĊĊĠ Ġoverride Ġfun Ġprocess ( response : ĠHar vest Response ): ĠFeed Data Ġ{ ĊĠĠĠ Ġval Ġfeed Ġ= ĠDefault Feed . fromString ( patch Response ( response )) ĊĠĠĠ Ġreturn ĠFeed Data ( to Syn d Feed ( feed )) ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġpatch Response ( response : ĠHar vest Response ): ĠString ? Ġ{ ĊĠĠĠ Ġval Ġresponse Body Ġ= Ġresponse . response . response Body . trim () ĊĠĠĠ Ġreturn Ġif Ġ( response Body . startsWith (" [" )) Ġ{ ĊĠĠĠĠĠ Ġ"{\" items \": Ġ${ response Body }}" ĊĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠ Ġresponse Body ĊĠĠĠ Ġ} ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġto Syn d Feed ( json : ĠFeed ): ĠSyn d Feed Ġ{ ĊĠĠĠ Ġval Ġfeed Ġ= ĠSyn d Feed Impl () ĊĠĠĠ Ġfeed . authors Ġ= Ġjson . authors (). map Ġ{ Ġauthor : ĠAuthor Ġ-> Ġas Person ( author ) Ġ} ĊĠĠĠ Ġfeed . description Ġ= Ġjson . description () ĊĠĠĠ Ġfeed . title Ġ= Ġjson . title () ĊĠĠĠ Ġfeed . entries Ġ= Ġjson . items (). map Ġ{ Ġitem : ĠItem Ġ-> Ġas Entry ( item ) Ġ} ĊĠĠĠ Ġfeed . language Ġ= Ġjson . language () ĊĊĠĠĠ Ġreturn Ġfeed ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġas Person ( author : ĠAuthor ): ĠSyn d Person Ġ{ ĊĠĠĠ Ġval Ġp Ġ= ĠSyn d Person Impl () ĊĠĠĠ Ġp . name Ġ= Ġauthor . name () ĊĠĠĠ Ġp . uri Ġ= Ġauthor . url () ĊĠĠĠ Ġreturn Ġp ĊĠ Ġ} ĊĊĠ Ġprivate Ġfun Ġas Entry ( item : ĠItem ): ĠSyn d Entry Ġ{ ĊĠĠĠ Ġval Ġe Ġ= ĠSyn d Entry Impl () ĊĠĠĠ Ġe . uri Ġ= Ġitem . url () ĊĠĠĠ Ġe . title Ġ= Ġitem . title () Ċ // Ġ Ġtodo Ġmag Ġe . description Ġ= Ġitem . summary () ĊĠĠĠ Ġreturn Ġe ĊĠ Ġ} Ċ Ċ } Ċ