/* Ċ package Ġee . word Ċ Ċ import Ġee . common . ext . file Ext Ċ import Ġee . word . Word . Companion . open Doc Ċ import Ġorg . apache . poi . h wp f . HW PF Document Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġjava . nio . file . Paths Ċ Ċ data Ġclass ĠContent ( var Ġname : ĠString , Ġval Ġpoints : ĠMutable List < String >) Ċ Ċ private Ġval Ġlog Ġ= ĠLoggerFactory . getLogger (" Word test ") Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ Ġval Ġpath Ġ= ĠPaths . get (" D :\\ TC _ CACHE \\ CG - latest \\ doc \\ clear ing \\ 2 0 1 7 - 0 1 - 1 9 ĠClear ing Reports ") ĊĠĠĠ Ġval Ġcontents Ġ= Ġarray ListOf < Content >() ĊĠĠĠ Ġpath . to File (). list Files Ġ{ Ġfile Ġ-> Ġfile . name . file Ext (). equals (" doc ", Ġtrue ) Ġ}. forEach Ġ{ Ġfile Ġ-> ĊĠĠĠĠĠĠĠ Ġlog . info (" Extract Ġ$ file ") ĊĠĠĠĠĠĠĠ Ġvar Ġdoc : ĠHW PF Document ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġdoc Ġ= Ġopen Doc ( file . absolute Path ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcontent Ġ= Ġdoc . extract Chapter () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontent . name Ġ= Ġfile . name ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontents . add ( content ) ĊĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontents . add ( Content ( file . name , Ġarray ListOf (" ERROR ĠAT ĠFILE ĠPAR SING Ġ$ e "))) ĊĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( doc Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdoc . close () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġcontents . forEach Ġ{ Ġdoc Ġ-> ĊĠĠĠĠĠĠĠ Ġlog . info ( doc . name ) ĊĠĠĠĠĠĠĠ Ġdoc . points . forEach Ġ{ Ġpoint Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . info ("\ t $ point ") ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĠĠĠ Ġlog . info ("$ contents ") Ċ } Ċ Ċ private Ġfun ĠHW PF Document . extract Chapter (): ĠContent Ġ{ ĊĠĠĠ Ġval Ġstart Expr Ġ= Ġ" .* (\\ d + ? \\. \\ d + ? \\. ). * O bl ig ations .* ". to Regex ( Regex Option . DOT _ MATCH ES _ ALL ) ĊĠĠĠ Ġval Ġend Expr Ġ= Ġ" .* (\\ d + ? \\. ). * Notes .* ". to Regex ( Regex Option . DOT _ MATCH ES _ ALL ) ĊĊĠĠĠ Ġval Ġpoints Ġ= Ġarray ListOf < String >() ĊĠĠĠ Ġvar Ġstarted Ġ= Ġfalse ĊĠĠĠ Ġfor Ġ( i Ġin Ġ 0 Ġuntil Ġrange . num Paragraph s ()) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġrange . get Paragraph ( i ) ĊĠĠĠĠĠĠĠ Ġval Ġtext Ġ= Ġitem . text () ĊĠĠĠĠĠĠĠ Ġif Ġ( text . contains (" O bl ig ations ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlog . debug ( text ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ(! started Ġ&& Ġstart Expr . matches ( text )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstarted Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġif Ġ( started ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! end Expr . matches ( text )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġpoints . add ( text ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn ĠContent ("", Ġpoints ) Ċ } Ċ */