@SuppressWarnings({ "unchecked", "rawtypes" }) private static void doReinjectBeanInstance(BeanManagerImpl beanManager, AbstractClassBean bean, Context context) { Object instance = context.get(bean); if (instance != null) { doCallInject(beanManager, bean, instance); } }
@SuppressWarnings({ "unchecked", "rawtypes" }) private static void doReinjectBeanInstance(BeanManagerImpl beanManager, InjectionTargetBean bean, Context context) { Object instance = context.get(bean); if (instance != null) { bean.getProducer().inject(instance, beanManager.createCreationalContext(bean)); LOGGER.info("Bean '{}' injection points was reinjected.", bean.getBeanClass().getName()); } }
/** * Will re-inject any managed beans in the target. Will not call any other life-cycle methods * * @param ctx * @param managedBean */ public static void reinitialize(Context ctx, Contextual<Object> contextual) { try { ManagedBean<Object> managedBean = ManagedBean.class.cast(contextual); LOGGER.debug("Re-Initializing........ {},: {}", managedBean, ctx); Object get = ctx.get(managedBean); if (get != null) { LOGGER.debug("Bean injection points are reinitialized '{}'", managedBean); managedBean.getProducer().inject(get, managedBean.getBeanManager().createCreationalContext(managedBean)); } } catch (Exception e) { LOGGER.error("Error reinitializing bean {},: {}", e, contextual, ctx); } } }
/** * Will re-inject any managed beans in the target. Will not call any other life-cycle methods * * @param ctx * @param managedBean */ @SuppressWarnings("unchecked") static void reinitialize(Context ctx, Contextual<Object> contextual) { try { ManagedBean<Object> managedBean = ManagedBean.class.cast(contextual); LOGGER.debug("Re-Initializing bean '{}' in context '{}'", managedBean, ctx); Object get = ctx.get(managedBean); if (get != null) { LOGGER.debug("Bean injection points are reinitialized '{}'", managedBean); CreationalContextImpl<Object> creationalContext = managedBean.getWebBeansContext().getCreationalContextFactory().getCreationalContext(managedBean); managedBean.getProducer().inject(get, creationalContext); } } catch (Exception e) { LOGGER.error("Error reinitializing bean '{}' in context '{}'", e, contextual, ctx); } } }
@Override public <T> T get(Contextual<T> contextual) { contextual = store.getSerializableContextual(contextual); return context.get(contextual); }
@Override public <T> T get(Contextual<T> contextual, CreationalContext<T> creationalContext) { contextual = store.getSerializableContextual(contextual); return context.get(contextual, creationalContext); }
@Override public <T> T get(Contextual<T> contextual, CreationalContext<T> creationalContext) { contextual = store.getSerializableContextual(contextual); return context.get(contextual, creationalContext); }
@Override public <T> T get(Contextual<T> contextual, CreationalContext<T> creationalContext) { contextual = store.getSerializableContextual(contextual); return context.get(contextual, creationalContext); }
@Override public <T> T get(Contextual<T> contextual) { return context.get(sbv.getSerializableBean(contextual)); }
@Override public <T> T get(Contextual<T> contextual) { contextual = store.getSerializableContextual(contextual); return context.get(contextual); }
public static CDIExtension getCdiExtensionInstance(BeanManager beanManager) { Bean<?> bean = getBean(beanManager, CDIExtension.class); if (bean == null) { return null; } return ( CDIExtension ) beanManager.getContext( ApplicationScoped.class ).get( bean ); }
@Override T get(Bean<T> bean, BeanManagerImpl manager, CreationalContext<?> ctx) { Context context = manager.getContext(bean.getScope()); T instance = context.get(bean); if (instance == null) { if (ctx == null) { ctx = manager.createCreationalContext(bean); } instance = context.get(bean, Reflections.<CreationalContext<T>> cast(ctx)); } return instance; }
@Override T get(Bean<T> bean, BeanManagerImpl manager, CreationalContext<?> ctx) { Context context = manager.getContext(bean.getScope()); T instance = context.get(bean); if (instance == null) { if (ctx == null) { ctx = manager.createCreationalContext(bean); } instance = context.get(bean, Reflections.<CreationalContext<T>> cast(ctx)); } return instance; }
@Override T get(Bean<T> bean, BeanManagerImpl manager, CreationalContext<?> ctx) { Context context = manager.getContext(bean.getScope()); T instance = context.get(bean); if (instance == null) { if (ctx == null) { ctx = manager.createCreationalContext(bean); } instance = context.get(bean, Reflections.<CreationalContext<T>> cast(ctx)); } return instance; }
@Override T get(Bean<T> bean, BeanManagerImpl manager, CreationalContext<?> ctx) { Context context = manager.getContext(bean.getScope()); T instance = context.get(bean); if (instance == null) { if (ctx == null) { ctx = manager.createCreationalContext(bean); } instance = context.get(bean, Reflections.<CreationalContext<T>> cast(ctx)); } return instance; }
@Override T get(Bean<T> bean, BeanManagerImpl manager, CreationalContext<?> ctx) { Context context = manager.getContext(bean.getScope()); T instance = context.get(bean); if (instance == null) { if (ctx == null) { ctx = manager.createCreationalContext(bean); } instance = context.get(bean, Reflections.<CreationalContext<T>> cast(ctx)); } return instance; }
@SuppressWarnings("unchecked") private void addInterceptorInstance(Interceptor<Object> interceptor, InvocationContext invocationContext) { CreationalContext<Object> creationalContext = (CreationalContext<Object>) invocationContext.getContextData().get(SessionBeanInterceptor.CREATIONAL_CONTEXT); Object instance = beanManager.getContext(interceptor.getScope()).get(interceptor, creationalContext); SerializableContextualInstance<Interceptor<Object>,Object> serializableContextualInstance = beanManager.getServices().get(ContextualStore.class).getSerializableContextualInstance(interceptor, instance, creationalContext); interceptorInstances.put(interceptor.getBeanClass().getName(), serializableContextualInstance); }
@Test @SpecAssertions({ @SpecAssertion(section = CREATIONAL_CONTEXT, id = "d"), @SpecAssertion(section = CREATIONAL_CONTEXT, id = "g") }) public void testCreateReturnsSameBeanPushed() { final CreationalContext<ShoeFactory> creationalContext = new MockCreationalContext<ShoeFactory>(); final Contextual<ShoeFactory> bean = getBeans(ShoeFactory.class).iterator().next(); MockCreationalContext.reset(); ShoeFactory instance = getCurrentManager().getContext(Dependent.class).get(bean, creationalContext); if (MockCreationalContext.isPushCalled()) { assert instance == MockCreationalContext.getLastBeanPushed(); } }
@Test @SpecAssertion(section = CONTEXT, id = "nb") public void testGetMayNotReturnNullUnlessContextualCreateReturnsNull() { // The case of no creational context is already tested where a null is // returned. Here we just test that the contextual create can return null. MyContextual bean = AfterBeanDiscoveryObserver.getBean(); bean.setShouldReturnNullInstances(true); CreationalContext<MySessionBean> creationalContext = new MockCreationalContext<MySessionBean>(); assert getCurrentManager().getContext(SessionScoped.class).get(bean, creationalContext) == null; assert bean.isCreateCalled(); }