private void resourcesFromContainer() { ServerCdiExtension extension = cdiContainer.getBeanManager().getExtension(ServerCdiExtension.class); if (null == extension) { throw new RuntimeException("Failed to find JAX-RS resource to use, extension not registered with container"); } List<Class<? extends Application>> applications = extension.getApplications(); if (applications.isEmpty()) { List<Class<?>> resourceClasses = extension.getResourceClasses(); if (resourceClasses.isEmpty()) { LOGGER.warning("Failed to find JAX-RS resource to use"); } resourceConfig = configForResourceClasses(resourceClasses); } else { applications.forEach(this::addApplication); } }
/** * Provide a value for given injection point. If the injection point does not refer * to a CDI bean constructor parameter, or the value could not be found, the method will return null. * * @param injectionPoint actual injection point. * @param beanManager current application bean manager. * @return concrete JAX-RS parameter value for given injection point. */ @javax.enterprise.inject.Produces @JaxRsParamQualifier public String getParameterValue(final InjectionPoint injectionPoint, final BeanManager beanManager) { final Parameter parameter = parameterCache.apply(injectionPoint); if (parameter != null) { InjectionManager injectionManager = beanManager.getExtension(CdiComponentProvider.class).getEffectiveInjectionManager(); Set<ValueParamProvider> providers = Providers.getProviders(injectionManager, ValueParamProvider.class); ContainerRequest containerRequest = injectionManager.getInstance(ContainerRequest.class); for (ValueParamProvider vfp : providers) { Function<ContainerRequest, ?> paramValueSupplier = vfp.getValueProvider(parameter); if (paramValueSupplier != null) { return (String) paramValueSupplier.apply(containerRequest); } } } return null; } }
@Override public void initialize(final InjectionManager injectionManager) { this.injectionManager = injectionManager; this.beanManager = CdiUtil.getBeanManager(); if (beanManager != null) { // Try to get CdiComponentProvider created by CDI. final CdiComponentProvider extension = beanManager.getExtension(CdiComponentProvider.class); if (extension != null) { extension.addInjectionManager(this.injectionManager); this.fieldsToSkip = extension.getFieldsToSkip(); this.methodsToSkip = extension.getMethodsToSkip(); bindHk2ClassAnalyzer(); LOGGER.config(LocalizationMessages.CDI_PROVIDER_INITIALIZED()); } } }
@Inject public DefaultFaultToleranceOperationProvider(BeanManager beanManager) { this.extension = beanManager.getExtension(HystrixExtension.class); }
@Override public <T extends Extension> T getExtension(Class<T> extensionClass) { return delegate().getExtension(extensionClass); }
@Override public <T extends Extension> T getExtension(Class<T> extensionClass) { return delegate().getExtension(extensionClass); }
@Override public <T extends Extension> T getExtension(Class<T> extensionClass) { return delegate().getExtension(extensionClass); }
private DummyConfiguringExtension getDummyConfiguringExtension() { return getCurrentManager().getExtension(DummyConfiguringExtension.class); } }
@Override public <T extends Extension> T getExtension(Class<T> extensionClass) { return delegate().getExtension(extensionClass); }
@Override public <T extends Extension> T getExtension(Class<T> extensionClass) { return delegate().getExtension(extensionClass); }
@Override public <T extends Extension> T getExtension(Class<T> extensionClass) { return delegate().getExtension(extensionClass); }
@Test @SpecAssertion(section = AFTER_BEAN_DISCOVERY, id = "ea") public void testProcessObserverMethodFiredWhileAddingObserverMethod() { assertEquals(getCurrentManager().getExtension(AfterBeanDiscoveryObserver.class).getTalkPOMObservedCount().get(), 1); assertEquals(getCurrentManager().getExtension(AfterBeanDiscoveryObserver.class).getTalkPSOMObservedCount().get(), 1); }
@Test @SpecAssertions({ @SpecAssertion(section = AFTER_BEAN_DISCOVERY, id = "da"), @SpecAssertion(section = PROCESS_BEAN, id = "eca") }) public void testProcessBeanIsFired() { assertEquals(getCurrentManager().getExtension(AfterBeanDiscoveryObserver.class).getCockatooPBObservedCount().get(), 1); assertEquals(getCurrentManager().getExtension(AfterBeanDiscoveryObserver.class).getCockatooPSBObservedCount().get(), 1); }
@Produces // TODO: should be declared @ApplicationScoped when WELD-2083 is fixed private MetricName metricName(BeanManager manager) { try { // Cannot be inlined as OWB throws a NPE when manager.getELResolver() gets called ExpressionFactory factory = ExpressionFactory.newInstance(); return new ElMetricName(manager.getELResolver(), manager.wrapExpressionFactory(factory), manager.getExtension(MetricsExtension.class)); } catch (ELException cause) { // Falls back to SE return new SeMetricName(manager.getExtension(MetricsExtension.class)); } } }
@Test @SpecAssertion(section = PROCESS_ANNOTATED_TYPE, id = "bba") public void configuratorInitializedWithOriginalAT() { AnnotatedType<Cat> catAT = getCurrentManager().getExtension(ProcessAnnotatedTypeObserver.class).getOriginalCatAT(); assertTrue(catAT.isAnnotationPresent(RequestScoped.class)); AnnotatedConstructor<Cat> annotatedConstructor = catAT.getConstructors().stream() .filter(ac -> ac.getParameters().size() == 1 && ac.getParameters().get(0).getBaseType().equals(Feed.class)).findFirst().get(); assertTrue(annotatedConstructor.getParameters().iterator().next().isAnnotationPresent(Cats.class)); assertTrue(annotatedConstructor.isAnnotationPresent(Inject.class)); }
/** * Registers all the route handlers discovered. * * @param router * @throws IllegalStateException If the container is not initialized or already shut down */ public void registerRoutes(Router router) { container().getBeanManager().getExtension(RouteExtension.class).registerRoutes(router); }
/** * Registers all the route handlers discovered. * * @param router * @throws IllegalStateException If the container is not initialized or already shut down */ public void registerRoutes(Router router) { container().getBeanManager().getExtension(RouteExtension.class).registerRoutes(router); }
@Test @SpecAssertion(section = PROCESS_OBSERVER_METHOD, id = "dab") public void configuratorInitializedWithOriginalObserverMethod() { ObserverMethod<? super Kiwi> configuredOne = getCurrentManager().resolveObserverMethods(new Kiwi(), Ripe.RipeLiteral.INSTANCE).iterator().next(); ObserverMethod<Kiwi> originalOne = getCurrentManager().getExtension(ProcessObserverMethodObserver.class).getOriginalOM(); assertEquals(configuredOne.getObservedType(), originalOne.getObservedType()); assertEquals(configuredOne.getObservedQualifiers(), originalOne.getObservedQualifiers()); assertEquals(configuredOne.getPriority(), originalOne.getPriority()); }
@Test @SpecAssertions({ @SpecAssertion(section = PROCESS_INJECTION_POINT, id = "bba") }) public void configuratorInitializedWithOriginalInjectionPoint() { InjectionPoint configuredOne = getUniqueBean(Helicopter.class).getInjectionPoints().iterator().next(); InjectionPoint originalOne = getCurrentManager().getExtension(ProcessInjectionPointObserver.class).getEngineIP(); assertEquals(configuredOne.getType(), originalOne.getType()); assertEquals(configuredOne.getQualifiers(), originalOne.getQualifiers()); assertEquals(configuredOne.getAnnotated(), originalOne.getAnnotated()); assertEquals(configuredOne.getBean(), originalOne.getBean()); } }
@Test @SpecAssertion(section = PROCESS_BEAN_ATTRIBUTES, id = "bca") public void configuratorInitializedWithOriginalBeanAttributes() { Bean<Mace> configuredBean = getUniqueBean(Mace.class); BeanAttributes<Mace> originalBA = getCurrentManager().getExtension(ProcessBeanAttributesObserver.class).getOriginalBA(); assertEquals(configuredBean.getTypes(), originalBA.getTypes()); assertEquals(configuredBean.getQualifiers(), originalBA.getQualifiers()); assertEquals(configuredBean.getStereotypes(), originalBA.getStereotypes()); assertEquals(configuredBean.getScope(), originalBA.getScope()); } }