Java 8 - lambdas for Module anonymous inner classes
Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/3fc09431 Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/3fc09431 Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/3fc09431 Branch: refs/heads/master Commit: 3fc0943160e2e238e688719397b259be393854f3 Parents: 588c237 Author: Andrus Adamchik <and...@objectstyle.com> Authored: Sat Sep 23 19:00:06 2017 +0300 Committer: Andrus Adamchik <and...@objectstyle.com> Committed: Sat Sep 23 22:47:44 2017 +0300 ---------------------------------------------------------------------- .../org/apache/cayenne/tools/DataPortTask.java | 14 +- .../CacheInvalidationCacheGroupsHandlerIT.java | 17 +- .../invalidation/CacheInvalidationCase.java | 7 +- .../rop/client/ClientLocalRuntime.java | 12 +- .../rop/client/ClientRuntimeBuilder.java | 31 +- .../rop/client/ClientLocalRuntimeTest.java | 34 +- .../rop/client/ClientRuntimeTest.java | 38 +- .../unit/di/client/ClientRuntimeProvider.java | 16 +- .../commitlog/CommitLogModuleExtender.java | 60 ++- .../cayenne/crypto/CryptoModuleExtender.java | 113 +++-- .../cayenne/crypto/Runtime_LazyInit_IT.java | 16 +- .../dbimport/ManyToManyCandidateEntityTest.java | 24 +- .../org/apache/cayenne/di/DIBootstrapTest.java | 18 +- .../di/spi/DefaultInjectorBindingTest.java | 54 +-- .../DefaultInjectorCircularInjectionTest.java | 49 +- .../di/spi/DefaultInjectorDecorationTest.java | 55 +-- .../di/spi/DefaultInjectorInjectionTest.java | 471 ++++++++----------- .../di/spi/DefaultInjectorScopeTest.java | 71 +-- .../cayenne/di/spi/DefaultInjectorTest.java | 37 +- .../apache/cayenne/jcache/unit/JCacheCase.java | 9 +- .../project/DataChannelProjectLoaderTest.java | 27 +- .../project/DataChannelProjectSaverTest.java | 55 +-- .../cayenne/project/FileProjectSaverTest.java | 12 +- .../configuration/server/ServerRuntime.java | 12 +- .../server/ServerRuntimeBuilder.java | 92 ++-- .../org/apache/cayenne/BaseContextTest.java | 17 +- .../access/DefaultDataRowStoreFactoryIT.java | 49 +- .../server/DataContextFactoryTest.java | 75 ++- .../server/DataDomainProviderTest.java | 350 +++++++------- .../DefaultDataSourceFactoryLoaderTest.java | 45 +- .../server/DefaultDbAdapterFactoryTest.java | 107 ++--- .../configuration/server/ServerRuntimeTest.java | 36 +- .../web/ServletContextHandlerTest.java | 31 +- .../configuration/web/WebConfigurationTest.java | 36 +- .../xml/XMLDataChannelDescriptorLoaderTest.java | 22 +- .../configuration/xml/XMLDataMapLoaderTest.java | 24 +- .../apache/cayenne/unit/di/DICaseSelfIT.java | 32 +- .../event/JavaGroupsBridgeProviderTest.java | 10 +- .../cayenne/event/JMSBridgeProviderTest.java | 9 +- .../cayenne/event/XMPPBridgeProviderTest.java | 14 +- 40 files changed, 852 insertions(+), 1349 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cayenne/blob/3fc09431/cayenne-ant/src/main/java/org/apache/cayenne/tools/DataPortTask.java ---------------------------------------------------------------------- diff --git a/cayenne-ant/src/main/java/org/apache/cayenne/tools/DataPortTask.java b/cayenne-ant/src/main/java/org/apache/cayenne/tools/DataPortTask.java index 4b24035..eade13c 100644 --- a/cayenne-ant/src/main/java/org/apache/cayenne/tools/DataPortTask.java +++ b/cayenne-ant/src/main/java/org/apache/cayenne/tools/DataPortTask.java @@ -24,7 +24,6 @@ import org.apache.cayenne.access.DataNode; import org.apache.cayenne.access.DataPort; import org.apache.cayenne.configuration.Constants; import org.apache.cayenne.configuration.server.ServerRuntime; -import org.apache.cayenne.di.Binder; import org.apache.cayenne.di.Key; import org.apache.cayenne.di.Module; import org.apache.cayenne.map.DataMap; @@ -72,14 +71,11 @@ public class DataPortTask extends CayenneTask { validateParameters(); String projectFileLocation = projectFile.getName(); - Module dataPortModule = new Module() { - - public void configure(Binder binder) { - FilesystemResourceLocator filesystemResourceLocator = new FilesystemResourceLocator(projectFile); - binder.bind(ResourceLocator.class).toInstance(filesystemResourceLocator); - binder.bind(Key.get(ResourceLocator.class, Constants.SERVER_RESOURCE_LOCATOR)) - .toInstance(filesystemResourceLocator); - } + Module dataPortModule = binder -> { + FilesystemResourceLocator filesystemResourceLocator = new FilesystemResourceLocator(projectFile); + binder.bind(ResourceLocator.class).toInstance(filesystemResourceLocator); + binder.bind(Key.get(ResourceLocator.class, Constants.SERVER_RESOURCE_LOCATOR)) + .toInstance(filesystemResourceLocator); }; ServerRuntime runtime = new ServerRuntime(projectFileLocation, http://git-wip-us.apache.org/repos/asf/cayenne/blob/3fc09431/cayenne-cache-invalidation/src/test/java/org/apache/cayenne/cache/invalidation/CacheInvalidationCacheGroupsHandlerIT.java ---------------------------------------------------------------------- diff --git a/cayenne-cache-invalidation/src/test/java/org/apache/cayenne/cache/invalidation/CacheInvalidationCacheGroupsHandlerIT.java b/cayenne-cache-invalidation/src/test/java/org/apache/cayenne/cache/invalidation/CacheInvalidationCacheGroupsHandlerIT.java index d5aa1bd..5a26d49 100644 --- a/cayenne-cache-invalidation/src/test/java/org/apache/cayenne/cache/invalidation/CacheInvalidationCacheGroupsHandlerIT.java +++ b/cayenne-cache-invalidation/src/test/java/org/apache/cayenne/cache/invalidation/CacheInvalidationCacheGroupsHandlerIT.java @@ -22,10 +22,9 @@ package org.apache.cayenne.cache.invalidation; import org.apache.cayenne.ObjectContext; import org.apache.cayenne.cache.MapQueryCache; import org.apache.cayenne.cache.QueryCache; -import org.apache.cayenne.di.Binder; -import org.apache.cayenne.di.Module; import org.apache.cayenne.cache.invalidation.db.E1; import org.apache.cayenne.cache.invalidation.db.E2; +import org.apache.cayenne.di.Module; import org.apache.cayenne.query.ObjectSelect; import org.junit.Before; import org.junit.Test; @@ -50,11 +49,8 @@ public class CacheInvalidationCacheGroupsHandlerIT extends CacheInvalidationCase @Override protected Module extendInvalidationModule() { - return new Module() { - @Override - public void configure(Binder binder) { - // do nothing module - } + return binder -> { + // do nothing module }; } @@ -75,12 +71,7 @@ public class CacheInvalidationCacheGroupsHandlerIT extends CacheInvalidationCase } }; - return new Module() { - @Override - public void configure(Binder binder) { - binder.bind(QueryCache.class).toInstance(cache); - } - }; + return binder -> binder.bind(QueryCache.class).toInstance(cache); } @Test http://git-wip-us.apache.org/repos/asf/cayenne/blob/3fc09431/cayenne-cache-invalidation/src/test/java/org/apache/cayenne/cache/invalidation/CacheInvalidationCase.java ---------------------------------------------------------------------- diff --git a/cayenne-cache-invalidation/src/test/java/org/apache/cayenne/cache/invalidation/CacheInvalidationCase.java b/cayenne-cache-invalidation/src/test/java/org/apache/cayenne/cache/invalidation/CacheInvalidationCase.java index 6c3ed1d..86b3f44 100644 --- a/cayenne-cache-invalidation/src/test/java/org/apache/cayenne/cache/invalidation/CacheInvalidationCase.java +++ b/cayenne-cache-invalidation/src/test/java/org/apache/cayenne/cache/invalidation/CacheInvalidationCase.java @@ -20,7 +20,6 @@ package org.apache.cayenne.cache.invalidation; import org.apache.cayenne.configuration.server.ServerRuntime; import org.apache.cayenne.configuration.server.ServerRuntimeBuilder; -import org.apache.cayenne.di.Binder; import org.apache.cayenne.di.Module; import org.apache.cayenne.test.jdbc.DBHelper; import org.apache.cayenne.test.jdbc.TableHelper; @@ -51,11 +50,7 @@ public abstract class CacheInvalidationCase { protected abstract Module extendInvalidationModule(); protected Module buildCustomModule() { - return new Module() { - @Override - public void configure(Binder binder) { - } - }; + return binder -> { }; } protected ServerRuntimeBuilder configureCayenne() { http://git-wip-us.apache.org/repos/asf/cayenne/blob/3fc09431/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientLocalRuntime.java ---------------------------------------------------------------------- diff --git a/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientLocalRuntime.java b/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientLocalRuntime.java index 27cf9b6..3f089d1 100644 --- a/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientLocalRuntime.java +++ b/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientLocalRuntime.java @@ -19,7 +19,6 @@ package org.apache.cayenne.configuration.rop.client; import org.apache.cayenne.DataChannel; -import org.apache.cayenne.di.Binder; import org.apache.cayenne.di.Injector; import org.apache.cayenne.di.Key; import org.apache.cayenne.di.Module; @@ -58,13 +57,10 @@ public class ClientLocalRuntime extends ClientRuntime { private static Collection<Module> collectModules(final Injector serverInjector, Collection<Module> extraModules) { Collection<Module> modules = new ArrayList<>(extraModules.size() + 1); - modules.add(new Module() { - - public void configure(Binder binder) { - binder.bind(Key.get(DataChannel.class, ClientRuntime.CLIENT_SERVER_CHANNEL_KEY)).toProviderInstance( - new LocalClientServerChannelProvider(serverInjector)); - binder.bind(ClientConnection.class).toProviderInstance(new LocalConnectionProvider()); - } + modules.add(binder -> { + binder.bind(Key.get(DataChannel.class, ClientRuntime.CLIENT_SERVER_CHANNEL_KEY)).toProviderInstance( + new LocalClientServerChannelProvider(serverInjector)); + binder.bind(ClientConnection.class).toProviderInstance(new LocalConnectionProvider()); }); modules.addAll(extraModules); http://git-wip-us.apache.org/repos/asf/cayenne/blob/3fc09431/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilder.java ---------------------------------------------------------------------- diff --git a/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilder.java b/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilder.java index d8c2aef..def7070 100644 --- a/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilder.java +++ b/cayenne-client/src/main/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeBuilder.java @@ -19,21 +19,20 @@ package org.apache.cayenne.configuration.rop.client; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.List; -import java.util.Map; - import org.apache.cayenne.DataChannel; import org.apache.cayenne.configuration.server.ServerModule; -import org.apache.cayenne.di.Binder; import org.apache.cayenne.di.Injector; import org.apache.cayenne.di.Key; import org.apache.cayenne.di.Module; import org.apache.cayenne.di.spi.ModuleLoader; import org.apache.cayenne.remote.ClientConnection; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.List; +import java.util.Map; + /** * <p> @@ -132,22 +131,14 @@ public class ClientRuntimeBuilder { Collection<Module> modules = new ArrayList<>(); if(properties != null) { - modules.add(new Module() { - @Override - public void configure(Binder binder) { - ServerModule.contributeProperties(binder).putAll(properties); - } - }); + modules.add(binder -> ServerModule.contributeProperties(binder).putAll(properties)); } if(local) { - modules.add(new Module() { - @Override - public void configure(Binder binder) { - binder.bind(Key.get(DataChannel.class, ClientRuntime.CLIENT_SERVER_CHANNEL_KEY)) - .toProviderInstance(new LocalClientServerChannelProvider(serverInjector)); - binder.bind(ClientConnection.class).toProviderInstance(new LocalConnectionProvider()); - } + modules.add(binder -> { + binder.bind(Key.get(DataChannel.class, ClientRuntime.CLIENT_SERVER_CHANNEL_KEY)) + .toProviderInstance(new LocalClientServerChannelProvider(serverInjector)); + binder.bind(ClientConnection.class).toProviderInstance(new LocalConnectionProvider()); }); } http://git-wip-us.apache.org/repos/asf/cayenne/blob/3fc09431/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientLocalRuntimeTest.java ---------------------------------------------------------------------- diff --git a/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientLocalRuntimeTest.java b/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientLocalRuntimeTest.java index 1e9dbe6..cee95b2 100644 --- a/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientLocalRuntimeTest.java +++ b/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientLocalRuntimeTest.java @@ -23,7 +23,6 @@ import org.apache.cayenne.ObjectContext; import org.apache.cayenne.access.ClientServerChannel; import org.apache.cayenne.access.DataContext; import org.apache.cayenne.configuration.ObjectContextFactory; -import org.apache.cayenne.di.Binder; import org.apache.cayenne.di.DIBootstrap; import org.apache.cayenne.di.Module; import org.apache.cayenne.remote.ClientConnection; @@ -32,10 +31,7 @@ import org.junit.Test; import java.util.Collection; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.*; import static org.mockito.Mockito.mock; public class ClientLocalRuntimeTest { @@ -43,11 +39,8 @@ public class ClientLocalRuntimeTest { @Test public void testDefaultConstructor() { - Module serverModule = new Module() { - - public void configure(Binder binder) { - } - }; + Module serverModule = binder -> { + }; ClientRuntime runtime = ClientRuntime.builder() .disableModulesAutoLoading() @@ -64,21 +57,16 @@ public class ClientLocalRuntimeTest { final DataContext serverContext = mock(DataContext.class); - Module serverModule = new Module() { - - public void configure(Binder binder) { - binder.bind(ObjectContextFactory.class).toInstance(new ObjectContextFactory() { + Module serverModule = binder -> binder.bind(ObjectContextFactory.class).toInstance(new ObjectContextFactory() { - public ObjectContext createContext(DataChannel parent) { - return null; - } + public ObjectContext createContext(DataChannel parent) { + return null; + } - public ObjectContext createContext() { - return serverContext; - } - }); - } - }; + public ObjectContext createContext() { + return serverContext; + } + }); ClientRuntime runtime = ClientRuntime.builder() .local(DIBootstrap.createInjector(serverModule)) http://git-wip-us.apache.org/repos/asf/cayenne/blob/3fc09431/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeTest.java ---------------------------------------------------------------------- diff --git a/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeTest.java b/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeTest.java index 30f3c8a..d33f6c8 100644 --- a/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeTest.java +++ b/cayenne-client/src/test/java/org/apache/cayenne/configuration/rop/client/ClientRuntimeTest.java @@ -62,19 +62,9 @@ public class ClientRuntimeTest { final boolean[] configured = new boolean[2]; - Module m1 = new Module() { + Module m1 = binder -> configured[0] = true; - public void configure(Binder binder) { - configured[0] = true; - } - }; - - Module m2 = new Module() { - - public void configure(Binder binder) { - configured[1] = true; - } - }; + Module m2 = binder -> configured[1] = true; Map<String, String> properties = new HashMap<>(); @@ -93,19 +83,9 @@ public class ClientRuntimeTest { Collection<Module> modules = new ArrayList<Module>(); - modules.add(new Module() { + modules.add(binder -> configured[0] = true); - public void configure(Binder binder) { - configured[0] = true; - } - }); - - modules.add(new Module() { - - public void configure(Binder binder) { - configured[1] = true; - } - }); + modules.add(binder -> configured[1] = true); Map<String, String> properties = new HashMap<>(); @@ -149,14 +129,10 @@ public class ClientRuntimeTest { Map<String, String> properties = new HashMap<>(); - Module extraModule = new Module() { + Module extraModule = binder -> + // use a noop connection to prevent hessian startup errors... + binder.bind(ClientConnection.class).to(MockClientConnection.class); - public void configure(Binder binder) { - - // use a noop connection to prevent hessian startup errors... - binder.bind(ClientConnection.class).to(MockClientConnection.class); - } - }; ClientRuntime runtime = new ClientRuntime(properties, extraModule); http://git-wip-us.apache.org/repos/asf/cayenne/blob/3fc09431/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientRuntimeProvider.java ---------------------------------------------------------------------- diff --git a/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientRuntimeProvider.java b/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientRuntimeProvider.java index ed74f4c..3c1ff8c 100644 --- a/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientRuntimeProvider.java +++ b/cayenne-client/src/test/java/org/apache/cayenne/unit/di/client/ClientRuntimeProvider.java @@ -23,10 +23,8 @@ import org.apache.cayenne.DataChannel; import org.apache.cayenne.configuration.rop.client.ClientRuntime; import org.apache.cayenne.configuration.rop.client.LocalConnectionProvider; import org.apache.cayenne.configuration.server.ServerRuntime; -import org.apache.cayenne.di.Binder; import org.apache.cayenne.di.Inject; import org.apache.cayenne.di.Key; -import org.apache.cayenne.di.Module; import org.apache.cayenne.di.Provider; import org.apache.cayenne.remote.ClientConnection; @@ -42,14 +40,12 @@ public class ClientRuntimeProvider implements Provider<ClientRuntime> { public ClientRuntime get() throws ConfigurationException { return ClientRuntime.builder() .properties(clientCaseProperties.getRuntimeProperties()) - .addModule(new Module() { - public void configure(Binder binder) { - // add an interceptor between client and server parts to capture and inspect the traffic - binder.bind(Key.get(DataChannel.class, ClientRuntime.CLIENT_SERVER_CHANNEL_KEY)) - .toProviderInstance(new InterceptingClientServerChannelProvider(serverRuntimeProvider.get().getInjector())); - // create local connection - binder.bind(ClientConnection.class).toProviderInstance(new LocalConnectionProvider()); - } + .addModule(binder -> { + // add an interceptor between client and server parts to capture and inspect the traffic + binder.bind(Key.get(DataChannel.class, ClientRuntime.CLIENT_SERVER_CHANNEL_KEY)) + .toProviderInstance(new InterceptingClientServerChannelProvider(serverRuntimeProvider.get().getInjector())); + // create local connection + binder.bind(ClientConnection.class).toProviderInstance(new LocalConnectionProvider()); }) .build(); } http://git-wip-us.apache.org/repos/asf/cayenne/blob/3fc09431/cayenne-commitlog/src/main/java/org/apache/cayenne/commitlog/CommitLogModuleExtender.java ---------------------------------------------------------------------- diff --git a/cayenne-commitlog/src/main/java/org/apache/cayenne/commitlog/CommitLogModuleExtender.java b/cayenne-commitlog/src/main/java/org/apache/cayenne/commitlog/CommitLogModuleExtender.java index 9208880..9794016 100644 --- a/cayenne-commitlog/src/main/java/org/apache/cayenne/commitlog/CommitLogModuleExtender.java +++ b/cayenne-commitlog/src/main/java/org/apache/cayenne/commitlog/CommitLogModuleExtender.java @@ -18,14 +18,13 @@ ****************************************************************/ package org.apache.cayenne.commitlog; -import org.apache.cayenne.configuration.server.ServerModule; -import org.apache.cayenne.di.Binder; -import org.apache.cayenne.di.ListBuilder; -import org.apache.cayenne.di.Module; import org.apache.cayenne.commitlog.meta.AnnotationCommitLogEntityFactory; -import org.apache.cayenne.commitlog.meta.IncludeAllCommitLogEntityFactory; import org.apache.cayenne.commitlog.meta.CommitLogEntity; import org.apache.cayenne.commitlog.meta.CommitLogEntityFactory; +import org.apache.cayenne.commitlog.meta.IncludeAllCommitLogEntityFactory; +import org.apache.cayenne.configuration.server.ServerModule; +import org.apache.cayenne.di.ListBuilder; +import org.apache.cayenne.di.Module; import org.apache.cayenne.tx.TransactionFilter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -98,34 +97,29 @@ public class CommitLogModuleExtender { * listeners in Cayenne. */ public Module module() { - return new Module() { - - @SuppressWarnings({"unchecked"}) - @Override - public void configure(Binder binder) { - - if (listenerTypes.isEmpty() && listenerInstances.isEmpty()) { - LOGGER.info("No listeners configured. Skipping CommitLogFilter registration"); - return; - } - - binder.bind(CommitLogEntityFactory.class).to(entityFactoryType); - - ListBuilder<CommitLogListener> listeners = CommitLogModule.contributeListeners(binder) - .addAll(listenerInstances); - - // types have to be added one-by-one - for (Class<? extends CommitLogListener> type : listenerTypes) { - // TODO: temp hack - need to bind each type before adding to collection... - binder.bind(type).to((Class) type); - listeners.add(type); - } - - if (excludeFromTransaction) { - ServerModule.contributeDomainFilters(binder).addAfter(CommitLogFilter.class, TransactionFilter.class); - } else { - ServerModule.contributeDomainFilters(binder).insertBefore(CommitLogFilter.class, TransactionFilter.class); - } + return binder -> { + + if (listenerTypes.isEmpty() && listenerInstances.isEmpty()) { + LOGGER.info("No listeners configured. Skipping CommitLogFilter registration"); + return; + } + + binder.bind(CommitLogEntityFactory.class).to(entityFactoryType); + + ListBuilder<CommitLogListener> listeners = CommitLogModule.contributeListeners(binder) + .addAll(listenerInstances); + + // types have to be added one-by-one + for (Class<? extends CommitLogListener> type : listenerTypes) { + // TODO: temp hack - need to bind each type before adding to collection... + binder.bind(type).to((Class) type); + listeners.add(type); + } + + if (excludeFromTransaction) { + ServerModule.contributeDomainFilters(binder).addAfter(CommitLogFilter.class, TransactionFilter.class); + } else { + ServerModule.contributeDomainFilters(binder).insertBefore(CommitLogFilter.class, TransactionFilter.class); } }; } http://git-wip-us.apache.org/repos/asf/cayenne/blob/3fc09431/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/CryptoModuleExtender.java ---------------------------------------------------------------------- diff --git a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/CryptoModuleExtender.java b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/CryptoModuleExtender.java index 98bef8c..f432dbd 100644 --- a/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/CryptoModuleExtender.java +++ b/cayenne-crypto/src/main/java/org/apache/cayenne/crypto/CryptoModuleExtender.java @@ -25,7 +25,6 @@ import org.apache.cayenne.crypto.map.PatternColumnMapper; import org.apache.cayenne.crypto.transformer.bytes.BytesTransformerFactory; import org.apache.cayenne.crypto.transformer.value.BytesConverter; import org.apache.cayenne.crypto.transformer.value.ValueTransformerFactory; -import org.apache.cayenne.di.Binder; import org.apache.cayenne.di.MapBuilder; import org.apache.cayenne.di.Module; @@ -227,81 +226,77 @@ public class CryptoModuleExtender { */ public Module module() { - return new Module() { + return binder -> { - @Override - public void configure(Binder binder) { + MapBuilder<String> props = CryptoModule.contributeProperties(binder); - MapBuilder<String> props = CryptoModule.contributeProperties(binder); - - if (cipherAlgoritm != null) { - props.put(CryptoConstants.CIPHER_ALGORITHM, cipherAlgoritm); - } + if (cipherAlgoritm != null) { + props.put(CryptoConstants.CIPHER_ALGORITHM, cipherAlgoritm); + } - if (cipherMode != null) { - props.put(CryptoConstants.CIPHER_MODE, cipherMode); - } + if (cipherMode != null) { + props.put(CryptoConstants.CIPHER_MODE, cipherMode); + } - String keyStoreUrl = keyStoreUrl(); - if (keyStoreUrl != null) { - props.put(CryptoConstants.KEYSTORE_URL, keyStoreUrl); - } + String keyStoreUrl = keyStoreUrl(); + if (keyStoreUrl != null) { + props.put(CryptoConstants.KEYSTORE_URL, keyStoreUrl); + } - if (encryptionKeyAlias != null) { - props.put(CryptoConstants.ENCRYPTION_KEY_ALIAS, encryptionKeyAlias); - } + if (encryptionKeyAlias != null) { + props.put(CryptoConstants.ENCRYPTION_KEY_ALIAS, encryptionKeyAlias); + } - if (compress) { - props.put(CryptoConstants.COMPRESSION, "true"); - } + if (compress) { + props.put(CryptoConstants.COMPRESSION, "true"); + } - if (useHMAC) { - props.put(CryptoConstants.USE_HMAC, "true"); - } + if (useHMAC) { + props.put(CryptoConstants.USE_HMAC, "true"); + } - if (keyPassword != null) { - CryptoModule.contributeCredentials(binder).put(CryptoConstants.KEY_PASSWORD, keyPassword); - } + if (keyPassword != null) { + CryptoModule.contributeCredentials(binder).put(CryptoConstants.KEY_PASSWORD, keyPassword); + } - if (cipherFactoryType != null) { - binder.bind(CipherFactory.class).to(cipherFactoryType); - } + if (cipherFactoryType != null) { + binder.bind(CipherFactory.class).to(cipherFactoryType); + } - if (valueTransformerFactoryType != null) { - binder.bind(ValueTransformerFactory.class).to(valueTransformerFactoryType); - } + if (valueTransformerFactoryType != null) { + binder.bind(ValueTransformerFactory.class).to(valueTransformerFactoryType); + } - if (!extraDbToBytes.isEmpty()) { - MapBuilder<BytesConverter<?>> dbToBytesBinder = CryptoModule.contributeDbToByteConverters(binder); - for (Map.Entry<Integer, BytesConverter<?>> extraConverter : extraDbToBytes.entrySet()) { - dbToBytesBinder.put(extraConverter.getKey().toString(), extraConverter.getValue()); - } + if (!extraDbToBytes.isEmpty()) { + MapBuilder<BytesConverter<?>> dbToBytesBinder = CryptoModule.contributeDbToByteConverters(binder); + for (Map.Entry<Integer, BytesConverter<?>> extraConverter : extraDbToBytes.entrySet()) { + dbToBytesBinder.put(extraConverter.getKey().toString(), extraConverter.getValue()); } + } - if (!extraObjectToBytes.isEmpty()) { - MapBuilder<BytesConverter<?>> objectToBytesBinder = CryptoModule.contributeObjectToByteConverters(binder); - for (Map.Entry<String, BytesConverter<?>> extraConverter : extraObjectToBytes.entrySet()) { - objectToBytesBinder.put(extraConverter.getKey(), extraConverter.getValue()); - } + if (!extraObjectToBytes.isEmpty()) { + MapBuilder<BytesConverter<?>> objectToBytesBinder = CryptoModule.contributeObjectToByteConverters(binder); + for (Map.Entry<String, BytesConverter<?>> extraConverter : extraObjectToBytes.entrySet()) { + objectToBytesBinder.put(extraConverter.getKey(), extraConverter.getValue()); } + } - if (bytesTransformerFactoryType != null) { - binder.bind(BytesTransformerFactory.class).to(bytesTransformerFactoryType); - } + if (bytesTransformerFactoryType != null) { + binder.bind(BytesTransformerFactory.class).to(bytesTransformerFactoryType); + } - if (keySource != null) { - binder.bind(KeySource.class).toInstance(keySource); - } else if (keySourceType != null) { - binder.bind(KeySource.class).to(keySourceType); - } + if (keySource != null) { + binder.bind(KeySource.class).toInstance(keySource); + } else if (keySourceType != null) { + binder.bind(KeySource.class).to(keySourceType); + } - if (columnMapperPattern != null) { - binder.bind(ColumnMapper.class).toInstance(new PatternColumnMapper(columnMapperPattern)); - } else if (columnMapperType != null) { - binder.bind(ColumnMapper.class).to(columnMapperType); - } else if (columnMapper != null) { - binder.bind(ColumnMapper.class).toInstance(columnMapper); - } + if (columnMapperPattern != null) { + binder.bind(ColumnMapper.class).toInstance(new PatternColumnMapper(columnMapperPattern)); + } else if (columnMapperType != null) { + binder.bind(ColumnMapper.class).to(columnMapperType); + } else if (columnMapper != null) { + binder.bind(ColumnMapper.class).toInstance(columnMapper); } }; } http://git-wip-us.apache.org/repos/asf/cayenne/blob/3fc09431/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Runtime_LazyInit_IT.java ---------------------------------------------------------------------- diff --git a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Runtime_LazyInit_IT.java b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Runtime_LazyInit_IT.java index 988a658..d69d0ff 100644 --- a/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Runtime_LazyInit_IT.java +++ b/cayenne-crypto/src/test/java/org/apache/cayenne/crypto/Runtime_LazyInit_IT.java @@ -23,7 +23,6 @@ import org.apache.cayenne.configuration.server.ServerRuntime; import org.apache.cayenne.crypto.db.Table1; import org.apache.cayenne.crypto.db.Table4; import org.apache.cayenne.crypto.key.KeySource; -import org.apache.cayenne.di.Binder; import org.apache.cayenne.di.Inject; import org.apache.cayenne.di.Module; import org.apache.cayenne.query.ObjectSelect; @@ -32,9 +31,7 @@ import org.junit.Test; import java.security.Key; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.fail; +import static org.junit.Assert.*; public class Runtime_LazyInit_IT extends Runtime_AES128_Base { @@ -49,14 +46,9 @@ public class Runtime_LazyInit_IT extends Runtime_AES128_Base { @Override protected ServerRuntime createRuntime(final Module crypto) { - Module cryptoWrapper = new Module() { - @Override - public void configure(Binder binder) { - - crypto.configure(binder); - - binder.decorate(KeySource.class).after(LockingKeySourceDecorator.class); - } + Module cryptoWrapper = binder -> { + crypto.configure(binder); + binder.decorate(KeySource.class).after(LockingKeySourceDecorator.class); }; return super.createRuntime(cryptoWrapper); http://git-wip-us.apache.org/repos/asf/cayenne/blob/3fc09431/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbimport/ManyToManyCandidateEntityTest.java ---------------------------------------------------------------------- diff --git a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbimport/ManyToManyCandidateEntityTest.java b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbimport/ManyToManyCandidateEntityTest.java index 574ebed..3043f15 100644 --- a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbimport/ManyToManyCandidateEntityTest.java +++ b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/reverse/dbimport/ManyToManyCandidateEntityTest.java @@ -34,7 +34,6 @@ import org.apache.cayenne.configuration.xml.XMLReaderProvider; import org.apache.cayenne.dbsync.naming.DefaultObjectNameGenerator; import org.apache.cayenne.dbsync.naming.NoStemStemmer; import org.apache.cayenne.di.AdhocObjectFactory; -import org.apache.cayenne.di.Binder; import org.apache.cayenne.di.ClassLoaderManager; import org.apache.cayenne.di.DIBootstrap; import org.apache.cayenne.di.Injector; @@ -52,9 +51,7 @@ import org.xml.sax.XMLReader; import java.net.URL; import java.util.ArrayList; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNull; +import static org.junit.Assert.*; public class ManyToManyCandidateEntityTest { @@ -62,17 +59,14 @@ public class ManyToManyCandidateEntityTest { @Before public void setUp() throws Exception { - Module testModule = new Module() { - - public void configure(Binder binder) { - binder.bind(ClassLoaderManager.class).to(DefaultClassLoaderManager.class); - binder.bind(AdhocObjectFactory.class).to(DefaultAdhocObjectFactory.class); - binder.bind(DataMapLoader.class).to(XMLDataMapLoader.class); - binder.bind(ConfigurationNameMapper.class).to(DefaultConfigurationNameMapper.class); - binder.bind(HandlerFactory.class).to(DefaultHandlerFactory.class); - binder.bind(DataChannelMetaData.class).to(NoopDataChannelMetaData.class); - binder.bind(XMLReader.class).toProviderInstance(new XMLReaderProvider(false)).withoutScope(); - } + Module testModule = binder -> { + binder.bind(ClassLoaderManager.class).to(DefaultClassLoaderManager.class); + binder.bind(AdhocObjectFactory.class).to(DefaultAdhocObjectFactory.class); + binder.bind(DataMapLoader.class).to(XMLDataMapLoader.class); + binder.bind(ConfigurationNameMapper.class).to(DefaultConfigurationNameMapper.class); + binder.bind(HandlerFactory.class).to(DefaultHandlerFactory.class); + binder.bind(DataChannelMetaData.class).to(NoopDataChannelMetaData.class); + binder.bind(XMLReader.class).toProviderInstance(new XMLReaderProvider(false)).withoutScope(); }; Injector injector = DIBootstrap.createInjector(testModule); http://git-wip-us.apache.org/repos/asf/cayenne/blob/3fc09431/cayenne-di/src/test/java/org/apache/cayenne/di/DIBootstrapTest.java ---------------------------------------------------------------------- diff --git a/cayenne-di/src/test/java/org/apache/cayenne/di/DIBootstrapTest.java b/cayenne-di/src/test/java/org/apache/cayenne/di/DIBootstrapTest.java index 9ce33f6..adc19b3 100644 --- a/cayenne-di/src/test/java/org/apache/cayenne/di/DIBootstrapTest.java +++ b/cayenne-di/src/test/java/org/apache/cayenne/di/DIBootstrapTest.java @@ -36,11 +36,7 @@ public class DIBootstrapTest { public void testCreateInjector_SingleModule() { final boolean[] configureCalled = new boolean[1]; - Module module = new Module() { - public void configure(Binder binder) { - configureCalled[0] = true; - } - }; + Module module = binder -> configureCalled[0] = true; Injector injector = DIBootstrap.createInjector(module); assertNotNull(injector); @@ -53,17 +49,9 @@ public class DIBootstrapTest { final boolean[] configureCalled = new boolean[2]; - Module module1 = new Module() { - public void configure(Binder binder) { - configureCalled[0] = true; - } - }; + Module module1 = binder -> configureCalled[0] = true; - Module module2 = new Module() { - public void configure(Binder binder) { - configureCalled[1] = true; - } - }; + Module module2 = binder -> configureCalled[1] = true; Injector injector = DIBootstrap.createInjector(module1, module2); assertNotNull(injector); http://git-wip-us.apache.org/repos/asf/cayenne/blob/3fc09431/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorBindingTest.java ---------------------------------------------------------------------- diff --git a/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorBindingTest.java b/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorBindingTest.java index e8c8712..f99b2e4 100644 --- a/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorBindingTest.java +++ b/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorBindingTest.java @@ -18,7 +18,6 @@ ****************************************************************/ package org.apache.cayenne.di.spi; -import org.apache.cayenne.di.Binder; import org.apache.cayenne.di.Key; import org.apache.cayenne.di.Module; import org.apache.cayenne.di.mock.MockImplementation1; @@ -28,21 +27,14 @@ import org.apache.cayenne.di.mock.MockInterface1; import org.apache.cayenne.di.mock.MockInterface1Provider; import org.junit.Test; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertSame; +import static org.junit.Assert.*; public class DefaultInjectorBindingTest { @Test public void testClassBinding() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1.class); - } - }; + Module module = binder -> binder.bind(MockInterface1.class).to(MockImplementation1.class); DefaultInjector injector = new DefaultInjector(module); @@ -54,15 +46,12 @@ public class DefaultInjectorBindingTest { @Test public void testClassNamedBinding() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1.class); - binder.bind(Key.get(MockInterface1.class, "abc")).to( - MockImplementation1Alt.class); - binder.bind(Key.get(MockInterface1.class, "xyz")).to( - MockImplementation1Alt2.class); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1.class); + binder.bind(Key.get(MockInterface1.class, "abc")).to( + MockImplementation1Alt.class); + binder.bind(Key.get(MockInterface1.class, "xyz")).to( + MockImplementation1Alt2.class); }; DefaultInjector injector = new DefaultInjector(module); @@ -86,14 +75,9 @@ public class DefaultInjectorBindingTest { @Test public void testProviderBinding() { - Module module = new Module() { - - public void configure(Binder binder) { - binder - .bind(MockInterface1.class) - .toProvider(MockInterface1Provider.class); - } - }; + Module module = binder -> binder + .bind(MockInterface1.class) + .toProvider(MockInterface1Provider.class); DefaultInjector injector = new DefaultInjector(module); @@ -107,12 +91,7 @@ public class DefaultInjectorBindingTest { final MockImplementation1 instance = new MockImplementation1(); - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).toInstance(instance); - } - }; + Module module = binder -> binder.bind(MockInterface1.class).toInstance(instance); DefaultInjector injector = new DefaultInjector(module); @@ -124,12 +103,9 @@ public class DefaultInjectorBindingTest { @Test public void testClassReBinding() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1.class); - binder.bind(MockInterface1.class).to(MockImplementation1Alt.class); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1.class); + binder.bind(MockInterface1.class).to(MockImplementation1Alt.class); }; DefaultInjector injector = new DefaultInjector(module); http://git-wip-us.apache.org/repos/asf/cayenne/blob/3fc09431/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorCircularInjectionTest.java ---------------------------------------------------------------------- diff --git a/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorCircularInjectionTest.java b/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorCircularInjectionTest.java index 05e9156..a3f3061 100644 --- a/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorCircularInjectionTest.java +++ b/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorCircularInjectionTest.java @@ -18,7 +18,6 @@ ****************************************************************/ package org.apache.cayenne.di.spi; -import org.apache.cayenne.di.Binder; import org.apache.cayenne.di.DIRuntimeException; import org.apache.cayenne.di.Module; import org.apache.cayenne.di.mock.MockImplementation1_DepOn2; @@ -41,12 +40,9 @@ public class DefaultInjectorCircularInjectionTest { @Test public void testFieldInjection_CircularDependency() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1_DepOn2.class); - binder.bind(MockInterface2.class).to(MockImplementation2.class); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1_DepOn2.class); + binder.bind(MockInterface2.class).to(MockImplementation2.class); }; DefaultInjector injector = new DefaultInjector(module); @@ -66,13 +62,10 @@ public class DefaultInjectorCircularInjectionTest { @Test public void testProviderInjection_CircularDependency() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to( - MockImplementation1_DepOn2Provider.class); - binder.bind(MockInterface2.class).to(MockImplementation2.class); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to( + MockImplementation1_DepOn2Provider.class); + binder.bind(MockInterface2.class).to(MockImplementation2.class); }; DefaultInjector injector = new DefaultInjector(module); @@ -84,14 +77,11 @@ public class DefaultInjectorCircularInjectionTest { @Test public void testConstructorInjection_CircularDependency() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to( - MockImplementation1_DepOn2Constructor.class); - binder.bind(MockInterface2.class).to( - MockImplementation2_Constructor.class); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to( + MockImplementation1_DepOn2Constructor.class); + binder.bind(MockInterface2.class).to( + MockImplementation2_Constructor.class); }; DefaultInjector injector = new DefaultInjector(module); @@ -111,15 +101,12 @@ public class DefaultInjectorCircularInjectionTest { @Test public void testConstructorInjection_WithFieldInjectionDeps() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to( - MockImplementation1_DepOn2Constructor.class); - binder.bind(MockInterface2.class).to( - MockImplementation2_I3Dependency.class); - binder.bind(MockInterface3.class).to(MockImplementation3.class); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to( + MockImplementation1_DepOn2Constructor.class); + binder.bind(MockInterface2.class).to( + MockImplementation2_I3Dependency.class); + binder.bind(MockInterface3.class).to(MockImplementation3.class); }; DefaultInjector injector = new DefaultInjector(module); http://git-wip-us.apache.org/repos/asf/cayenne/blob/3fc09431/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorDecorationTest.java ---------------------------------------------------------------------- diff --git a/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorDecorationTest.java b/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorDecorationTest.java index dfe34ff..5054a77 100644 --- a/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorDecorationTest.java +++ b/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorDecorationTest.java @@ -18,7 +18,6 @@ ****************************************************************/ package org.apache.cayenne.di.spi; -import org.apache.cayenne.di.Binder; import org.apache.cayenne.di.Module; import org.apache.cayenne.di.mock.MockImplementation1; import org.apache.cayenne.di.mock.MockInterface1; @@ -37,13 +36,9 @@ public class DefaultInjectorDecorationTest { @Test public void testSingleDecorator_After() { - Module module = new Module() { - - @Override - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1.class); - binder.decorate(MockInterface1.class).after(MockInterface1_Decorator1.class); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1.class); + binder.decorate(MockInterface1.class).after(MockInterface1_Decorator1.class); }; DefaultInjector injector = new DefaultInjector(module); @@ -56,13 +51,9 @@ public class DefaultInjectorDecorationTest { @Test public void testSingleDecorator_Before() { - Module module = new Module() { - - @Override - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1.class); - binder.decorate(MockInterface1.class).before(MockInterface1_Decorator1.class); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1.class); + binder.decorate(MockInterface1.class).before(MockInterface1_Decorator1.class); }; DefaultInjector injector = new DefaultInjector(module); @@ -75,16 +66,12 @@ public class DefaultInjectorDecorationTest { @Test public void testDecoratorChain() { - Module module = new Module() { - - @Override - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1.class); - binder.decorate(MockInterface1.class).before(MockInterface1_Decorator1.class); - binder.decorate(MockInterface1.class).before(MockInterface1_Decorator2.class); - binder.decorate(MockInterface1.class).after(MockInterface1_Decorator3.class); + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1.class); + binder.decorate(MockInterface1.class).before(MockInterface1_Decorator1.class); + binder.decorate(MockInterface1.class).before(MockInterface1_Decorator2.class); + binder.decorate(MockInterface1.class).after(MockInterface1_Decorator3.class); - } }; DefaultInjector injector = new DefaultInjector(module); @@ -97,13 +84,9 @@ public class DefaultInjectorDecorationTest { @Test public void testSingleDecorator_Provider_ConstructorInjection() { - Module module = new Module() { - - @Override - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1.class); - binder.decorate(MockInterface1.class).before(MockInterface1_Decorator4.class); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1.class); + binder.decorate(MockInterface1.class).before(MockInterface1_Decorator4.class); }; DefaultInjector injector = new DefaultInjector(module); @@ -116,13 +99,9 @@ public class DefaultInjectorDecorationTest { @Test public void testSingleDecorator_Provider_FieldInjection() { - Module module = new Module() { - - @Override - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1.class); - binder.decorate(MockInterface1.class).before(MockInterface1_Decorator5.class); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1.class); + binder.decorate(MockInterface1.class).before(MockInterface1_Decorator5.class); }; DefaultInjector injector = new DefaultInjector(module); http://git-wip-us.apache.org/repos/asf/cayenne/blob/3fc09431/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorInjectionTest.java ---------------------------------------------------------------------- diff --git a/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorInjectionTest.java b/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorInjectionTest.java index 8d59d94..a56fcb6 100644 --- a/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorInjectionTest.java +++ b/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorInjectionTest.java @@ -18,7 +18,6 @@ ****************************************************************/ package org.apache.cayenne.di.spi; -import org.apache.cayenne.di.Binder; import org.apache.cayenne.di.DIRuntimeException; import org.apache.cayenne.di.Key; import org.apache.cayenne.di.Module; @@ -59,12 +58,9 @@ public class DefaultInjectorInjectionTest { @Test public void testFieldInjection() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1.class); - binder.bind(MockInterface2.class).to(MockImplementation2.class); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1.class); + binder.bind(MockInterface2.class).to(MockImplementation2.class); }; DefaultInjector injector = new DefaultInjector(module); @@ -77,14 +73,11 @@ public class DefaultInjectorInjectionTest { @Test public void testFieldInjection_Named() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1.class); - binder.bind(Key.get(MockInterface1.class, "one")).to(MockImplementation1Alt.class); - binder.bind(Key.get(MockInterface1.class, "two")).to(MockImplementation1Alt2.class); - binder.bind(MockInterface2.class).to(MockImplementation2_Named.class); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1.class); + binder.bind(Key.get(MockInterface1.class, "one")).to(MockImplementation1Alt.class); + binder.bind(Key.get(MockInterface1.class, "two")).to(MockImplementation1Alt2.class); + binder.bind(MockInterface2.class).to(MockImplementation2_Named.class); }; DefaultInjector injector = new DefaultInjector(module); @@ -97,13 +90,10 @@ public class DefaultInjectorInjectionTest { @Test public void testFieldInjectionSuperclass() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1.class); - binder.bind(MockInterface2.class).to(MockImplementation2Sub1.class); - binder.bind(MockInterface3.class).to(MockImplementation3.class); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1.class); + binder.bind(MockInterface2.class).to(MockImplementation2Sub1.class); + binder.bind(MockInterface3.class).to(MockImplementation3.class); }; DefaultInjector injector = new DefaultInjector(module); @@ -116,12 +106,9 @@ public class DefaultInjectorInjectionTest { @Test public void testConstructorInjection() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1.class); - binder.bind(MockInterface4.class).to(MockImplementation4.class); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1.class); + binder.bind(MockInterface4.class).to(MockImplementation4.class); }; DefaultInjector injector = new DefaultInjector(module); @@ -134,14 +121,11 @@ public class DefaultInjectorInjectionTest { @Test public void testConstructorInjection_Named() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1.class); - binder.bind(Key.get(MockInterface1.class, "one")).to(MockImplementation1Alt.class); - binder.bind(Key.get(MockInterface1.class, "two")).to(MockImplementation1Alt2.class); - binder.bind(MockInterface4.class).to(MockImplementation4Alt.class); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1.class); + binder.bind(Key.get(MockInterface1.class, "one")).to(MockImplementation1Alt.class); + binder.bind(Key.get(MockInterface1.class, "two")).to(MockImplementation1Alt2.class); + binder.bind(MockInterface4.class).to(MockImplementation4Alt.class); }; DefaultInjector injector = new DefaultInjector(module); @@ -154,15 +138,12 @@ public class DefaultInjectorInjectionTest { @Test public void testConstructorInjection_Named_Mixed() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1.class); - binder.bind(Key.get(MockInterface1.class, "one")).to(MockImplementation1Alt.class); - binder.bind(Key.get(MockInterface1.class, "two")).to(MockImplementation1Alt2.class); - binder.bind(MockInterface3.class).to(MockImplementation3.class); - binder.bind(MockInterface4.class).to(MockImplementation4Alt2.class); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1.class); + binder.bind(Key.get(MockInterface1.class, "one")).to(MockImplementation1Alt.class); + binder.bind(Key.get(MockInterface1.class, "two")).to(MockImplementation1Alt2.class); + binder.bind(MockInterface3.class).to(MockImplementation3.class); + binder.bind(MockInterface4.class).to(MockImplementation4Alt2.class); }; DefaultInjector injector = new DefaultInjector(module); @@ -175,12 +156,9 @@ public class DefaultInjectorInjectionTest { @Test public void testProviderInjection_Constructor() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1.class); - binder.bind(MockInterface2.class).to(MockImplementation2_ConstructorProvider.class); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1.class); + binder.bind(MockInterface2.class).to(MockImplementation2_ConstructorProvider.class); }; DefaultInjector injector = new DefaultInjector(module); @@ -191,14 +169,11 @@ public class DefaultInjectorInjectionTest { @Test public void testMapInjection_Empty() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1_MapConfiguration.class); + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1_MapConfiguration.class); - // empty map must be still bound - binder.bindMap(Object.class, "xyz"); - } + // empty map must be still bound + binder.bindMap(Object.class, "xyz"); }; DefaultInjector injector = new DefaultInjector(module); @@ -213,12 +188,9 @@ public class DefaultInjectorInjectionTest { public void mapInjectionDeprecated() { final String bindingName = "xyz"; final Object test = "test_map"; - Module module = new Module() { - @Override - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1_MapConfiguration.class); - binder.bindMap(bindingName).put("test", test).put("abc", "def"); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1_MapConfiguration.class); + binder.bindMap(bindingName).put("test", test).put("abc", "def"); }; DefaultInjector injector = new DefaultInjector(module); @@ -242,13 +214,10 @@ public class DefaultInjectorInjectionTest { @Test public void testMapInjection() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1_MapConfiguration.class); - binder.bindMap(Object.class,"xyz") - .put("x", "xvalue").put("y", "yvalue").put("x", "xvalue1"); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1_MapConfiguration.class); + binder.bindMap(Object.class,"xyz") + .put("x", "xvalue").put("y", "yvalue").put("x", "xvalue1"); }; DefaultInjector injector = new DefaultInjector(module); @@ -260,12 +229,9 @@ public class DefaultInjectorInjectionTest { @Test public void mapWithWildcardInjection() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1_MapWithWildcards.class); - binder.bindMap(Class.class).put("x", String.class).put("y", Integer.class).put("z", Object.class); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1_MapWithWildcards.class); + binder.bindMap(Class.class).put("x", String.class).put("y", Integer.class).put("z", Object.class); }; DefaultInjector injector = new DefaultInjector(module); @@ -287,15 +253,12 @@ public class DefaultInjectorInjectionTest { @Test public void testMapInjection_Resumed() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1_MapConfiguration.class); - // bind 1 - binder.bindMap(Object.class,"xyz").put("x", "xvalue").put("y", "yvalue"); - // second binding attempt to the same map... - binder.bindMap(Object.class,"xyz").put("z", "zvalue").put("x", "xvalue1"); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1_MapConfiguration.class); + // bind 1 + binder.bindMap(Object.class,"xyz").put("x", "xvalue").put("y", "yvalue"); + // second binding attempt to the same map... + binder.bindMap(Object.class,"xyz").put("z", "zvalue").put("x", "xvalue1"); }; DefaultInjector injector = new DefaultInjector(module); @@ -307,28 +270,20 @@ public class DefaultInjectorInjectionTest { @Test public void testMapInjection_OverrideExplicitlyBoundType() { - Module m1 = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface5.class).to(MockImplementation5.class); - binder.bind(MockInterface1.class).to(MockImplementation1_MapConfiguration.class); + Module m1 = binder -> { + binder.bind(MockInterface5.class).to(MockImplementation5.class); + binder.bind(MockInterface1.class).to(MockImplementation1_MapConfiguration.class); - binder.bindMap(Object.class, "xyz").put("a", MockInterface5.class); - } + binder.bindMap(Object.class, "xyz").put("a", MockInterface5.class); }; - Module m2 = new Module() { + Module m2 = binder -> binder.bind(MockInterface5.class).toInstance(new MockInterface5() { + @Override - public void configure(Binder binder) { - binder.bind(MockInterface5.class).toInstance(new MockInterface5() { - - @Override - public String toString() { - return "abc"; - } - }); + public String toString() { + return "abc"; } - }; + }); MockInterface1 service = new DefaultInjector(m1, m2).getInstance(MockInterface1.class); assertEquals("Map element was not overridden in submodule", ";a=abc", service.getName()); @@ -336,26 +291,18 @@ public class DefaultInjectorInjectionTest { @Test public void testMapInjection_OverrideImplicitlyBoundType() { - Module m1 = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1_MapConfiguration.class); - binder.bindMap(Object.class, "xyz").put("a", MockImplementation5.class); - } + Module m1 = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1_MapConfiguration.class); + binder.bindMap(Object.class, "xyz").put("a", MockImplementation5.class); }; - Module m2 = new Module() { + Module m2 = binder -> binder.bind(MockImplementation5.class).toInstance(new MockImplementation5() { + @Override - public void configure(Binder binder) { - binder.bind(MockImplementation5.class).toInstance(new MockImplementation5() { - - @Override - public String toString() { - return "abc"; - } - }); + public String toString() { + return "abc"; } - }; + }); MockInterface1 service = new DefaultInjector(m1, m2).getInstance(MockInterface1.class); assertEquals("Map element was not overridden in submodule", ";a=abc", service.getName()); @@ -363,12 +310,9 @@ public class DefaultInjectorInjectionTest { @Test public void testListInjection_addValue() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1_ListConfiguration.class); - binder.bindList(Object.class, "xyz").add("xvalue").add("yvalue"); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1_ListConfiguration.class); + binder.bindList(Object.class, "xyz").add("xvalue").add("yvalue"); }; DefaultInjector injector = new DefaultInjector(module); @@ -380,19 +324,16 @@ public class DefaultInjectorInjectionTest { @Test public void testListInjection_addOrderedValues() { - Module module = new Module() { - @Override - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1_ListConfiguration.class); - binder.bind(MockInterface5.class).to(MockImplementation5.class); - - binder.bindList(Object.class, "xyz") - .add("1value") - .add("2value") - .addAfter("5value", MockInterface5.class) - .insertBefore("3value", MockInterface5.class) - .add(MockInterface5.class); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1_ListConfiguration.class); + binder.bind(MockInterface5.class).to(MockImplementation5.class); + + binder.bindList(Object.class, "xyz") + .add("1value") + .add("2value") + .addAfter("5value", MockInterface5.class) + .insertBefore("3value", MockInterface5.class) + .add(MockInterface5.class); }; DefaultInjector injector = new DefaultInjector(module); @@ -404,29 +345,26 @@ public class DefaultInjectorInjectionTest { @Test public void testListInjection_addAllValues() { - Module module = new Module() { - @Override - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1_ListConfiguration.class); - - Collection<Object> firstList = new ArrayList<>(); - firstList.add("1value"); - firstList.add("2value"); - firstList.add("3value"); - - Collection<Object> secondList = new ArrayList<>(); - secondList.add("6value"); - secondList.add("7value"); - secondList.add("8value"); - - binder.bind(MockInterface5.class).to(MockImplementation5.class); - - binder.bindList(Object.class, "xyz") - .insertAllBefore(firstList, MockInterface5.class) - .addAllAfter(secondList, MockInterface5.class) - .add("5value") - .add(MockInterface5.class); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1_ListConfiguration.class); + + Collection<Object> firstList = new ArrayList<>(); + firstList.add("1value"); + firstList.add("2value"); + firstList.add("3value"); + + Collection<Object> secondList = new ArrayList<>(); + secondList.add("6value"); + secondList.add("7value"); + secondList.add("8value"); + + binder.bind(MockInterface5.class).to(MockImplementation5.class); + + binder.bindList(Object.class, "xyz") + .insertAllBefore(firstList, MockInterface5.class) + .addAllAfter(secondList, MockInterface5.class) + .add("5value") + .add(MockInterface5.class); }; DefaultInjector injector = new DefaultInjector(module); @@ -438,14 +376,11 @@ public class DefaultInjectorInjectionTest { @Test public void testListInjection_addType() { - Module module = new Module() { + Module module = binder -> { + binder.bind(MockInterface5.class).to(MockImplementation5.class); + binder.bind(MockInterface1.class).to(MockImplementation1_ListConfiguration.class); - public void configure(Binder binder) { - binder.bind(MockInterface5.class).to(MockImplementation5.class); - binder.bind(MockInterface1.class).to(MockImplementation1_ListConfiguration.class); - - binder.bindList(Object.class, "xyz").add(MockInterface5.class).add("yvalue"); - } + binder.bindList(Object.class, "xyz").add(MockInterface5.class).add("yvalue"); }; DefaultInjector injector = new DefaultInjector(module); @@ -457,20 +392,17 @@ public class DefaultInjectorInjectionTest { @Test public void testListInjection_addOrderedTypes() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1_ListConfiguration.class); - binder.bind(MockInterface5.class).to(MockImplementation5.class); - - binder.bindList(Object.class, "xyz") - .add("1value") - .insertBefore("5value", MockInterface5.class) - .add("2value") - .addAfter("6value", MockInterface5.class) - .add("3value") - .add(MockInterface5.class); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1_ListConfiguration.class); + binder.bind(MockInterface5.class).to(MockImplementation5.class); + + binder.bindList(Object.class, "xyz") + .add("1value") + .insertBefore("5value", MockInterface5.class) + .add("2value") + .addAfter("6value", MockInterface5.class) + .add("3value") + .add(MockInterface5.class); }; DefaultInjector injector = new DefaultInjector(module); @@ -482,12 +414,9 @@ public class DefaultInjectorInjectionTest { @Test public void testListInjection_addTypeWithBinding() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1_ListConfiguration.class); - binder.bindList(Object.class, "xyz").add(MockImplementation5.class).add("yvalue"); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1_ListConfiguration.class); + binder.bindList(Object.class, "xyz").add(MockImplementation5.class).add("yvalue"); }; DefaultInjector injector = new DefaultInjector(module); @@ -499,12 +428,9 @@ public class DefaultInjectorInjectionTest { @Test public void testListInjection_empty() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1_ListConfiguration.class); - binder.bindList(Object.class,"xyz"); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1_ListConfiguration.class); + binder.bindList(Object.class,"xyz"); }; DefaultInjector injector = new DefaultInjector(module); @@ -516,14 +442,11 @@ public class DefaultInjectorInjectionTest { @Test public void testListInjection_resumed() { - Module module = new Module() { + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1_ListConfiguration.class); - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1_ListConfiguration.class); - - binder.bindList(Object.class, "xyz").add("xvalue").add("yvalue"); - binder.bindList(Object.class, "xyz").add("avalue"); - } + binder.bindList(Object.class, "xyz").add("xvalue").add("yvalue"); + binder.bindList(Object.class, "xyz").add("avalue"); }; DefaultInjector injector = new DefaultInjector(module); @@ -535,51 +458,48 @@ public class DefaultInjectorInjectionTest { @Test public void testTypedListInjection() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1_ListConfigurationMock5.class); - binder.bind(MockInterface2.class).to(MockImplementation2_ListConfiguration.class); - - // Bind list for MockImplementation2_ListConfiguration - binder.bindList(Object.class,"xyz") - .add("xvalue") - .add("yvalue") - .add(MockImplementation5.class); - - // Bind list for MockImplementation1_ListConfigurationMock5 - binder.bindList(MockInterface5.class) - .add(MockImplementation5.class) - .add(new MockInterface5() { - @Override - public String toString() { - return "abc"; - } - }); - - binder.bindList(Object.class) - .add("avalue") - .add("bvalue") - .add(MockImplementation5.class); - - // Add to list for MockImplementation1_ListConfigurationMock5 - binder.bindList(MockInterface5.class) - .add(new MockInterface5() { - @Override - public String toString() { - return "cde"; - } - }); - - // Create named list for MockInterface5 - binder.bindList(MockInterface5.class, "another_binding") - .add(new MockInterface5() { - @Override - public String toString() { - return "fgh"; - } - }); - } + Module module = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1_ListConfigurationMock5.class); + binder.bind(MockInterface2.class).to(MockImplementation2_ListConfiguration.class); + + // Bind list for MockImplementation2_ListConfiguration + binder.bindList(Object.class,"xyz") + .add("xvalue") + .add("yvalue") + .add(MockImplementation5.class); + + // Bind list for MockImplementation1_ListConfigurationMock5 + binder.bindList(MockInterface5.class) + .add(MockImplementation5.class) + .add(new MockInterface5() { + @Override + public String toString() { + return "abc"; + } + }); + + binder.bindList(Object.class) + .add("avalue") + .add("bvalue") + .add(MockImplementation5.class); + + // Add to list for MockImplementation1_ListConfigurationMock5 + binder.bindList(MockInterface5.class) + .add(new MockInterface5() { + @Override + public String toString() { + return "cde"; + } + }); + + // Create named list for MockInterface5 + binder.bindList(MockInterface5.class, "another_binding") + .add(new MockInterface5() { + @Override + public String toString() { + return "fgh"; + } + }); }; DefaultInjector injector = new DefaultInjector(module); @@ -596,28 +516,20 @@ public class DefaultInjectorInjectionTest { @Test public void testListInjection_OverrideExplicitlyBoundType() { - Module m1 = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface5.class).to(MockImplementation5.class); - binder.bind(MockInterface1.class).to(MockImplementation1_ListConfiguration.class); + Module m1 = binder -> { + binder.bind(MockInterface5.class).to(MockImplementation5.class); + binder.bind(MockInterface1.class).to(MockImplementation1_ListConfiguration.class); - binder.bindList(Object.class, "xyz").add(MockInterface5.class); - } + binder.bindList(Object.class, "xyz").add(MockInterface5.class); }; - Module m2 = new Module() { + Module m2 = binder -> binder.bind(MockInterface5.class).toInstance(new MockInterface5() { + @Override - public void configure(Binder binder) { - binder.bind(MockInterface5.class).toInstance(new MockInterface5() { - - @Override - public String toString() { - return "abc"; - } - }); + public String toString() { + return "abc"; } - }; + }); MockInterface1 service = new DefaultInjector(m1, m2).getInstance(MockInterface1.class); assertEquals("List element was not overridden in submodule", ";abc", service.getName()); @@ -625,26 +537,18 @@ public class DefaultInjectorInjectionTest { @Test public void testListInjection_OverrideImplicitlyBoundType() { - Module m1 = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1_ListConfiguration.class); - binder.bindList(Object.class, "xyz").add(MockImplementation5.class); - } + Module m1 = binder -> { + binder.bind(MockInterface1.class).to(MockImplementation1_ListConfiguration.class); + binder.bindList(Object.class, "xyz").add(MockImplementation5.class); }; - Module m2 = new Module() { + Module m2 = binder -> binder.bind(MockImplementation5.class).toInstance(new MockImplementation5() { + @Override - public void configure(Binder binder) { - binder.bind(MockImplementation5.class).toInstance(new MockImplementation5() { - - @Override - public String toString() { - return "abc"; - } - }); + public String toString() { + return "abc"; } - }; + }); MockInterface1 service = new DefaultInjector(m1, m2).getInstance(MockInterface1.class); assertEquals("List element was not overridden in submodule", ";abc", service.getName()); @@ -653,13 +557,8 @@ public class DefaultInjectorInjectionTest { @Test public void testInjectorInjection() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to( - MockImplementation1_WithInjector.class); - } - }; + Module module = binder -> binder.bind(MockInterface1.class).to( + MockImplementation1_WithInjector.class); DefaultInjector injector = new DefaultInjector(module); http://git-wip-us.apache.org/repos/asf/cayenne/blob/3fc09431/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorScopeTest.java ---------------------------------------------------------------------- diff --git a/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorScopeTest.java b/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorScopeTest.java index 932b728..bd10ddb 100644 --- a/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorScopeTest.java +++ b/cayenne-di/src/test/java/org/apache/cayenne/di/spi/DefaultInjectorScopeTest.java @@ -19,7 +19,6 @@ package org.apache.cayenne.di.spi; import org.apache.cayenne.di.BeforeScopeEnd; -import org.apache.cayenne.di.Binder; import org.apache.cayenne.di.Module; import org.apache.cayenne.di.mock.MockImplementation1; import org.apache.cayenne.di.mock.MockImplementation1_EventAnnotations; @@ -27,24 +26,14 @@ import org.apache.cayenne.di.mock.MockImplementation1_Provider; import org.apache.cayenne.di.mock.MockInterface1; import org.junit.Test; -import static org.junit.Assert.assertEquals; -import static org.junit.Assert.assertFalse; -import static org.junit.Assert.assertNotNull; -import static org.junit.Assert.assertNotSame; -import static org.junit.Assert.assertSame; -import static org.junit.Assert.assertTrue; +import static org.junit.Assert.*; public class DefaultInjectorScopeTest { @Test public void testDefaultScope_IsSingleton() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to(MockImplementation1.class); - } - }; + Module module = binder -> binder.bind(MockInterface1.class).to(MockImplementation1.class); DefaultInjector injector = new DefaultInjector(module); @@ -63,15 +52,10 @@ public class DefaultInjectorScopeTest { @Test public void testNoScope() { - Module module = new Module() { - - public void configure(Binder binder) { - binder - .bind(MockInterface1.class) - .to(MockImplementation1.class) - .withoutScope(); - } - }; + Module module = binder -> binder + .bind(MockInterface1.class) + .to(MockImplementation1.class) + .withoutScope(); DefaultInjector injector = new DefaultInjector(module); @@ -91,15 +75,10 @@ public class DefaultInjectorScopeTest { @Test public void testSingletonScope() { - Module module = new Module() { - - public void configure(Binder binder) { - binder - .bind(MockInterface1.class) - .to(MockImplementation1.class) - .inSingletonScope(); - } - }; + Module module = binder -> binder + .bind(MockInterface1.class) + .to(MockImplementation1.class) + .inSingletonScope(); DefaultInjector injector = new DefaultInjector(module); @@ -120,13 +99,8 @@ public class DefaultInjectorScopeTest { MockImplementation1_EventAnnotations.reset(); - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).to( - MockImplementation1_EventAnnotations.class).inSingletonScope(); - } - }; + Module module = binder -> binder.bind(MockInterface1.class).to( + MockImplementation1_EventAnnotations.class).inSingletonScope(); DefaultInjector injector = new DefaultInjector(module); @@ -147,13 +121,10 @@ public class DefaultInjectorScopeTest { @Test public void testSingletonScope_WithProvider() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).toProvider( - MockImplementation1_Provider.class).inSingletonScope(); - } - }; + Module module = binder -> binder + .bind(MockInterface1.class) + .toProvider(MockImplementation1_Provider.class) + .inSingletonScope(); DefaultInjector injector = new DefaultInjector(module); @@ -172,13 +143,9 @@ public class DefaultInjectorScopeTest { @Test public void testNoScope_WithProvider() { - Module module = new Module() { - - public void configure(Binder binder) { - binder.bind(MockInterface1.class).toProvider( - MockImplementation1_Provider.class).withoutScope(); - } - }; + Module module = binder -> binder + .bind(MockInterface1.class) + .toProvider(MockImplementation1_Provider.class).withoutScope(); DefaultInjector injector = new DefaultInjector(module);