package Ġde . et ern al w ings . v ima Ċ Ċ import Ġde . et ern al w ings . v ima . process . Browser Op ener Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġorg . springframework . boot . Application Arguments Ċ import Ġorg . springframework . boot . Application Runner Ċ import Ġorg . springframework . boot . autoconfigure . SpringBoot Application Ċ import Ġorg . springframework . boot . run Application Ċ import Ġorg . springframework . core . env . Environment Ċ import Ġjava . net . URL Ċ Ċ @ SpringBoot Application Ċ class ĠV ima Application ( private Ġval Ġenv : ĠEnvironment ) Ġ: ĠApplication Runner Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġrun ( args : ĠApplication Arguments ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( should Open Web page ( args )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLOGGER . info (" Opening Ġbrowser ") ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBrowser Op ener . open Url ( get Interface Url ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Interface Url (): ĠURL Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġis Dev Ġ= Ġ! env . active Profiles . contains (" production ") ĊĠĠĠĠĠĠĠ Ġval Ġport Ġ= Ġif Ġ( is Dev ) Ġ 8 0 8 1 Ġelse Ġenv . get Required Property (" local . server . port "). toInt () ĊĠĠĠĠĠĠĠ Ġreturn ĠURL (" http ", Ġ" localhost ", Ġport , Ġ"/") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġshould Open Web page ( args : ĠApplication Arguments ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbrowser Argument Ġ= Ġargs ?. getOption Values (" no - browser ") ĊĠĠĠĠĠĠĠ Ġreturn Ġbrowser Argument Ġ== Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠLOGGER Ġ= ĠLoggerFactory . getLogger ( V ima Application :: class . java ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ fun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ Ġrun Application < V ima Application >(* args ) Ċ } Ċ