Search in sources :

Example 1 with BootstrapBag

use of org.glassfish.jersey.internal.BootstrapBag in project jersey by eclipse-ee4j.

the class ApplicationHandler method initialize.

/**
 * Assumes the configuration field is initialized with a valid ResourceConfig.
 */
private ServerRuntime initialize(InjectionManager injectionManager, List<BootstrapConfigurator> bootstrapConfigurators, ServerBootstrapBag bootstrapBag) {
    this.application = bootstrapBag.getApplication();
    this.runtimeConfig = bootstrapBag.getRuntimeConfig();
    // Register the binders which are dependent on "Application.properties()"
    injectionManager.register(new MessagingBinders.MessageBodyProviders(application.getProperties(), RuntimeType.SERVER));
    // Lock original ResourceConfig.
    if (application instanceof ResourceConfig) {
        ((ResourceConfig) application).lock();
    }
    CompositeApplicationEventListener compositeListener = null;
    // mark begin of validation phase
    Errors.mark();
    try {
        // AutoDiscoverable.
        if (!CommonProperties.getValue(runtimeConfig.getProperties(), RuntimeType.SERVER, CommonProperties.FEATURE_AUTO_DISCOVERY_DISABLE, Boolean.FALSE, Boolean.class)) {
            runtimeConfig.configureAutoDiscoverableProviders(injectionManager, bootstrapBag.getAutoDiscoverables());
        } else {
            runtimeConfig.configureForcedAutoDiscoverableProviders(injectionManager);
        }
        // Configure binders and features.
        runtimeConfig.configureMetaProviders(injectionManager, bootstrapBag.getManagedObjectsFinalizer());
        ResourceBagConfigurator resourceBagConfigurator = new ResourceBagConfigurator();
        resourceBagConfigurator.init(injectionManager, bootstrapBag);
        runtimeConfig.lock();
        ExternalRequestScopeConfigurator externalRequestScopeConfigurator = new ExternalRequestScopeConfigurator();
        externalRequestScopeConfigurator.init(injectionManager, bootstrapBag);
        ModelProcessorConfigurator modelProcessorConfigurator = new ModelProcessorConfigurator();
        modelProcessorConfigurator.init(injectionManager, bootstrapBag);
        ResourceModelConfigurator resourceModelConfigurator = new ResourceModelConfigurator();
        resourceModelConfigurator.init(injectionManager, bootstrapBag);
        ServerExecutorProvidersConfigurator executorProvidersConfigurator = new ServerExecutorProvidersConfigurator();
        executorProvidersConfigurator.init(injectionManager, bootstrapBag);
        injectionManager.completeRegistration();
        bootstrapConfigurators.forEach(configurator -> configurator.postInit(injectionManager, bootstrapBag));
        resourceModelConfigurator.postInit(injectionManager, bootstrapBag);
        Iterable<ApplicationEventListener> appEventListeners = Providers.getAllProviders(injectionManager, ApplicationEventListener.class, new RankedComparator<>());
        if (appEventListeners.iterator().hasNext()) {
            ResourceBag resourceBag = bootstrapBag.getResourceBag();
            compositeListener = new CompositeApplicationEventListener(appEventListeners);
            compositeListener.onEvent(new ApplicationEventImpl(ApplicationEvent.Type.INITIALIZATION_START, this.runtimeConfig, runtimeConfig.getComponentBag().getRegistrations(), resourceBag.classes, resourceBag.instances, null));
        }
        if (!disableValidation()) {
            ComponentModelValidator validator = new ComponentModelValidator(bootstrapBag.getValueParamProviders(), bootstrapBag.getMessageBodyWorkers());
            validator.validate(bootstrapBag.getResourceModel());
        }
        if (Errors.fatalIssuesFound() && !ignoreValidationError()) {
            throw new ModelValidationException(LocalizationMessages.RESOURCE_MODEL_VALIDATION_FAILED_AT_INIT(), ModelErrors.getErrorsAsResourceModelIssues(true));
        }
    } finally {
        if (ignoreValidationError()) {
            Errors.logErrors(true);
            // reset errors to the state before validation phase
            Errors.reset();
        } else {
            Errors.unmark();
        }
    }
    this.msgBodyWorkers = bootstrapBag.getMessageBodyWorkers();
    // assembly request processing chain
    ProcessingProviders processingProviders = bootstrapBag.getProcessingProviders();
    final ContainerFilteringStage preMatchRequestFilteringStage = new ContainerFilteringStage(processingProviders.getPreMatchFilters(), processingProviders.getGlobalResponseFilters());
    final ChainableStage<RequestProcessingContext> routingStage = Routing.forModel(bootstrapBag.getResourceModel().getRuntimeResourceModel()).resourceContext(bootstrapBag.getResourceContext()).configuration(runtimeConfig).entityProviders(msgBodyWorkers).valueSupplierProviders(bootstrapBag.getValueParamProviders()).modelProcessors(Providers.getAllRankedSortedProviders(injectionManager, ModelProcessor.class)).createService(serviceType -> Injections.getOrCreate(injectionManager, serviceType)).processingProviders(processingProviders).resourceMethodInvokerBuilder(bootstrapBag.getResourceMethodInvokerBuilder()).buildStage();
    /*
         *  Root linear request acceptor. This is the main entry point for the whole request processing.
         */
    final ContainerFilteringStage resourceFilteringStage = new ContainerFilteringStage(processingProviders.getGlobalRequestFilters(), null);
    final ReferencesInitializer referencesInitializer = new ReferencesInitializer(injectionManager, () -> injectionManager.getInstance(RequestProcessingContextReference.class));
    final Stage<RequestProcessingContext> rootStage = Stages.chain(referencesInitializer).to(preMatchRequestFilteringStage).to(routingStage).to(resourceFilteringStage).build(Routing.matchedEndpointExtractor());
    ServerRuntime serverRuntime = ServerRuntime.createServerRuntime(injectionManager, bootstrapBag, rootStage, compositeListener, processingProviders);
    // Inject instances.
    ComponentBag componentBag = runtimeConfig.getComponentBag();
    ResourceBag resourceBag = bootstrapBag.getResourceBag();
    for (final Object instance : componentBag.getInstances(ComponentBag.excludeMetaProviders(injectionManager))) {
        injectionManager.inject(instance);
    }
    for (final Object instance : resourceBag.instances) {
        injectionManager.inject(instance);
    }
    logApplicationInitConfiguration(injectionManager, resourceBag, processingProviders);
    if (compositeListener != null) {
        ApplicationEvent initFinishedEvent = new ApplicationEventImpl(ApplicationEvent.Type.INITIALIZATION_APP_FINISHED, runtimeConfig, componentBag.getRegistrations(), resourceBag.classes, resourceBag.instances, bootstrapBag.getResourceModel());
        compositeListener.onEvent(initFinishedEvent);
        MonitoringContainerListener containerListener = injectionManager.getInstance(MonitoringContainerListener.class);
        containerListener.init(compositeListener, initFinishedEvent);
    }
    return serverRuntime;
}
Also used : Arrays(java.util.Arrays) ContextResolverFactory(org.glassfish.jersey.internal.ContextResolverFactory) Bindings(org.glassfish.jersey.internal.inject.Bindings) ParamConverterConfigurator(org.glassfish.jersey.internal.inject.ParamConverterConfigurator) RequestProcessingContextReference(org.glassfish.jersey.server.internal.process.RequestProcessingContextReference) ComponentBag(org.glassfish.jersey.model.internal.ComponentBag) RankedComparator(org.glassfish.jersey.model.internal.RankedComparator) SecurityContext(javax.ws.rs.core.SecurityContext) Errors(org.glassfish.jersey.internal.Errors) MessageBodyWriter(javax.ws.rs.ext.MessageBodyWriter) ModelProcessor(org.glassfish.jersey.server.model.ModelProcessor) Application(javax.ws.rs.core.Application) ContainerLifecycleListener(org.glassfish.jersey.server.spi.ContainerLifecycleListener) InjectionManager(org.glassfish.jersey.internal.inject.InjectionManager) RankedProvider(org.glassfish.jersey.model.internal.RankedProvider) JerseyRequestTimeoutHandler(org.glassfish.jersey.server.internal.JerseyRequestTimeoutHandler) Stages(org.glassfish.jersey.process.internal.Stages) Future(java.util.concurrent.Future) Map(java.util.Map) MessageBodyFactory(org.glassfish.jersey.message.internal.MessageBodyFactory) RequestProcessingContext(org.glassfish.jersey.server.internal.process.RequestProcessingContext) ModelErrors(org.glassfish.jersey.server.model.internal.ModelErrors) ApplicationEvent(org.glassfish.jersey.server.monitoring.ApplicationEvent) ContainerResponseWriter(org.glassfish.jersey.server.spi.ContainerResponseWriter) InstanceBinding(org.glassfish.jersey.internal.inject.InstanceBinding) LocalizationMessages(org.glassfish.jersey.server.internal.LocalizationMessages) ResourceMethodInvokerConfigurator(org.glassfish.jersey.server.model.internal.ResourceMethodInvokerConfigurator) RuntimeType(javax.ws.rs.RuntimeType) Version(org.glassfish.jersey.internal.Version) MessageBodyWorkers(org.glassfish.jersey.message.MessageBodyWorkers) Container(org.glassfish.jersey.server.spi.Container) Set(java.util.Set) ExceptionMapperFactory(org.glassfish.jersey.internal.ExceptionMapperFactory) Providers(org.glassfish.jersey.internal.inject.Providers) Logger(java.util.logging.Logger) ModelValidationException(org.glassfish.jersey.server.model.ModelValidationException) Collectors(java.util.stream.Collectors) ChainableStage(org.glassfish.jersey.process.internal.ChainableStage) ParamExtractorConfigurator(org.glassfish.jersey.server.internal.inject.ParamExtractorConfigurator) List(java.util.List) Principal(java.security.Principal) HttpHeaders(javax.ws.rs.core.HttpHeaders) Annotation(java.lang.annotation.Annotation) BootstrapConfigurator(org.glassfish.jersey.internal.BootstrapConfigurator) MonitoringContainerListener(org.glassfish.jersey.server.internal.monitoring.MonitoringContainerListener) Spliterator(java.util.Spliterator) Resource(org.glassfish.jersey.server.model.Resource) RequestProcessingConfigurator(org.glassfish.jersey.server.internal.process.RequestProcessingConfigurator) CommonProperties(org.glassfish.jersey.CommonProperties) MessagingBinders(org.glassfish.jersey.message.internal.MessagingBinders) Configuration(javax.ws.rs.core.Configuration) CompletableFuture(java.util.concurrent.CompletableFuture) Binder(org.glassfish.jersey.internal.inject.Binder) Function(java.util.function.Function) HttpMethod(javax.ws.rs.HttpMethod) Level(java.util.logging.Level) ApplicationEventListener(org.glassfish.jersey.server.monitoring.ApplicationEventListener) ReferencesInitializer(org.glassfish.jersey.server.internal.process.ReferencesInitializer) AutoDiscoverableConfigurator(org.glassfish.jersey.internal.AutoDiscoverableConfigurator) ApplicationEventImpl(org.glassfish.jersey.server.internal.monitoring.ApplicationEventImpl) FeatureConfigurator(org.glassfish.jersey.internal.FeatureConfigurator) Routing(org.glassfish.jersey.server.internal.routing.Routing) DynamicFeatureConfigurator(org.glassfish.jersey.internal.DynamicFeatureConfigurator) ScheduledExecutorService(java.util.concurrent.ScheduledExecutorService) StreamSupport(java.util.stream.StreamSupport) Injections(org.glassfish.jersey.internal.inject.Injections) ManagedObjectsFinalizer(org.glassfish.jersey.model.internal.ManagedObjectsFinalizer) OutputStream(java.io.OutputStream) CompositeApplicationEventListener(org.glassfish.jersey.server.internal.monitoring.CompositeApplicationEventListener) BootstrapBag(org.glassfish.jersey.internal.BootstrapBag) Iterator(java.util.Iterator) ProcessingProviders(org.glassfish.jersey.server.internal.ProcessingProviders) RequestScope(org.glassfish.jersey.process.internal.RequestScope) TimeUnit(java.util.concurrent.TimeUnit) ComponentModelValidator(org.glassfish.jersey.server.model.ComponentModelValidator) CompositeBinder(org.glassfish.jersey.internal.inject.CompositeBinder) Stage(org.glassfish.jersey.process.internal.Stage) JaxrsProviders(org.glassfish.jersey.internal.JaxrsProviders) NullOutputStream(org.glassfish.jersey.message.internal.NullOutputStream) ValueParamProviderConfigurator(org.glassfish.jersey.server.internal.inject.ValueParamProviderConfigurator) MessageBodyReader(javax.ws.rs.ext.MessageBodyReader) ModelValidationException(org.glassfish.jersey.server.model.ModelValidationException) RequestProcessingContext(org.glassfish.jersey.server.internal.process.RequestProcessingContext) ModelProcessor(org.glassfish.jersey.server.model.ModelProcessor) ComponentModelValidator(org.glassfish.jersey.server.model.ComponentModelValidator) ApplicationEventImpl(org.glassfish.jersey.server.internal.monitoring.ApplicationEventImpl) CompositeApplicationEventListener(org.glassfish.jersey.server.internal.monitoring.CompositeApplicationEventListener) ApplicationEventListener(org.glassfish.jersey.server.monitoring.ApplicationEventListener) CompositeApplicationEventListener(org.glassfish.jersey.server.internal.monitoring.CompositeApplicationEventListener) ComponentBag(org.glassfish.jersey.model.internal.ComponentBag) MessagingBinders(org.glassfish.jersey.message.internal.MessagingBinders) ReferencesInitializer(org.glassfish.jersey.server.internal.process.ReferencesInitializer) MonitoringContainerListener(org.glassfish.jersey.server.internal.monitoring.MonitoringContainerListener) ApplicationEvent(org.glassfish.jersey.server.monitoring.ApplicationEvent) RequestProcessingContextReference(org.glassfish.jersey.server.internal.process.RequestProcessingContextReference) ProcessingProviders(org.glassfish.jersey.server.internal.ProcessingProviders)

