You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2019/12/07 08:02:31 UTC

[isis] 01/05: ISIS-2217: renames Module to ModuleWithFixtures

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 5fddbb80610c03dd61fa3b1647da6efbd61b07cd
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Dec 6 16:06:42 2019 +0000

    ISIS-2217: renames Module to ModuleWithFixtures
---
 .../fixture/IsisModuleExtFakeDataFixtures.java     |  4 +--
 .../fixtures/modules/ModuleFixtureService.java     | 20 ++++++-------
 .../extensions/fixtures/modules/ModuleService.java | 34 +++++++++++-----------
 .../{Module.java => ModuleWithFixtures.java}       |  6 ++--
 4 files changed, 31 insertions(+), 33 deletions(-)

diff --git a/extensions/lib/fakedata/fixture/src/main/java/org/isisaddons/module/fakedata/fixture/IsisModuleExtFakeDataFixtures.java b/extensions/lib/fakedata/fixture/src/main/java/org/isisaddons/module/fakedata/fixture/IsisModuleExtFakeDataFixtures.java
index b0eb901..2e2aea4 100644
--- a/extensions/lib/fakedata/fixture/src/main/java/org/isisaddons/module/fakedata/fixture/IsisModuleExtFakeDataFixtures.java
+++ b/extensions/lib/fakedata/fixture/src/main/java/org/isisaddons/module/fakedata/fixture/IsisModuleExtFakeDataFixtures.java
@@ -1,7 +1,7 @@
 package org.isisaddons.module.fakedata.fixture;
 
 import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScript;
-import org.apache.isis.extensions.fixtures.modules.Module;
+import org.apache.isis.extensions.fixtures.modules.ModuleWithFixtures;
 import org.apache.isis.extensions.fakedata.dom.IsisModuleExtFakeData;
 import org.isisaddons.module.fakedata.fixture.demoapp.demomodule.fixturescripts.FakeDataDemoObjectWithAll_tearDown;
 import org.springframework.context.annotation.ComponentScan;
@@ -13,7 +13,7 @@ import org.springframework.context.annotation.Import;
         IsisModuleExtFakeData.class
 })
 @ComponentScan
-public class IsisModuleExtFakeDataFixtures implements Module {
+public class IsisModuleExtFakeDataFixtures implements ModuleWithFixtures {
 
     @Override public FixtureScript getTeardownFixture() {
         return new FakeDataDemoObjectWithAll_tearDown();
diff --git a/extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/modules/ModuleFixtureService.java b/extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/modules/ModuleFixtureService.java
index 82aadb8..24a080f 100644
--- a/extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/modules/ModuleFixtureService.java
+++ b/extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/modules/ModuleFixtureService.java
@@ -7,8 +7,6 @@ import java.util.List;
 
 import javax.inject.Named;
 
-import org.apache.isis.applib.annotation.DomainService;
-import org.apache.isis.applib.annotation.NatureOfService;
 import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScript;
 import org.springframework.stereotype.Service;
 
@@ -27,11 +25,11 @@ public class ModuleFixtureService {
         return new FixtureScript() {
             @Override
             protected void execute(final ExecutionContext executionContext) {
-                final List<ModuleService.ModuleDescriptor> modules = moduleService.modules();
+                final List<ModuleService.ModuleWithFixturesDescriptor> descriptors = moduleService.modules();
                 executionContext.executeChildren(this,
-                        modules.stream()
-                        .map(ModuleService.ModuleDescriptor::getModule)
-                        .map(Module::getRefDataSetupFixture));
+                        descriptors.stream()
+                        .map(ModuleService.ModuleWithFixturesDescriptor::getModule)
+                        .map(ModuleWithFixtures::getRefDataSetupFixture));
             }
         };
     }
@@ -40,12 +38,12 @@ public class ModuleFixtureService {
         return new FixtureScript() {
             @Override
             protected void execute(final ExecutionContext executionContext) {
-                final List<ModuleService.ModuleDescriptor> modules = moduleService.modules();
-                Collections.reverse(modules);
+                final List<ModuleService.ModuleWithFixturesDescriptor> descriptors = moduleService.modules();
+                Collections.reverse(descriptors);
                 executionContext.executeChildren(this,
-                        modules.stream()
-                            .map(ModuleService.ModuleDescriptor::getModule)
-                            .map(Module::getTeardownFixture));
+                        descriptors.stream()
+                            .map(ModuleService.ModuleWithFixturesDescriptor::getModule)
+                            .map(ModuleWithFixtures::getTeardownFixture));
             }
 
         };
diff --git a/extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/modules/ModuleService.java b/extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/modules/ModuleService.java
index 66f4c4e..6eb7b6f 100644
--- a/extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/modules/ModuleService.java
+++ b/extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/modules/ModuleService.java
@@ -40,6 +40,7 @@ import org.apache.isis.metamodel.facets.Annotations;
 
 import lombok.Data;
 import lombok.extern.log4j.Log4j2;
+import lombok.val;
 
 @Service
 @Log4j2
@@ -51,29 +52,29 @@ public class ModuleService {
         this.springBeansService = springBeansService;
     }
 
-    public List<ModuleDescriptor> modules() {
+    public List<ModuleWithFixturesDescriptor> modules() {
 
-        final List<ModuleDescriptor> moduleDescriptors = new ArrayList<>();
+        final List<ModuleWithFixturesDescriptor> descriptors = new ArrayList<>();
         final Map<String, ContextBeans> contexts = springBeansService.beans();
         for (Map.Entry<String, ContextBeans> contextEntry : contexts.entrySet()) {
             final String contextId = contextEntry.getKey();
             final ContextBeans contextBeans = contextEntry.getValue();
             final ConfigurableApplicationContext context = contextBeans.getContext();
 
-            final Map<String, Module> modulesByBeanName = context.getBeansOfType(Module.class);
+            final Map<String, ModuleWithFixtures> modulesByBeanName = context.getBeansOfType(ModuleWithFixtures.class);
             final Map<String, Object> configurationBeansByBeanName = context.getBeansWithAnnotation(Configuration.class);
             final Map<String, Object> beansAnnotatedWithImportByBeanName = context.getBeansWithAnnotation(Import.class);
 
             for (Map.Entry<String, BeanDescriptor> beanEntry : contextBeans.getBeans().entrySet()) {
                 final String beanName = beanEntry.getKey();
 
-                final Module module = modulesByBeanName.get(beanName);
+                final ModuleWithFixtures module = modulesByBeanName.get(beanName);
                 if(module != null) {
 
                     final Object annotatedWithConfiguration = configurationBeansByBeanName.get(beanName);
                     final Object annotatedWithImport = beansAnnotatedWithImportByBeanName.get(beanName);
 
-                    final Map<String, Module> importedModulesByBeanName = new LinkedHashMap<>();
+                    final Map<String, ModuleWithFixtures> importedModulesByBeanName = new LinkedHashMap<>();
                     if(annotatedWithConfiguration != null && annotatedWithImport != null) {
 
                         final Import importAnnot = Annotations.getAnnotation(annotatedWithImport.getClass(), Import.class);
@@ -90,40 +91,39 @@ public class ModuleService {
                                             beanCollection = Collections.singletonList(entryValue);
                                         }
                                         beanCollection.stream()
-                                                .filter(Module.class::isInstance)
-                                                .map(Module.class::cast)
+                                                .filter(ModuleWithFixtures.class::isInstance)
+                                                .map(ModuleWithFixtures.class::cast)
                                                 .forEach(mod -> importedModulesByBeanName.put(name, mod));
                                     });
                                 });
                     }
 
-                    final ModuleDescriptor moduleDescriptor = new ModuleDescriptor(contextId, beanName, module, importedModulesByBeanName);
-                    moduleDescriptors.add(moduleDescriptor);
+                    val descriptor = new ModuleWithFixturesDescriptor(contextId, beanName, module, importedModulesByBeanName);
+                    descriptors.add(descriptor);
                 }
             }
         }
