/* - Ċ Ġ* Ġ================= ======= LICENSE _ START ================================ = Ċ Ġ* Ġcamel - processors Ċ Ġ* Ġ%% Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 2 1 ĠF ra un ho fer ĠAI SEC Ċ Ġ* Ġ%% Ċ Ġ* Ġ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 . Ċ Ġ* Ġ================= ======== LICENSE _ END ================================ == Ċ Ġ*/ Ċ package Ġde . fh g . aise c . ids . camel . processors Ċ Ċ import Ġde . fh g . aise c . ids . camel . processors . Constants . ID SCP 2 _ HEADER Ċ import Ġde . fh g . aise c . ids . camel . processors . Utils . SERIAL IZER Ċ import Ġde . f ra un ho fer . ia is . e is . Contract Request Ċ import Ġde . f ra un ho fer . ia is . e is . Contract Request Message Ċ import Ġde . f ra un ho fer . ia is . e is . Contract Response Message Builder Ċ import Ġorg . apache . camel . Exchange Ċ import Ġorg . apache . camel . Processor Ċ import Ġorg . slf 4 j . LoggerFactory Ċ Ċ /** Ċ Ġ* ĠThis ĠProcessor Ġhandles Ġa ĠContract Request Message Ġand Ġcreates Ġa ĠContract Response Message . Ċ Ġ*/ Ċ class ĠContract Request Processor Ġ: ĠProcessor Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġprocess ( exchange : ĠExchange ) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( LOG . isDebugEnabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLOG . debug ("[ IN ] Ġ${ this :: class . java . simple Name }") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġcontract Request Ġ= ĠSERIAL IZER . deserialize ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexchange . message . getBody ( String :: class . java ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠContract Request :: class . java ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġval Ġrequested Artifact Ġ= Ġcontract Request . permission [ 0 ]. target ĊĊĠĠĠĠĠĠĠ Ġval Ġcontract Request Message Ġ= Ġexchange . message . getHeader ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠID SCP 2 _ HEADER , ĠContract Request Message :: class . java ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ ĠContract Response Message Builder () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ._ correlation Message _( contract Request Message . id ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( LOG . isDebugEnabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLOG . debug (" Serialization Ġheader : Ġ{}", ĠSERIAL IZER . serialize ( it . build ())) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexchange . message . setHeader ( ID SCP 2 _ HEADER , Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġcontract Offer Ġ= ĠContract Factory . build Contract Offer ( requested Artifact , Ġexchange ) ĊĊĠĠĠĠĠĠĠ ĠSERIAL IZER . serialize ( contract Offer ). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( LOG . isDebugEnabled ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLOG . debug (" Contract Offer ĠID : Ġ{}", Ġcontract Offer . id ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLOG . debug (" Serial isation Ġbody : Ġ{}", Ġit ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexchange . message . body Ġ= Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠLOG Ġ= ĠLoggerFactory . getLogger ( Contract Request Processor :: class . java ) ĊĠĠĠ Ġ} Ċ } Ċ