@ file : Suppress (" Jpa DataSource ORM Inspection ") Ċ Ċ package Ġcom . info bip . k af k ist ry . sql . sources Ċ Ċ import Ġcom . info bip . k af k ist ry . model .* Ċ import Ġcom . info bip . k af k ist ry . service . cluster . Clusters Registry Service Ċ import Ġcom . info bip . k af k ist ry . service . topic . Topics Registry Service Ċ import Ġcom . info bip . k af k ist ry . sql . Sql DataSource Ċ import Ġcom . info bip . k af k ist ry . model . Cluster Ref Ċ import Ġcom . info bip . k af k ist ry . model . Tag Ċ import Ġorg . springframework . stereotype . Component Ċ import Ġjavax . persistence .* Ċ Ċ @ Component Ċ class ĠRegistry Topics DataSource ( ĊĠĠĠ Ġprivate Ġval Ġtopics Registry : ĠTop ics Registry Service , ĊĠĠĠ Ġprivate Ġval Ġclusters Registry : ĠCl usters Registry Service , Ċ ) Ġ: ĠSql DataSource < Registry Topic > Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġmodel Annotated Class (): ĠClass < Registry Topic > Ġ= ĠRegistry Topic :: class . java ĊĊĠĠĠ Ġoverride Ġfun Ġsupply Entities (): ĠList < Registry Topic > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġall Cluster Refs Ġ= Ġclusters Registry . list Clusters Refs () ĊĠĠĠĠĠĠĠ Ġval Ġall Topics Ġ= Ġtopics Registry . list Topics () ĊĠĠĠĠĠĠĠ Ġreturn Ġall Topics . map Ġ{ Ġmap Topic ( it , Ġall Cluster Refs ) Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġmap Topic ( ĊĠĠĠĠĠĠĠ Ġtopic Description : ĠTopic Description , ĊĠĠĠĠĠĠĠ Ġall Clusters : ĠList < Cluster Ref > ĊĠĠĠ Ġ): ĠRegistry Topic Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠRegistry Topic (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtopic Ġ= Ġtopic Description . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġowner Ġ= Ġtopic Description . owner ĊĠĠĠĠĠĠĠĠĠĠĠ Ġproducer Ġ= Ġtopic Description . producer ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdescription Ġ= Ġtopic Description . description ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresence Type Ġ= Ġtopic Description . presence . type ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresence Clusters Ġ= Ġall Clusters ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġtopic Description . presence . need ToBe On Cluster ( it ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ ĠPres ence Cluster (). apply Ġ{ Ġcluster Ġ= Ġit . identifier Ġ} Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpresence Tag Ġ= Ġtopic Description . presence . tag ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ @ Entity Ċ @ Table ( name Ġ= Ġ" Registry Topics ") Ċ class ĠRegistry Topic Ġ{ ĊĊĠĠĠ Ġ@ Id ĊĠĠĠ Ġlateinit Ġvar Ġtopic : ĠTopic Name ĊĊĠĠĠ Ġlateinit Ġvar Ġproducer : ĠString ĊĠĠĠ Ġlateinit Ġvar Ġowner : ĠString ĊĠĠĠ Ġlateinit Ġvar Ġdescription : ĠString ĊĊĠĠĠ Ġ@ Enumer ated ( Enum Type . STRING ) ĊĠĠĠ Ġlateinit Ġvar Ġpresence Type : ĠPres ence Type ĊĊĠĠĠ Ġ@ Element Collection ĊĠĠĠ Ġ@ Join Table ( name Ġ= Ġ" Registry Topics _ Presence Clusters ") ĊĠĠĠ Ġlateinit Ġvar Ġpresence Clusters : ĠList < Presence Cluster > ĊĊĠĠĠ Ġvar Ġpresence Tag : ĠTag ? Ġ= Ġnull Ċ } ĊĊĊĊ