-        return moduleDescriptors;
+        return descriptors;
     }
 
     @EventListener(ContextRefreshedEvent.class)
     public void onContextRefreshed(ContextRefreshedEvent event) {
         log.info("onContextRefreshed");
-        final List<ModuleDescriptor> modules = modules();
-        for (final ModuleDescriptor module : modules) {
-            log.info(module);
+        for (final ModuleWithFixturesDescriptor descriptor : modules()) {
+            log.info(descriptor);
         }
     }
 
     @Data
-    public static class ModuleDescriptor {
+    public static class ModuleWithFixturesDescriptor {
         private final String contextId;
         private final String beanName;
-        private final Module module;
-        private final Map<String,Module> dependenciesByName;
+        private final ModuleWithFixtures module;
+        private final Map<String, ModuleWithFixtures> dependenciesByName;
 
         @Override
         public String toString() {
-            return "ModuleDescriptor{" +
+            return "ModuleWithFixturesDescriptor{" +
                     "contextId='" + contextId + '\'' +
                     ", beanName='" + beanName + '\'' +
                     ", dependenciesByName=" + dependenciesByName.keySet() +
diff --git a/extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/modules/Module.java b/extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/modules/ModuleWithFixtures.java
similarity index 90%
rename from extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/modules/Module.java
rename to extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/modules/ModuleWithFixtures.java
index 10074d2..4158106 100644
--- a/extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/modules/Module.java
+++ b/extensions/testing/fixtures/src/main/java/org/apache/isis/extensions/fixtures/modules/ModuleWithFixtures.java
@@ -6,7 +6,7 @@ import org.springframework.context.annotation.Import;
 import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScript;
 
 /**
- * A module is a class that implements this {@link Module} interface, but in addition is expected to be annotated with
+ * A module is a class that implements this {@link ModuleWithFixtures} interface, but in addition is expected to be annotated with
  * {@link Configuration @Configuration} and which defines a dependency other modules by {@link Import @Import}ing them,
  * and conversely may be a dependency of other modules if they import it.
  *
@@ -19,7 +19,7 @@ import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScript;
  * </p>
  *
  * <p>
- *     Optionally, the <code>@Configuration</code> class can implements this {@link Module} interface.
+ *     Optionally, the <code>@Configuration</code> class can implements this {@link ModuleWithFixtures} interface.
  *     Doing so allows it to declare setup and teardown fixtures, eg to set up permanent ref data or to teardown
  *     test entities within the module.
  * </p>
@@ -28,7 +28,7 @@ import org.apache.isis.extensions.fixtures.fixturescripts.FixtureScript;
  *     inferred from the <code>@Configuration</code> imports.
  * </p>
  */
-public interface Module {
+public interface ModuleWithFixtures {
 
     /**
      * Optionally each module can define a {@link FixtureScript} which holds immutable "reference data".