/* Ċ Ġ* ĠCopyright ĠOpen Search ĠContributors Ċ Ġ* ĠSPDX - License - Identifier : ĠApache - 2 . 0 Ċ Ġ*/ Ċ Ċ package Ġorg . opense arch . report ss cheduler Ċ Ċ import Ġorg . opense arch . common . x content . De precation Handler Ċ import Ġorg . opense arch . common . x content . Named X Content Registry Ċ import Ġorg . opense arch . common . x content . To X Content Ċ import Ġorg . opense arch . common . x content . X Content Factory Ċ import Ġorg . opense arch . common . x content . X Content Parser Ċ import Ġorg . opense arch . common . x content . X ContentType Ċ import Ġorg . opense arch . report ss cheduler . model . Report Definition Ċ import Ġorg . opense arch . report ss cheduler . model . Report Definition Details Ċ import Ġorg . opense arch . report ss cheduler . model . Report Instance Ċ import Ġjava . io . ByteArray OutputStream Ċ import Ġjava . time . Duration Ċ import Ġjava . time . Instant Ċ Ċ fun Ġget Json String ( x Content : ĠTo X Content ): ĠString Ġ{ ĊĠĠĠ ĠByteArrayOutputStream (). use Ġ{ ĠbyteArray OutputStream Ġ-> ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠX Content Factory . json Builder ( byteArray OutputStream ) ĊĠĠĠĠĠĠĠ Ġx Content . to X Content ( builder , ĠTo X Content . EMPTY _ PARAMS ) ĊĠĠĠĠĠĠĠ Ġbuilder . close () ĊĠĠĠĠĠĠĠ Ġreturn ĠbyteArray OutputStream . toString (" UTF 8 ") ĊĠĠĠ Ġ} Ċ } Ċ Ċ inline Ġfun Ġ< re ified ĠCreate Type > Ġcreate Object FromJson String ( ĊĠĠĠ Ġjson String : ĠString , ĊĠĠĠ Ġblock : Ġ( X Content Parser ) Ġ-> ĠCreate Type Ċ ): ĠCreate Type Ġ{ ĊĠĠĠ Ġval Ġparser Ġ= ĠX ContentType . JSON . x Content () ĊĠĠĠĠĠĠĠ Ġ. create Parser ( Named X Content Registry . EMPTY , ĠDeprec ation Handler . IGNORE _ DE PREC ATIONS , Ġjson String ) ĊĠĠĠ Ġparser . nextToken () ĊĠĠĠ Ġreturn Ġblock ( parser ) Ċ } Ċ Ċ internal Ġfun Ġcreate Report Definition Object (): ĠReport Definition Ġ{ ĊĠĠĠ Ġval Ġsource Ġ= ĠReport Definition . Source ( ĊĠĠĠĠĠĠĠ Ġdescription Ġ= Ġ" description ", ĊĠĠĠĠĠĠĠ Ġtype Ġ= ĠReport Definition . Source Type . Dashboard , ĊĠĠĠĠĠĠĠ Ġorigin Ġ= Ġ" http :// localhost : 5 6 0 1 ", ĊĠĠĠĠĠĠĠ Ġid Ġ= Ġ" id " ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval Ġformat Ġ= ĠReport Definition . Format ( ĊĠĠĠĠĠĠĠ Ġduration Ġ= ĠDuration . parse (" PT 1 H "), ĊĠĠĠĠĠĠĠ Ġfile Format Ġ= ĠReport Definition . File Format . Pdf , ĊĠĠĠĠĠĠĠ Ġlimit Ġ= Ġ 1 0 0 0 , ĊĠĠĠĠĠĠĠ Ġheader Ġ= Ġ" optional Ġheader ", ĊĠĠĠĠĠĠĠ Ġfooter Ġ= Ġ" optional Ġfooter " ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġval Ġtrigger Ġ= ĠReport Definition . Trigger ( ĊĠĠĠĠĠĠĠ Ġtrigger Type Ġ= ĠReport Definition . Trigger Type . On Demand , ĊĠĠĠĠĠĠĠ Ġschedule Ġ= Ġnull ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġreturn ĠReport Definition ( ĊĠĠĠĠĠĠĠ Ġname Ġ= Ġ" sample _ report _ definition ", ĊĠĠĠĠĠĠĠ Ġis Enabled Ġ= Ġtrue , ĊĠĠĠĠĠĠĠ Ġsource Ġ= Ġsource , ĊĠĠĠĠĠĠĠ Ġformat Ġ= Ġformat , ĊĠĠĠĠĠĠĠ Ġtrigger Ġ= Ġtrigger , ĊĠĠĠĠĠĠĠ Ġdelivery Ġ= Ġnull ĊĠĠĠ Ġ) Ċ } Ċ Ċ internal Ġfun Ġcreate Report Instance (): ĠReport Instance Ġ{ ĊĠĠĠ Ġreturn ĠReport Instance ( ĊĠĠĠĠĠĠĠ Ġ" id ", ĊĠĠĠĠĠĠĠ ĠInstant . of Epoch Milli ( 1 6 0 3 5 0 6 9 0 8 7 7 3 ), ĊĠĠĠĠĠĠĠ ĠInstant . of Epoch Milli ( 1 6 0 3 5 0 6 9 0 8 7 7 3 ), ĊĠĠĠĠĠĠĠ ĠInstant . of Epoch Milli ( 1 6 0 3 5 0 6 9 0 8 7 7 3 ), ĊĠĠĠĠĠĠĠ ĠInstant . of Epoch Milli ( 1 6 0 3 5 0 6 9 0 8 7 7 3 ), ĊĠĠĠĠĠĠĠ Ġtenant Ġ= Ġ"__ user __", ĊĠĠĠĠĠĠĠ Ġaccess Ġ= ĠlistOf (), ĊĠĠĠĠĠĠĠ Ġnull , ĊĠĠĠĠĠĠĠ ĠReport Instance . Status . Success , ĊĠĠĠĠĠĠĠ Ġstatus Text Ġ= Ġ" 2 0 0 ", ĊĠĠĠĠĠĠĠ Ġin Context Download Url Path Ġ= Ġ"/ app / dashboard # view / dashboard - id " ĊĠĠĠ Ġ) Ċ } Ċ Ċ internal Ġfun Ġcreate Report Definition Details (): ĠReport Definition Details Ġ{ ĊĠĠĠ Ġreturn ĠReport Definition Details ( ĊĠĠĠĠĠĠĠ Ġ" id ", ĊĠĠĠĠĠĠĠ ĠInstant . of Epoch Milli ( 1 6 0 3 5 0 6 9 0 8 7 7 3 ), ĊĠĠĠĠĠĠĠ ĠInstant . of Epoch Milli ( 1 6 0 3 5 0 6 9 0 8 7 7 3 ), ĊĠĠĠĠĠĠĠ Ġ"__ user __", ĊĠĠĠĠĠĠĠ ĠlistOf (), ĊĠĠĠĠĠĠĠ Ġreport Definition Ġ= Ġcreate Report Definition Object () ĊĠĠĠ Ġ) Ċ } Ċ