package Ġcom . example . kotlin _ example _ app . external Ċ Ċ import ĠArticle Ċ import ĠArticle List Ċ import Ġcom . google . protobuf . Empty Ċ import Ġkotlinx . coroutines . launch Ċ import Ġkotlinx . coroutines . run Blocking Ċ import Ġnet . dev h . boot . grpc . client . inject . Grpc Client Ċ import Ġorg . springframework . stereotype . Service Ċ Ċ @ Service Ċ class ĠArticle Grpc Service Ġ{ ĊĠĠĠ Ġ@ Grpc Client (" article Grpc Server ") ĊĠĠĠ Ġprivate Ġval Ġarticle Service Stub : ĠArticle Service Grpc Kt . Article Service Coroutine Stub ? Ġ= Ġnull ĊĊĠĠĠ Ġfun ĠgetAll Articles (): ĠArrayList < Any > Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult : ĠArrayList < Any > Ġ= ĠArrayList () ĊĠĠĠĠĠĠĠ Ġvar Ġarticle List : ĠArticle List Ġ= ĠArticle List . newBuilder (). build () ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlaunch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarticle List Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarticle Service Stub ?. findAll Articles ( Empty . newBuilder (). build ()) Ġ?: ĠArticle List . newBuilder (). build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġfor Ġ( index Ġin Ġ 0 Ġuntil Ġarticle List . articles Count ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarticle : ĠArticle Ġ= Ġarticle List . get Articles ( index ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult . add ( object Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġarticle . id ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= Ġarticle . title ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġarticle . content ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġauthor Id Ġ= Ġarticle . author Id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget One Article ( id : ĠLong ): ĠAny Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġarticle : ĠArticle Ġ= ĠArticle . newBuilder (). build () ĊĠĠĠĠĠĠĠ Ġrun Blocking Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlaunch Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarticle Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarticle Service Stub ?. findOne Article ( Article Id . newBuilder (). setId ( id ). build ()) !! ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġobject Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġid Ġ= Ġarticle . id ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtitle Ġ= Ġarticle . title ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġarticle . content ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġauthor Id Ġ= Ġarticle . author Id ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }