You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2021/08/22 11:54:46 UTC

[isis] branch ISIS-2854-usermemento-refiner-circular-dependency updated: ISIS-2854: reverts injection for List in InteractionServiceDefault

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

danhaywood pushed a commit to branch ISIS-2854-usermemento-refiner-circular-dependency
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/ISIS-2854-usermemento-refiner-circular-dependency by this push:
     new 8b2a362  ISIS-2854: reverts injection for List<TransactionBoundaryAware> in InteractionServiceDefault
8b2a362 is described below

commit 8b2a362f72f1bd6986497482d582e4ce21405473
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Sun Aug 22 12:54:15 2021 +0100

    ISIS-2854: reverts injection for List<TransactionBoundaryAware> in InteractionServiceDefault
    
    ... to use field injection rather than constructor injection, reduce constraints on implementations
---
 .../core/runtimeservices/session/InteractionServiceDefault.java     | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/session/InteractionServiceDefault.java b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/session/InteractionServiceDefault.java
index b56003c..70dcf37 100644
--- a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/session/InteractionServiceDefault.java
+++ b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/session/InteractionServiceDefault.java
@@ -97,11 +97,13 @@ implements
     final InteractionAwareTransactionalBoundaryHandler txBoundaryHandler;
     final ClockService clockService;
     final Provider<CommandPublisher> commandPublisherProvider;
-    final List<TransactionBoundaryAware> transactionBoundaryAwareBeans;
     final ConfigurableBeanFactory beanFactory;
 
     final InteractionScopeLifecycleHandler interactionScopeLifecycleHandler;
 
+    // to allow implementations to have dependencies back on this service.
+    @Inject List<TransactionBoundaryAware> transactionBoundaryAwareBeans;
+
     @Inject
     public InteractionServiceDefault(
             final MetamodelEventService runtimeEventService,
@@ -110,7 +112,6 @@ implements
             final InteractionAwareTransactionalBoundaryHandler txBoundaryHandler,
             final ClockService clockService,
             final Provider<CommandPublisher> commandPublisherProvider,
-            final List<TransactionBoundaryAware> transactionBoundaryAwareBeans,
             final ConfigurableBeanFactory beanFactory) {
         this.runtimeEventService = runtimeEventService;
         this.specificationLoader = specificationLoader;
@@ -118,7 +119,6 @@ implements
         this.txBoundaryHandler = txBoundaryHandler;
         this.clockService = clockService;
         this.commandPublisherProvider = commandPublisherProvider;
-        this.transactionBoundaryAwareBeans = transactionBoundaryAwareBeans;
         this.beanFactory = beanFactory;
 
         this.interactionScopeLifecycleHandler = InteractionScopeBeanFactoryPostProcessor.lookupScope(beanFactory);