package Ġdb Ċ Ċ import Ġdb . Registry Factory Constants . DRIVER _ IN MEMORY Ċ import Ġdb . Registry Factory Constants . DRIVER _ MONGO DB Ċ import Ġdb . Registry Factory Constants . DRIVER _ POST GRE SQL Ċ import Ġio . vertx . core . Vert x Ċ import Ġorg . slf 4 j . LoggerFactory Ċ import Ġjava . lang . IllegalStateException Ċ Ċ /** Ċ Ġ* ĠCreates Ġ[ VM Registry ] Ġobjects Ċ Ġ* Ġ@ author ĠM ic hel ĠK ra em er Ċ Ġ*/ Ċ object ĠVM Registry Factory Ġ{ ĊĠ Ġprivate Ġval Ġlog Ġ= ĠLoggerFactory . getLogger ( VM Registry Factory :: class . java ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠCreate Ġa Ġnew Ġ[ VM Registry ] ĊĠĠ Ġ* Ġ@ param Ġvert x Ġthe Ġcurrent ĠVert . x Ġinstance ĊĠĠ Ġ* Ġ@ return Ġthe Ġ[ VM Registry ] ĊĠĠ Ġ*/ ĊĠ Ġfun Ġcreate ( vertx : ĠVert x ): ĠVM Registry Ġ{ ĊĠĠĠ Ġval Ġconfig Ġ= Ġvert x . or Create Context . config () ĊĠĠĠ Ġval Ġdriver Ġ= Ġconfig . getString ( Config Constants . DB _ DRIVER , ĠDRI VER _ IN MEMORY ) ĊĠĠĠ Ġval Ġurl Ġ= Ġconfig . getString ( Config Constants . DB _ URL ) ĊĠĠĠ Ġval Ġusername Ġ= Ġconfig . getString ( Config Constants . DB _ USERNAME ) ĊĠĠĠ Ġval Ġpassword Ġ= Ġconfig . getString ( Config Constants . DB _ PASSWORD ) ĊĠĠĠ Ġlog . info (" Using Ġdatabase Ġdriver : Ġ$ driver ") ĊĠĠĠ Ġval Ġresult Ġ= Ġwhen Ġ( driver ) Ġ{ ĊĠĠĠĠĠ ĠDRI VER _ IN MEMORY Ġ-> ĠIn Memory VM Registry ( vertx ) ĊĠĠĠĠĠ ĠDRI VER _ POST GRE SQL Ġ-> ĠPostgreSQL VM Registry ( vertx , Ġurl , Ġusername , Ġpassword ) ĊĠĠĠĠĠ ĠDRI VER _ MONGO DB Ġ-> ĠMongoDB VM Registry ( vertx , Ġurl ) ĊĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalStateException (" Unknown Ġdatabase Ġdriver Ġ`$ driver '") ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn ĠNot ifying VM Registry ( result , Ġvert x ) ĊĠ Ġ} Ċ } Ċ