package Ġcom . cu up a . mail processor . services . semantic Ċ Ċ import Ġcom . google . gson . Gson Ċ import Ġcom . google . gson . reflect . Type Token Ċ import Ġorg . springframework . web . client . Resource AccessException Ċ import Ġorg . springframework . web . client . Rest Template Ċ import Ġjava . lang . reflect . Type Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠCalls Ġthe Ġextern Ġsemantic Ġser iv ce Ġto Ġclassify Ġthe Ġtext Ċ Ġ*/ Ċ class ĠEx tern Semantic Service ( private Ġval Ġrest Template : ĠRest Template , Ġprivate Ġval Ġsemantic Url : ĠString ) Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġgson Ġ= ĠGson () ĊĊĠĠĠ Ġfun Ġget Semantic Result ( plain Text : ĠString ?): ĠList < Semantic Result > Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġresponse Entity Ġ= Ġrest Template . post For Entity ( semantic Url , Ġplain Text , ĠString :: class . java ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse Entity . statusCode . is 2 xx Successful Ġ-> Ġgson . fromJson ( response Entity . body , Ġlist Type ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠlistOf () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( exception : ĠResource AccessException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Semantic Result (" OTHER ", Ġ" UNKNOWN ")) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject { ĊĠĠĠĠĠĠĠ Ġval Ġlist Type : ĠType Ġ= Ġobject Ġ: ĠType Token < ArrayList < Semantic Result ?> ?> () Ġ{} . type ĊĠĠĠ Ġ} Ċ }