This is an automated email from the ASF dual-hosted git repository.
ntimofeev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git
The following commit(s) were added to refs/heads/master by this push:
new b4f4195fa CAY-2803 Test infrastructure: declarative custom DI modules
in ServerCase
b4f4195fa is described below
commit b4f4195fa26a5b35f7ace450c77ae2b943a4c67e
Author: Nikita Timofeev <[email protected]>
AuthorDate: Tue Mar 14 15:36:07 2023 +0300
CAY-2803 Test infrastructure: declarative custom DI modules in ServerCase
---
RELEASE-NOTES.txt | 1 +
.../java/org/apache/cayenne/gen/CgenCaseModule.java | 4 ++--
.../org/apache/cayenne/dbsync/merge/MergeCase.java | 4 ++--
.../apache/cayenne/jcache/CayenneJCacheModuleIT.java | 11 +++++------
.../cayenne/CDOReflexiveRelICustomSorterIT.java | 8 +++-----
.../access/DataContextDataChannelEventsIT.java | 4 ++--
.../access/DataContextDelegateSharedCacheIT.java | 4 ++--
...ntityWithMeaningfulPKAndCustomDbRowOpSorterIT.java | 12 ++++--------
.../cayenne/access/DataContextSharedCacheIT.java | 4 ++--
.../access/NestedDataContextParentEventsIT.java | 4 ++--
.../access/NestedDataContextParentPeerEventsIT.java | 4 ++--
.../cayenne/access/NestedDataContextPeerEventsIT.java | 4 ++--
.../{InjectExtraModules.java => ExtraModules.java} | 12 ++++++------
...lesProperties.java => ServerCaseExtraModules.java} | 12 +++++-------
.../unit/di/server/ServerCaseLifecycleManager.java | 19 ++++++++++---------
.../cayenne/unit/di/server/ServerCaseModule.java | 2 +-
.../cayenne/unit/di/server/ServerRuntimeProvider.java | 9 ++++-----
.../di/server/ServerRuntimeProviderContextsSync.java | 2 +-
.../WeakReferenceStrategyServerRuntimeProvider.java | 2 +-
19 files changed, 57 insertions(+), 65 deletions(-)
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index 77fdda982..292828144 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -38,6 +38,7 @@ CAY-2784 Remove 'Use Java primitive types' option from
dbimport
CAY-2788 DbImport: Add fallback option for the batch attribute loader
CAY-2795 Add unit tests for the Json type
CAY-2802 Upgrade Gradle to 7.6.1
+CAY-2803 Test infrastructure: declarative custom DI modules in ServerCase
Bug Fixes:
diff --git
a/cayenne-cgen/src/test/java/org/apache/cayenne/gen/CgenCaseModule.java
b/cayenne-cgen/src/test/java/org/apache/cayenne/gen/CgenCaseModule.java
index 7ac4dc21b..96add5808 100644
--- a/cayenne-cgen/src/test/java/org/apache/cayenne/gen/CgenCaseModule.java
+++ b/cayenne-cgen/src/test/java/org/apache/cayenne/gen/CgenCaseModule.java
@@ -24,7 +24,7 @@ import org.apache.cayenne.di.Module;
import org.apache.cayenne.di.spi.DefaultScope;
import org.apache.cayenne.gen.mock.CustomPropertyDescriptor;
import org.apache.cayenne.unit.di.UnitTestLifecycleManager;
-import org.apache.cayenne.unit.di.server.ServerCaseExtraModulesProperties;
+import org.apache.cayenne.unit.di.server.ServerCaseExtraModules;
import org.apache.cayenne.unit.di.server.ServerCaseLifecycleManager;
import org.apache.cayenne.unit.di.server.ServerCaseProperties;
@@ -42,7 +42,7 @@ public class CgenCaseModule implements Module {
public void configure(Binder binder) {
binder.bind(UnitTestLifecycleManager.class).toInstance(new
ServerCaseLifecycleManager(testScope));
binder.bind(ServerCaseProperties.class).to(ServerCaseProperties.class).in(testScope);
-
binder.bind(ServerCaseExtraModulesProperties.class).to(ServerCaseExtraModulesProperties.class).in(testScope);
+
binder.bind(ServerCaseExtraModules.class).to(ServerCaseExtraModules.class).in(testScope);
CgenModule.contributeUserProperties(binder)
.add(CustomPropertyDescriptor.class);
diff --git
a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/MergeCase.java
b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/MergeCase.java
index ad9887ccc..0aae52c12 100644
---
a/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/MergeCase.java
+++
b/cayenne-dbsync/src/test/java/org/apache/cayenne/dbsync/merge/MergeCase.java
@@ -46,7 +46,7 @@ import org.apache.cayenne.map.EntityResolver;
import org.apache.cayenne.test.jdbc.DBHelper;
import org.apache.cayenne.unit.UnitDbAdapter;
import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.InjectExtraModules;
+import org.apache.cayenne.unit.di.server.ExtraModules;
import org.apache.cayenne.unit.di.server.ServerCase;
import org.apache.cayenne.unit.di.server.ServerCaseDataSourceFactory;
import org.apache.cayenne.unit.di.server.UseServerRuntime;
@@ -64,7 +64,7 @@ import java.util.List;
import static org.junit.Assert.assertEquals;
@UseServerRuntime(CayenneProjects.TESTMAP_PROJECT)
-@InjectExtraModules(extraModules = {DbSyncModule.class})
+@ExtraModules(DbSyncModule.class)
public abstract class MergeCase extends ServerCase {
@Inject
diff --git
a/cayenne-jcache/src/test/java/org/apache/cayenne/jcache/CayenneJCacheModuleIT.java
b/cayenne-jcache/src/test/java/org/apache/cayenne/jcache/CayenneJCacheModuleIT.java
index 6c9758408..bd3c2e3d8 100644
---
a/cayenne-jcache/src/test/java/org/apache/cayenne/jcache/CayenneJCacheModuleIT.java
+++
b/cayenne-jcache/src/test/java/org/apache/cayenne/jcache/CayenneJCacheModuleIT.java
@@ -32,7 +32,7 @@ import org.apache.cayenne.test.jdbc.DBHelper;
import org.apache.cayenne.test.jdbc.TableHelper;
import org.apache.cayenne.testdo.testmap.Artist;
import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.InjectExtraModules;
+import org.apache.cayenne.unit.di.server.ExtraModules;
import org.apache.cayenne.unit.di.server.ServerCase;
import org.apache.cayenne.unit.di.server.UseServerRuntime;
import org.junit.Before;
@@ -41,11 +41,12 @@ import org.junit.Test;
import javax.cache.CacheManager;
import java.net.URISyntaxException;
+import java.util.Objects;
import static org.junit.Assert.assertEquals;
@UseServerRuntime(CayenneProjects.TESTMAP_PROJECT)
-@InjectExtraModules(extraModules =
{CayenneJCacheModuleIT.CustomServerCase.class})
+@ExtraModules(CayenneJCacheModuleIT.EhCacheModule.class)
public class CayenneJCacheModuleIT extends ServerCase {
@Inject
@@ -93,9 +94,7 @@ public class CayenneJCacheModuleIT extends ServerCase {
assertEquals(4, g2.select(context).size());
}
- protected static class CustomServerCase implements Module {
- public CustomServerCase() {}
-
+ public static class EhCacheModule implements Module {
@Override
public void configure(Binder binder) {
binder.bind(CacheManager.class).toProvider(JCacheManagerProvider.class);
@@ -104,7 +103,7 @@ public class CayenneJCacheModuleIT extends ServerCase {
String configURI;
try {
- configURI =
getClass().getResource("/eh-cache.xml").toURI().toString();
+ configURI =
Objects.requireNonNull(getClass().getResource("/eh-cache.xml")).toURI().toString();
} catch (URISyntaxException e) {
throw new CayenneRuntimeException("Unable to resolve ehcache
config resource URI.");
}
diff --git
a/cayenne-server/src/test/java/org/apache/cayenne/CDOReflexiveRelICustomSorterIT.java
b/cayenne-server/src/test/java/org/apache/cayenne/CDOReflexiveRelICustomSorterIT.java
index b3a28e21a..65a81b9ca 100644
---
a/cayenne-server/src/test/java/org/apache/cayenne/CDOReflexiveRelICustomSorterIT.java
+++
b/cayenne-server/src/test/java/org/apache/cayenne/CDOReflexiveRelICustomSorterIT.java
@@ -23,7 +23,7 @@ import
org.apache.cayenne.access.flush.operation.DbRowOpSorter;
import org.apache.cayenne.access.flush.operation.GraphBasedDbRowOpSorter;
import org.apache.cayenne.di.Binder;
import org.apache.cayenne.di.Inject;
-import org.apache.cayenne.unit.di.server.InjectExtraModules;
+import org.apache.cayenne.unit.di.server.ExtraModules;
import org.apache.cayenne.di.Module;
import org.apache.cayenne.query.ObjectSelect;
import org.apache.cayenne.testdo.testmap.ArtGroup;
@@ -38,7 +38,7 @@ import org.junit.Ignore;
import org.junit.Test;
@UseServerRuntime(CayenneProjects.TESTMAP_PROJECT)
-@InjectExtraModules(extraModules =
{CDOReflexiveRelICustomSorterIT.CustomServerCase.class})
+@ExtraModules(CDOReflexiveRelICustomSorterIT.GraphSorterModule.class)
public class CDOReflexiveRelICustomSorterIT extends ServerCase {
@Inject
private ObjectContext context;
@@ -194,9 +194,7 @@ public class CDOReflexiveRelICustomSorterIT extends
ServerCase {
context.commitChanges();
}
- protected static class CustomServerCase implements Module {
- public CustomServerCase() {}
-
+ public static class GraphSorterModule implements Module {
@Override
public void configure(Binder binder) {
binder.bind(DbRowOpSorter.class).to(GraphBasedDbRowOpSorter.class);
diff --git
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java
index 32da7c542..ca9d5512f 100644
---
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java
+++
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDataChannelEventsIT.java
@@ -29,7 +29,7 @@ import org.apache.cayenne.graph.GraphEvent;
import org.apache.cayenne.test.parallel.ParallelTestContainer;
import org.apache.cayenne.testdo.testmap.Artist;
import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.InjectExtraModules;
+import org.apache.cayenne.unit.di.server.ExtraModules;
import org.apache.cayenne.unit.di.server.ServerCase;
import org.apache.cayenne.unit.di.server.UseServerRuntime;
import org.apache.cayenne.util.EventUtil;
@@ -42,7 +42,7 @@ import static org.junit.Assert.assertTrue;
* Tests that DataContext sends DataChannel events.
*/
@UseServerRuntime(CayenneProjects.TESTMAP_PROJECT)
-@InjectExtraModules(extraModules = {ServerCaseSyncModule.class})
+@ExtraModules(ServerCaseSyncModule.class)
public class DataContextDataChannelEventsIT extends ServerCase {
@Inject
diff --git
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java
index 4d05f83f7..4a0800c92 100644
---
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java
+++
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextDelegateSharedCacheIT.java
@@ -29,7 +29,7 @@ import org.apache.cayenne.di.Inject;
import org.apache.cayenne.test.parallel.ParallelTestContainer;
import org.apache.cayenne.testdo.testmap.Artist;
import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.InjectExtraModules;
+import org.apache.cayenne.unit.di.server.ExtraModules;
import org.apache.cayenne.unit.di.server.ServerCase;
import org.apache.cayenne.unit.di.server.UseServerRuntime;
import org.junit.Before;
@@ -42,7 +42,7 @@ import static org.junit.Assert.assertNotSame;
import static org.junit.Assert.assertTrue;
@UseServerRuntime(CayenneProjects.TESTMAP_PROJECT)
-@InjectExtraModules(extraModules = {ServerCaseSyncModule.class})
+@ExtraModules(ServerCaseSyncModule.class)
public class DataContextDelegateSharedCacheIT extends ServerCase {
@Inject
diff --git
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKAndCustomDbRowOpSorterIT.java
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKAndCustomDbRowOpSorterIT.java
index 6989e8463..b38198f2f 100644
---
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKAndCustomDbRowOpSorterIT.java
+++
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextEntityWithMeaningfulPKAndCustomDbRowOpSorterIT.java
@@ -29,19 +29,17 @@ import
org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKDep;
import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPKTest1;
import org.apache.cayenne.testdo.meaningful_pk.MeaningfulPk;
import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.InjectExtraModules;
+import org.apache.cayenne.unit.di.server.ExtraModules;
import org.apache.cayenne.unit.di.server.ServerCase;
import org.apache.cayenne.unit.di.server.UseServerRuntime;
import org.junit.Test;
@UseServerRuntime(CayenneProjects.MEANINGFUL_PK_PROJECT)
-@InjectExtraModules(extraModules =
{DataContextEntityWithMeaningfulPKAndCustomDbRowOpSorterIT.CustomServerCase.class})
+@ExtraModules(DataContextEntityWithMeaningfulPKAndCustomDbRowOpSorterIT.GraphSorterModule.class)
public class DataContextEntityWithMeaningfulPKAndCustomDbRowOpSorterIT extends
ServerCase {
- @Inject
- private DataContext context;
@Inject
- private ServerRuntime runtime;
+ private DataContext context;
@Test
public void testInsertDelete() {
@@ -83,9 +81,7 @@ public class
DataContextEntityWithMeaningfulPKAndCustomDbRowOpSorterIT extends S
context.commitChanges();
}
- protected static class CustomServerCase implements Module {
- public CustomServerCase() {}
-
+ public static class GraphSorterModule implements Module {
@Override
public void configure(Binder binder) {
binder.bind(DbRowOpSorter.class).to(GraphBasedDbRowOpSorter.class);
diff --git
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java
index a692f06a0..b18a0ff4b 100644
---
a/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java
+++
b/cayenne-server/src/test/java/org/apache/cayenne/access/DataContextSharedCacheIT.java
@@ -36,7 +36,7 @@ import org.apache.cayenne.test.parallel.ParallelTestContainer;
import org.apache.cayenne.testdo.testmap.Artist;
import org.apache.cayenne.testdo.testmap.Painting;
import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.InjectExtraModules;
+import org.apache.cayenne.unit.di.server.ExtraModules;
import org.apache.cayenne.unit.di.server.ServerCase;
import org.apache.cayenne.unit.di.server.UseServerRuntime;
import org.apache.cayenne.unit.util.SQLTemplateCustomizer;
@@ -50,7 +50,7 @@ import static org.junit.Assert.*;
* DataDomain.
*/
@UseServerRuntime(CayenneProjects.TESTMAP_PROJECT)
-@InjectExtraModules(extraModules = {ServerCaseSyncModule.class})
+@ExtraModules(ServerCaseSyncModule.class)
public class DataContextSharedCacheIT extends ServerCase {
@Inject
diff --git
a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java
b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java
index d96793a67..e341d1cb7 100644
---
a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java
+++
b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentEventsIT.java
@@ -26,7 +26,7 @@ import org.apache.cayenne.di.Inject;
import org.apache.cayenne.test.parallel.ParallelTestContainer;
import org.apache.cayenne.testdo.testmap.Artist;
import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.InjectExtraModules;
+import org.apache.cayenne.unit.di.server.ExtraModules;
import org.apache.cayenne.unit.di.server.ServerCase;
import org.apache.cayenne.unit.di.server.UseServerRuntime;
import org.junit.Test;
@@ -37,7 +37,7 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
@UseServerRuntime(CayenneProjects.TESTMAP_PROJECT)
-@InjectExtraModules(extraModules = {ServerCaseSyncModule.class})
+@ExtraModules(ServerCaseSyncModule.class)
public class NestedDataContextParentEventsIT extends ServerCase {
@Inject
diff --git
a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java
b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java
index d3aadfea9..ba437841c 100644
---
a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java
+++
b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextParentPeerEventsIT.java
@@ -27,7 +27,7 @@ import org.apache.cayenne.test.parallel.ParallelTestContainer;
import org.apache.cayenne.testdo.relationships_child_master.Child;
import org.apache.cayenne.testdo.relationships_child_master.Master;
import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.InjectExtraModules;
+import org.apache.cayenne.unit.di.server.ExtraModules;
import org.apache.cayenne.unit.di.server.ServerCase;
import org.apache.cayenne.unit.di.server.UseServerRuntime;
import org.junit.Test;
@@ -39,7 +39,7 @@ import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
@UseServerRuntime(CayenneProjects.RELATIONSHIPS_CHILD_MASTER_PROJECT)
-@InjectExtraModules(extraModules = {ServerCaseSyncModule.class})
+@ExtraModules(ServerCaseSyncModule.class)
public class NestedDataContextParentPeerEventsIT extends ServerCase {
@Inject
diff --git
a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java
b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java
index 98c790d82..7cd590c62 100644
---
a/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java
+++
b/cayenne-server/src/test/java/org/apache/cayenne/access/NestedDataContextPeerEventsIT.java
@@ -28,7 +28,7 @@ import org.apache.cayenne.test.parallel.ParallelTestContainer;
import org.apache.cayenne.testdo.testmap.Artist;
import org.apache.cayenne.testdo.testmap.Painting;
import org.apache.cayenne.unit.di.server.CayenneProjects;
-import org.apache.cayenne.unit.di.server.InjectExtraModules;
+import org.apache.cayenne.unit.di.server.ExtraModules;
import org.apache.cayenne.unit.di.server.ServerCase;
import org.apache.cayenne.unit.di.server.UseServerRuntime;
import org.junit.Test;
@@ -39,7 +39,7 @@ import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
@UseServerRuntime(CayenneProjects.TESTMAP_PROJECT)
-@InjectExtraModules(extraModules = {ServerCaseSyncModule.class})
+@ExtraModules(ServerCaseSyncModule.class)
public class NestedDataContextPeerEventsIT extends ServerCase {
@Inject
diff --git
a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/InjectExtraModules.java
b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ExtraModules.java
similarity index 94%
rename from
cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/InjectExtraModules.java
rename to
cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ExtraModules.java
index acb5eb907..876c98928 100644
---
a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/InjectExtraModules.java
+++
b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ExtraModules.java
@@ -26,15 +26,15 @@ import java.lang.annotation.Target;
import static java.lang.annotation.ElementType.TYPE;
import static java.lang.annotation.RetentionPolicy.RUNTIME;
-@Retention(RUNTIME)
-@Target(TYPE)
-@Documented
-@Inherited
/**
* Annotation provides the ability to add additional modules in declarative way
*
* @since 5.0
*/
-public @interface InjectExtraModules {
- Class[] extraModules() default {};
+@Retention(RUNTIME)
+@Target(TYPE)
+@Documented
+@Inherited
+public @interface ExtraModules {
+ Class<?>[] value();
}
diff --git
a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseExtraModulesProperties.java
b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseExtraModules.java
similarity index 79%
rename from
cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseExtraModulesProperties.java
rename to
cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseExtraModules.java
index 8df2c83dc..229848a50 100644
---
a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseExtraModulesProperties.java
+++
b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseExtraModules.java
@@ -20,30 +20,28 @@ package org.apache.cayenne.unit.di.server;
import org.apache.cayenne.di.Module;
-import java.lang.reflect.InvocationTargetException;
import java.util.ArrayList;
import java.util.Collection;
/**
* @since 5.0
*/
-public class ServerCaseExtraModulesProperties {
- protected Class[] extraModules;
+public class ServerCaseExtraModules {
+ protected Class<?>[] extraModules;
public Collection<? extends Module> getExtraModules() {
Collection<Module> result = new ArrayList<>();
- for (Class extraModule : extraModules) {
+ for (Class<?> extraModule : extraModules) {
try {
result.add((Module)
extraModule.getConstructor().newInstance());
- } catch (InstantiationException | IllegalAccessException |
- InvocationTargetException | NoSuchMethodException e) {
+ } catch (Exception e) {
throw new RuntimeException(e);
}
}
return result;
}
- public void setExtraModules(Class[] extraModules) {
+ public void setExtraModules(Class<?>[] extraModules) {
this.extraModules = extraModules;
}
}
diff --git
a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseLifecycleManager.java
b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseLifecycleManager.java
index 09117212d..c1fc27749 100644
---
a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseLifecycleManager.java
+++
b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseLifecycleManager.java
@@ -29,7 +29,7 @@ public class ServerCaseLifecycleManager extends
DefaultUnitTestLifecycleManager
protected Provider<ServerCaseProperties> propertiesProvider;
@Inject
- protected Provider<ServerCaseExtraModulesProperties>
extraModulesPropertiesProvider;
+ protected Provider<ServerCaseExtraModules> extraModulesProvider;
public ServerCaseLifecycleManager(DefaultScope scope) {
super(scope);
@@ -39,17 +39,18 @@ public class ServerCaseLifecycleManager extends
DefaultUnitTestLifecycleManager
public <T> void setUp(T testCase) {
// init current runtime
- UseServerRuntime runtimeName = testCase.getClass().getAnnotation(
- UseServerRuntime.class);
+ UseServerRuntime runtimeName =
testCase.getClass().getAnnotation(UseServerRuntime.class);
+ ExtraModules extraModules =
testCase.getClass().getAnnotation(ExtraModules.class);
- InjectExtraModules injectExtraModules =
testCase.getClass().getAnnotation(
- InjectExtraModules.class);
-
- String location = runtimeName != null ? runtimeName.value() : null;
+ String location = runtimeName != null
+ ? runtimeName.value()
+ : null;
propertiesProvider.get().setConfigurationLocation(location);
- Class[] modules = injectExtraModules != null ?
injectExtraModules.extraModules() : new Class[]{};
- extraModulesPropertiesProvider.get().setExtraModules(modules);
+ Class<?>[] modules = extraModules != null
+ ? extraModules.value()
+ : new Class[]{};
+ extraModulesProvider.get().setExtraModules(modules);
super.setUp(testCase);
}
diff --git
a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseModule.java
b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseModule.java
index a5dff1261..db88c7763 100644
---
a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseModule.java
+++
b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerCaseModule.java
@@ -262,7 +262,7 @@ public class ServerCaseModule implements Module {
binder.bind(EntityResolver.class).toProvider(ServerCaseEntityResolverProvider.class).in(testScope);
binder.bind(DataNode.class).toProvider(ServerCaseDataNodeProvider.class).in(testScope);
binder.bind(ServerCaseProperties.class).to(ServerCaseProperties.class).in(testScope);
-
binder.bind(ServerCaseExtraModulesProperties.class).to(ServerCaseExtraModulesProperties.class).in(testScope);
+
binder.bind(ServerCaseExtraModules.class).to(ServerCaseExtraModules.class).in(testScope);
binder.bind(ServerRuntime.class).toProvider(ServerRuntimeProvider.class).in(testScope);
binder.bind(ObjectContext.class).toProvider(ServerCaseObjectContextProvider.class).withoutScope();
binder.bind(DataContext.class).toProvider(ServerCaseDataContextProvider.class).withoutScope();
diff --git
a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerRuntimeProvider.java
b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerRuntimeProvider.java
index 4a1da6a75..733a52940 100644
---
a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerRuntimeProvider.java
+++
b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerRuntimeProvider.java
@@ -38,20 +38,20 @@ import java.util.Collections;
public class ServerRuntimeProvider implements Provider<ServerRuntime> {
private ServerCaseProperties properties;
- private ServerCaseExtraModulesProperties extraModulesProperties;
+ private ServerCaseExtraModules extraModules;
private ServerCaseDataSourceFactory dataSourceFactory;
private UnitDbAdapter unitDbAdapter;
private Provider<DbAdapter> dbAdapterProvider;
public ServerRuntimeProvider(@Inject ServerCaseDataSourceFactory
dataSourceFactory,
@Inject ServerCaseProperties properties,
- @Inject ServerCaseExtraModulesProperties extraModulesProperties,
+ @Inject ServerCaseExtraModules extraModules,
@Inject Provider<DbAdapter> dbAdapterProvider,
@Inject UnitDbAdapter unitDbAdapter) {
this.dataSourceFactory = dataSourceFactory;
this.properties = properties;
- this.extraModulesProperties = extraModulesProperties;
+ this.extraModules = extraModules;
this.dbAdapterProvider = dbAdapterProvider;
this.unitDbAdapter = unitDbAdapter;
}
@@ -66,8 +66,7 @@ public class ServerRuntimeProvider implements
Provider<ServerRuntime> {
}
Collection<Module> modules = new ArrayList<>(getExtraModules());
-
- modules.addAll(extraModulesProperties.getExtraModules());
+ modules.addAll(extraModules.getExtraModules());
return ServerRuntime.builder()
.addConfig(configurationLocation)
diff --git
a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerRuntimeProviderContextsSync.java
b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerRuntimeProviderContextsSync.java
index 7b1545207..f20ba38c5 100644
---
a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerRuntimeProviderContextsSync.java
+++
b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/ServerRuntimeProviderContextsSync.java
@@ -35,7 +35,7 @@ public class ServerRuntimeProviderContextsSync extends
ServerRuntimeProvider {
public ServerRuntimeProviderContextsSync(@Inject
ServerCaseDataSourceFactory dataSourceFactory,
@Inject ServerCaseProperties
properties,
- @Inject
ServerCaseExtraModulesProperties extraModulesProperties,
+ @Inject ServerCaseExtraModules
extraModulesProperties,
@Inject Provider<DbAdapter>
dbAdapterProvider,
@Inject UnitDbAdapter
unitDbAdapter) {
super(dataSourceFactory, properties, extraModulesProperties,
dbAdapterProvider, unitDbAdapter);
diff --git
a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/WeakReferenceStrategyServerRuntimeProvider.java
b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/WeakReferenceStrategyServerRuntimeProvider.java
index c07cf9d22..0e271ddc6 100644
---
a/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/WeakReferenceStrategyServerRuntimeProvider.java
+++
b/cayenne-server/src/test/java/org/apache/cayenne/unit/di/server/WeakReferenceStrategyServerRuntimeProvider.java
@@ -33,7 +33,7 @@ public class WeakReferenceStrategyServerRuntimeProvider
extends ServerRuntimePro
public WeakReferenceStrategyServerRuntimeProvider(@Inject
ServerCaseDataSourceFactory dataSourceFactory,
@Inject
ServerCaseProperties properties,
- @Inject
ServerCaseExtraModulesProperties extraModulesProperties,
+ @Inject
ServerCaseExtraModules extraModulesProperties,
@Inject
Provider<DbAdapter> dbAdapterProvider,
@Inject UnitDbAdapter
unitDbAdapter) {
super(dataSourceFactory, properties, extraModulesProperties,
dbAdapterProvider, unitDbAdapter);