Example 2 with BootstrapBag

use of org.glassfish.jersey.internal.BootstrapBag in project jersey by eclipse-ee4j.

the class JerseyResourceContextConfigurator method init.

@Override
public void init(InjectionManager injectionManager, BootstrapBag bootstrapBag) {
    ServerBootstrapBag serverBag = (ServerBootstrapBag) bootstrapBag;
    Consumer<Binding> registerBinding = injectionManager::register;
    Function<Class<?>, ?> getOrCreateInstance = clazz -> Injections.getOrCreate(injectionManager, clazz);
    Consumer<Object> injectInstance = injectionManager::inject;
    // Initialize and register Resource Context
    JerseyResourceContext resourceContext = new JerseyResourceContext(getOrCreateInstance, injectInstance, registerBinding);
    InstanceBinding<JerseyResourceContext> resourceContextBinding = Bindings.service(resourceContext).to(ResourceContext.class).to(ExtendedResourceContext.class);
    injectionManager.register(resourceContextBinding);
    serverBag.setResourceContext(resourceContext);
}
Also used : Binding(org.glassfish.jersey.internal.inject.Binding) InstanceBinding(org.glassfish.jersey.internal.inject.InstanceBinding) Consumer(java.util.function.Consumer) Bindings(org.glassfish.jersey.internal.inject.Bindings) BootstrapBag(org.glassfish.jersey.internal.BootstrapBag) ResourceContext(javax.ws.rs.container.ResourceContext) Binding(org.glassfish.jersey.internal.inject.Binding) BootstrapConfigurator(org.glassfish.jersey.internal.BootstrapConfigurator) Injections(org.glassfish.jersey.internal.inject.Injections) JerseyResourceContext(org.glassfish.jersey.server.internal.JerseyResourceContext) Function(java.util.function.Function) InjectionManager(org.glassfish.jersey.internal.inject.InjectionManager) InstanceBinding(org.glassfish.jersey.internal.inject.InstanceBinding) JerseyResourceContext(org.glassfish.jersey.server.internal.JerseyResourceContext) ResourceContext(javax.ws.rs.container.ResourceContext) JerseyResourceContext(org.glassfish.jersey.server.internal.JerseyResourceContext)

