Search in sources :

Example 11 with Binder

use of org.apache.cayenne.di.Binder in project cayenne by apache.

the class ClientRuntimeBuilderTest method testDataChannel_NoChannelEvents.

@Test
public void testDataChannel_NoChannelEvents() {
    Map<String, String> properties1 = new HashMap<>();
    properties1.put(ClientConstants.ROP_CHANNEL_EVENTS_PROPERTY, "true");
    ClientModule module = new ClientModule() {

        @Override
        public void configure(Binder binder) {
            super.configure(binder);
            // use a noop connection to prevent startup errors...
            binder.bind(ClientConnection.class).to(MockClientConnection.class);
            ServerModule.contributeProperties(binder).putAll(properties1);
        }
    };
    Injector injector = DIBootstrap.createInjector(module);
    DataChannel channel = injector.getInstance(DataChannel.class);
    ClientChannel clientChannel = (ClientChannel) channel;
    assertTrue(clientChannel.isChannelEventsEnabled());
}
Also used : Binder(org.apache.cayenne.di.Binder) DataChannel(org.apache.cayenne.DataChannel) HashMap(java.util.HashMap) Injector(org.apache.cayenne.di.Injector) MockClientConnection(org.apache.cayenne.remote.MockClientConnection) ClientConnection(org.apache.cayenne.remote.ClientConnection) HttpClientConnection(org.apache.cayenne.rop.HttpClientConnection) ClientChannel(org.apache.cayenne.remote.ClientChannel) Test(org.junit.Test)

Example 12 with Binder

use of org.apache.cayenne.di.Binder in project cayenne by apache.

the class ClientRuntimeBuilderTest method testClientConnection.

@Test
public void testClientConnection() {
    Map<String, String> properties1 = new HashMap<>();
    properties1.put(ClientConstants.ROP_SERVICE_URL_PROPERTY, "http://localhost/YuM");
    ClientModule module = new ClientModule() {

        @Override
        public void configure(Binder binder) {
            super.configure(binder);
            ServerModule.contributeProperties(binder).putAll(properties1);
        }
    };
    Injector injector = DIBootstrap.createInjector(module);
    ClientConnection connection = injector.getInstance(ClientConnection.class);
    assertNotNull(connection);
    assertTrue(connection instanceof HttpClientConnection);
    assertSame("Connection must be a singleton", connection, injector.getInstance(ClientConnection.class));
}
Also used : Binder(org.apache.cayenne.di.Binder) HashMap(java.util.HashMap) Injector(org.apache.cayenne.di.Injector) HttpClientConnection(org.apache.cayenne.rop.HttpClientConnection) MockClientConnection(org.apache.cayenne.remote.MockClientConnection) ClientConnection(org.apache.cayenne.remote.ClientConnection) HttpClientConnection(org.apache.cayenne.rop.HttpClientConnection) Test(org.junit.Test)

Example 13 with Binder

use of org.apache.cayenne.di.Binder in project cayenne by apache.

the class JGroupsModuleIT method testModule.

@Test
public void testModule() {
    Module configModule = new Module() {

        public void configure(Binder binder) {
            ServerModule.contributeProperties(binder).put(Constants.SERVER_DOMAIN_NAME_PROPERTY, "test");
        }
    };
    Injector injector = DIBootstrap.createInjector(new ServerModule(), new JGroupsModule(), configModule);
    EventBridge bridge = injector.getInstance(EventBridge.class);
    assertThat(bridge, instanceOf(JavaGroupsBridge.class));
    EventBridge bridge2 = injector.getInstance(EventBridge.class);
    assertThat(bridge2, instanceOf(JavaGroupsBridge.class));
    assertNotSame(bridge, bridge2);
}
Also used : Binder(org.apache.cayenne.di.Binder) Injector(org.apache.cayenne.di.Injector) Module(org.apache.cayenne.di.Module) ServerModule(org.apache.cayenne.configuration.server.ServerModule) ServerModule(org.apache.cayenne.configuration.server.ServerModule) Test(org.junit.Test)

Example 14 with Binder

use of org.apache.cayenne.di.Binder in project cayenne by apache.

the class JavaGroupsBridgeProviderTest method testUseProperties.

