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 2021/07/04 08:36:00 UTC

[isis] branch master updated: ISIS-2787: better fix for dependency circle with GridReaderUsingJaxb

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 1e37365  ISIS-2787: better fix for dependency circle with GridReaderUsingJaxb
1e37365 is described below

commit 1e37365987590490ce7ce0d15ae0305826c59396
Author: andi-huber <ah...@apache.org>
AuthorDate: Sun Jul 4 10:35:54 2021 +0200

    ISIS-2787: better fix for dependency circle with GridReaderUsingJaxb
    
    also disable XRay in demo (was activated by accident)
---
 .../metamodel/_testing/MetaModelContext_forTesting.java |  2 +-
 .../metamodel/services/grid/GridReaderUsingJaxb.java    | 17 +++++++++--------
 .../demoapp/webapp/wicket/jdo/DemoAppWicketJdo.java     |  3 +--
 3 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/_testing/MetaModelContext_forTesting.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/_testing/MetaModelContext_forTesting.java
index 383f559..7685028 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/_testing/MetaModelContext_forTesting.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/_testing/MetaModelContext_forTesting.java
@@ -385,7 +385,7 @@ implements MetaModelContext {
     private final MenuBarsService menuBarsService = MenuBarsService.forTesting();
 
     @Getter(lazy = true)
-    private final GridReaderUsingJaxb gridReader = new GridReaderUsingJaxb(getJaxbService(), /*circular depend.*/null);
+    private final GridReaderUsingJaxb gridReader = new GridReaderUsingJaxb(getJaxbService(), getServiceRegistry());
 
     @Getter(lazy = true)
     private final GridLoaderService gridLoaderService = createGridLoaderService();
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridReaderUsingJaxb.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridReaderUsingJaxb.java
index b04f036..ca76210 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridReaderUsingJaxb.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/GridReaderUsingJaxb.java
@@ -18,8 +18,6 @@
  */
 package org.apache.isis.core.metamodel.services.grid;
 
-import java.util.List;
-
 import javax.annotation.PostConstruct;
 import javax.annotation.Priority;
 import javax.inject.Inject;
@@ -34,7 +32,7 @@ import org.apache.isis.applib.annotation.PriorityPrecedence;
 import org.apache.isis.applib.layout.grid.Grid;
 import org.apache.isis.applib.services.grid.GridSystemService;
 import org.apache.isis.applib.services.jaxb.JaxbService;
-import org.apache.isis.commons.internal.base._NullSafe;
+import org.apache.isis.applib.services.registry.ServiceRegistry;
 import org.apache.isis.commons.internal.collections._Arrays;
 
 import lombok.RequiredArgsConstructor;
@@ -48,20 +46,23 @@ import lombok.RequiredArgsConstructor;
 @Named("isis.metamodel.GridReaderUsingJaxb")
 @Priority(PriorityPrecedence.MIDPOINT)
 @Qualifier("Default")
-@RequiredArgsConstructor(onConstructor_ = {@Inject, @org.springframework.context.annotation.Lazy})
+@RequiredArgsConstructor(onConstructor_ = {@Inject})
 public class GridReaderUsingJaxb {
 
     private final JaxbService jaxbService;
-    private final List<GridSystemService<?>> gridSystemServices; /* dependency circle */
+    private final ServiceRegistry serviceRegistry;
 
     private JAXBContext jaxbContext;
 
     @PostConstruct
     public void init(){
+
         final Class<?>[] pageImplementations =
-                _NullSafe.stream(gridSystemServices)
-                .map(GridSystemService::gridImplementation)
-                .collect(_Arrays.toArray(Class.class));
+            serviceRegistry.select(GridSystemService.class)
+            .stream()
+            .map(GridSystemService::gridImplementation)
+            .collect(_Arrays.toArray(Class.class));
+
         try {
             jaxbContext = JAXBContext.newInstance(pageImplementations);
         } catch (JAXBException e) {
diff --git a/examples/demo/wicket/jdo/src/main/java/demoapp/webapp/wicket/jdo/DemoAppWicketJdo.java b/examples/demo/wicket/jdo/src/main/java/demoapp/webapp/wicket/jdo/DemoAppWicketJdo.java
index 2d79d26..570728d 100644
--- a/examples/demo/wicket/jdo/src/main/java/demoapp/webapp/wicket/jdo/DemoAppWicketJdo.java
+++ b/examples/demo/wicket/jdo/src/main/java/demoapp/webapp/wicket/jdo/DemoAppWicketJdo.java
@@ -23,7 +23,6 @@ import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
 import org.springframework.context.annotation.Import;
 
-import org.apache.isis.commons.internal.debug.xray.XrayEnable;
 import org.apache.isis.extensions.viewer.wicket.pdfjs.ui.IsisModuleExtPdfjsUi;
 import org.apache.isis.valuetypes.asciidoc.metamodel.IsisModuleValAsciidocMetaModel;
 import org.apache.isis.valuetypes.asciidoc.persistence.jdo.dn5.IsisModuleValAsciidocPersistenceJdoDn5;
@@ -61,7 +60,7 @@ import demoapp.webapp.wicket.common.ui.custom.WhereInTheWorldPanelFactory;
     IsisModuleValAsciidocPersistenceJdoDn5.class,
     IsisModuleValMarkdownPersistenceJdoDn5.class,
 
-    XrayEnable.class // for debugging only
+    //XrayEnable.class // for debugging only
 })
 //@Log4j2
 public class DemoAppWicketJdo extends SpringBootServletInitializer {