use of org.apache.openejb.config.ConfigurationFactory in project tomee by apache.
the class ServiceProviderInheritanceTest method test.
public void test() throws Exception {
SystemInstance.get().setComponent(ProviderManager.class, new ProviderManager(new ProviderLoader() {
final ProviderLoader loader = new ServiceJarXmlLoader();
@Override
public ServiceProvider load(final ID id) {
{
// try the regular loader
final ServiceProvider provider = loader.load(id);
if (provider != null)
return provider;
}
if ("color".equalsIgnoreCase(id.getName())) {
final ServiceProvider color = new ServiceProvider(Color.class, "Color", "Resource");
color.getProperties().setProperty("red", "0");
color.getProperties().setProperty("green", "0");
color.getProperties().setProperty("blue", "0");
color.getTypes().add(Color.class.getName());
return color;
}
if ("red".equalsIgnoreCase(id.getName())) {
final ServiceProvider red = new ServiceProvider();
red.setId("Red");
red.setParent("Color");
red.getProperties().setProperty("red", "255");
return red;
}
if ("orange".equalsIgnoreCase(id.getName())) {
final ServiceProvider orange = new ServiceProvider();
orange.setId("Orange");
orange.setParent("Red");
orange.getProperties().setProperty("green", "200");
return orange;
}
throw new IllegalStateException(id.toString());
}
@Override
public List<ServiceProvider> load(final String namespace) {
final List<ServiceProvider> list = loader.load(namespace);
list.add(load(new ID(namespace, "color")));
list.add(load(new ID(namespace, "red")));
list.add(load(new ID(namespace, "orange")));
return list;
}
}));
final ConfigurationFactory factory = new ConfigurationFactory();
final Assembler assembler = new Assembler();
assembler.createSecurityService(factory.configureService(SecurityServiceInfo.class));
assembler.createTransactionManager(factory.configureService(TransactionServiceInfo.class));
{
final Resource orange = new Resource("Orange", Color.class.getName(), "Orange");
final ResourceInfo resourceInfo = factory.configureService(orange, ResourceInfo.class);
assertEquals(Color.class.getName(), resourceInfo.className);
assertEquals("Orange", resourceInfo.id);
assertEquals(3, resourceInfo.properties.size());
assertEquals("255", resourceInfo.properties.get("red"));
assertEquals("200", resourceInfo.properties.get("green"));
assertEquals("0", resourceInfo.properties.get("blue"));
assembler.createResource(resourceInfo);
}
{
final EjbJar ejbJar = new EjbJar();
ejbJar.addEnterpriseBean(new SingletonBean(MyBean.class));
final AppContext application = assembler.createApplication(factory.configureApplication(new EjbModule(ejbJar)));
final MyBean myBean = (MyBean) application.getBeanContexts().get(0).getBusinessLocalBeanHome().create();
final Color color = myBean.getColor();
assertNotNull(color);
assertEquals(255, color.getRed());
assertEquals(200, color.getGreen());
assertEquals(0, color.getBlue());
}
}
use of org.apache.openejb.config.ConfigurationFactory in project tomee by apache.
the class EjbContextTest method test.
public void test() throws Exception {
final Assembler assembler = new Assembler();
final ConfigurationFactory config = new ConfigurationFactory();
assembler.createSecurityService(config.configureService(SecurityServiceInfo.class));
assembler.createTransactionManager(config.configureService(TransactionServiceInfo.class));
final EjbJar ejbJar = new EjbJar();
ejbJar.addEnterpriseBean(new StatefulBean("Stateful", MySessionBean.class));
ejbJar.addEnterpriseBean(new StatelessBean("Stateless", MySessionBean.class));
ejbJar.addEnterpriseBean(new SingletonBean("Singleton", MySessionBean.class));
assembler.createApplication(config.configureApplication(ejbJar));
final Properties properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY, LocalInitialContextFactory.class.getName());
final InitialContext context = new InitialContext(properties);
{
final MySessionBean bean = (MySessionBean) context.lookup("StatefulLocalBean");
bean.test();
}
{
final MySessionBean bean = (MySessionBean) context.lookup("StatelessLocalBean");
bean.test();
}
{
final MySessionBean bean = (MySessionBean) context.lookup("SingletonLocalBean");
bean.test();
}
}
use of org.apache.openejb.config.ConfigurationFactory in project tomee by apache.
the class AsynchTest method beforeTest.
@Before
public void beforeTest() throws Exception {
System.setProperty(javax.naming.Context.INITIAL_CONTEXT_FACTORY, LocalInitialContextFactory.class.getName());
config = new ConfigurationFactory();
assembler = new Assembler();
assembler.createTransactionManager(config.configureService(TransactionServiceInfo.class));
assembler.createSecurityService(config.configureService(SecurityServiceInfo.class));
}
use of org.apache.openejb.config.ConfigurationFactory in project tomee by apache.
the class GlobalLookupScopesTest method _test.
// TODO We need this for https://issues.apache.org/jira/browse/OPENEJB-1140
public void _test() throws Exception {
SystemInstance.get().setProperty("openejb.deploymentId.format", "{appId}/{moduleId}/{ejbName}");
final ConfigurationFactory config = new ConfigurationFactory();
final Assembler assembler = new Assembler();
assembler.createTransactionManager(config.configureService(TransactionServiceInfo.class));
assembler.createSecurityService(config.configureService(SecurityServiceInfo.class));
final AppContext circleApp = createApp("circle", config, assembler);
final AppContext squareApp = createApp("square", config, assembler);
{
final BeanContext bean = squareApp.getBeanContexts().get(0);
final Context context = bean.getJndiContext();
assertTrue(context.lookup("global/square") instanceof Context);
assertTrue(context.lookup("global/square/Bean") instanceof Bean);
assertTrue(context.lookup("global/square/Bean!" + Bean.class.getName()) instanceof Bean);
assertTrue(context.lookup("global/square/Other") instanceof Bean);
assertTrue(context.lookup("global/square/Other!" + Bean.class.getName()) instanceof Bean);
assertTrue(context.lookup("global/circle") instanceof Context);
assertTrue(context.lookup("global/circle/Bean") instanceof Bean);
assertTrue(context.lookup("global/circle/Bean!" + Bean.class.getName()) instanceof Bean);
assertTrue(context.lookup("global/circle/Other") instanceof Bean);
assertTrue(context.lookup("global/circle/Other!" + Bean.class.getName()) instanceof Bean);
}
}
use of org.apache.openejb.config.ConfigurationFactory in project tomee by apache.
the class JavaLookupScopesTest method test.
public void test() throws Exception {
final AppContext app;
{
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 EjbJar ejbJar = new EjbJar("testmodule");
ejbJar.addEnterpriseBean(new SingletonBean(Bean.class));
// Deploy the bean a second time to simulate situations
// where the same java:module java:app java:global names
// are re-declared in a compatible way
ejbJar.addEnterpriseBean(new SingletonBean("Other", Bean.class));
final EjbModule ejbModule = new EjbModule(ejbJar);
final AppModule module = new AppModule(ejbModule);
app = assembler.createApplication(config.configureApplication(module));
}
final BeanContext bean = app.getBeanContexts().get(0);
final ModuleContext module = bean.getModuleContext();
{
// app context lookups
final Context context = app.getAppJndiContext();
assertTrue(context.lookup("app") instanceof Context);
assertTrue(context.lookup("app/AppName") instanceof String);
assertTrue(context.lookup("app/green") instanceof DataSource);
assertTrue(context.lookup("app/testmodule") instanceof Context);
assertTrue(context.lookup("app/testmodule/Bean") instanceof Bean);
assertTrue(context.lookup("app/testmodule/Bean!" + Bean.class.getName()) instanceof Bean);
assertTrue(context.lookup("app/testmodule/Other") instanceof Bean);
assertTrue(context.lookup("app/testmodule/Other!" + Bean.class.getName()) instanceof Bean);
assertEquals("testmodule", context.lookup("app/AppName"));
}
{
// module context lookups
final Context context = module.getModuleJndiContext();
assertTrue(context.lookup("module") instanceof Context);
assertTrue(context.lookup("module/ModuleName") instanceof String);
assertTrue(context.lookup("module/blue") instanceof DataSource);
assertTrue(context.lookup("module/Bean") instanceof Bean);
assertTrue(context.lookup("module/Bean!" + Bean.class.getName()) instanceof Bean);
assertEquals("testmodule", context.lookup("module/ModuleName"));
// TODO the Module JNDI context *should* be able to see the App context
}
{
final Context context = bean.getJndiContext();
assertTrue(context.lookup("comp") instanceof Context);
assertTrue(context.lookup("comp/EJBContext") instanceof EJBContext);
assertTrue(context.lookup("comp/TimerService") instanceof TimerService);
assertTrue(context.lookup("comp/TransactionManager") instanceof TransactionManager);
assertTrue(context.lookup("comp/TransactionSynchronizationRegistry") instanceof TransactionSynchronizationRegistry);
assertTrue(context.lookup("comp/WebServiceContext") instanceof WebServiceContext);
assertTrue(context.lookup("comp/env") instanceof Context);
assertTrue(context.lookup("comp/env") instanceof Context);
assertTrue(context.lookup("comp/env/orange") instanceof DataSource);
assertTrue(context.lookup("comp/env/" + Bean.class.getName()) instanceof Context);
assertTrue(context.lookup("comp/env/" + Bean.class.getName() + "/red") instanceof DataSource);
assertTrue(context.lookup("module") instanceof Context);
assertTrue(context.lookup("module/ModuleName") instanceof String);
assertTrue(context.lookup("module/blue") instanceof DataSource);
assertTrue(context.lookup("module/Bean") instanceof Bean);
assertTrue(context.lookup("module/Bean!" + Bean.class.getName()) instanceof Bean);
assertTrue(context.lookup("module/Other") instanceof Bean);
assertTrue(context.lookup("module/Other!" + Bean.class.getName()) instanceof Bean);
assertTrue(context.lookup("app") instanceof Context);
assertTrue(context.lookup("app/AppName") instanceof String);
assertTrue(context.lookup("app/green") instanceof DataSource);
assertTrue(context.lookup("app/testmodule") instanceof Context);
assertTrue(context.lookup("app/testmodule/Bean") instanceof Bean);
assertTrue(context.lookup("app/testmodule/Bean!" + Bean.class.getName()) instanceof Bean);
assertTrue(context.lookup("app/testmodule/Other") instanceof Bean);
assertTrue(context.lookup("app/testmodule/Other!" + Bean.class.getName()) instanceof Bean);
assertTrue(context.lookup("global") instanceof Context);
assertTrue(context.lookup("global/yellow") instanceof DataSource);
assertTrue(context.lookup("global/testmodule") instanceof Context);
assertTrue(context.lookup("global/testmodule/Bean") instanceof Bean);
assertTrue(context.lookup("global/testmodule/Bean!" + Bean.class.getName()) instanceof Bean);
assertTrue(context.lookup("global/testmodule/Other") instanceof Bean);
assertTrue(context.lookup("global/testmodule/Other!" + Bean.class.getName()) instanceof Bean);
assertEquals("testmodule", context.lookup("app/AppName"));
assertEquals("testmodule", context.lookup("module/ModuleName"));
}
}
Aggregations