package Ġnet . nem eros a . on track . extension . scm . catalog . api Ċ Ċ import Ġgraphql . Scalars . GraphQL String Ċ import Ġgraphql . schema . Data Fetching Environment Ċ import Ġgraphql . schema . GraphQL Argument Ċ import Ġgraphql . schema . GraphQL Field Definition Ċ import Ġnet . nem eros a . on track . extension . scm . catalog . SC MC atalog Entry Or Project Ċ import Ġnet . nem eros a . on track . extension . scm . catalog . SC MC atalog Filter Service Ċ import Ġnet . nem eros a . on track . extension . scm . catalog . SC MC atalog Project Filter Ċ import Ġnet . nem eros a . on track . extension . scm . catalog . SC MC atalog Project Filter Link Ċ import Ġnet . nem eros a . on track . graphql . schema . G QL Root Query Ċ import Ġnet . nem eros a . on track . graphql . schema . G QL Type Cache Ċ import Ġnet . nem eros a . on track . graphql . support . pagination . G QL Pag inated List Factory Ċ import Ġorg . springframework . stereotype . Component Ċ Ċ @ Component Ċ class ĠG QL Root Query SC MC atalog ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġpag inated List Factory : ĠG QL Pag inated List Factory , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġsc m Catalog Entry : ĠG QL Type SC MC atalog Project Entry , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġsc m Catalog Filter Service : ĠS CM Catalog Filter Service Ċ ) Ġ: ĠG QL Root Query Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget Field Definition (): ĠGraphQL Field Definition Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpag inated List Factory . create Pag inated Field < Any ?, ĠS CM Catalog Entry Or Project >( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcache Ġ= ĠG QL Type Cache (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfieldName Ġ= Ġ" scm Catalog ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfield Description Ġ= Ġ" List Ġof ĠS CM Ġcatalog Ġentries Ġand / or Ġorphan Ġprojects ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem Type Ġ= Ġsc m Catalog Entry , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem List Counter Ġ= Ġ{ Ġenv , Ġ_ Ġ-> Ġload SC MC atalog Entries ( env , Ġ 0 , ĠInt . MAX _ VALUE ). size Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġitem List Provider Ġ= Ġ{ Ġenv , Ġ_, Ġoffset , Ġsize Ġ-> Ġload SC MC atalog Entries ( env , Ġoffset , Ġsize ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġarguments Ġ= ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGraphQL Argument . new Argument (). name ( ARG _ SCM ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. description (" Filters Ġon ĠS CM Ġtype Ġ( exact Ġmatch )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. type ( GraphQL String ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGraphQL Argument . new Argument (). name ( ARG _ CONFIG ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. description (" Filters Ġon ĠS CM Ġconfig Ġname Ġ( exact Ġmatch )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. type ( GraphQL String ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGraphQL Argument . new Argument (). name ( ARG _ REPOSITORY ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. description (" Filters Ġon Ġrepository Ġ( regular Ġexpression )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. type ( GraphQL String ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGraphQL Argument . new Argument (). name ( ARG _ LINK ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. description (" Filters Ġon Ġentries Ġwhich Ġare Ġlinked Ġor Ġnot Ġto Ġprojects Ġ( ALL , ĠEN TRY , ĠLINK ED , ĠUN LINK ED , ĠOR PH AN )") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. type ( GraphQL String ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠGraphQL Argument . new Argument (). name ( ARG _ PROJECT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. description (" Filters Ġon Ġthe Ġname Ġof Ġthe Ġorphan Ġprojects ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. type ( GraphQL String ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġprivate Ġfun Ġload SC MC atalog Entries ( env : ĠData Fetching Environment , Ġoffset : ĠInt , Ġsize : ĠInt ): ĠList < SC MC atalog Entry Or Project > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsc m : ĠString ? Ġ= Ġenv . get Argument ( ARG _ SCM ) ĊĠĠĠĠĠĠĠ Ġval Ġconfig : ĠString ? Ġ= Ġenv . get Argument ( ARG _ CONFIG ) ĊĠĠĠĠĠĠĠ Ġval Ġrepository : ĠString ? Ġ= Ġenv . get Argument < String >( ARG _ REPOSITORY ) ĊĠĠĠĠĠĠĠ Ġval Ġlink : ĠS CM Catalog Project Filter Link Ġ= Ġenv . get Argument < String >( ARG _ LINK ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ? . run Ġ{ ĠS CM Catalog Project Filter Link . valueOf ( this ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: ĠS CM Catalog Project Filter Link . ALL ĊĠĠĠĠĠĠĠ Ġval Ġproject : ĠString ? Ġ= Ġenv . get Argument < String >( ARG _ PROJECT ) ĊĠĠĠĠĠĠĠ Ġval Ġfilter Ġ= ĠS CM Catalog Project Filter ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoffset Ġ= Ġoffset , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsize Ġ= Ġsize , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsc m Ġ= Ġsc m , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġconfig Ġ= Ġconfig , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrepository Ġ= Ġrepository , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlink Ġ= Ġlink , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġproject Ġ= Ġproject ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġreturn Ġsc m Catalog Filter Service . find Catalog Project Entries ( filter ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠARG _ SCM Ġ= Ġ" scm " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠARG _ CONFIG Ġ= Ġ" config " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠARG _ REPOSITORY Ġ= Ġ" repository " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠARG _ LINK Ġ= Ġ" link " ĊĠĠĠĠĠĠĠ Ġprivate Ġconst Ġval ĠARG _ PROJECT Ġ= Ġ" project " ĊĠĠĠ Ġ} Ċ Ċ }