/* Ċ Ġ* ĠCopyright Ġ 2 0 2 0 ĠBon itas oft ĠS . A . Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġorg . bon itas oft . example . processes Ċ Ċ import Ġcom . github . java faker . F aker Ċ import Ġorg . bon itas oft . engine . bpm . bar . Bar Resource Ċ import Ġorg . bon itas oft . engine . bpm . bar . Business Archive Builder Ċ import Ġorg . bon itas oft . engine . bpm . bar . actor Mapping . Actor Ċ import Ġorg . bon itas oft . engine . bpm . bar . actor Mapping . Actor Mapping Ċ import Ġorg . bon itas oft . engine . bpm . connector . Connector Event Ċ import Ġorg . bon itas oft . engine . bpm . contract . File Input Value Ċ import Ġorg . bon itas oft . engine . bpm . flow node . Task Priority Ċ import Ġorg . bon itas oft . engine . bpm . process . impl . Process Definition Builder Ċ import Ġorg . bon itas oft . engine . expression . Expression Builder Ċ import Ġorg . bon itas oft . engine . operation . Operation Builder Ċ import Ġorg . bon itas oft . example . to Expression Ċ import Ġorg . bon itas oft . example . to Script Ċ import Ġjava . io . Buffered OutputStream Ċ import Ġjava . io . ByteArray OutputStream Ċ import Ġjava . io . File Ċ import Ġjava . nio . file . Files Ċ import Ġjava . util .* Ċ import Ġjava . util . jar . Jar Entry Ċ import Ġjava . util . jar . Jar OutputStream Ċ import Ġjavax . tools . Tool Provider Ċ Ċ class ĠBig Data ( private Ġval Ġnumber : ĠInt ) Ġ: ĠBon ita Process () Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġprocess (): ĠProcess Definition Builder Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠProcess Definition Builder (). createNew Instance (" Big Data -$ number ", Ġ" 1 . 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Actor (" the Actor ", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Start Event (" start ") ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 Ġuntil Ġ 1 5 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Short Text Data (" simple Var " Ġ+ Ġi , Ġ" simple Ġvar Ġcontent Ġ$ i ". to Expression ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Business Data (" my Employee "," com . company . model . Employee ", Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdef Ġemployee Ġ= Ġnew Ġcom . company . model . Employee () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġemployee . name Ġ= Ġ" name " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġemployee ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (). to Script (" com . company . model . Employee ")) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfaker Ġ= ĠFaker () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset String Index ( 1 , Ġfaker . lo rem (). fixed String ( 2 5 5 ), Ġfaker . lo rem (). fixed String ( 2 5 5 ). to Expression ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset String Index ( 2 , Ġfaker . lo rem (). fixed String ( 2 5 5 ), Ġfaker . lo rem (). fixed String ( 2 5 5 ). to Expression ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset String Index ( 3 , Ġfaker . lo rem (). fixed String ( 2 5 5 ), Ġfaker . lo rem (). fixed String ( 2 5 5 ). to Expression ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset String Index ( 4 , Ġfaker . lo rem (). fixed String ( 2 5 5 ), Ġfaker . lo rem (). fixed String ( 2 5 5 ). to Expression ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġset String Index ( 5 , Ġfaker . lo rem (). fixed String ( 2 5 5 ), Ġfaker . lo rem (). fixed String ( 2 5 5 ). to Expression ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Context Entry (" my Employee _ ref ", ĠExpression Builder (). create Business Data Reference Expression (" my Employee ")) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Long Text Data (" long Text 1 ", Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdef Ġvalue Ġ= Ġnew Ġjava . lang . StringBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor ( int Ġi Ġ= Ġ 0 ; Ġi Ġ< Ġ 1 0 0 0 ; Ġi ++) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . append (" Lorem ĠE ls ass Ġipsum Ġv iel m ols , Ġlibero . Ġamet , Ġturpis ĠSal u Âł b iss ame Ġsit ĠP ellentesque ĠR acing . Ġr ucks ack Ġsal u Ġtellus Ġb iss ame ĠrÃ© ch ime Ġleo ĠH ug ue tte Ġin , ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . append (" W urs ch ts al ad Ġsen ect us Ġf tom i ! Ġm am sell Ġsemp er ĠSp Ã¤ tz le Ġsch pe ck Ġs ' gue lt Ġelement um Ġvar ius ĠGal . Ġleo Ġante Ġet ĠMor bi Ġk ug lo pf Ġac ĠP four tz Âł ! ĠDNA , Ġid ĠCh ulia ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . append (" Ro ber st au Ġcommodo Ġjet z Âł ge ht s Âł los Ġhop la Ġullam cor per Ġp icon Âł bi Ã¨re ĠVer dam mi Ġid , Ġlever w urs cht Ġconsectetur Ġac Ġro ss bol la Ġlot to - owe Ġor n are Ġporta Ġsed Ġsuspend isse ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . append (" p ellentesque ĠCo op Ã© Âł de Âł Tr uch ters heim Ġnon Ġcon dim ent um Ġge w ur z tr amin er ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġvalue . toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (). to Script ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd XML Data (" xml Var 1 ", Ġ""" Ġ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ<? xml Ġversion =" 1 . 0 " Ġencoding =" utf - 8 "?> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< xs : schema Ġtarget Namespace =" http :// temp uri . org / XMLSchema . xsd " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelement Form Default =" qualified " ĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġxmlns =" http :// temp uri . org / XMLSchema . xsd " Ġ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġxmlns : mst ns =" http :// temp uri . org / XMLSchema . xsd " ĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġxmlns : xs =" http :// www . w 3 . org / 2 0 0 1 / XMLSchema "> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< xs : simple Type Ġname =" Author In for "> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< xs : annotation > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< xs : documentation > this Ġelement Ġwill Ġall Ġauthors Ġfor Ġbook </ xs : documentation > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ xs : annotation > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< xs : restriction Ġbase =' xs : string '> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< xs : maxLength Ġvalue =' 1 5 '/> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ xs : restriction > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ xs : simple Type > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< xs : simple Type Ġname =" Is dn Info "> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< xs : annotation > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< xs : documentation > this Ġelement Ġdefines Ġ 1 0 Ġdigit ĠIS DN Ġcode </ xs : documentation > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ xs : annotation > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< xs : restriction Ġbase =' xs : string '> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< xs : maxLength Ġvalue =' 1 0 '/> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ xs : restriction > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ xs : simple Type > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< xs : complexType Ġname =" Book She lf Info "> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< xs : sequence > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< xs : choice Ġmin Occurs =" 1 " Ġmax Occurs =" 1 "> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< xs : choice Ġmin Occurs =" 1 " Ġmax Occurs =" 5 "> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< xs : element Ġname =" by Author " Ġtype =" Author In for "/> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ xs : choice > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< xs : element Ġname =" by IS DN No " Ġtype =" Is dn Info "/> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ xs : choice > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ xs : sequence > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ xs : complexType > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< xs : element Ġname =" My Book She lf " Ġtype =" Book She lf Info "/> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ xs : schema > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (). to Expression ()) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd XML Data (" xml Var 2 ", Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ<? xml Ġversion =" 1 . 0 " Ġencoding =" utf - 8 "?> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< My Book She lf Ġxmlns =" http :// temp uri . org / XMLSchema . xsd "> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< by Author > Che tan ĠB h ag at </ by Author > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< by Author > Ad ity a ĠG h osh </ by Author > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< by Author > Re ena ĠMe ht a </ by Author > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ My Book She lf > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (). to Expression ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Contract (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd File Input (" file Input Values ", Ġ" create Ġmy Ġlist Ġof Ġdocument ", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd File Input (" file 1 ", Ġ" single Ġdocument ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd File Input (" file 2 ", Ġ" single Ġdocument ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Document List Definition (" my Document List ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Initial Value ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExpression Builder (). create Contract Input Expression (" file Input Values ", ĠList :: class . java . name )) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Document Definition (" my Doc "). add Initial Value ( Expression Builder (). create Contract Input Expression (" file 1 ", ĠFile Input Value :: class . java . name )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Document Definition (" my Doc 2 "). add Initial Value ( Expression Builder (). create Contract Input Expression (" file 2 ", ĠFile Input Value :: class . java . name )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ( 1 .. 1 0 ). forEach Ġ{ Ġindex Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd User Task (" task With Priority UNDER _ NORMAL -$ index ", Ġ" the Actor "). add Priority ( Task Priority . UNDER _ NORMAL . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd User Task (" task With Priority AB O VE _ NORMAL -$ index ", Ġ" the Actor "). add Priority ( Task Priority . AB O VE _ NORMAL . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd User Task (" task With Priority HIG HE ST -$ index ", Ġ" the Actor "). add Priority ( Task Priority . HIG HE ST . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd User Task (" task With Priority LOW EST -$ index ", Ġ" the Actor "). add Priority ( Task Priority . LOW EST . name ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd User Task (" user 1 ", Ġ" the Actor "). add Priority ( Task Priority . UNDER _ NORMAL . name ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Contract (). add File Input (" file Input Values ", Ġ" update Ġmy Ġlist Ġof Ġdocument ", Ġtrue ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Operation ( Operation Builder (). create Set Document List (" my Document List ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠExpression Builder (). create Contract Input Expression (" file Input Values ", ĠList :: class . java . name ))) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd User Task (" user 2 ", Ġ" the Actor "). add Priority ( Task Priority . AB O VE _ NORMAL . name ). add DisplayName (" User Ġ 2 ". to Expression ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd User Task (" task With Connectors ", Ġ" the Actor "). add Priority ( Task Priority . HIG HE ST . name ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Connector (" connector That Suc ceed 1 ", Ġ" connector That Suc ceed ", Ġ" 1 . 0 ", ĠConnector Event . ON _ ENTER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Connector (" connector That Suc ceed 2 ", Ġ" connector That Suc ceed ", Ġ" 1 . 0 ", ĠConnector Event . ON _ ENTER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Connector (" connector That Suc ceed 3 ", Ġ" connector That Suc ceed ", Ġ" 1 . 0 ", ĠConnector Event . ON _ ENTER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Connector (" connector That Suc ceed 4 ", Ġ" connector That Suc ceed ", Ġ" 1 . 0 ", ĠConnector Event . ON _ ENTER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Connector (" connector That Suc ceed 5 ", Ġ" connector That Suc ceed ", Ġ" 1 . 0 ", ĠConnector Event . ON _ ENTER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Connector (" connector ToBe Skipped 1 ", Ġ" connector That Fails ", Ġ" 1 . 0 ", ĠConnector Event . ON _ ENTER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Connector (" connector ToBe Skipped 2 ", Ġ" connector That Fails ", Ġ" 1 . 0 ", ĠConnector Event . ON _ ENTER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Connector (" connector ToBe Skipped 3 ", Ġ" connector That Fails ", Ġ" 1 . 0 ", ĠConnector Event . ON _ ENTER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Connector (" connector ToBe Skipped 4 ", Ġ" connector That Fails ", Ġ" 1 . 0 ", ĠConnector Event . ON _ ENTER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Connector (" connector ToBe Skipped 5 ", Ġ" connector That Fails ", Ġ" 1 . 0 ", ĠConnector Event . ON _ ENTER ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Connector (" connector That Fails 1 ", Ġ" connector That Fails ", Ġ" 1 . 0 ", ĠConnector Event . ON _ ENTER ). ignore Error () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Connector (" connector That Fails 2 ", Ġ" connector That Fails ", Ġ" 1 . 0 ", ĠConnector Event . ON _ ENTER ). ignore Error () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Connector (" connector That Fails 3 ", Ġ" connector That Fails ", Ġ" 1 . 0 ", ĠConnector Event . ON _ ENTER ). ignore Error () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Connector (" connector That Fails 4 ", Ġ" connector That Fails ", Ġ" 1 . 0 ", ĠConnector Event . ON _ ENTER ). ignore Error () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Connector (" connector That Fails 5 ", Ġ" connector That Fails ", Ġ" 1 . 0 ", ĠConnector Event . ON _ ENTER )// Ġwe Ġwill Ġbe Ġin Ġthat Ġstate ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Connector (" connector ToBe Executed 1 ", Ġ" connector That Suc ceed ", Ġ" 1 . 0 ", ĠConnector Event . ON _ FIN ISH ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Connector (" connector ToBe Executed 2 ", Ġ" connector That Suc ceed ", Ġ" 1 . 0 ", ĠConnector Event . ON _ FIN ISH ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Connector (" connector ToBe Executed 3 ", Ġ" connector That Suc ceed ", Ġ" 1 . 0 ", ĠConnector Event . ON _ FIN ISH ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Connector (" connector ToBe Executed 4 ", Ġ" connector That Suc ceed ", Ġ" 1 . 0 ", ĠConnector Event . ON _ FIN ISH ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Connector (" connector ToBe Executed 5 ", Ġ" connector That Suc ceed ", Ġ" 1 . 0 ", ĠConnector Event . ON _ FIN ISH ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Automatic Task (" user 3 "). add DisplayName (" User Ġ 3 ". to Expression ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Automatic Task (" user Task Failed "). add DisplayName (" throw Ġnew ĠException () ". to Script ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Transition (" start ", Ġ" user 1 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Transition (" start ", Ġ" user 2 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Transition (" start ", Ġ" user 3 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Transition (" start ", Ġ" task With Connectors ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġwith Resources ( bar : ĠBusiness Archive Builder ) Ġ{ ĊĠĠĠĠĠĠĠ Ġbar . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactor Mapping Ġ= ĠActor Mapping (). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd Actor ( Actor (" the Actor "). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd User (" jean . nÃ© mar ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġadd User (" w alter . b ates ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Connector Implementation ( generate Impl (" connector That Suc ceed ", Ġ" implementation Of Connector That Suc ceed ", Ġ" Connector That Suc ceed ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Classpath Resource ( Bar Resource (" connector That Suc ceed . jar ", Ġgenerate Jar (" Connector That Suc ceed ", Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġclass ĠConnector That Suc ceed Ġextends Ġorg . bon itas oft . engine . connector . Abstract Connector Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġvalidate Input Parameters () Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprotected Ġvoid Ġexecute Business Logic () Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ """. trim Indent ()))) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Connector Implementation ( generate Impl (" connector That Fails ", Ġ" implementation Of Connector That Fails ", Ġ" Connector That Fails ")) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Classpath Resource ( Bar Resource (" connector That Fails . jar ", Ġgenerate Jar (" Connector That Fails ", Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġclass ĠConnector That Fails Ġextends Ġorg . bon itas oft . engine . connector . Abstract Connector Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpublic Ġvoid Ġvalidate Input Parameters () Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprotected Ġvoid Ġexecute Business Logic () Ġ{ Ġthrow Ġnew Ġjava . lang . RuntimeException (" exception Ġthrown Ġby Ġthe Ġconnector "); } ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ """. trim Indent ()))) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġgenerate Impl ( connector Id : ĠString , Ġimplementation Id : ĠString , Ġconnector Class : ĠString ): ĠBar Resource Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠBar Resource ("$ connector Id . impl ", Ġ""" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< connector Implementation > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< definitionId >$ connector Id </ definitionId > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< definition Version > 1 . 0 </ definition Version > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< implementation Class name >$ connector Class </ implementation Class name > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< implementation Id >$ implementation Id </ implementation Id > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< implementation Version > 1 . 0 </ implementation Version > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< jar Dependencies > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ< jar Dependency >${ connector Id }. jar </ jar Dependency > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ jar Dependencies > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ</ connector Implementation > ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ""" . trim Indent (). toByteArray () ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġgenerate Jar ( className : ĠString , Ġcontent : ĠString ): ĠByteArray ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġroot Ġ= ĠFiles . create Temp Directory (" temp Compile "). to File () ĊĠĠĠĠĠĠĠ Ġval Ġsource File Ġ= ĠFile ( root , Ġ"$ className . java ") ĊĠĠĠĠĠĠĠ ĠFiles . write ( source File . to Path (), Ġcontent . toByteArray ()) ĊĠĠĠĠĠĠĠ Ġval Ġcompiler Ġ= ĠTool Provider . getSystem Java Compiler () ĊĠĠĠĠĠĠĠ Ġval Ġrun Ġ= Ġcompiler . run ( null , Ġnull , Ġnull , Ġsource File . path ) ĊĠĠĠĠĠĠĠ Ġrequire ( run Ġ== Ġ 0 ) Ġ{ Ġ" Unable Ġto Ġcompile Ġthe Ġfile , Ġsee Ġlogs " Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġbytes Ġ= ĠFiles . read All Bytes ( root . to Path (). resolve ("$ className . class ")) ĊĠĠĠĠĠĠĠ Ġreturn Ġgenerate Jar ( Collections . singleton Map ("$ className . class ", Ġbytes )) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġgenerate Jar ( resources : ĠMap < String , ĠByteArray >): ĠByteArray Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġba os : ĠByteArrayOutputStream ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġvar Ġjar Out Stream : ĠJar OutputStream ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġba os Ġ= ĠByteArrayOutputStream () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjar Out Stream Ġ= ĠJar OutputStream ( Buffered OutputStream ( ba os )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ(( key , Ġvalue ) Ġin Ġresources ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjar Out Stream . put Next Entry ( Jar Entry ( key )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġjar Out Stream . write ( value ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjar Out Stream . flush () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġba os . flush () ĊĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġjar Out Stream ?. close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġba os ?. close () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġba os !!. toByteArray () ĊĠĠĠ Ġ} Ċ Ċ } Ċ