Search in sources :

Example 11 with Weld

use of org.jboss.weld.environment.se.Weld in project indy by Commonjava.

the class RevisionsManagerTest method setup.

@Before
public void setup() {
    TestProvider.setTemporaryFolder(temp);
    weld = new Weld();
    container = weld.initialize();
    dfManager = container.instance().select(DataFileManager.class).get();
    config = container.instance().select(RevisionsConfig.class).get();
    config.setEnabled(true);
    revManager = container.instance().select(RevisionsManager.class).get();
    listener = container.instance().select(DataFileTestEventListener.class).get();
    lcEvents = container.instance().select(IndyLifecycleEventManager.class).get();
}
Also used : Weld(org.jboss.weld.environment.se.Weld) Before(org.junit.Before)

Example 12 with Weld

use of org.jboss.weld.environment.se.Weld in project indy by Commonjava.

the class JaxRsBooter method initialize.

@Override
public boolean initialize(final BootOptions bootOptions) {
    this.bootOptions = bootOptions;
    boolean initialized;
    try {
        bootOptions.setSystemProperties();
        weld = new Weld();
        container = weld.initialize();
        // injectable version.
        final BootOptions cdiOptions = container.instance().select(BootOptions.class).get();
        cdiOptions.copyFrom(bootOptions);
        final BeanManager bmgr = container.getBeanManager();
        logger.info("\n\n\nStarted BeanManager: {}\n\n\n", bmgr);
        initialized = true;
    } catch (final Throwable e) {
        logger.error("Failed to initialize Booter: " + e.getMessage(), e);
        exit = ERR_CANT_INIT_BOOTER;
        status = new BootStatus(exit, e);
        initialized = false;
    }
    return initialized;
}
Also used : BootStatus(org.commonjava.indy.boot.BootStatus) BootOptions(org.commonjava.indy.boot.BootOptions) BeanManager(javax.enterprise.inject.spi.BeanManager) Weld(org.jboss.weld.environment.se.Weld)

Example 13 with Weld

use of org.jboss.weld.environment.se.Weld in project kernel by exoplatform.

the class WeldContainer method start.

/**
 * {@inheritDoc}
 */
@Override
public void start() {
    ConfigurationManager cm = super.getComponentInstanceOfType(ConfigurationManager.class, false);
    // We check if the component has been defined in the configuration of the current container
    // The goal is to enable the WeldContainer only if it is needed
    Component component = cm.getComponent(WeldContainerHelper.class);
    if (component == null) {
        if (LOG.isDebugEnabled()) {
            LOG.debug("No WeldContainerHelper has been defined, thus the WeldContainer will be disabled." + " To enable the Weld Integration please define an WeldContainerHelper");
        }
    } else {
        Weld weld = new Weld();
        weld.addExtension(new WeldExtension());
        WeldContainerHelper helper = super.getComponentInstanceOfType(WeldContainerHelper.class, false);
        List<Extension> extensions = helper.getExtensions();
        if (extensions != null) {
            for (Extension e : extensions) {
                weld.addExtension(e);
            }
        }
        this.helper = helper;
        this.container = weld.initialize();
        // This is an ugly hack to make sure that the BeanManagerProxy is initialized with the right Container
        // This is needed especially when we intend to initialize several weld containers within the same instance
        container.getBeanManager().getBeans(org.jboss.weld.environment.se.WeldContainer.class);
        this.weldContainer = org.jboss.weld.Container.instance();
        this.weld = weld;
        LOG.info("A WeldContainer has been enabled using the WeldContainerHelper " + helper.getClass());
    }
    super.start();
}
Also used : Extension(javax.enterprise.inject.spi.Extension) Component(org.exoplatform.container.xml.Component) ConfigurationManager(org.exoplatform.container.configuration.ConfigurationManager) Weld(org.jboss.weld.environment.se.Weld)

Example 14 with Weld

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

the class KieProjectCDITest method createMultpleJarAndFileResources.

