You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2022/04/09 06:31:17 UTC

[isis] 01/02: ISIS-2445: minor cleanup (mm event listening)

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

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

commit cd8cd7595d94aea94672a57aebeaae0719068ab5
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sat Apr 9 08:08:17 2022 +0200

    ISIS-2445: minor cleanup (mm event listening)
---
 .../ApplicationFeatureRepositoryDefault.java       | 50 +++++++++++++---------
 .../services/InitialFixtureScriptsInstaller.java   |  5 +--
 2 files changed, 31 insertions(+), 24 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefault.java
index 9020595ab8..971f974ba9 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/appfeat/ApplicationFeatureRepositoryDefault.java
@@ -18,14 +18,30 @@
  */
 package org.apache.isis.core.metamodel.services.appfeat;
 
-import lombok.NonNull;
-import lombok.extern.log4j.Log4j2;
-import lombok.val;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import java.util.OptionalInt;
+import java.util.SortedMap;
+import java.util.function.BiConsumer;
+import java.util.stream.Collectors;
+
+import javax.inject.Inject;
+import javax.inject.Named;
+
+import org.springframework.lang.Nullable;
+import org.springframework.stereotype.Service;
 
-import org.apache.isis.applib.annotation.PriorityPrecedence;
 import org.apache.isis.applib.annotation.SemanticsOf;
-import org.apache.isis.applib.events.metamodel.MetamodelEvent;
-import org.apache.isis.applib.services.appfeat.*;
+import org.apache.isis.applib.events.metamodel.MetamodelListener;
+import org.apache.isis.applib.services.appfeat.ApplicationFeature;
+import org.apache.isis.applib.services.appfeat.ApplicationFeatureId;
+import org.apache.isis.applib.services.appfeat.ApplicationFeatureRepository;
+import org.apache.isis.applib.services.appfeat.ApplicationFeatureSort;
+import org.apache.isis.applib.services.appfeat.ApplicationMemberSort;
 import org.apache.isis.commons.internal.collections._Maps;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
 import org.apache.isis.core.config.IsisConfiguration;
@@ -42,22 +58,16 @@ import org.apache.isis.core.metamodel.spec.feature.ObjectAction;
 import org.apache.isis.core.metamodel.spec.feature.ObjectAssociation;
 import org.apache.isis.core.metamodel.spec.feature.ObjectMember;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
-import org.springframework.context.event.EventListener;
-import org.springframework.core.annotation.Order;
-import org.springframework.stereotype.Service;
 
-import org.springframework.lang.Nullable;
-import javax.inject.Inject;
-import javax.inject.Named;
-import java.util.*;
-import java.util.function.BiConsumer;
-import java.util.stream.Collectors;
+import lombok.NonNull;
+import lombok.val;
+import lombok.extern.log4j.Log4j2;
 
 @Service
 @Named("isis.metamodel.ApplicationFeatureRepositoryDefault")
 @Log4j2
 public class ApplicationFeatureRepositoryDefault
-implements ApplicationFeatureRepository {
+implements ApplicationFeatureRepository, MetamodelListener {
 
     // -- caches
     private Map<String, ApplicationFeatureId> featureIdentifiersByName;
@@ -80,11 +90,9 @@ implements ApplicationFeatureRepository {
     }
 
     // -- init
-    @Order(PriorityPrecedence.MIDPOINT)
-    @EventListener(MetamodelEvent.class)
-    public void onMetamodelEvent(final MetamodelEvent event) {
-        if (event.isPostMetamodel()
-                && isEagerInitialize()) {
+    @Override
+    public void onMetamodelLoaded() {
+        if (isEagerInitialize()) {
             initializeIfRequired();
         }
     }
diff --git a/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/services/InitialFixtureScriptsInstaller.java b/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/services/InitialFixtureScriptsInstaller.java
index 8bdcbaad6b..3516b7e187 100644
--- a/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/services/InitialFixtureScriptsInstaller.java
+++ b/testing/fixtures/applib/src/main/java/org/apache/isis/testing/fixtures/applib/services/InitialFixtureScriptsInstaller.java
@@ -47,8 +47,6 @@ import lombok.extern.log4j.Log4j2;
 @Log4j2
 public class InitialFixtureScriptsInstaller {
 
-    @SuppressWarnings("unused")
-
     private final FixtureScripts fixtureScripts;
 
     private FixtureScript initialFixtureScript;
@@ -61,7 +59,8 @@ public class InitialFixtureScriptsInstaller {
         this.fixtureScripts = fixtureScripts;
 
         final Class<?> initialScript = isisConfiguration.getTesting().getFixtures().getInitialScript();
-        if (initialScript != null && FixtureScript.class.isAssignableFrom(initialScript)) {
+        if (initialScript != null
+                && FixtureScript.class.isAssignableFrom(initialScript)) {
             try {
                 initialFixtureScript = (FixtureScript) initialScript.getDeclaredConstructor().newInstance();
             } catch (InstantiationException | IllegalAccessException | NoSuchMethodException | InvocationTargetException e) {