@Test
public void testUseProperties() throws Exception {
    Module module = binder -> {
        JGroupsModule.contributeMulticastAddress(binder, MCAST_ADDRESS_TEST);
        JGroupsModule.contributeMulticastPort(binder, Integer.parseInt(MCAST_PORT_TEST));
        JGroupsModule.contributeConfigUrl(binder, CONFIG_URL_TEST);
    };
    Injector injector = DIBootstrap.createInjector(new DefaultBindings(), new JGroupsModule(), module);
    JavaGroupsBridge bridge = (JavaGroupsBridge) injector.getInstance(EventBridge.class);
    assertEquals(MCAST_ADDRESS_TEST, bridge.getMulticastAddress());
    assertEquals(MCAST_PORT_TEST, bridge.getMulticastPort());
    assertEquals(CONFIG_URL_TEST, bridge.getConfigURL());
}
Also used : RuntimeProperties(org.apache.cayenne.configuration.RuntimeProperties) Injector(org.apache.cayenne.di.Injector) DefaultClassLoaderManager(org.apache.cayenne.di.spi.DefaultClassLoaderManager) TransactionManager(org.apache.cayenne.tx.TransactionManager) Module(org.apache.cayenne.di.Module) DefaultDataDomainFlushActionFactory(org.apache.cayenne.access.flush.DefaultDataDomainFlushActionFactory) AdhocObjectFactory(org.apache.cayenne.di.AdhocObjectFactory) DefaultRuntimeProperties(org.apache.cayenne.configuration.DefaultRuntimeProperties) DataDomain(org.apache.cayenne.access.DataDomain) Slf4jJdbcEventLogger(org.apache.cayenne.log.Slf4jJdbcEventLogger) JdbcEventLogger(org.apache.cayenne.log.JdbcEventLogger) TransactionFactory(org.apache.cayenne.tx.TransactionFactory) DIBootstrap(org.apache.cayenne.di.DIBootstrap) Binder(org.apache.cayenne.di.Binder) DefaultTransactionManager(org.apache.cayenne.tx.DefaultTransactionManager) Assert.assertNotNull(org.junit.Assert.assertNotNull) DefaultTransactionFactory(org.apache.cayenne.tx.DefaultTransactionFactory) Constants(org.apache.cayenne.configuration.Constants) DefaultAdhocObjectFactory(org.apache.cayenne.di.spi.DefaultAdhocObjectFactory) Assert.assertTrue(org.junit.Assert.assertTrue) Test(org.junit.Test) ClassLoaderManager(org.apache.cayenne.di.ClassLoaderManager) DefaultDbRowOpSorter(org.apache.cayenne.access.flush.operation.DefaultDbRowOpSorter) Assert.assertNull(org.junit.Assert.assertNull) DbRowOpSorter(org.apache.cayenne.access.flush.operation.DbRowOpSorter) DataDomainFlushActionFactory(org.apache.cayenne.access.flush.DataDomainFlushActionFactory) Assert.assertEquals(org.junit.Assert.assertEquals) Injector(org.apache.cayenne.di.Injector) Module(org.apache.cayenne.di.Module) Test(org.junit.Test)

Aggregations

Binder (org.apache.cayenne.di.Binder)14 Test (org.junit.Test)14 Injector (org.apache.cayenne.di.Injector)11 Module (org.apache.cayenne.di.Module)8 HashMap (java.util.HashMap)7 ClientConnection (org.apache.cayenne.remote.ClientConnection)7 MockClientConnection (org.apache.cayenne.remote.MockClientConnection)7 ServerModule (org.apache.cayenne.configuration.server.ServerModule)6 Constants (org.apache.cayenne.configuration.Constants)5 Assert.assertNotNull (org.junit.Assert.assertNotNull)5 Assert.assertTrue (org.junit.Assert.assertTrue)5 DataChannel (org.apache.cayenne.DataChannel)4 DataDomain (org.apache.cayenne.access.DataDomain)4 ClientChannel (org.apache.cayenne.remote.ClientChannel)4 CayenneContext (org.apache.cayenne.CayenneContext)3 ObjectContext (org.apache.cayenne.ObjectContext)3 DataDomainFlushActionFactory (org.apache.cayenne.access.flush.DataDomainFlushActionFactory)3 DefaultDataDomainFlushActionFactory (org.apache.cayenne.access.flush.DefaultDataDomainFlushActionFactory)3 DbRowOpSorter (org.apache.cayenne.access.flush.operation.DbRowOpSorter)3 DefaultDbRowOpSorter (org.apache.cayenne.access.flush.operation.DefaultDbRowOpSorter)3