// ĠCopyright Ġ 2 0 1 9 ĠAmazon . com , ĠInc . Ġor Ġits Ġaffiliates . ĠAll ĠRights ĠReserved . Ċ // ĠSPDX - License - Identifier : ĠApache - 2 . 0 Ċ Ċ package Ġsoftware . aws . tool k its . jetbrains . services . schemas . resources Ċ Ċ import Ġsoftware . amazon . aw ssdk . services . schemas . Schemas Client Ċ import Ġsoftware . amazon . aw ssdk . services . schemas . model . Describe Schema Response Ċ import Ġsoftware . amazon . aw ssdk . services . schemas . model . Registry Summary Ċ import Ġsoftware . amazon . aw ssdk . services . schemas . model . Schema Summary Ċ import Ġsoftware . amazon . aw ssdk . services . schemas . model . Schema Version Summary Ċ import Ġsoftware . aws . tool k its . jetbrains . core . Client Back ed Cached Resource Ċ import Ġsoftware . aws . tool k its . jetbrains . core . Resource Ċ import Ġsoftware . aws . tool k its . jetbrains . services . lambda . wizard . Schema Selection Item Ċ import Ġjava . time . Duration Ċ Ċ object ĠS chemas Resources Ġ{ ĊĠĠĠ Ġconst Ġval ĠAWS _ EVENTS _ REGISTRY Ġ= Ġ" aws . events " ĊĊĠĠĠ Ġval ĠLIST _ REGISTR IES : ĠResource . Cached < List < Registry Summary >> Ġ= ĊĠĠĠĠĠĠĠ ĠClient Back ed Cached Resource ( Schemas Client :: class , Ġ" schemas . list _ regist ries ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Regist ries Paginator Ġ{ Ġit . build () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. regist ries () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. sorted By Ġ{ Ġit . registry Name () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toList () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġval ĠLIST _ REGISTR IES _ AND _ SCH EM AS : ĠResource . Cached < List < Schema Selection Item >> Ġ= ĊĠĠĠĠĠĠĠ ĠClient Back ed Cached Resource ( Schemas Client :: class , Ġ" schemas . list _ regist ries _ and _ schemas ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Regist ries Paginator Ġ{ Ġit . build () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. regist ries () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. sorted By Ġ{ Ġit . registry Name () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġregistry Summary Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġregistry Name Ġ= Ġregistry Summary . registry Name () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġschemas Ġ= Ġlist Schemas Paginator Ġ{ Ġit . registry Name ( registry Name ). build () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. schemas () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. sorted By Ġ{ Ġit . schema Name () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toList () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġschema Selection Items Ġ= ĠArrayList < Schema Selection Item >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġschema Selection Items . add ( Schema Selection Item . Registry Item ( registry Name )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġschemas . forEach () Ġ{ Ġschema Selection Items . add ( Schema Selection Item . Schema Item ( it . schema Name (), Ġregistry Name )) Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġschema Selection Items ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatMap Ġ{ Ġit . toList () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġlist Schemas ( registry Name : ĠString ): ĠResource . Cached < List < Schema Summary >> Ġ= ĊĠĠĠĠĠĠĠ ĠClient Back ed Cached Resource ( Schemas Client :: class , Ġ" schemas . list _ schemas .$ registry Name ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Schemas Paginator Ġ{ Ġit . registry Name ( registry Name ). build () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. schemas () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. sorted By Ġ{ Ġit . schema Name () Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toList () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Schema ( registry Name : ĠString , Ġschema Name : ĠString , Ġversion : ĠString ? Ġ= Ġnull ): ĠResource . Cached < Describe Schema Response > Ġ= ĊĠĠĠĠĠĠĠ ĠClient Back ed Cached Resource ( Schemas Client :: class , Ġ" schemas . get _ schema .$ registry Name .$ schema Name ") Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescribe Schema Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . registry Name ( registry Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. schema Name ( schema Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. schema Version ( version ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Schema Versions ( registry Name : ĠString , Ġschema Name : ĠString ): ĠResource . Cached < List < Schema Version Summary >> Ġ= ĊĠĠĠĠĠĠĠ ĠClient Back ed Cached Resource ( Schemas Client :: class , Ġ" schemas . list _ schema _ versions .$ registry Name .$ schema Name ", ĠDuration . of Seconds ( 1 0 )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlist Schema Versions Paginator Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . registry Name ( registry Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. schema Name ( schema Name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. schema Versions () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. toList () ĊĠĠĠĠĠĠĠ Ġ} Ċ } Ċ