1515 */
1616package io .jooby ;
1717
18+ import io .jooby .internal .RegistryImpl ;
1819import io .jooby .internal .RouteAnalyzer ;
1920import io .jooby .internal .RouterImpl ;
2021import org .slf4j .Logger ;
2627import java .nio .file .Path ;
2728import java .nio .file .Paths ;
2829import java .util .ArrayList ;
29- import java .util .Arrays ;
3030import java .util .Iterator ;
3131import java .util .LinkedList ;
3232import java .util .List ;
@@ -62,7 +62,7 @@ public class Jooby implements Router, Registry {
6262
6363 private LinkedList <Throwing .Runnable > stopCallbacks ;
6464
65- private Env environment ;
65+ private Env env ;
6666
6767 private Registry registry ;
6868
@@ -71,14 +71,11 @@ public Jooby() {
7171 }
7272
7373 public @ Nonnull Env environment () {
74- return environment ;
74+ return env ;
7575 }
7676
7777 public @ Nonnull Jooby environment (@ Nonnull Env environment ) {
78- this .environment = environment ;
79- if (tmpdir == null ) {
80- tmpdir = Paths .get (environment .get ("application.tmpdir" ).value ()).toAbsolutePath ();
81- }
78+ this .env = environment ;
8279 return this ;
8380 }
8481
@@ -285,8 +282,8 @@ public Jooby errorCode(@Nonnull Class<? extends Throwable> type,
285282 return require (new AttributeKey <>(type ));
286283 }
287284
288- public @ Nonnull Jooby registry (@ Nonnull Registry registry ) {
289- this .registry = registry ;
285+ public @ Nonnull Jooby registry (@ Nonnull Object registry ) {
286+ this .registry = RegistryImpl . wrap ( getClass (). getClassLoader (), registry ) ;
290287 return this ;
291288 }
292289
@@ -326,20 +323,21 @@ private <T> T require(AttributeKey<T> key) {
326323 if (serverConfigurer != null ) {
327324 serverConfigurer .accept (server );
328325 }
329- if (environment == null ) {
330- environment = Env .defaultEnvironment (getClass ().getClassLoader ());
331- }
332- if (tmpdir == null ) {
333- tmpdir = Paths .get (environment .get ("application.tmpdir" ).value ()).toAbsolutePath ();
334- }
335326 return server .start (this );
336327 }
337328
338329 public @ Nonnull Jooby start (@ Nonnull Server server ) {
330+ if (env == null ) {
331+ env = Env .defaultEnvironment (getClass ().getClassLoader ());
332+ }
333+ if (tmpdir == null ) {
334+ tmpdir = Paths .get (env .get ("application.tmpdir" ).value ()).toAbsolutePath ();
335+ }
336+
339337 /** Start router: */
340338 ensureTmpdir (tmpdir );
341339
342- log ().debug ("environment:\n {}" , environment );
340+ log ().debug ("environment:\n {}" , env );
343341
344342 if (mode == null ) {
345343 mode = ExecutionMode .DEFAULT ;
@@ -361,7 +359,7 @@ private <T> T require(AttributeKey<T> key) {
361359 log .info (" PID: {}" , System .getProperty ("PID" ));
362360 log .info (" port: {}" , server .port ());
363361 log .info (" server: {}" , server .getClass ().getSimpleName ().toLowerCase ());
364- log .info (" env: {}" , environment .name ());
362+ log .info (" env: {}" , env .name ());
365363 log .info (" thread mode: {}" , mode .name ().toLowerCase ());
366364 log .info (" user: {}" , System .getProperty ("user.name" ));
367365 log .info (" app dir: {}" , System .getProperty ("user.dir" ));
0 commit comments