package Ġcom . example . workflow . service Ċ Ċ import Ġcom . example . workflow . utils . Constants Ċ import Ġcom . example . workflow . utils . Workflow Logger Ċ import Ġorg . camunda . bpm . engine . delegate . Delegate Execution Ċ import Ġorg . camunda . bpm . engine . delegate . Java Delegate Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . springframework . http . HttpStatus Ċ import Ġorg . springframework . stereotype . Service Ċ Ċ @ Service (" set ErrorResponse ") Ċ class ĠProcess Error O cr Response Ġ: ĠJava Delegate Ġ{ ĊĊĠĠĠ Ġprivate Ġval Ġlogger Ġ= ĠLoggerFactory . getLogger ( this . java Class ) ĊĊĠĠĠ Ġoverride Ġfun Ġexecute ( execution : ĠDelegate Execution ?) Ġ{ ĊĊĠĠĠĠĠĠĠ ĠWorkflow Logger . info ( logger , Ġ" Prepare ĠError ĠResponse ", Ġ" Process Ġinstance Ġid Ġ${ execution !!. process InstanceId }") ĊĊĠĠĠĠĠĠĠ Ġif Ġ( execution . has Variable ( Constants .` OCR ĠRESP ONSE ` )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġmap : ĠMutable Map < String , ĠAny > Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexecution . get Variable ( Constants .` OCR ĠRESP ONSE `) Ġas ĠMutable Map < String , ĠAny > ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( map . isNotEmpty ()) Ġ{ ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġparsed Results : ĠList < Mutable Map < String , ĠAny >> Ġ= Ġmap [" Parsed Results "] Ġas ĠList < Mutable Map < String , ĠAny >> ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// clean Ġup Ġthe Ġjson ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( parsed Result Ġin Ġparsed Results ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparsed Result . remove (" Text Orientation ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparsed Result . remove (" Text Overlay ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexecution . set Variable ( Constants .` OCR ĠRESP ONSE `, Ġparsed Results ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġerror Map : ĠMutable Map < String , ĠAny > Ġ= Ġmutable Map Of () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror Map . put (" File Parse ExitCode ", ĠHttpStatus . UN PROCESS ABLE _ ENTITY ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror Map . put (" Error Details ", ĠHttpStatus . UN PROCESS ABLE _ ENTITY . name ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġerror Map . put (" ErrorMessage ", ĠConstants .` DOCUMENT ĠO CR ĠFAILED `) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexecution . set Variable ( Constants .` OCR ĠRESP ONSE `, Ġmutable ListOf ( error Map )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( execution . has Variable ( Constants .` OCR ĠRESP ONSE ĠEXCEPTION ` )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġerror Map : ĠMutable Map < String , ĠAny > Ġ= Ġmutable Map Of () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror Map . put (" File Parse ExitCode ", ĠHttpStatus . INTERNAL _ SERVER _ ERROR ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror Map . put (" Error Details ", ĠConstants .` INTERNAL ĠSER VE ĠERROR `) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror Map . put (" ErrorMessage ", Ġexecution . get Variable ( Constants .` OCR ĠRESP ONSE ĠEXCEPTION ` )) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġexecution . set Variable ( Constants .` OCR ĠRESP ONSE `, Ġmutable ListOf ( error Map )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġerror Map : ĠMutable Map < String , ĠAny > Ġ= Ġmutable Map Of () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror Map . put (" File Parse ExitCode ", ĠHttpStatus . INTERNAL _ SERVER _ ERROR ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror Map . put (" Error Details ", ĠConstants .` INTERNAL ĠSER VE ĠERROR `) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġerror Map . put (" ErrorMessage ", ĠConstants .` DOCUMENT ĠO CR ĠFAILED `) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġexecution . set Variable ( Constants .` OCR ĠRESP ONSE `, Ġmutable ListOf ( error Map )) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĊĠĠĠĠĠĠĠ ĠWorkflow Logger . error ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlogger , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" OCR ĠSpace ĠResponse ĠError ", ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( execution . get Variable ( Constants .` OCR ĠRESP ONSE `) Ġas ĠList < Mutable Map < String , ĠAny >> ). toString () ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠ Ġ} Ċ }