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 5be34aa  ISIS-2464: semantic renaming audit/dispatch -> publishing (6)
5be34aa is described below

commit 5be34aa0274bd4e29b16baeec1b505367532383a
Author: Andi Huber <[email protected]>
AuthorDate: Fri Nov 20 11:14:09 2020 +0100

    ISIS-2464: semantic renaming audit/dispatch -> publishing (6)
---
 .../changetracking/ChangingEntitiesFactory.java    | 33 +++++++++++-----------
 .../changetracking/EntityChangeTrackerDefault.java | 12 ++++----
 .../EntityPropertyChangeFactory.java               | 22 +++++++++++++--
 .../changetracking/HasEnlistedEntityChanges.java   |  7 +++--
 .../publish/EntityChangesPublisherDefault.java     |  5 +++-
 5 files changed, 50 insertions(+), 29 deletions(-)

diff --git 
a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/changetracking/ChangingEntitiesFactory.java
 
b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/changetracking/ChangingEntitiesFactory.java
index 3178a6c..33fee98 100644
--- 
a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/changetracking/ChangingEntitiesFactory.java
+++ 
b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/changetracking/ChangingEntitiesFactory.java
@@ -27,10 +27,8 @@ import javax.annotation.Nullable;
 
 import org.apache.isis.applib.annotation.EntityChangeKind;
 import org.apache.isis.applib.jaxb.JavaSqlXMLGregorianCalendarMarshalling;
-import org.apache.isis.applib.services.clock.ClockService;
 import org.apache.isis.applib.services.iactn.Interaction;
 import org.apache.isis.applib.services.publishing.spi.EntityChanges;
-import org.apache.isis.applib.services.user.UserService;
 import org.apache.isis.commons.internal.base._NullSafe;
 import org.apache.isis.commons.internal.collections._Maps;
 import org.apache.isis.commons.internal.collections._Multimaps.ListMultimap;
@@ -41,17 +39,16 @@ import org.apache.isis.schema.chg.v2.ChangesDto;
 import org.apache.isis.schema.chg.v2.ObjectsDto;
 import org.apache.isis.schema.common.v2.OidsDto;
 
-import lombok.RequiredArgsConstructor;
 import lombok.val;
+import lombok.experimental.UtilityClass;
 
