@Override public WeblinkMatcher createWeblinkMatcher(Map<String, ? extends Object> properties) { return BeanProvider.injectFields(new DefaultWeblinkMatcher()); } }
@Override public WeblinkKeyStrategy createWeblinkKeyStrategy(Map<String, ? extends Object> properties) { return BeanProvider.injectFields(new UuidWeblinkKeyStrategy()); }
public <T> T inject(T instance) { rc.initResource(instance); return BeanProvider.injectFields(instance); } }
@Override public WeblinkKeyStrategy createWeblinkKeyStrategy(Map<String, ? extends Object> properties) { return BeanProvider.injectFields(new DefaultWeblinkKeyStrategy()); }
public NamedDomainPermission getPermission(String namedPermission) { // This is actually a hack to keep it working within tests. // It is better to do this in the constructor, although also not ideal. // But Within tests an instance of this is made to regsiter as CDI bean with BeanManagerFake thus we don't have the StringUtil available yet. if (stringUtil == null) { BeanProvider.injectFields(this); } if (stringUtil.isEmpty(namedPermission)) { throw new IllegalArgumentException("namedPermission value can't be null or empty."); } // namedPermission : a String indicating a named permission defined by the constructor, or a wildcardString String key = namedPermission.toUpperCase(Locale.ENGLISH); NamedDomainPermission result; if (map.containsKey(key)) { result = map.get(key); } else { result = new NamedDomainPermission(createNameForPermission(namedPermission), namedPermission); } return result; }
public static void main(String[] args) { CdiContainer cdiContainer = CdiContainerLoader.getCdiContainer(); cdiContainer.boot(); ContextControl contextControl = cdiContainer.getContextControl(); contextControl.startContext(ApplicationScoped.class); ServiceLoader<Showcase> showcaseLoader = ServiceLoader.load(Showcase.class); Iterator<Showcase> showcaseIterator = showcaseLoader.iterator(); if (!showcaseIterator.hasNext()) { throw new RuntimeException("No showcases found"); } while (showcaseIterator.hasNext()) { BeanProvider.injectFields(showcaseIterator.next()).run(); } cdiContainer.shutdown(); }
@Override public HttpBasicSecurityConstraint createConstraint(Map<String, ? extends Object> properties) { String user = getString(properties, HttpBasicConstraint.USER_PROPERTY); String password = getString(properties, HttpBasicConstraint.PASSWORD_PROPERTY); return BeanProvider.injectFields(new HttpBasicSecurityConstraint(user, password)); }
@Override protected Object createTest() throws Exception { BeanManager beanManager = BeanManagerProvider.getInstance().getBeanManager(); Class<?> type = getTestClass().getJavaClass(); Set<Bean<?>> beans = beanManager.getBeans(type); Object result; if (!USE_TEST_CLASS_AS_CDI_BEAN || beans == null || beans.isEmpty()) { result = super.createTest(); BeanProvider.injectFields(result); //fallback to simple injection } else { Bean<Object> bean = (Bean<Object>) beanManager.resolve(beans); CreationalContext<Object> creationalContext = beanManager.createCreationalContext(bean); result = beanManager.getReference(bean, type, creationalContext); } return result; }
@Override public IpRangeSecurityConstraint createConstraint(Map<String, ? extends Object> properties) { String networkAddress = getString(properties, IpRangeConstraint.NETWORK_ADDRESS_PROPERTY); String netmaskAddress = getString(properties, IpRangeConstraint.NETMASK_ADDRESS_PROPERTY); return BeanProvider.injectFields(IpRangeSecurityConstraint.create(networkAddress, netmaskAddress)); }
@Override public <T> T getOrCreate(Class<T> type) { return new BeanLookup<>(beanManager, type) .setUnsatisfiedHandler(() -> getLogger().debug("'{}' is not a CDI bean. " + FALLING_BACK_TO_DEFAULT_INSTANTIATION, type.getName())) .setAmbiguousHandler(e -> getLogger().debug("Multiple CDI beans found. " + FALLING_BACK_TO_DEFAULT_INSTANTIATION, e)) .lookupOrElseGet(() -> { final T instance = delegate.getOrCreate(type); BeanProvider.injectFields(instance); return instance; }); }
BeanProvider.injectFields(this.originalTarget); //fallback to simple injection
@Override public <T> T getOrCreate(Class<T> type) { return new BeanLookup<>(beanManager, type) .setUnsatisfiedHandler(() -> getLogger().debug("'{}' is not a CDI bean. " + FALLING_BACK_TO_DEFAULT_INSTANTIATION, type.getName())) .setAmbiguousHandler(e -> getLogger().debug("Multiple CDI beans found. " + FALLING_BACK_TO_DEFAULT_INSTANTIATION, e)) .lookupOrElseGet(() -> { final T instance = delegate.getOrCreate(type); BeanProvider.injectFields(instance); return instance; }); }
context.getTrigger().getJobDataMap().put(ACTIVE_CRON_EXPRESSION_KEY, configuredValue); BeanProvider.injectFields(this);
@Override public void restoreState(FacesContext context, Object state) { Object[] wrappedState = (Object[]) state; if (this.wrapped == null) //fallback for full state-saving { Class wrappedClass = ClassUtils.tryToLoadClassForName((String)wrappedState[0]); T resolvedInstance = resolveInstanceForClass(context, wrappedClass); //TODO re-visit logic for multiple (custom) wrappers if (resolvedInstance instanceof AbstractContextualReferenceWrapper) { resolvedInstance = ((AbstractContextualReferenceWrapper<T>)resolvedInstance).getWrapped(); } this.wrapped = resolvedInstance; } if (this.wrapped == null) { this.wrapped = (T)ClassUtils.tryToInstantiateClassForName((String)wrappedState[0]); BeanProvider.injectFields(this.wrapped); } if (this.wrapped instanceof StateHolder) { ((StateHolder) this.wrapped).restoreState(context, wrappedState[1]); } }
@Override public void restoreState(FacesContext context, Object state) { Object[] wrappedState = (Object[]) state; if (this.wrapped == null) //fallback for full state-saving { Class wrappedClass = ClassUtils.tryToLoadClassForName((String)wrappedState[0]); T resolvedInstance = resolveInstanceForClass(context, wrappedClass); //TODO re-visit logic for multiple (custom) wrappers if (resolvedInstance instanceof AbstractContextualReferenceWrapper) { resolvedInstance = ((AbstractContextualReferenceWrapper<T>)resolvedInstance).getWrapped(); } this.wrapped = resolvedInstance; } if (this.wrapped == null) { this.wrapped = (T)ClassUtils.tryToInstantiateClassForName((String)wrappedState[0]); BeanProvider.injectFields(this.wrapped); } if (this.wrapped instanceof StateHolder) { ((StateHolder) this.wrapped).restoreState(context, wrappedState[1]); } }
@Test public void injectBeansInNonManagedInstance() throws Exception { ManualBean manualBean = new ManualBean(); Assert.assertNull(manualBean.getTestBean()); BeanProvider.injectFields(manualBean); Assert.assertNotNull(manualBean.getTestBean()); Assert.assertEquals(4711, manualBean.getTestBean().getI()); int newValue = 14; manualBean.getTestBean().setI(newValue); Assert.assertEquals(newValue, manualBean.getTestBean().getI()); TestBean testBean = BeanProvider.getContextualReference(TestBean.class); Assert.assertEquals(newValue, testBean.getI()); testBean.setI(4711); // reset the value if this test is executed first }