Search in sources :

Example 11 with ClassTransformer

use of org.jboss.weld.resources.ClassTransformer in project core by weld.

the class SimpleInterceptorTest method testInterceptorModel.

@Test
public void testInterceptorModel() {
    TypeStore typeStore = new TypeStore();
    InterceptorBindingModel<SecondaryInterceptionBinding> interceptorBindingModel = new InterceptorBindingModel<SecondaryInterceptionBinding>(new ClassTransformer(typeStore, new SharedObjectCache(), ReflectionCacheFactory.newInstance(typeStore), RegistrySingletonProvider.STATIC_INSTANCE).getEnhancedAnnotation(SecondaryInterceptionBinding.class));
    Set<Annotation> annotations = interceptorBindingModel.getInheritedInterceptionBindingTypes();
    assert annotations.size() != 0;
}
Also used : SharedObjectCache(org.jboss.weld.resources.SharedObjectCache) TypeStore(org.jboss.weld.metadata.TypeStore) InterceptorBindingModel(org.jboss.weld.metadata.cache.InterceptorBindingModel) ClassTransformer(org.jboss.weld.resources.ClassTransformer) Annotation(java.lang.annotation.Annotation) Test(org.junit.Test)

Example 12 with ClassTransformer

use of org.jboss.weld.resources.ClassTransformer in project HotswapAgent by HotswapProjects.

the class BeanReloadExecutor method getClassTransformer.

private static ClassTransformer getClassTransformer() {
    TypeStore store = new TypeStore();
    SharedObjectCache cache = new SharedObjectCache();
    ReflectionCache reflectionCache = ReflectionCacheFactory.newInstance(store);
    ClassTransformer classTransformer = new ClassTransformer(store, cache, reflectionCache, "STATIC_INSTANCE");
    return classTransformer;
}
Also used : ReflectionCache(org.jboss.weld.resources.ReflectionCache) SharedObjectCache(org.jboss.weld.resources.SharedObjectCache) TypeStore(org.jboss.weld.metadata.TypeStore) ClassTransformer(org.jboss.weld.resources.ClassTransformer)

Example 13 with ClassTransformer

use of org.jboss.weld.resources.ClassTransformer in project HotswapAgent by HotswapProjects.

the class BeanReloadExecutor method doDefineNewManagedBean.

@SuppressWarnings({ "rawtypes", "unchecked" })
private static void doDefineNewManagedBean(BeanManagerImpl beanManager, String bdaId, Class<?> beanClass) {
    try {
        ClassTransformer classTransformer = getClassTransformer();
        SlimAnnotatedType<?> annotatedType = classTransformer.getBackedAnnotatedType(beanClass, bdaId);
        boolean managedBeanOrDecorator = Beans.isTypeManagedBeanOrDecoratorOrInterceptor(annotatedType);
        if (managedBeanOrDecorator) {
            EnhancedAnnotatedType eat = EnhancedAnnotatedTypeImpl.of(annotatedType, classTransformer);
            BeanAttributes attributes = BeanAttributesFactory.forBean(eat, beanManager);
            ManagedBean<?> bean = ManagedBean.of(attributes, eat, beanManager);
            ReflectionHelper.set(beanManager, beanManager.getClass(), "beanSet", Collections.synchronizedSet(new HashSet<Bean<?>>()));
            beanManager.addBean(bean);
            beanManager.getBeanResolver().clear();
            bean.initializeAfterBeanDiscovery();
            LOGGER.debug("Bean defined '{}'", beanClass.getName());
        } else {
            // TODO : define session bean
            LOGGER.warning("Bean NOT? defined '{}', session bean?", beanClass.getName());
        }
    } catch (Exception e) {
        LOGGER.debug("Bean definition failed.", e);
    }
}
Also used : EnhancedAnnotatedType(org.jboss.weld.annotated.enhanced.EnhancedAnnotatedType) BeanAttributes(javax.enterprise.inject.spi.BeanAttributes) ClassTransformer(org.jboss.weld.resources.ClassTransformer) ContextNotActiveException(org.jboss.weld.context.ContextNotActiveException) HashSet(java.util.HashSet)

Aggregations

ClassTransformer (org.jboss.weld.resources.ClassTransformer)13 TypeStore (org.jboss.weld.metadata.TypeStore)7 SharedObjectCache (org.jboss.weld.resources.SharedObjectCache)7 SlimAnnotatedTypeStore (org.jboss.weld.annotated.slim.SlimAnnotatedTypeStore)3 Test (org.junit.Test)3 EnhancedAnnotatedMethod (org.jboss.weld.annotated.enhanced.EnhancedAnnotatedMethod)2 EnhancedAnnotatedType (org.jboss.weld.annotated.enhanced.EnhancedAnnotatedType)2 ReflectionCache (org.jboss.weld.resources.ReflectionCache)2 Annotation (java.lang.annotation.Annotation)1 Type (java.lang.reflect.Type)1 HashSet (java.util.HashSet)1 BeanAttributes (javax.enterprise.inject.spi.BeanAttributes)1 SlimAnnotatedType (org.jboss.weld.annotated.slim.SlimAnnotatedType)1 SpecializationAndEnablementRegistry (org.jboss.weld.bootstrap.SpecializationAndEnablementRegistry)1 SimpleServiceRegistry (org.jboss.weld.bootstrap.api.helpers.SimpleServiceRegistry)1 WeldConfiguration (org.jboss.weld.config.WeldConfiguration)1 ContextNotActiveException (org.jboss.weld.context.ContextNotActiveException)1 GlobalObserverNotifierService (org.jboss.weld.event.GlobalObserverNotifierService)1 ResourceInjectionFactory (org.jboss.weld.injection.ResourceInjectionFactory)1 InjectionTargetService (org.jboss.weld.injection.producer.InjectionTargetService)1