Search in sources :

Example 36 with Weld

use of org.jboss.weld.environment.se.Weld in project drools by kiegroup.

the class CDITestRunner method createWeld.

public static Weld createWeld(String... classes) {
    final List<String> list = new ArrayList<String>();
    list.addAll(Arrays.asList(classes));
    list.add(KieCDIExtension.class.getName());
    list.add(KBase.class.getName());
    list.add(KSession.class.getName());
    list.add(KReleaseId.class.getName());
    list.add(KieServices.class.getName());
    list.add(KieServicesImpl.class.getName());
    list.add(KieContainer.class.getName());
    list.add(KieContainerImpl.class.getName());
    list.add(KieRepository.class.getName());
    list.add(KieRepositoryImpl.class.getName());
    list.add(KieCommands.class.getName());
    list.add(CommandFactoryServiceImpl.class.getName());
    list.add(ResourceFactoryServiceImpl.class.getName());
    Weld weld = new Weld();
    List<Class<?>> classList = new ArrayList<>();
    for (String className : list) {
        try {
            Class<?> clazz = Thread.currentThread().getContextClassLoader().loadClass(className);
            classList.add(clazz);
        } catch (ClassNotFoundException e) {
            throw new RuntimeException(e);
        }
    }
    weld.beanClasses(classList.toArray(new Class[0]));
    weld.addExtension(new KieCDIExtension());
    // bean discovery needs to be disabled, otherwise Weld will scan and find beans from multiple tests, which
    // then results in ambiguity as multiple tests define multiple @Default kbases and/or ksessions
    weld.disableDiscovery();
    return weld;
}
Also used : KieCommands(org.kie.api.command.KieCommands) KieRepository(org.kie.api.builder.KieRepository) CommandFactoryServiceImpl(org.drools.core.command.impl.CommandFactoryServiceImpl) ArrayList(java.util.ArrayList) KieContainerImpl(org.drools.compiler.kie.builder.impl.KieContainerImpl) KSession(org.kie.api.cdi.KSession) KieServices(org.kie.api.KieServices) Weld(org.jboss.weld.environment.se.Weld) ResourceFactoryServiceImpl(org.drools.core.io.impl.ResourceFactoryServiceImpl) KieRepositoryImpl(org.drools.compiler.kie.builder.impl.KieRepositoryImpl) KReleaseId(org.kie.api.cdi.KReleaseId) KBase(org.kie.api.cdi.KBase) KieServicesImpl(org.drools.compiler.kie.builder.impl.KieServicesImpl) KieContainer(org.kie.api.runtime.KieContainer)

Aggregations

Weld (org.jboss.weld.environment.se.Weld)36 WeldContainer (org.jboss.weld.environment.se.WeldContainer)12 Test (org.junit.Test)9 BeforeClass (org.junit.BeforeClass)6 ByteArrayOutputStream (java.io.ByteArrayOutputStream)3 PrintStream (java.io.PrintStream)3 ArrayList (java.util.ArrayList)2 KieServicesImpl (org.drools.compiler.kie.builder.impl.KieServicesImpl)2 Before (org.junit.Before)2 File (java.io.File)1 IOException (java.io.IOException)1 URL (java.net.URL)1 URLClassLoader (java.net.URLClassLoader)1 Bean (javax.enterprise.inject.spi.Bean)1 BeanManager (javax.enterprise.inject.spi.BeanManager)1 Extension (javax.enterprise.inject.spi.Extension)1 Bus (org.apache.cxf.Bus)1 BootOptions (org.commonjava.indy.boot.BootOptions)1 BootStatus (org.commonjava.indy.boot.BootStatus)1 KieContainerImpl (org.drools.compiler.kie.builder.impl.KieContainerImpl)1