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 {