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/03/21 04:41:04 UTC
[isis] branch master updated: ISIS-2980: GridSystemServiceBootstrap: fixes GridReaderUsingJaxb never initialized
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 add7e33 ISIS-2980: GridSystemServiceBootstrap: fixes GridReaderUsingJaxb never initialized
add7e33 is described below
commit add7e331e894bc8bb743d796f5e0e06dabe0840d
Author: Andi Huber <ah...@apache.org>
AuthorDate: Mon Mar 21 05:40:56 2022 +0100
ISIS-2980: GridSystemServiceBootstrap: fixes GridReaderUsingJaxb never
initialized
---
.../core/metamodel/_testing/MetaModelContext_forTesting.java | 6 ++++--
.../services/grid/bootstrap3/GridSystemServiceBootstrap.java | 11 +++++++----
2 files changed, 11 insertions(+), 6 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 6f81556..2825468 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
@@ -439,12 +439,14 @@ implements MetaModelContext {
private final GridService createGridService() {
return new GridServiceDefault(
getGridLoaderService(), _Lists.of(
- new GridSystemServiceBootstrap(this::getGridReader,
+ new GridSystemServiceBootstrap(
getSpecificationLoader(),
getTranslationService(),
getJaxbService(),
getMessageService(),
- getSystemEnvironment()))); // support reloading
+ getSystemEnvironment())
+ .setGridReader(getGridReader())
+ )); // support reloading
}
@Getter(lazy = true)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/bootstrap3/GridSystemServiceBootstrap.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/bootstrap3/GridSystemServiceBootstrap.java
index 451d309..512bd86 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/bootstrap3/GridSystemServiceBootstrap.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/grid/bootstrap3/GridSystemServiceBootstrap.java
@@ -30,9 +30,9 @@ import java.util.stream.Collectors;
import javax.annotation.Priority;
import javax.inject.Inject;
import javax.inject.Named;
-import javax.inject.Provider;
import org.springframework.beans.factory.annotation.Qualifier;
+import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
import org.apache.isis.applib.annotation.ActionLayout;
@@ -78,7 +78,9 @@ import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
import static org.apache.isis.commons.internal.base._NullSafe.stream;
+import lombok.Setter;
import lombok.val;
+import lombok.experimental.Accessors;
import lombok.extern.log4j.Log4j2;
@Service
@@ -92,11 +94,12 @@ extends GridSystemServiceAbstract<BS3Grid> {
public static final String TNS = "http://isis.apache.org/applib/layout/grid/bootstrap3";
public static final String SCHEMA_LOCATION = "http://isis.apache.org/applib/layout/grid/bootstrap3/bootstrap3.xsd";
- private Provider<GridReaderUsingJaxb> gridReaderProvider;
+ @Inject @Lazy // circular dependency (late binding)
+ @Setter @Accessors(chain = true) // JUnit support
+ private GridReaderUsingJaxb gridReader;
@Inject
public GridSystemServiceBootstrap(
- final Provider<GridReaderUsingJaxb> gridReaderProvider,
final SpecificationLoader specificationLoader,
final TranslationService translationService,
final JaxbService jaxbService,
@@ -127,7 +130,7 @@ extends GridSystemServiceAbstract<BS3Grid> {
try {
final String content = _Resources.loadAsStringUtf8(getClass(), "GridFallbackLayout.xml");
return Optional.ofNullable(content)
- .map(xml -> gridReaderProvider.get().loadGrid(xml))
+ .map(xml -> gridReader.loadGrid(xml))
.filter(BS3Grid.class::isInstance)
.map(BS3Grid.class::cast)
.map(bs3Grid -> withDomainClass(bs3Grid, domainClass))