@Override public void init(InjectionManager injectionManager, BootstrapBag bootstrapBag) { ServerBootstrapBag serverBag = (ServerBootstrapBag) bootstrapBag; ResourceConfig runtimeConfig = serverBag.getRuntimeConfig(); ComponentBag componentBag = runtimeConfig.getComponentBag(); OptionsMethodProcessor optionsMethodProcessor = new OptionsMethodProcessor(); injectionManager.register(Bindings.service(optionsMethodProcessor).to(ModelProcessor.class)); // Get all model processors, registered as an instance or class List<ModelProcessor> modelProcessors = Stream.concat( componentBag.getClasses(CONTRACT_PROVIDER_MODEL_PROCESSOR_ONLY).stream() .map(injectionManager::createAndInitialize), componentBag.getInstances(CONTRACT_PROVIDER_MODEL_PROCESSOR_ONLY).stream()) .map(CAST_TO_MODEL_PROCESSOR) .collect(Collectors.toList()); modelProcessors.add(optionsMethodProcessor); // model processors registered using binders List<ModelProcessor> modelProcessorsFromBinders = ComponentBag .getFromBinders(injectionManager, componentBag, CAST_TO_MODEL_PROCESSOR, BINDING_MODEL_PROCESSOR_ONLY); modelProcessors.addAll(modelProcessorsFromBinders); serverBag.setModelProcessors(modelProcessors); } }
@Override public void init(InjectionManager injectionManager, BootstrapBag bootstrapBag) { ServerBootstrapBag serverBag = (ServerBootstrapBag) bootstrapBag; ResourceConfig runtimeConfig = serverBag.getRuntimeConfig(); ComponentBag componentBag = runtimeConfig.getComponentBag(); OptionsMethodProcessor optionsMethodProcessor = new OptionsMethodProcessor(); injectionManager.register(Bindings.service(optionsMethodProcessor).to(ModelProcessor.class)); // Get all model processors, registered as an instance or class List<ModelProcessor> modelProcessors = Stream.concat( componentBag.getClasses(CONTRACT_PROVIDER_MODEL_PROCESSOR_ONLY).stream() .map(injectionManager::createAndInitialize), componentBag.getInstances(CONTRACT_PROVIDER_MODEL_PROCESSOR_ONLY).stream()) .map(CAST_TO_MODEL_PROCESSOR) .collect(Collectors.toList()); modelProcessors.add(optionsMethodProcessor); // model processors registered using binders List<ModelProcessor> modelProcessorsFromBinders = ComponentBag .getFromBinders(injectionManager, componentBag, CAST_TO_MODEL_PROCESSOR, BINDING_MODEL_PROCESSOR_ONLY); modelProcessors.addAll(modelProcessorsFromBinders); serverBag.setModelProcessors(modelProcessors); } }
@Override public void init(InjectionManager injectionManager, BootstrapBag bootstrapBag) { ServerBootstrapBag serverBag = (ServerBootstrapBag) bootstrapBag; Collection<ModelProcessor> modelProcessors = serverBag.getModelProcessors(); ResourceConfig runtimeConfig = serverBag.getRuntimeConfig(); ResourceBag resourceBag = serverBag.getResourceBag(); ComponentBag componentBag = runtimeConfig.getComponentBag(); // Adds all providers from resource config to InjectionManager -> BootstrapConfigurators are able to work with these // services and get them. bindProvidersAndResources( injectionManager, serverBag, componentBag, resourceBag.classes, resourceBag.instances, runtimeConfig); ResourceModel resourceModel = new ResourceModel.Builder(resourceBag.getRootResources(), false).build(); resourceModel = processResourceModel(modelProcessors, resourceModel, runtimeConfig); bindEnhancingResourceClasses(injectionManager, serverBag, resourceModel, resourceBag, runtimeConfig); serverBag.setResourceModel(resourceModel); // Add newly created resource model in ResourceContext. serverBag.getResourceContext().setResourceModel(resourceModel); }
@Override public void init(InjectionManager injectionManager, BootstrapBag bootstrapBag) { ServerBootstrapBag serverBag = (ServerBootstrapBag) bootstrapBag; Collection<ModelProcessor> modelProcessors = serverBag.getModelProcessors(); ResourceConfig runtimeConfig = serverBag.getRuntimeConfig(); ResourceBag resourceBag = serverBag.getResourceBag(); ComponentBag componentBag = runtimeConfig.getComponentBag(); // Adds all providers from resource config to InjectionManager -> BootstrapConfigurators are able to work with these // services and get them. bindProvidersAndResources( injectionManager, serverBag, componentBag, resourceBag.classes, resourceBag.instances, runtimeConfig); ResourceModel resourceModel = new ResourceModel.Builder(resourceBag.getRootResources(), false).build(); resourceModel = processResourceModel(modelProcessors, resourceModel, runtimeConfig); bindEnhancingResourceClasses(injectionManager, serverBag, resourceModel, resourceBag, runtimeConfig); serverBag.setResourceModel(resourceModel); // Add newly created resource model in ResourceContext. serverBag.getResourceContext().setResourceModel(resourceModel); }
ServerBootstrapBag serverBag = (ServerBootstrapBag) bootstrapBag; ComponentBag componentBag = serverBag.getRuntimeConfig().getComponentBag();
ServerBootstrapBag serverBag = (ServerBootstrapBag) bootstrapBag; ComponentBag componentBag = serverBag.getRuntimeConfig().getComponentBag();
@Override public void init(InjectionManager injectionManager, BootstrapBag bootstrapBag) { ServerBootstrapBag serverBag = (ServerBootstrapBag) bootstrapBag; ResourceConfig runtimeConfig = serverBag.getRuntimeConfig(); ComponentBag componentBag = runtimeConfig.getComponentBag(); ManagedObjectsFinalizer finalizer = serverBag.getManagedObjectsFinalizer(); // TODO: Do we need to register DEFAULT Executor and ScheduledExecutor to InjectionManager? ScheduledExecutorServiceProvider defaultScheduledExecutorProvider = new DefaultBackgroundSchedulerProvider(); InstanceBinding<ScheduledExecutorServiceProvider> schedulerBinding = Bindings .service(defaultScheduledExecutorProvider) .to(ScheduledExecutorServiceProvider.class) .qualifiedBy(BackgroundSchedulerLiteral.INSTANCE); injectionManager.register(schedulerBinding); finalizer.registerForPreDestroyCall(defaultScheduledExecutorProvider); ExecutorServiceProvider defaultAsyncExecutorProvider = new DefaultManagedAsyncExecutorProvider(); InstanceBinding<ExecutorServiceProvider> executorBinding = Bindings .service(defaultAsyncExecutorProvider) .to(ExecutorServiceProvider.class); injectionManager.register(executorBinding); finalizer.registerForPreDestroyCall(defaultAsyncExecutorProvider); registerExecutors(injectionManager, componentBag, defaultAsyncExecutorProvider, defaultScheduledExecutorProvider); }
@Override public void init(InjectionManager injectionManager, BootstrapBag bootstrapBag) { ServerBootstrapBag serverBag = (ServerBootstrapBag) bootstrapBag; ResourceConfig runtimeConfig = serverBag.getRuntimeConfig(); ComponentBag componentBag = runtimeConfig.getComponentBag(); ManagedObjectsFinalizer finalizer = serverBag.getManagedObjectsFinalizer(); // TODO: Do we need to register DEFAULT Executor and ScheduledExecutor to InjectionManager? ScheduledExecutorServiceProvider defaultScheduledExecutorProvider = new DefaultBackgroundSchedulerProvider(); InstanceBinding<ScheduledExecutorServiceProvider> schedulerBinding = Bindings .service(defaultScheduledExecutorProvider) .to(ScheduledExecutorServiceProvider.class) .qualifiedBy(BackgroundSchedulerLiteral.INSTANCE); injectionManager.register(schedulerBinding); finalizer.registerForPreDestroyCall(defaultScheduledExecutorProvider); ExecutorServiceProvider defaultAsyncExecutorProvider = new DefaultManagedAsyncExecutorProvider(); InstanceBinding<ExecutorServiceProvider> executorBinding = Bindings .service(defaultAsyncExecutorProvider) .to(ExecutorServiceProvider.class); injectionManager.register(executorBinding); finalizer.registerForPreDestroyCall(defaultAsyncExecutorProvider); registerExecutors(injectionManager, componentBag, defaultAsyncExecutorProvider, defaultScheduledExecutorProvider); }
compositeListener = new CompositeApplicationEventListener(appEventListeners); compositeListener.onEvent(new ApplicationEventImpl(ApplicationEvent.Type.INITIALIZATION_START, this.runtimeConfig, runtimeConfig.getComponentBag().getRegistrations(), resourceBag.classes, resourceBag.instances, null)); ComponentBag componentBag = runtimeConfig.getComponentBag(); ResourceBag resourceBag = bootstrapBag.getResourceBag(); for (final Object instance : componentBag.getInstances(ComponentBag.excludeMetaProviders(injectionManager))) {
@Override public void init(InjectionManager injectionManager, BootstrapBag bootstrapBag) { ServerBootstrapBag serverBag = (ServerBootstrapBag) bootstrapBag; ResourceConfig runtimeConfig = serverBag.getRuntimeConfig(); ComponentBag componentBag = runtimeConfig.getComponentBag(); OptionsMethodProcessor optionsMethodProcessor = new OptionsMethodProcessor(); injectionManager.register(Bindings.service(optionsMethodProcessor).to(ModelProcessor.class)); // Get all model processors, registered as an instance or class List<ModelProcessor> modelProcessors = Stream.concat( componentBag.getClasses(CONTRACT_PROVIDER_MODEL_PROCESSOR_ONLY).stream() .map(injectionManager::createAndInitialize), componentBag.getInstances(CONTRACT_PROVIDER_MODEL_PROCESSOR_ONLY).stream()) .map(CAST_TO_MODEL_PROCESSOR) .collect(Collectors.toList()); modelProcessors.add(optionsMethodProcessor); // model processors registered using binders List<ModelProcessor> modelProcessorsFromBinders = ComponentBag .getFromBinders(injectionManager, componentBag, CAST_TO_MODEL_PROCESSOR, BINDING_MODEL_PROCESSOR_ONLY); modelProcessors.addAll(modelProcessorsFromBinders); serverBag.setModelProcessors(modelProcessors); } }
compositeListener = new CompositeApplicationEventListener(appEventListeners); compositeListener.onEvent(new ApplicationEventImpl(ApplicationEvent.Type.INITIALIZATION_START, this.runtimeConfig, runtimeConfig.getComponentBag().getRegistrations(), resourceBag.classes, resourceBag.instances, null)); ComponentBag componentBag = runtimeConfig.getComponentBag(); ResourceBag resourceBag = bootstrapBag.getResourceBag(); for (final Object instance : componentBag.getInstances(ComponentBag.excludeMetaProviders(injectionManager))) {
@Override public void init(InjectionManager injectionManager, BootstrapBag bootstrapBag) { ServerBootstrapBag serverBag = (ServerBootstrapBag) bootstrapBag; Collection<ModelProcessor> modelProcessors = serverBag.getModelProcessors(); ResourceConfig runtimeConfig = serverBag.getRuntimeConfig(); ResourceBag resourceBag = serverBag.getResourceBag(); ComponentBag componentBag = runtimeConfig.getComponentBag(); // Adds all providers from resource config to InjectionManager -> BootstrapConfigurators are able to work with these // services and get them. bindProvidersAndResources( injectionManager, serverBag, componentBag, resourceBag.classes, resourceBag.instances, runtimeConfig); ResourceModel resourceModel = new ResourceModel.Builder(resourceBag.getRootResources(), false).build(); resourceModel = processResourceModel(modelProcessors, resourceModel, runtimeConfig); bindEnhancingResourceClasses(injectionManager, serverBag, resourceModel, resourceBag, runtimeConfig); serverBag.setResourceModel(resourceModel); // Add newly created resource model in ResourceContext. serverBag.getResourceContext().setResourceModel(resourceModel); }
ServerBootstrapBag serverBag = (ServerBootstrapBag) bootstrapBag; ComponentBag componentBag = serverBag.getRuntimeConfig().getComponentBag();
@Override public void init(InjectionManager injectionManager, BootstrapBag bootstrapBag) { ServerBootstrapBag serverBag = (ServerBootstrapBag) bootstrapBag; ResourceConfig runtimeConfig = serverBag.getRuntimeConfig(); ComponentBag componentBag = runtimeConfig.getComponentBag(); ManagedObjectsFinalizer finalizer = serverBag.getManagedObjectsFinalizer(); // TODO: Do we need to register DEFAULT Executor and ScheduledExecutor to InjectionManager? ScheduledExecutorServiceProvider defaultScheduledExecutorProvider = new DefaultBackgroundSchedulerProvider(); InstanceBinding<ScheduledExecutorServiceProvider> schedulerBinding = Bindings .service(defaultScheduledExecutorProvider) .to(ScheduledExecutorServiceProvider.class) .qualifiedBy(BackgroundSchedulerLiteral.INSTANCE); injectionManager.register(schedulerBinding); finalizer.registerForPreDestroyCall(defaultScheduledExecutorProvider); ExecutorServiceProvider defaultAsyncExecutorProvider = new DefaultManagedAsyncExecutorProvider(); InstanceBinding<ExecutorServiceProvider> executorBinding = Bindings .service(defaultAsyncExecutorProvider) .to(ExecutorServiceProvider.class); injectionManager.register(executorBinding); finalizer.registerForPreDestroyCall(defaultAsyncExecutorProvider); registerExecutors(injectionManager, componentBag, defaultAsyncExecutorProvider, defaultScheduledExecutorProvider); }
@Override public void init(InjectionManager injectionManager, BootstrapBag bootstrapBag) { ServerBootstrapBag serverBag = (ServerBootstrapBag) bootstrapBag; ResourceConfig runtimeConfig = serverBag.getRuntimeConfig(); ComponentBag componentBag = runtimeConfig.getComponentBag(); OptionsMethodProcessor optionsMethodProcessor = new OptionsMethodProcessor(); injectionManager.register(Bindings.service(optionsMethodProcessor).to(ModelProcessor.class)); // Get all model processors, registered as an instance or class List<ModelProcessor> modelProcessors = Stream.concat( componentBag.getClasses(CONTRACT_PROVIDER_MODEL_PROCESSOR_ONLY).stream() .map(injectionManager::createAndInitialize), componentBag.getInstances(CONTRACT_PROVIDER_MODEL_PROCESSOR_ONLY).stream()) .map(CAST_TO_MODEL_PROCESSOR) .collect(Collectors.toList()); modelProcessors.add(optionsMethodProcessor); // model processors registered using binders List<ModelProcessor> modelProcessorsFromBinders = ComponentBag .getFromBinders(injectionManager, componentBag, CAST_TO_MODEL_PROCESSOR, BINDING_MODEL_PROCESSOR_ONLY); modelProcessors.addAll(modelProcessorsFromBinders); serverBag.setModelProcessors(modelProcessors); } }
compositeListener = new CompositeApplicationEventListener(appEventListeners); compositeListener.onEvent(new ApplicationEventImpl(ApplicationEvent.Type.INITIALIZATION_START, this.runtimeConfig, runtimeConfig.getComponentBag().getRegistrations(), resourceBag.classes, resourceBag.instances, null)); ComponentBag componentBag = runtimeConfig.getComponentBag(); ResourceBag resourceBag = bootstrapBag.getResourceBag(); for (final Object instance : componentBag.getInstances(ComponentBag.excludeMetaProviders(injectionManager))) {
@Override public void init(InjectionManager injectionManager, BootstrapBag bootstrapBag) { ServerBootstrapBag serverBag = (ServerBootstrapBag) bootstrapBag; Collection<ModelProcessor> modelProcessors = serverBag.getModelProcessors(); ResourceConfig runtimeConfig = serverBag.getRuntimeConfig(); ResourceBag resourceBag = serverBag.getResourceBag(); ComponentBag componentBag = runtimeConfig.getComponentBag(); // Adds all providers from resource config to InjectionManager -> BootstrapConfigurators are able to work with these // services and get them. bindProvidersAndResources( injectionManager, serverBag, componentBag, resourceBag.classes, resourceBag.instances, runtimeConfig); ResourceModel resourceModel = new ResourceModel.Builder(resourceBag.getRootResources(), false).build(); resourceModel = processResourceModel(modelProcessors, resourceModel, runtimeConfig); bindEnhancingResourceClasses(injectionManager, serverBag, resourceModel, resourceBag, runtimeConfig); serverBag.setResourceModel(resourceModel); // Add newly created resource model in ResourceContext. serverBag.getResourceContext().setResourceModel(resourceModel); }
ServerBootstrapBag serverBag = (ServerBootstrapBag) bootstrapBag; ComponentBag componentBag = serverBag.getRuntimeConfig().getComponentBag();
@Override public void init(InjectionManager injectionManager, BootstrapBag bootstrapBag) { ServerBootstrapBag serverBag = (ServerBootstrapBag) bootstrapBag; ResourceConfig runtimeConfig = serverBag.getRuntimeConfig(); ComponentBag componentBag = runtimeConfig.getComponentBag(); ManagedObjectsFinalizer finalizer = serverBag.getManagedObjectsFinalizer(); // TODO: Do we need to register DEFAULT Executor and ScheduledExecutor to InjectionManager? ScheduledExecutorServiceProvider defaultScheduledExecutorProvider = new DefaultBackgroundSchedulerProvider(); InstanceBinding<ScheduledExecutorServiceProvider> schedulerBinding = Bindings .service(defaultScheduledExecutorProvider) .to(ScheduledExecutorServiceProvider.class) .qualifiedBy(BackgroundSchedulerLiteral.INSTANCE); injectionManager.register(schedulerBinding); finalizer.registerForPreDestroyCall(defaultScheduledExecutorProvider); ExecutorServiceProvider defaultAsyncExecutorProvider = new DefaultManagedAsyncExecutorProvider(); InstanceBinding<ExecutorServiceProvider> executorBinding = Bindings .service(defaultAsyncExecutorProvider) .to(ExecutorServiceProvider.class); injectionManager.register(executorBinding); finalizer.registerForPreDestroyCall(defaultAsyncExecutorProvider); registerExecutors(injectionManager, componentBag, defaultAsyncExecutorProvider, defaultScheduledExecutorProvider); }
compositeListener = new CompositeApplicationEventListener(appEventListeners); compositeListener.onEvent(new ApplicationEventImpl(ApplicationEvent.Type.INITIALIZATION_START, this.runtimeConfig, runtimeConfig.getComponentBag().getRegistrations(), resourceBag.classes, resourceBag.instances, null)); ComponentBag componentBag = runtimeConfig.getComponentBag(); ResourceBag resourceBag = bootstrapBag.getResourceBag(); for (final Object instance : componentBag.getInstances(ComponentBag.excludeMetaProviders(injectionManager))) {