use of org.apache.openejb.spi.ContainerSystem in project tomee by apache.
the class DeploymentContextOptionsTest method testAllLevels.
public void testAllLevels() throws Exception {
SystemInstance.get().setProperty("color", "orangeSystem");
final ConfigurationFactory config = new ConfigurationFactory();
final Assembler assembler = new Assembler();
{
assembler.createTransactionManager(config.configureService(TransactionServiceInfo.class));
assembler.createSecurityService(config.configureService(SecurityServiceInfo.class));
}
{
// Setup the descriptor information
final EjbModule ejbModule = new EjbModule(new EjbJar(), new OpenejbJar());
final EjbJar ejbJar = ejbModule.getEjbJar();
final StatelessBean statelessBean = ejbJar.addEnterpriseBean(new StatelessBean(WidgetBean.class));
{
// Set at BeanContext level
final OpenejbJar openejbJar = ejbModule.getOpenejbJar();
final EjbDeployment deployment = openejbJar.addEjbDeployment(statelessBean);
deployment.getProperties().put("color", "orangeBean");
}
{
// Set at ModuleContext level
final OpenejbJar openejbJar = ejbModule.getOpenejbJar();
openejbJar.getProperties().put("color", "orangeModule");
}
final AppModule appModule = new AppModule(ejbModule);
{
// Set at AppContext level
appModule.getProperties().put("color", "orangeApp");
}
assembler.createApplication(config.configureApplication(appModule));
}
final ContainerSystem containerSystem = SystemInstance.get().getComponent(ContainerSystem.class);
final BeanContext beanContext = containerSystem.getBeanContext("WidgetBean");
assertOption(beanContext.getOptions(), "color", "orangeBean");
assertOption(beanContext.getModuleContext().getOptions(), "color", "orangeModule");
assertOption(beanContext.getModuleContext().getAppContext().getOptions(), "color", "orangeApp");
assertOption(SystemInstance.get().getOptions(), "color", "orangeSystem");
}
use of org.apache.openejb.spi.ContainerSystem in project tomee by apache.
the class DeploymentContextOptionsTest method testSystemInstanceOptions.
public void testSystemInstanceOptions() throws Exception {
SystemInstance.get().setProperty("color", "orange");
final ConfigurationFactory config = new ConfigurationFactory();
final Assembler assembler = new Assembler();
{
assembler.createTransactionManager(config.configureService(TransactionServiceInfo.class));
assembler.createSecurityService(config.configureService(SecurityServiceInfo.class));
}
{
// Setup the descriptor information
final EjbModule ejbModule = new EjbModule(new EjbJar(), new OpenejbJar());
final EjbJar ejbJar = ejbModule.getEjbJar();
ejbJar.addEnterpriseBean(new StatelessBean(WidgetBean.class));
final AppModule appModule = new AppModule(ejbModule);
assembler.createApplication(config.configureApplication(appModule));
}
final ContainerSystem containerSystem = SystemInstance.get().getComponent(ContainerSystem.class);
final BeanContext beanContext = containerSystem.getBeanContext("WidgetBean");
assertOption(beanContext.getOptions(), "color", "orange");
assertOption(beanContext.getModuleContext().getOptions(), "color", "orange");
assertOption(beanContext.getModuleContext().getAppContext().getOptions(), "color", "orange");
assertOption(SystemInstance.get().getOptions(), "color", "orange");
}
use of org.apache.openejb.spi.ContainerSystem in project tomee by apache.
the class DeploymentContextPropertiesTest method testAppContextProperties.
public void testAppContextProperties() throws Exception {
final ConfigurationFactory config = new ConfigurationFactory();
final Assembler assembler = new Assembler();
{
assembler.createTransactionManager(config.configureService(TransactionServiceInfo.class));
assembler.createSecurityService(config.configureService(SecurityServiceInfo.class));
}
{
// Setup the descriptor information
final EjbModule ejbModule = new EjbModule(new EjbJar(), new OpenejbJar());
final EjbJar ejbJar = ejbModule.getEjbJar();
ejbJar.addEnterpriseBean(new StatelessBean(WidgetBean.class));
final AppModule appModule = new AppModule(ejbModule);
appModule.getProperties().setProperty("color", "orange");
final AppInfo appInfo = config.configureApplication(appModule);
assertProperty(appInfo.properties, "color", "orange");
assembler.createApplication(appInfo);
}
final ContainerSystem containerSystem = SystemInstance.get().getComponent(ContainerSystem.class);
final BeanContext beanContext = containerSystem.getBeanContext("WidgetBean");
final Properties properties = beanContext.getModuleContext().getAppContext().getProperties();
assertProperty(properties, "color", "orange");
}
use of org.apache.openejb.spi.ContainerSystem in project tomee by apache.
the class ApplicationComposers method stopApplication.
public void stopApplication() throws NamingException {
if (appContext != null && appContext.getWebBeansContext() != null) {
final ContextsService contextsService = appContext.getWebBeansContext().getContextsService();
// No need to stop the ConversationContext manually as it gets stored inside the SessionContext as Bean
contextsService.endContext(SessionScoped.class, session);
contextsService.endContext(RequestScoped.class, null);
}
if (appInfo != null) {
try {
assembler.destroyApplication(appInfo.path);
} catch (final Exception e) {
// no-op
}
}
final ContainerSystem component = SystemInstance.get().getComponent(ContainerSystem.class);
if (null != component) {
final Context context = component.getJNDIContext();
for (final String entry : globalJndiEntries) {
context.unbind(entry);
}
}
globalJndiEntries.clear();
if (mockCdiContexts() && appContext != null && appContext.getWebBeansContext() != null) {
try {
ScopeHelper.stopContexts(appContext.getWebBeansContext().getContextsService(), servletContext, session);
} catch (final Exception e) {
// no-op
}
}
}
use of org.apache.openejb.spi.ContainerSystem in project tomee by apache.
the class BeanPropertiesTest method testOverrideFromFullDottedPath.
public void testOverrideFromFullDottedPath() throws Exception {
final ConfigurationFactory config = new ConfigurationFactory();
final Assembler assembler = new Assembler();
{
// setup the system
assembler.createTransactionManager(config.configureService(TransactionServiceInfo.class));
assembler.createSecurityService(config.configureService(SecurityServiceInfo.class));
}
{
final Map<String, String> map = new HashMap<String, String>();
map.put("META-INF/ejb-jar.xml", "<ejb-jar id=\"Foo\"/>");
map.put("META-INF/openejb-jar.xml", "<openejb-jar>\n" + " <ejb-deployment ejb-name=\"WidgetBean\">\n" + " <properties>\n" + " color=white\n" + " </properties>\n" + " </ejb-deployment>\n" + "</openejb-jar>");
final File app = Archives.fileArchive(map, WidgetBean.class);
// Foo is both the app-name and module-name
SystemInstance.get().setProperty("Foo.Foo.WidgetBean.color", "orange");
assembler.createApplication(config.configureApplication(app));
}
final ContainerSystem containerSystem = SystemInstance.get().getComponent(ContainerSystem.class);
assertContexts(containerSystem);
}
Aggregations