/* Ċ Ġ* ĠCopyright ĠOpen Search ĠContributors Ċ Ġ* ĠSPDX - License - Identifier : ĠApache - 2 . 0 Ċ Ġ*/ Ċ Ċ package Ġorg . opense arch . notifications . action Ċ Ċ import Ġorg . opense arch . action . ActionListener Ċ import Ġorg . opense arch . action . Action Request Ċ import Ġorg . opense arch . action . support . Action Filters Ċ import Ġorg . opense arch . client . Client Ċ import Ġorg . opense arch . common . inject . Inject Ċ import Ġorg . opense arch . common . x content . Named X Content Registry Ċ import Ġorg . opense arch . commons . auth user . User Ċ import Ġorg . opense arch . commons . notifications . action . Get Plugin Features Request Ċ import Ġorg . opense arch . commons . notifications . action . Get Plugin Features Response Ċ import Ġorg . opense arch . commons . notifications . action . Notifications Actions Ċ import Ġorg . opense arch . commons . utils . re createObject Ċ import Ġorg . opense arch . notifications . Core Provider Ċ import Ġorg . opense arch . tasks . Task Ċ import Ġorg . opense arch . transport . Transport Service Ċ Ċ /** Ċ Ġ* ĠGet Ġplugin Ġfeatures Ġtransport Ġaction Ċ Ġ*/ Ċ internal Ġclass ĠGet Plugin Features Action Ġ@ Inject Ġconstructor ( ĊĠĠĠ Ġtransport Service : ĠTransport Service , ĊĠĠĠ Ġclient : ĠClient , ĊĠĠĠ Ġaction Filters : ĠAction Filters , ĊĠĠĠ Ġval Ġx Content Registry : ĠNamed X Content Registry Ċ ) Ġ: ĠPlugin Base Action < Get Plugin Features Request , ĠGet Plugin Features Response >( ĊĠĠĠ ĠNotifications Actions . GET _ PLUGIN _ FEATURES _ NAME , ĊĠĠĠ Ġtransport Service , ĊĠĠĠ Ġclient , ĊĠĠĠ Ġaction Filters , ĊĠĠĠ Ġ:: Get Plugin Features Request Ċ ) Ġ{ ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ{@ inheritDoc } ĊĠĠĠĠ Ġ* ĠTransform Ġthe Ġrequest Ġand Ġcall Ġsuper . do Execute () Ġto Ġsupport Ġcall Ġfrom Ġother Ġplugins . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġdo Execute ( ĊĠĠĠĠĠĠĠ Ġtask : ĠTask ?, ĊĠĠĠĠĠĠĠ Ġrequest : ĠAction Request , ĊĠĠĠĠĠĠĠ Ġlistener : ĠActionListener < Get Plugin Features Response > ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtransformed Request Ġ= Ġrequest Ġas ? ĠGet Plugin Features Request ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġrecreate Object ( request ) Ġ{ ĠGet Plugin Features Request ( it ) Ġ} ĊĠĠĠĠĠĠĠ Ġsuper . do Execute ( task , Ġtransformed Request , Ġlistener ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* Ġ{@ inheritDoc } ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġexecute Request ( ĊĠĠĠĠĠĠĠ Ġrequest : ĠGet Plugin Features Request , ĊĠĠĠĠĠĠĠ Ġuser : ĠUser ? ĊĠĠĠ Ġ): ĠGet Plugin Features Response Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġallowed Config Types Ġ= ĠCore Provider . core . get Allowed Config Types () ĊĠĠĠĠĠĠĠ Ġval Ġplugin Features Ġ= ĠCore Provider . core . get Plugin Features () ĊĠĠĠĠĠĠĠ Ġreturn ĠGet Plugin Features Response ( allowed Config Types , Ġplugin Features ) ĊĠĠĠ Ġ} Ċ } Ċ