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 2018/02/24 13:23:26 UTC

[isis] 01/02: ISIS-1872: moves withAdditionalDependency/ies from AppManifestAbstract2.Builder up to ModuleOrBuilderAbstract

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

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

commit b9e600241d82b03795ee6cb4730b5faac21d3cea
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Sat Feb 24 12:55:03 2018 +0000

    ISIS-1872: moves withAdditionalDependency/ies from AppManifestAbstract2.Builder up to ModuleOrBuilderAbstract
    
    ... so that is inherited by ModuleAbstract also.
---
 .../apache/isis/applib/AppManifestAbstract2.java   | 31 --------------------
 .../isis/applib/ModuleOrBuilderAbstract.java       | 34 ++++++++++++++++++++++
 2 files changed, 34 insertions(+), 31 deletions(-)

diff --git a/core/applib/src/main/java/org/apache/isis/applib/AppManifestAbstract2.java b/core/applib/src/main/java/org/apache/isis/applib/AppManifestAbstract2.java
index f42ff25..297de2b 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/AppManifestAbstract2.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/AppManifestAbstract2.java
@@ -18,10 +18,8 @@
  */
 package org.apache.isis.applib;
 
-import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
-import java.util.Set;
 
 import org.apache.isis.applib.annotation.Programmatic;
 import org.apache.isis.applib.fixturescripts.FixtureScript;
@@ -105,35 +103,6 @@ public abstract class AppManifestAbstract2 extends AppManifestAbstract implement
             return module;
         }
 
-        public Builder withAdditionalDependency(final Module dependency) {
-            withTransitiveFrom(dependency);
-            return this;
-        }
-
-        public Builder withAdditionalDependencies(final Set<Module> dependencies) {
-            for (final Module dependency : dependencies) {
-                withAdditionalDependency(dependency);
-            }
-            return this;
-        }
-
-        private void withTransitiveFrom(final Module module) {
-            withAdditionalModules(asClasses(Module.Util.transitiveDependenciesOf(module)));
-            withAdditionalModules(Module.Util.transitiveAdditionalModulesOf(module));
-            withAdditionalServices(Module.Util.transitiveAdditionalServicesOf(module));
-            withConfigurationPropertyResources(Module.Util.transitivePropertyResourcesOf(module));
-            withConfigurationProperties(Module.Util.transitiveIndividualConfigPropsOf(module));
-        }
-
-        private static Class[] asClasses(final List<Module> dependencies) {
-            final List<Class<? extends Module>> list = new ArrayList<>();
-            for (Module dependency : dependencies) {
-                Class<? extends Module> aClass = dependency.getClass();
-                list.add(aClass);
-            }
-            return list.toArray(new Class[] {});
-        }
-
         @Override
         public AppManifest2 build() {
             return new Default(this);
diff --git a/core/applib/src/main/java/org/apache/isis/applib/ModuleOrBuilderAbstract.java b/core/applib/src/main/java/org/apache/isis/applib/ModuleOrBuilderAbstract.java
index e138f06..2f9f474 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/ModuleOrBuilderAbstract.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/ModuleOrBuilderAbstract.java
@@ -18,6 +18,7 @@
  */
 package org.apache.isis.applib;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
@@ -44,6 +45,39 @@ abstract class ModuleOrBuilderAbstract<B extends ModuleOrBuilderAbstract> {
 
     ModuleOrBuilderAbstract() {}
 
+    public B withAdditionalDependency(final Module dependency) {
+        withTransitiveFrom(dependency);
+        return (B) this;
+    }
+
+    public B withAdditionalDependencies(final Set<Module> dependencies) {
+        for (final Module dependency : dependencies) {
+            withAdditionalDependency(dependency);
+        }
+        return (B) this;
+    }
+
+    public B withAdditionalDependencies(final Module... dependencies) {
+        return withAdditionalDependencies(Sets.newHashSet(dependencies));
+    }
+
+    void withTransitiveFrom(final Module module) {
+        withAdditionalModules(asClasses(Module.Util.transitiveDependenciesOf(module)));
+        withAdditionalModules(Module.Util.transitiveAdditionalModulesOf(module));
+        withAdditionalServices(Module.Util.transitiveAdditionalServicesOf(module));
+        withConfigurationPropertyResources(Module.Util.transitivePropertyResourcesOf(module));
+        withConfigurationProperties(Module.Util.transitiveIndividualConfigPropsOf(module));
+    }
+
+    private static Class[] asClasses(final List<Module> dependencies) {
+        final List<Class<? extends Module>> list = new ArrayList<>();
+        for (Module dependency : dependencies) {
+            Class<? extends Module> aClass = dependency.getClass();
+            list.add(aClass);
+        }
+        return list.toArray(new Class[] {});
+    }
+
     public B withAdditionalModules(final Class<?>... modules) {
         return withAdditionalModules(Arrays.asList(modules));
     }

-- 
To stop receiving notification emails like this one, please contact
danhaywood@apache.org.