Example 3 with BootstrapBag

use of org.glassfish.jersey.internal.BootstrapBag in project jersey by eclipse-ee4j.

the class ContextResolverFactoryTest method setUp.

@Before
public void setUp() {
    InjectionManager injectionManager = Injections.createInjectionManager();
    ProviderBinder providerBinder = new ProviderBinder(injectionManager);
    providerBinder.bindClasses(Collections.singleton(CustomIntegerResolverC.class));
    injectionManager.register(new Binder());
    BootstrapBag bootstrapBag = new BootstrapBag();
    ContextResolverFactory.ContextResolversConfigurator configurator = new ContextResolverFactory.ContextResolversConfigurator();
    configurator.init(injectionManager, bootstrapBag);
    injectionManager.completeRegistration();
    configurator.postInit(injectionManager, bootstrapBag);
    crf = injectionManager.getInstance(ContextResolverFactory.class);
}
Also used : ProviderBinder(org.glassfish.jersey.internal.inject.ProviderBinder) AbstractBinder(org.glassfish.jersey.internal.inject.AbstractBinder) ProviderBinder(org.glassfish.jersey.internal.inject.ProviderBinder) ContextResolverFactory(org.glassfish.jersey.internal.ContextResolverFactory) BootstrapBag(org.glassfish.jersey.internal.BootstrapBag) InjectionManager(org.glassfish.jersey.internal.inject.InjectionManager) Before(org.junit.Before)

