From f19eeb4e4d338831af6b9385ef3e5fd33f7d8781 Mon Sep 17 00:00:00 2001 From: Erik Brakkee Date: Sun, 15 Aug 2010 17:01:49 +0000 Subject: [PATCH] --- .../wamblee/test/cdi/BeanManagerSetup.java | 68 +++++++++++++++++++ .../org/wamblee/test/cdi/package-info.java | 19 ++++++ 2 files changed, 87 insertions(+) create mode 100644 test/enterprise/src/main/java/org/wamblee/test/cdi/BeanManagerSetup.java create mode 100644 test/enterprise/src/main/java/org/wamblee/test/cdi/package-info.java diff --git a/test/enterprise/src/main/java/org/wamblee/test/cdi/BeanManagerSetup.java b/test/enterprise/src/main/java/org/wamblee/test/cdi/BeanManagerSetup.java new file mode 100644 index 00000000..ac6cc84b --- /dev/null +++ b/test/enterprise/src/main/java/org/wamblee/test/cdi/BeanManagerSetup.java @@ -0,0 +1,68 @@ +/* + * Copyright 2005-2010 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.wamblee.test.cdi; + +import javax.enterprise.inject.spi.BeanManager; + +import org.jboss.weld.environment.se.Weld; +import org.jboss.weld.environment.se.WeldContainer; + +/** + * Simple wrapper class for creating a bean manager in a Java SE environment + * This class wraps an existing implementation of CDI. + * + * @author Erik Brakkee + */ +public class BeanManagerSetup { + + private Weld weld; + private WeldContainer container; + private BeanManager beanManager; + + /** + * Constructs the setup class. + */ + public BeanManagerSetup() { + // Empty + } + + /** + * Must be called to initialize the bean manager. + */ + public void initialize() { + weld = new Weld(); + container = weld.initialize(); + beanManager = container.getBeanManager(); + } + + /** + * Gets the bean manager. Should only be called after {@link #initialize()} + * @return Bean manager. + */ + public BeanManager getBeanManager() { + return beanManager; + } + + /** + * Cleans up the bean manager. + */ + public void shutdown() { + weld.shutdown(); + weld = null; + container = null; + beanManager = null; + } +} diff --git a/test/enterprise/src/main/java/org/wamblee/test/cdi/package-info.java b/test/enterprise/src/main/java/org/wamblee/test/cdi/package-info.java new file mode 100644 index 00000000..f5a49e62 --- /dev/null +++ b/test/enterprise/src/main/java/org/wamblee/test/cdi/package-info.java @@ -0,0 +1,19 @@ +/* + * Copyright 2005-2010 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +/** + * Test support for unit with CDI in a Java SE environment. + */ +package org.wamblee.test.cdi; \ No newline at end of file -- 2.31.1