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/10/19 15:49:41 UTC

[isis] branch v2 updated (879b7a7 -> 86f68b9)

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

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


    from 879b7a7  ISIS-2003: adds theme config props for simple app, hello world
     new 6f95e07  ISIS-1811: fixes the broken derivation of DeploymentType from isis.deploymentType
     new 86f68b9  ISIS-1744: minor implementation improvements for fixture script spec provider, specify an object type on SimpleFixtureScript to avoid metamodel validation issue.

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../isis/applib/fixturescripts/FixtureScripts.java | 39 +++++++---------------
 .../applib/fixturescripts/SimpleFixtureScript.java |  8 ++++-
 .../isis/core/runtime/headless/IsisSystem.java     | 14 ++++++--
 3 files changed, 30 insertions(+), 31 deletions(-)


[isis] 01/02: ISIS-1811: fixes the broken derivation of DeploymentType from isis.deploymentType

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 6f95e0770b7f3c6b9af356428f527aa612e0037e
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Oct 19 16:47:46 2018 +0100

    ISIS-1811: fixes the broken derivation of DeploymentType from isis.deploymentType
    
    was always being set to PRODUCTION, not appropriate for integration tests.
---
 .../org/apache/isis/core/runtime/headless/IsisSystem.java  | 14 +++++++++++---
 1 file changed, 11 insertions(+), 3 deletions(-)

diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/headless/IsisSystem.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/headless/IsisSystem.java
index 51a553d..8908d29 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/headless/IsisSystem.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/headless/IsisSystem.java
@@ -19,8 +19,6 @@
 
 package org.apache.isis.core.runtime.headless;
 
-import static org.apache.isis.commons.internal.base._Casts.uncheckedCast;
-
 import java.util.Set;
 import java.util.stream.Collectors;
 
@@ -36,11 +34,14 @@ import org.apache.isis.core.metamodel.specloader.validator.MetaModelInvalidExcep
 import org.apache.isis.core.runtime.authentication.AuthenticationManager;
 import org.apache.isis.core.runtime.authentication.AuthenticationRequest;
 import org.apache.isis.core.runtime.headless.auth.AuthenticationRequestNameOnly;
+import org.apache.isis.core.runtime.system.DeploymentType;
 import org.apache.isis.core.runtime.system.context.IsisContext;
 import org.apache.isis.core.runtime.system.session.IsisSessionFactory;
 import org.apache.isis.core.runtime.system.session.IsisSessionFactoryBuilder;
 import org.apache.isis.core.runtime.systemusinginstallers.IsisComponentProvider;
 