Example 4 with BootstrapBag

use of org.glassfish.jersey.internal.BootstrapBag in project jersey by eclipse-ee4j.

the class ResourceModelConfigurator method bindProvidersAndResources.

private void bindProvidersAndResources(InjectionManager injectionManager, ServerBootstrapBag bootstrapBag, ComponentBag componentBag, Collection<Class<?>> resourceClasses, Collection<Object> resourceInstances, ResourceConfig runtimeConfig) {
    Collection<ComponentProvider> componentProviders = bootstrapBag.getComponentProviders().get();
    JerseyResourceContext resourceContext = bootstrapBag.getResourceContext();
    Set<Class<?>> registeredClasses = runtimeConfig.getRegisteredClasses();
    /*
         * Check the {@code component} whether it is correctly configured for client or server {@link RuntimeType runtime}.
         */
    java.util.function.Predicate<Class<?>> correctlyConfigured = componentClass -> Providers.checkProviderRuntime(componentClass, componentBag.getModel(componentClass), RuntimeType.SERVER, !registeredClasses.contains(componentClass), resourceClasses.contains(componentClass));
    /*
         * Check the {@code resource class} whether it is correctly configured for client or server {@link RuntimeType runtime}.
         */
    BiPredicate<Class<?>, ContractProvider> correctlyConfiguredResource = (resourceClass, model) -> Providers.checkProviderRuntime(resourceClass, model, RuntimeType.SERVER, !registeredClasses.contains(resourceClass), true);
    Set<Class<?>> componentClasses = componentBag.getClasses(ComponentBag.excludeMetaProviders(injectionManager)).stream().filter(correctlyConfigured).collect(Collectors.toSet());
    // Merge programmatic resource classes with component classes.
    Set<Class<?>> classes = Collections.newSetFromMap(new IdentityHashMap<>());
    classes.addAll(componentClasses);
    classes.addAll(resourceClasses);
    // Bind classes.
    for (final Class<?> componentClass : classes) {
        ContractProvider model = componentBag.getModel(componentClass);
        if (bindWithComponentProvider(componentClass, model, componentProviders)) {
            continue;
        }
        if (resourceClasses.contains(componentClass)) {
            if (!Resource.isAcceptable(componentClass)) {
                LOGGER.warning(LocalizationMessages.NON_INSTANTIABLE_COMPONENT(componentClass));
                continue;
            }
            if (model != null && !correctlyConfiguredResource.test(componentClass, model)) {
                model = null;
            }
            resourceContext.unsafeBindResource(componentClass, model);
        } else {
            ProviderBinder.bindProvider(componentClass, model, injectionManager);
        }
    }
    // Merge programmatic resource instances with other component instances.
    Set<Object> instances = componentBag.getInstances(ComponentBag.excludeMetaProviders(injectionManager)).stream().filter(instance -> correctlyConfigured.test(instance.getClass())).collect(Collectors.toSet());
    instances.addAll(resourceInstances);
    // Bind instances.
    for (Object component : instances) {
        ContractProvider model = componentBag.getModel(component.getClass());
        if (resourceInstances.contains(component)) {
            if (model != null && !correctlyConfiguredResource.test(component.getClass(), model)) {
                model = null;
            }
            resourceContext.unsafeBindResource(component, model);
        } else {
            ProviderBinder.bindProvider(component, model, injectionManager);
        }
    }
}
Also used : JerseyResourceContext(org.glassfish.jersey.server.internal.JerseyResourceContext) LocalizationMessages(org.glassfish.jersey.server.internal.LocalizationMessages) IdentityHashMap(java.util.IdentityHashMap) BootstrapBag(org.glassfish.jersey.internal.BootstrapBag) RuntimeType(javax.ws.rs.RuntimeType) Collection(java.util.Collection) ComponentBag(org.glassfish.jersey.model.internal.ComponentBag) Set(java.util.Set) ContractProvider(org.glassfish.jersey.model.ContractProvider) ResourceModel(org.glassfish.jersey.server.model.ResourceModel) ModelProcessor(org.glassfish.jersey.server.model.ModelProcessor) ComponentProvider(org.glassfish.jersey.server.spi.ComponentProvider) Providers(org.glassfish.jersey.internal.inject.Providers) JerseyResourceContext(org.glassfish.jersey.server.internal.JerseyResourceContext) Logger(java.util.logging.Logger) Collectors(java.util.stream.Collectors) InjectionManager(org.glassfish.jersey.internal.inject.InjectionManager) HashSet(java.util.HashSet) BiPredicate(java.util.function.BiPredicate) ProviderBinder(org.glassfish.jersey.internal.inject.ProviderBinder) BootstrapConfigurator(org.glassfish.jersey.internal.BootstrapConfigurator) Collections(java.util.Collections) Resource(org.glassfish.jersey.server.model.Resource) ContractProvider(org.glassfish.jersey.model.ContractProvider) ComponentProvider(org.glassfish.jersey.server.spi.ComponentProvider)