@Test
public void createMultpleJarAndFileResources() throws IOException, ClassNotFoundException, InterruptedException {
    createKieModule("jar1", true);
    createKieModule("jar2", true);
    createKieModule("jar3", true);
    createKieModule("fol4", false);
    ClassLoader origCl = Thread.currentThread().getContextClassLoader();
    try {
        java.io.File file1 = fileManager.newFile("jar1-1.0-SNAPSHOT.jar");
        java.io.File file2 = fileManager.newFile("jar2-1.0-SNAPSHOT.jar");
        java.io.File file3 = fileManager.newFile("jar3-1.0-SNAPSHOT.jar");
        java.io.File fol4 = fileManager.newFile("fol4-1.0-SNAPSHOT");
        URLClassLoader urlClassLoader = new URLClassLoader(new URL[] { file1.toURI().toURL(), file2.toURI().toURL(), file3.toURI().toURL(), fol4.toURI().toURL() });
        Thread.currentThread().setContextClassLoader(urlClassLoader);
        Enumeration<URL> e = urlClassLoader.getResources(KieModuleModelImpl.KMODULE_JAR_PATH);
        while (e.hasMoreElements()) {
            URL url = e.nextElement();
            System.out.println(url);
        }
        Class cls = Thread.currentThread().getContextClassLoader().loadClass("org.drools.compiler.cdi.test.KProjectTestClassjar1");
        assertNotNull(cls);
        cls = Thread.currentThread().getContextClassLoader().loadClass("org.drools.compiler.cdi.test.KProjectTestClassjar2");
        assertNotNull(cls);
        cls = Thread.currentThread().getContextClassLoader().loadClass("org.drools.compiler.cdi.test.KProjectTestClassjar3");
        assertNotNull(cls);
        Weld weld = CDITestRunner.createWeld(KProjectTestClass.class.getName(), KPTestLiteral.class.getName(), "org.drools.compiler.cdi.test.KProjectTestClassjar1", "org.drools.compiler.cdi.test.KProjectTestClassjar2", "org.drools.compiler.cdi.test.KProjectTestClassjar3", "org.drools.compiler.cdi.test.KProjectTestClassfol4");
        ((KieServicesImpl) KieServices.Factory.get()).nullKieClasspathContainer();
        WeldContainer container = weld.initialize();
        Set<Bean<?>> beans = container.getBeanManager().getBeans(KProjectTestClass.class, new KPTestLiteral("jar1"));
        Bean bean = (Bean) beans.toArray()[0];
        KProjectTestClass o1 = (KProjectTestClass) bean.create(container.getBeanManager().createCreationalContext(null));
        assertNotNull(o1);
        testEntry(o1, "jar1");
        beans = container.getBeanManager().getBeans(KProjectTestClass.class, new KPTestLiteral("jar2"));
        bean = (Bean) beans.toArray()[0];
        KProjectTestClass o2 = (KProjectTestClass) bean.create(container.getBeanManager().createCreationalContext(null));
        assertNotNull(o2);
        testEntry(o2, "jar2");
        beans = container.getBeanManager().getBeans(KProjectTestClass.class, new KPTestLiteral("jar3"));
        bean = (Bean) beans.toArray()[0];
        KProjectTestClass o3 = (KProjectTestClass) bean.create(container.getBeanManager().createCreationalContext(null));
        assertNotNull(o3);
        testEntry(o3, "jar3");
        beans = container.getBeanManager().getBeans(KProjectTestClass.class, new KPTestLiteral("fol4"));
        bean = (Bean) beans.toArray()[0];
        KProjectTestClass o4 = (KProjectTestClass) bean.create(container.getBeanManager().createCreationalContext(null));
        assertNotNull(o4);
        testEntry(o4, "fol4");
        weld.shutdown();
    } finally {
        // FIXME Java 7+
        // on Windows, the URLClassLoader will not release all resources,
        // so the attempt to delete the temporary files will fail.
        // an explicit dispose call is needed, but it has not been introduced until Java7+
        // http://bugs.java.com/bugdatabase/view_bug.do?bug_id=4950148
        /*
            ((URLClassLoader) Thread.currentThread().getContextClassLoader()).close();
            */
        Thread.currentThread().setContextClassLoader(origCl);
    }
}
Also used : WeldContainer(org.jboss.weld.environment.se.WeldContainer) URL(java.net.URL) Weld(org.jboss.weld.environment.se.Weld) Bean(javax.enterprise.inject.spi.Bean) URLClassLoader(java.net.URLClassLoader) URLClassLoader(java.net.URLClassLoader) KieServicesImpl(org.drools.compiler.kie.builder.impl.KieServicesImpl) Test(org.junit.Test)

Example 15 with Weld

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

the class CDITest method testCDI.

@Test
public void testCDI() {
    // DROOLS-34
    Weld w = new Weld();
    WeldContainer wc = w.initialize();
    CDIBean bean = wc.instance().select(CDIBean.class).get();
    bean.test(env);
    w.shutdown();
}
Also used : WeldContainer(org.jboss.weld.environment.se.WeldContainer) Weld(org.jboss.weld.environment.se.Weld) Test(org.junit.Test)

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