package Ġcom . jk il p . blueprint diagram Ċ Ċ import Ġcom . jk il p . blueprint diagram . dot . Diagram Ċ import Ġcom . jk il p . blueprint diagram . util . Cfg Util Ċ import Ġcom . jk il p . blueprint diagram . util . Env Util Ċ import Ġcom . jk il p . blueprint diagram . util . File Util Ċ import Ġcom . jk il p . blueprint diagram . util . Xml Util Ċ import Ġjava . io . File Ċ Ċ object ĠDiagram Writer Ġ{ ĊĠĠĠ Ġfun Ġrun ( env : ĠList < String > ?, Ġpath : ĠString , Ġoutput : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġ( cfg Files , Ġxml Files ) Ġ= ĠFile Util . getFile Lists ( path ) ĊĠĠĠĠĠĠĠ Ġval Ġenv Map Ġ= ĠEnv Util . get Env Map ( env ) ĊĠĠĠĠĠĠĠ Ġval Ġcfg Map Ġ= ĠC fg Util . getC fg Map ( cfg Files , Ġenv Map ) ĊĊĠĠĠĠĠĠĠ Ġval Ġdiagram Ġ= ĠDiagram ( xml Files . map Ġ{ ĠXml Util . process Blueprint ( it , Ġcfg Map ) Ġ}. filter NotNull (). flatten ()) ĊĊĠĠĠĠĠĠĠ ĠFile ("$ output . dot "). write Text ( diagram . toString ()) ĊĠĠĠĠĠĠĠ ĠFile ("$ output . html "). write Text (" <! DOCTYPE Ġhtml >\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"< meta Ġcharset =\" utf - 8 \">\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"< body >\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"< script Ġsrc =\" https :// d 3 js . org / d 3 . v 5 . js \"></ script >\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"< script Ġsrc =\" http :// viz - js . com / bower _ components / viz . js / viz - lite . js \"></ script >\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"< script Ġsrc =\" https :// github . com / mag jac / d 3 - graph viz / releases / download / v 0 . 1 . 2 / d 3 - graph viz . min . js \"></ script >\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"< div Ġid =\" graph \" Ġstyle =\" text - align : Ġcenter ;\ "></ div >\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"< script >\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Ġ Ġd 3 . select (\" # graph \" ). graph viz ()\ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" ĠĠĠ Ġ. render Dot (`${ diagram . toString (). replace ("\ $", Ġ"\\ \$ ") }`); \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"</ script >") ĊĠĠĠ Ġ} Ċ }