Example 5 with BootstrapBag

use of org.glassfish.jersey.internal.BootstrapBag in project jersey by eclipse-ee4j.

the class JaxrsProvidersTest method testProviders.

@Test
public void testProviders() throws Exception {
    InjectionManager injectionManager = Injections.createInjectionManager();
    injectionManager.register(new MessagingBinders.MessageBodyProviders(null, RuntimeType.SERVER));
    injectionManager.register(new Binder());
    BootstrapBag bootstrapBag = new BootstrapBag();
    List<BootstrapConfigurator> bootstrapConfigurators = Arrays.asList(new RequestScope.RequestScopeConfigurator(), new TestConfigConfigurator(), new ContextResolverFactory.ContextResolversConfigurator(), new MessageBodyFactory.MessageBodyWorkersConfigurator(), new ExceptionMapperFactory.ExceptionMappersConfigurator(), new JaxrsProviders.ProvidersConfigurator());
    injectionManager.register(new TestBinder());
    TestBinder.initProviders(injectionManager);
    bootstrapConfigurators.forEach(configurator -> configurator.init(injectionManager, bootstrapBag));
    injectionManager.completeRegistration();
    bootstrapConfigurators.forEach(configurator -> configurator.postInit(injectionManager, bootstrapBag));
    RequestScope scope = bootstrapBag.getRequestScope();
    scope.runInScope((Callable<Object>) () -> {
        Providers instance = injectionManager.getInstance(Providers.class);
        assertNotNull(instance);
        assertSame(JaxrsProviders.class, instance.getClass());
        assertNotNull(instance.getExceptionMapper(Throwable.class));
        assertNotNull(instance.getMessageBodyReader(String.class, String.class, new Annotation[0], MediaType.TEXT_PLAIN_TYPE));
        assertNotNull(instance.getMessageBodyWriter(String.class, String.class, new Annotation[0], MediaType.TEXT_PLAIN_TYPE));
        assertNotNull(instance.getContextResolver(String.class, MediaType.TEXT_PLAIN_TYPE));
        return null;
    });
}
Also used : BootstrapConfigurator(org.glassfish.jersey.internal.BootstrapConfigurator) MessagingBinders(org.glassfish.jersey.message.internal.MessagingBinders) BootstrapBag(org.glassfish.jersey.internal.BootstrapBag) JaxrsProviders(org.glassfish.jersey.internal.JaxrsProviders) Providers(javax.ws.rs.ext.Providers) JaxrsProviders(org.glassfish.jersey.internal.JaxrsProviders) RequestScope(org.glassfish.jersey.process.internal.RequestScope) MessageBodyFactory(org.glassfish.jersey.message.internal.MessageBodyFactory) AbstractBinder(org.glassfish.jersey.internal.inject.AbstractBinder) ContextResolverFactory(org.glassfish.jersey.internal.ContextResolverFactory) ExceptionMapperFactory(org.glassfish.jersey.internal.ExceptionMapperFactory) InjectionManager(org.glassfish.jersey.internal.inject.InjectionManager) Test(org.junit.Test)

Aggregations

BootstrapBag (org.glassfish.jersey.internal.BootstrapBag)5 InjectionManager (org.glassfish.jersey.internal.inject.InjectionManager)5 BootstrapConfigurator (org.glassfish.jersey.internal.BootstrapConfigurator)4 ContextResolverFactory (org.glassfish.jersey.internal.ContextResolverFactory)3 Set (java.util.Set)2 Function (java.util.function.Function)2 Logger (java.util.logging.Logger)2 Collectors (java.util.stream.Collectors)2 RuntimeType (javax.ws.rs.RuntimeType)2 ExceptionMapperFactory (org.glassfish.jersey.internal.ExceptionMapperFactory)2 Bindings (org.glassfish.jersey.internal.inject.Bindings)2 Injections (org.glassfish.jersey.internal.inject.Injections)2 InstanceBinding (org.glassfish.jersey.internal.inject.InstanceBinding)2 OutputStream (java.io.OutputStream)1 Annotation (java.lang.annotation.Annotation)1 Principal (java.security.Principal)1 Arrays (java.util.Arrays)1 Collection (java.util.Collection)1 Collections (java.util.Collections)1 HashSet (java.util.HashSet)1