private static <T> DependentProvider<T> createDependentProvider(BeanManager beanManager, Class<T> type, Bean<T> bean) { CreationalContext<T> cc = beanManager.createCreationalContext(bean); @SuppressWarnings("unchecked") T instance = (T) beanManager.getReference(bean, type, cc); return new DependentProvider<T>(bean, cc, instance); }
public void startContexts(Scheduled scheduled) { Collections.addAll(this.scopes, scheduled.startScopes()); if (!this.scopes.isEmpty()) { this.contextControl = BeanProvider.getDependent(ContextControl.class); for (Class<? extends Annotation> scopeAnnotation : this.scopes) { contextControl.get().startContext(scopeAnnotation); } } }
@Override public T create(Bean<T> bean, CreationalContext<T> creationalContext) { invocationHandlerProvider = BeanProvider.getDependent(beanManager, MessageBundleInvocationHandler.class); return createMessageBundleProxy((Class<T>) bean.getBeanClass(), invocationHandlerProvider.get()); }
private void validateDeployment(@Observes AfterDeploymentValidation adv, BeanManager beanManager) { DependentProvider<DeploymentValidator> validatorProvider = BeanProvider.getDependent(beanManager, DeploymentValidator.class); DeploymentValidator validator = validatorProvider.get(); validator.validate(beanInfoSet, adv::addDeploymentProblem); validatorProvider.destroy(); beanInfoSet = null; }
public QueryInOutMapper<?> getQueryInOutMapperInstance(EntityViewCdiQueryInvocationContext context) { if (!hasQueryInOutMapper()) { return null; } QueryInOutMapper<?> result = null; lazyInit(); if (!queryInOutMapperIsNormalScope) { final DependentProvider<? extends QueryInOutMapper<?>> mappedProvider = BeanProvider.getDependent(mapper); result = mappedProvider.get(); context.addDestroyable(new DependentProviderDestroyable(mappedProvider)); } else { result = BeanProvider.getContextualReference(mapper); } return result; }
@Override public void destroy() { dependent.destroy(); }
private static <T> DependentProvider<T> createDependentProvider(BeanManager beanManager, Class<T> type, Bean<T> bean) { CreationalContext<T> cc = beanManager.createCreationalContext(bean); @SuppressWarnings("unchecked") T instance = (T) beanManager.getReference(bean, type, cc); return new DependentProvider<T>(bean, cc, instance); }
private void validateDeployment(@Observes AfterDeploymentValidation adv, BeanManager beanManager) { DependentProvider<DeploymentValidator> validatorProvider = BeanProvider.getDependent(beanManager, DeploymentValidator.class); DeploymentValidator validator = validatorProvider.get(); validator.validate(beanInfoSet, adv::addDeploymentProblem); validatorProvider.destroy(); beanInfoSet = null; }
public QueryInOutMapper<?> getQueryInOutMapperInstance(EntityViewCdiQueryInvocationContext context) { if (!hasQueryInOutMapper()) { return null; } QueryInOutMapper<?> result = null; lazyInit(); if (!queryInOutMapperIsNormalScope) { final DependentProvider<? extends QueryInOutMapper<?>> mappedProvider = BeanProvider.getDependent(mapper); result = mappedProvider.get(); context.addDestroyable(new DependentProviderDestroyable(mappedProvider)); } else { result = BeanProvider.getContextualReference(mapper); } return result; }
private static <T> DependentProvider<T> createDependentProvider(BeanManager beanManager, Class<T> type, Bean<T> bean) { CreationalContext<T> cc = beanManager.createCreationalContext(bean); T instance = (T) beanManager.getReference(bean, type, cc); return new DependentProvider<T>(bean, cc, instance); }
protected UserTransaction resolveUserTransaction() { //manual lookup needed because injecting UserTransactionResolver can fail (see the comment there) try { DependentProvider<UserTransactionResolver> provider = BeanProvider.getDependent(this.beanManager, UserTransactionResolver.class); UserTransaction userTransaction = provider.get().resolveUserTransaction(); provider.destroy(); return userTransaction; } catch (Exception e) { return null; } }
public QueryInOutMapper<?> getQueryInOutMapperInstance(EntityViewCdiQueryInvocationContext context) { if (!hasQueryInOutMapper()) { return null; } QueryInOutMapper<?> result = null; lazyInit(); if (!queryInOutMapperIsNormalScope) { final DependentProvider<? extends QueryInOutMapper<?>> mappedProvider = BeanProvider.getDependent(mapper); result = mappedProvider.get(); context.addDestroyable(new DependentProviderDestroyable(mappedProvider)); } else { result = BeanProvider.getContextualReference(mapper); } return result; }
@Override public void destroy(Bean<T> bean, T instance, CreationalContext<T> creationalContext) { if (invocationHandlerProvider != null) { invocationHandlerProvider.destroy(); } }
public QueryInOutMapper<?> getQueryInOutMapper() { if (repositoryMethodMetadata.getQueryInOutMapperClass() == null) { return null; } QueryInOutMapper<?> result = null; if (repositoryMethodMetadata.isQueryInOutMapperIsNormalScope()) { result = BeanProvider.getContextualReference(repositoryMethodMetadata.getQueryInOutMapperClass()); } else { DependentProvider<? extends QueryInOutMapper<?>> mappedProvider = BeanProvider.getDependent(repositoryMethodMetadata.getQueryInOutMapperClass()); result = mappedProvider.get(); this.addDestroyable(new DependentProviderDestroyable(mappedProvider)); } return result; }
private void checkDependentProvider(DependentProvider<DependentTestBean> dependentTestBeanProvider) { Assert.assertNotNull(dependentTestBeanProvider); DependentTestBean instance = dependentTestBeanProvider.get(); Assert.assertNotNull(instance); Assert.assertEquals(42, instance.getI()); instance.setI(21); Assert.assertEquals(21, instance.getI()); Assert.assertFalse(instance.isDestroyed()); dependentTestBeanProvider.destroy(); Assert.assertTrue(instance.isDestroyed()); }