+import static org.apache.isis.commons.internal.base._Casts.uncheckedCast;
+
 
 /**
  * Wraps a plain {@link IsisSessionFactoryBuilder}.
@@ -186,7 +187,8 @@ public class IsisSystem {
                     configurationOverride
                     );
 
-            final IsisSessionFactoryBuilder isisSessionFactoryBuilder = new IsisSessionFactoryBuilder(componentProvider, DeploymentCategory.PRODUCTION, appManifestIfAny);
+            final IsisSessionFactoryBuilder isisSessionFactoryBuilder = new IsisSessionFactoryBuilder(componentProvider,
+                    deploymentTypeFrom(configurationOverride), appManifestIfAny);
 
             // ensures that a FixtureClock is installed as the singleton underpinning the ClockService
             FixtureClock.initialize();
@@ -219,6 +221,12 @@ public class IsisSystem {
         openSession();
     }
 
+    private DeploymentCategory deploymentTypeFrom(final IsisConfiguration configurationOverride) {
+        final DeploymentType deploymentType = DeploymentType.lookup(
+                        configurationOverride.getString("isis.deploymentType", "SERVER"));
+        return deploymentType.getDeploymentCategory();
+    }
+
     // -- isisSystem (populated during setup)
     protected IsisSessionFactory isisSessionFactory;
 


[isis] 02/02: ISIS-1744: minor implementation improvements for fixture script spec provider, specify an object type on SimpleFixtureScript to avoid metamodel validation issue.

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 86f68b9dfcb263a61dd93a9859e309627ecb14b8
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Fri Oct 19 16:48:42 2018 +0100

    ISIS-1744: minor implementation improvements for fixture script spec provider, specify an object type on SimpleFixtureScript to avoid metamodel validation issue.
---
 .../isis/applib/fixturescripts/FixtureScripts.java | 39 +++++++---------------
 .../applib/fixturescripts/SimpleFixtureScript.java |  8 ++++-
 2 files changed, 19 insertions(+), 28 deletions(-)

diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java
index 9563bf1..c63b1b6 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/FixtureScripts.java
@@ -20,9 +20,9 @@ package org.apache.isis.applib.fixturescripts;
 
 import java.io.PrintStream;
 import java.lang.reflect.Constructor;
-import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
+import java.util.Objects;
 import java.util.Set;
 import java.util.function.Predicate;
 import java.util.stream.Collectors;
@@ -51,7 +51,6 @@ import org.apache.isis.applib.services.repository.RepositoryService;
 import org.apache.isis.applib.services.title.TitleService;
 import org.apache.isis.applib.services.xactn.TransactionService;
 import org.apache.isis.commons.internal.base._NullSafe;
-import org.apache.isis.commons.internal.collections._Lists;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
 
 
@@ -223,30 +222,19 @@ public abstract class FixtureScripts extends AbstractService {
     }
 
     private List<FixtureScript> findAndInstantiateFixtureScripts() {
-        final List<FixtureScript> fixtureScripts = _Lists.newArrayList();
-        final Set<Class<? extends FixtureScript>> fixtureScriptSubtypes =
-                findFixtureScriptSubTypesInPackage();
-        for (final Class<? extends FixtureScript> fixtureScriptCls : fixtureScriptSubtypes) {
-            final String packageName = fixtureScriptCls.getPackage().getName();
-            if(!packageName.startsWith(getPackagePrefix())) {
-                // redundant check if ClassDiscoveryService2 in use because already filtered out
-                continue;
-            }
-            final FixtureScript fs = newFixtureScript(fixtureScriptCls);
-            if(fs != null) {
-                fixtureScripts.add(fs);
-            }
-        }
-        Collections.sort(fixtureScripts, new Comparator<FixtureScript>() {
-            @Override
-            public int compare(final FixtureScript o1, final FixtureScript o2) {
-                return Comparator
+        return findFixtureScriptSubTypesInPackage().stream()
+                .filter(fixtureScriptCls -> {
+                    final String packageName = fixtureScriptCls.getPackage().getName();
+                    // redundant check if ClassDiscoveryService2 in use because already filtered out
+                    return packageName.startsWith(getPackagePrefix());
+                })
+                .map(this::newFixtureScript)
+                .filter(Objects::nonNull).
+                sorted((o1, o2) -> Comparator
                         .comparing(FixtureScript::getFriendlyName)
                         .thenComparing(FixtureScript::getQualifiedName)
-                        .compare(o1, o2);
-            }
-        });
-        return fixtureScripts;
+                        .compare(o1, o2))
+                .collect(Collectors.toList());
     }
 
     private Set<Class<? extends FixtureScript>> findFixtureScriptSubTypesInPackage() {
@@ -270,9 +258,6 @@ public abstract class FixtureScripts extends AbstractService {
 
             return instance;
 
-            //Legacy of ...
-            //return container.newViewModelInstance(fixtureScriptCls, mementoFor(template));
-
         } catch(final Exception ex) {
             // ignore if does not have a no-arg constructor or cannot be instantiated
             return null;
diff --git a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/SimpleFixtureScript.java b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/SimpleFixtureScript.java
index ed49646..402f574 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/SimpleFixtureScript.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/fixturescripts/SimpleFixtureScript.java
@@ -18,9 +18,15 @@
  */
 package org.apache.isis.applib.fixturescripts;
 
+import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.applib.annotation.DomainObjectLayout;
 
-@DomainObjectLayout(named="Simple Script")
+@DomainObject(
+        objectType = "org.apache.isis.applib.fixturescripts.SimpleFixtureScript"
+)
+@DomainObjectLayout(
+        named="Simple Script"
+)
 public abstract class SimpleFixtureScript extends FixtureScript {
 
     private static Discoverability defaultDiscoverability() {