/* Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 1 7 - 2 0 1 9 ĠAT & T , ĠB ell ĠCanada Ċ Ġ* ĠMod ifications ĠCopyright ĠÂ© Ġ 2 0 1 9 ĠIBM . Ċ Ġ* ĠMod ifications ĠCopyright ĠÂ© Ġ 2 0 1 9 ĠHu awei . Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġorg . on ap . cc sdk . cds . blueprint spro cess or . rest . service Ċ Ċ import Ġcom . fasterxml . jackson . databind . JsonNode Ċ import Ġorg . on ap . cc sdk . cds . blueprint spro cess or . core . Blue Print Properties Ċ import Ġorg . on ap . cc sdk . cds . blueprint spro cess or . rest . Basic Auth RestClient Properties Ċ import Ġorg . on ap . cc sdk . cds . blueprint spro cess or . rest . D ME 2 RestClient Properties Ċ import Ġorg . on ap . cc sdk . cds . blueprint spro cess or . rest . Policy Manager RestClient Properties Ċ import Ġorg . on ap . cc sdk . cds . blueprint spro cess or . rest . RestClient Properties Ċ import Ġorg . on ap . cc sdk . cds . blueprint spro cess or . rest . Rest Lib Constants Ċ import Ġorg . on ap . cc sdk . cds . blueprint spro cess or . rest . SSL Basic Auth RestClient Properties Ċ import Ġorg . on ap . cc sdk . cds . blueprint spro cess or . rest . SSL RestClient Properties Ċ import Ġorg . on ap . cc sdk . cds . blueprint spro cess or . rest . SSL Token Auth RestClient Properties Ċ import Ġorg . on ap . cc sdk . cds . blueprint spro cess or . rest . Token Auth RestClient Properties Ċ import Ġorg . on ap . cc sdk . cds . controller blueprint s . core . Blue Print Processor Exception Ċ import Ġorg . on ap . cc sdk . cds . controller blueprint s . core . utils . Jack son Utils Ċ import Ġorg . springframework . stereotype . Service Ċ Ċ @ Service ( Rest Lib Constants . SERVICE _ BLUE PRINT _ REST _ LIB _ PROPERTY ) Ċ open Ġclass ĠBlue Print Rest Lib Property Service ( private Ġvar Ġblue Print Properties : ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBlue Print Properties ) Ġ{ ĊĊĠĠĠ Ġfun Ġblueprint Web Client Service ( json Node : ĠJsonNode ): ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBlueprint Web Client Service Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrest Client Properties Ġ= Ġrest Client Properties ( json Node ) ĊĠĠĠĠĠĠĠ Ġreturn Ġblueprint Web Client Service ( rest Client Properties ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġblueprint Web Client Service ( selector : ĠString ): ĠBlueprint Web Client Service Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġprefix Ġ= Ġ" blueprint spro cess or . rest client .$ selector " ĊĠĠĠĠĠĠĠ Ġval Ġrest Client Properties Ġ= Ġrest Client Properties ( prefix ) ĊĠĠĠĠĠĠĠ Ġreturn Ġblueprint Web Client Service ( rest Client Properties ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrest Client Properties ( prefix : ĠString ): ĠRest Client Properties Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġblue Print Properties . property Bean Type ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"$ prefix . type ", ĠString :: class . java ) ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Lib Constants . TYPE _ BASIC _ AUTH Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbasic Auth RestClient Properties ( prefix ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Lib Constants . TYPE _ TOKEN _ AUTH Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtoken RestClient Properties ( prefix ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Lib Constants . TYPE _ SSL _ BASIC _ AUTH Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġssl Basic Auth RestClient Properties ( prefix ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Lib Constants . TYPE _ SSL _ TOKEN _ AUTH Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġssl Token Auth RestClient Properties ( prefix ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Lib Constants . TYPE _ SSL _ NO _ AUTH Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġssl No Auth RestClient Properties ( prefix ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Lib Constants . TYPE _ D ME 2 _ PROXY Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġd me 2 Proxy Client Properties ( prefix ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Lib Constants . TYPE _ POLICY _ MANAGER Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpolicy Manager RestClient Properties ( prefix ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠBlue Print Processor Exception (" Rest Ġadapt or ($ type ) Ġis " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġnot Ġsupported ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġrest Client Properties ( json Node : ĠJsonNode ): ĠRest Client Properties Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġtype Ġ= Ġjson Node . get (" type "). text Value () ĊĠĠĠĠĠĠĠ Ġreturn Ġwhen Ġ( type ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Lib Constants . TYPE _ TOKEN _ AUTH Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJack son Utils . readValue ( json Node , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToken Auth RestClient Properties :: class . java ) !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Lib Constants . TYPE _ BASIC _ AUTH Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJack son Utils . readValue ( json Node , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBasic Auth RestClient Properties :: class . java ) !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Lib Constants . TYPE _ D ME 2 _ PROXY Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJack son Utils . readValue ( json Node , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠD ME 2 RestClient Properties :: class . java ) !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Lib Constants . TYPE _ POLICY _ MANAGER Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJack son Utils . readValue ( json Node , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPolicy Manager RestClient Properties :: class . java ) !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Lib Constants . TYPE _ SSL _ BASIC _ AUTH Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJack son Utils . readValue ( json Node , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSSL Basic Auth RestClient Properties :: class . java ) !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Lib Constants . TYPE _ SSL _ TOKEN _ AUTH Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJack son Utils . readValue ( json Node , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSSL Token Auth RestClient Properties :: class . java ) !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRest Lib Constants . TYPE _ SSL _ NO _ AUTH Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠJack son Utils . readValue ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjson Node , ĠSSL RestClient Properties :: class . java ) !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠBlue Print Processor Exception (" Rest Ġadapt or ($ type ) Ġis " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġnot Ġsupported ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠĠĊĠĠĠ Ġprivate Ġfun Ġblueprint Web Client Service ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrest Client Properties : ĠRest Client Properties ): ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBlueprint Web Client Service Ġ{ ĊĊĠĠĠĠĠĠĠ Ġwhen Ġ( rest Client Properties ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSSL RestClient Properties Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠSSL RestClient Service ( rest Client Properties ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠToken Auth RestClient Properties Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠToken Auth RestClient Service ( rest Client Properties ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠBasic Auth RestClient Properties Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠBasic Auth RestClient Service ( rest Client Properties ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠD ME 2 RestClient Properties Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠD ME 2 Proxy RestClient Service ( rest Client Properties ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠBlue Print Processor Exception (" co ul dn 't Ġget Ġrest Ġ" Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" service Ġfor ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġtoken RestClient Properties ( prefix : ĠString ): ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToken Auth RestClient Properties Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġblue Print Properties . property Bean Type ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprefix , ĠToken Auth RestClient Properties :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġbasic Auth RestClient Properties ( prefix : ĠString ): ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBasic Auth RestClient Properties Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġblue Print Properties . property Bean Type ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprefix , ĠBasic Auth RestClient Properties :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġssl Basic Auth RestClient Properties ( prefix : ĠString ): ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSSL RestClient Properties Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġssl Props : ĠSSL Basic Auth RestClient Properties Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblue Print Properties . property Bean Type ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprefix , ĠSSL Basic Auth RestClient Properties :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġbasic Props Ġ: ĠBasic Auth RestClient Properties Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblue Print Properties . property Bean Type ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprefix , ĠBasic Auth RestClient Properties :: class . java ) ĊĠĠĠĠĠĠĠ Ġssl Props . basic Auth Ġ= Ġbasic Props ĊĠĠĠĠĠĠĠ Ġreturn Ġssl Props ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġssl Token Auth RestClient Properties ( prefix : ĠString ): ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSSL RestClient Properties Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġssl Props : ĠSSL Token Auth RestClient Properties Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblue Print Properties . property Bean Type ( prefix , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSSL Token Auth RestClient Properties :: class . java ) ĊĠĠĠĠĠĠĠ Ġval Ġbasic Props Ġ: ĠToken Auth RestClient Properties Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġblue Print Properties . property Bean Type ( prefix , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠToken Auth RestClient Properties :: class . java ) ĊĠĠĠĠĠĠĠ Ġssl Props . token Auth Ġ= Ġbasic Props ĊĠĠĠĠĠĠĠ Ġreturn Ġssl Props ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġssl No Auth RestClient Properties ( prefix : ĠString ): ĊĠĠĠĠĠĠĠĠĠĠĠ ĠSSL RestClient Properties Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġblue Print Properties . property Bean Type ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprefix , ĠSSL RestClient Properties :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġd me 2 Proxy Client Properties ( prefix : ĠString ): ĊĠĠĠĠĠĠĠĠĠĠĠ ĠD ME 2 RestClient Properties Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġblue Print Properties . property Bean Type ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprefix , ĠD ME 2 RestClient Properties :: class . java ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġpolicy Manager RestClient Properties ( prefix : ĠString ): ĊĠĠĠĠĠĠĠĠĠĠĠ ĠPolicy Manager RestClient Properties Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġblue Print Properties . property Bean Type ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprefix , ĠPolicy Manager RestClient Properties :: class . java ) ĊĠĠĠ Ġ} Ċ } ĊĊĊ