-@RequiredArgsConstructor(staticName = "of")
+@UtilityClass
 class ChangingEntitiesFactory {
     
-    private final ClockService clockService;
-    private final UserService userService;
-
     @Nullable
-    public EntityChanges createChangingEntities(
+    public static EntityChanges createChangingEntities(
+            final java.sql.Timestamp completedAt,
+            final String userName,
             final EntityChangeTrackerDefault entityChangeTracker) {
         
         // take a copy of enlisted adapters ... the JDO implementation of the 
PublishingService
@@ -66,25 +63,27 @@ class ChangingEntitiesFactory {
         }
 
         val changingEntities = newChangingEntities(
-                        entityChangeTracker.currentInteraction(),
-                        entityChangeTracker.numberEntitiesLoaded(), 
-                        
entityChangeTracker.numberAuditedEntityPropertiesModified(),
-                        changeKindByEnlistedAdapter);
+                completedAt,
+                userName,
+                entityChangeTracker.currentInteraction(),
+                entityChangeTracker.numberEntitiesLoaded(), 
+                entityChangeTracker.numberAuditedEntityPropertiesModified(),
+                changeKindByEnlistedAdapter);
         
         return changingEntities;
     }
     
     // -- HELPER
     
-    private EntityChanges newChangingEntities(
+    private static EntityChanges newChangingEntities(
+            final java.sql.Timestamp completedAt,
+            final String userName,
             final Interaction interaction,
             final int numberEntitiesLoaded,
             final int numberEntityPropertiesModified,
             final Map<ManagedObject, EntityChangeKind> 
changeKindByEnlistedAdapter) {
 
         val uniqueId = interaction.getUniqueId();
-        val userName = userService.getUser().getName();
-        val completedAt = clockService.nowAsJavaSqlTimestamp();
         final int nextEventSequence = 
interaction.next(Interaction.Sequence.INTERACTION.id());
 
         return new SimpleChangingEntities(
@@ -100,7 +99,7 @@ class ChangingEntitiesFactory {
                             changeKindByEnlistedAdapter));
     }
 
-    private ChangesDto newDto(
+    private static ChangesDto newDto(
             final UUID uniqueId, final int nextEventSequence,
             final String userName, final java.sql.Timestamp completedAt,
             final int numberEntitiesLoaded,
@@ -135,7 +134,7 @@ class ChangingEntitiesFactory {
         return changesDto;
     }
 
-    private OidsDto oidsDtoFor(
+    private static OidsDto oidsDtoFor(
             final ListMultimap<EntityChangeKind, ManagedObject> 
adaptersByChange, 
             final EntityChangeKind kind) {
         val oidsDto = new OidsDto();
diff --git 
a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/changetracking/EntityChangeTrackerDefault.java
 
b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/changetracking/EntityChangeTrackerDefault.java
index 6b56262..d8c5b63 100644
--- 
a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/changetracking/EntityChangeTrackerDefault.java
+++ 
b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/changetracking/EntityChangeTrackerDefault.java
@@ -38,14 +38,12 @@ import 
org.apache.isis.applib.annotation.IsisInteractionScope;
 import org.apache.isis.applib.annotation.OrderPrecedence;
 import org.apache.isis.applib.events.lifecycle.AbstractLifecycleEvent;
 import org.apache.isis.applib.services.TransactionScopeListener;
-import org.apache.isis.applib.services.clock.ClockService;
 import org.apache.isis.applib.services.eventbus.EventBusService;
 import org.apache.isis.applib.services.iactn.Interaction;
 import org.apache.isis.applib.services.iactn.InteractionContext;
 import org.apache.isis.applib.services.metrics.MetricsService;
 import org.apache.isis.applib.services.publishing.spi.EntityChanges;
 import org.apache.isis.applib.services.publishing.spi.EntityPropertyChange;
-import org.apache.isis.applib.services.user.UserService;
 import org.apache.isis.applib.services.xactn.TransactionId;
 import org.apache.isis.commons.internal.base._Lazy;
 import org.apache.isis.commons.internal.collections._Maps;
@@ -209,8 +207,10 @@ implements
     }
 
     @Override
-    public EntityChanges getEntityChanges(ClockService clockService, 
UserService userService) {
-        return ChangingEntitiesFactory.of(clockService, 
userService).createChangingEntities(this);
+    public EntityChanges getEntityChanges(
+            final java.sql.Timestamp timestamp,
+            final String userName) {
+        return ChangingEntitiesFactory.createChangingEntities(timestamp, 
userName, this);
     }
     
     Interaction currentInteraction() {
@@ -412,12 +412,12 @@ implements
     @Override
     public Stream<EntityPropertyChange> streamPropertyChanges(
             final java.sql.Timestamp timestamp,
-            final String user,
+            final String userName,
             final TransactionId txId) {
         
         return getPropertyChangeRecords().stream()
         .map(propertyChangeRecord->EntityPropertyChangeFactory
-                .createEntityPropertyChange(timestamp, user, txId, 
propertyChangeRecord));
+                .createEntityPropertyChange(timestamp, userName, txId, 
propertyChangeRecord));
     }
 
 
diff --git 
a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/changetracking/EntityPropertyChangeFactory.java
 
b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/changetracking/EntityPropertyChangeFactory.java
index 0810337..112c4c1 100644
--- 
a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/changetracking/EntityPropertyChangeFactory.java
+++ 
b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/changetracking/EntityPropertyChangeFactory.java
@@ -1,3 +1,21 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *        http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ */
 package org.apache.isis.core.runtime.persistence.changetracking;
 
 import java.util.UUID;
@@ -7,10 +25,10 @@ import 
org.apache.isis.applib.services.publishing.spi.EntityPropertyChange;
 import org.apache.isis.applib.services.xactn.TransactionId;
 import 
org.apache.isis.core.metamodel.facets.actions.action.invocation.CommandUtil;
 
-import lombok.RequiredArgsConstructor;
 import lombok.val;
+import lombok.experimental.UtilityClass;
 
-@RequiredArgsConstructor(staticName = "of")
+@UtilityClass
 class EntityPropertyChangeFactory {
     
     public static EntityPropertyChange createEntityPropertyChange(
diff --git 
a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/changetracking/HasEnlistedEntityChanges.java
 
b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/changetracking/HasEnlistedEntityChanges.java
index d5b93be..6c99898 100644
--- 
a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/changetracking/HasEnlistedEntityChanges.java
+++ 
b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/changetracking/HasEnlistedEntityChanges.java
@@ -18,12 +18,13 @@
  */
 package org.apache.isis.core.runtime.persistence.changetracking;
 
-import org.apache.isis.applib.services.clock.ClockService;
+import javax.annotation.Nullable;
+
 import org.apache.isis.applib.services.publishing.spi.EntityChanges;
-import org.apache.isis.applib.services.user.UserService;
 
 public interface HasEnlistedEntityChanges {
 
-    EntityChanges getEntityChanges(ClockService clockService, UserService 
userService);
+    @Nullable
+    EntityChanges getEntityChanges(java.sql.Timestamp timestamp, String 
userName);
     
 }
diff --git 
a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/EntityChangesPublisherDefault.java
 
b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/EntityChangesPublisherDefault.java
index 20fea8a..29a7748 100644
--- 
a/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/EntityChangesPublisherDefault.java
+++ 
b/core/runtimeservices/src/main/java/org/apache/isis/core/runtimeservices/publish/EntityChangesPublisherDefault.java
@@ -68,7 +68,10 @@ public class EntityChangesPublisherDefault implements 
EntityChangesPublisher {
             return;
         }
         
-        val entityChanges = 
hasEnlistedEntityChanges.getEntityChanges(clockService, userService);
+        val currentTime = clockService.nowAsJavaSqlTimestamp();
+        val currentUser = userService.getUser().getName();
+        
+        val entityChanges = 
hasEnlistedEntityChanges.getEntityChanges(currentTime, currentUser);
         
         if(entityChanges == null) {
             return;

Reply via email to