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 2020/01/27 08:02:58 UTC

[isis] branch master updated: ISIS-2158: minor simplifications on HomePageResolverServiceDefault

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


The following commit(s) were added to refs/heads/master by this push:
     new 5151e71  ISIS-2158: minor simplifications on HomePageResolverServiceDefault
5151e71 is described below

commit 5151e71869a388bd931edcc3a9634ccf70be4c15
Author: Andi Huber <ah...@apache.org>
AuthorDate: Mon Jan 27 09:02:49 2020 +0100

    ISIS-2158: minor simplifications on HomePageResolverServiceDefault
---
 .../apache/isis/applib/annotation/HomePage.java    |  2 --
 .../homepage/HomePageResolverServiceDefault.java   | 23 ++++++++--------------
 2 files changed, 8 insertions(+), 17 deletions(-)

diff --git a/api/applib/src/main/java/org/apache/isis/applib/annotation/HomePage.java b/api/applib/src/main/java/org/apache/isis/applib/annotation/HomePage.java
index 9bad1d7..fbc757f 100644
--- a/api/applib/src/main/java/org/apache/isis/applib/annotation/HomePage.java
+++ b/api/applib/src/main/java/org/apache/isis/applib/annotation/HomePage.java
@@ -25,8 +25,6 @@ import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.lang.annotation.Target;
 
-import org.apache.isis.applib.ViewModel;
-
 /**
  * Annotated on a view model to indicate that it should be used as the home page.
  *
diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/homepage/HomePageResolverServiceDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/homepage/HomePageResolverServiceDefault.java
index 578b2d9..c35a35a 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/homepage/HomePageResolverServiceDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/homepage/HomePageResolverServiceDefault.java
@@ -29,48 +29,41 @@ import org.springframework.stereotype.Service;
 import org.apache.isis.applib.annotation.HomePage;
 import org.apache.isis.applib.annotation.OrderPrecedence;
 import org.apache.isis.applib.services.factory.FactoryService;
+import org.apache.isis.core.commons.internal.reflection._Annotations;
 import org.apache.isis.core.config.beans.IsisBeanTypeRegistryHolder;
-import org.apache.isis.core.metamodel.objectmanager.ObjectManager;
 import org.apache.isis.core.metamodel.services.homepage.HomePageResolverService;
-import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 
 import lombok.val;
 
 @Service
 @Order(OrderPrecedence.MIDPOINT)
-public class HomePageResolverServiceDefault  implements HomePageResolverService {
+public class HomePageResolverServiceDefault implements HomePageResolverService {
 
-    private final SpecificationLoader specificationLoader;
     private final FactoryService factoryService;
     private final IsisBeanTypeRegistryHolder isisBeanTypeRegistryHolder;
-    private final ObjectManager objectManager;
 
-    private Optional<Class> viewModelType;
+    private Optional<Class<?>> viewModelTypeForHomepage;
 
     @Inject
     public HomePageResolverServiceDefault(
-            final SpecificationLoader specificationLoader,
             final FactoryService factoryService,
-            final IsisBeanTypeRegistryHolder isisBeanTypeRegistryHolder, ObjectManager objectManager) {
-        this.specificationLoader = specificationLoader;
+            final IsisBeanTypeRegistryHolder isisBeanTypeRegistryHolder) {
+        
         this.factoryService = factoryService;
         this.isisBeanTypeRegistryHolder = isisBeanTypeRegistryHolder;
-        this.objectManager = objectManager;
     }
 
     @PostConstruct
     public void init() {
         val viewModelTypes = isisBeanTypeRegistryHolder.getIsisBeanTypeRegistry().getViewModelTypes();
-        viewModelType = viewModelTypes.stream()
-                .filter(type -> type.isAnnotationPresent(HomePage.class))
-                .map(x -> (Class)x)
+        viewModelTypeForHomepage = viewModelTypes.stream()
+                .filter(viewModelType -> _Annotations.isPresent(viewModelType, HomePage.class)) 
                 .findFirst();
     }
 
     @Override
     public Object getHomePage() {
-        return viewModelType.map(factoryService::viewModel).orElse(null);
+        return viewModelTypeForHomepage.map(factoryService::viewModel).orElse(null);
     }