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 2016/05/01 10:17:00 UTC

[23/35] isis git commit: ISIS-1370: no need to pass in user and timestamp to PublishingServiceInternal#publishAction(...) ... just obtain from UserService and ClockService.

ISIS-1370: no need to pass in user and timestamp to PublishingServiceInternal#publishAction(...) ... just obtain from UserService and ClockService.


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/6c800819
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/6c800819
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/6c800819

Branch: refs/heads/ISIS-1291
Commit: 6c80081919b5f519dedd1eb4601cd6c853baeb87
Parents: 1690d4d
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Sat Apr 30 15:15:55 2016 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Sat Apr 30 15:15:55 2016 +0100

----------------------------------------------------------------------
 .../transaction/PublishingServiceInternal.java  | 24 +++++++++++++++-----
 .../system/transaction/IsisTransaction.java     |  6 ++---
 .../handlers/DomainObjectInvocationHandler.java |  5 +---
 3 files changed, 22 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/6c800819/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/objectstore/transaction/PublishingServiceInternal.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/objectstore/transaction/PublishingServiceInternal.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/objectstore/transaction/PublishingServiceInternal.java
index bae34fd..56ee951 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/objectstore/transaction/PublishingServiceInternal.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/persistence/objectstore/transaction/PublishingServiceInternal.java
@@ -38,6 +38,7 @@ import org.apache.isis.applib.annotation.PublishedAction;
 import org.apache.isis.applib.annotation.PublishedObject;
 import org.apache.isis.applib.annotation.PublishedObject.ChangeKind;
 import org.apache.isis.applib.services.bookmark.Bookmark;
+import org.apache.isis.applib.services.clock.ClockService;
 import org.apache.isis.applib.services.command.Command;
 import org.apache.isis.applib.services.command.CommandContext;
 import org.apache.isis.applib.services.iactn.Interaction;
@@ -46,6 +47,7 @@ import org.apache.isis.applib.services.publish.EventPayload;
 import org.apache.isis.applib.services.publish.EventType;
 import org.apache.isis.applib.services.publish.ObjectStringifier;
 import org.apache.isis.applib.services.publish.PublishingService;
+import org.apache.isis.applib.services.user.UserService;
 import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
 import org.apache.isis.core.metamodel.adapter.oid.Oid;
 import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
@@ -69,11 +71,6 @@ import org.apache.isis.core.runtime.system.transaction.IsisTransactionManager;
 @DomainService(nature = NatureOfService.DOMAIN)
 public class PublishingServiceInternal {
 
-    @Inject
-    private PublishingService publishingServiceIfAny;
-
-    @Inject
-    private CommandContext commandContext;
 
     private final static Function<ObjectAdapter, ObjectAdapter> NOT_DESTROYED_ELSE_EMPTY = new Function<ObjectAdapter, ObjectAdapter>() {
         public ObjectAdapter apply(ObjectAdapter adapter) {
@@ -122,11 +119,14 @@ public class PublishingServiceInternal {
 
 
     @Programmatic
-    public void publishAction(final String currentUser, final Timestamp timestamp) {
+    public void publishAction() {
         if(!canPublish()) {
             return;
         }
 
+        final String currentUser = userService.getUser().getName();
+        final Timestamp timestamp = clockService.nowAsJavaSqlTimestamp();
+
         try {
             final CurrentInvocation currentInvocation = ActionInvocationFacet.currentInvocation.get();
             if(currentInvocation == null) {
@@ -278,5 +278,17 @@ public class PublishingServiceInternal {
     }
 
 
+    @Inject
+    private PublishingService publishingServiceIfAny;
+
+    @Inject
+    private CommandContext commandContext;
+
+    @Inject
+    private ClockService clockService;
+
+    @Inject
+    private UserService userService;
+
 
 }

http://git-wip-us.apache.org/repos/asf/isis/blob/6c800819/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransaction.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransaction.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransaction.java
index 87972a9..a2667fd 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransaction.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/system/transaction/IsisTransaction.java
@@ -471,9 +471,9 @@ public class IsisTransaction implements TransactionScopedComponent {
         }
     }
 
-    public void publishActionIfRequired(final String currentUser, final java.sql.Timestamp timestamp) {
+    public void publishActionIfRequired() {
 
-        publishingServiceInternal.publishAction(currentUser, timestamp);
+        publishingServiceInternal.publishAction();
     }
 
 
@@ -667,7 +667,7 @@ public class IsisTransaction implements TransactionScopedComponent {
         final String currentUser = getTransactionManager().getAuthenticationSession().getUserName();
         final Timestamp endTimestamp = Clock.getTimeAsJavaSqlTimestamp();
         
-        publishActionIfRequired(currentUser, endTimestamp);
+        publishActionIfRequired();
         doFlush();
         
         publishedChangedObjectsIfRequired(currentUser, endTimestamp);

http://git-wip-us.apache.org/repos/asf/isis/blob/6c800819/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/DomainObjectInvocationHandler.java
----------------------------------------------------------------------
diff --git a/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/DomainObjectInvocationHandler.java b/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/DomainObjectInvocationHandler.java
index 7cb0659..510910f 100644
--- a/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/DomainObjectInvocationHandler.java
+++ b/core/wrapper/src/main/java/org/apache/isis/core/wrapper/handlers/DomainObjectInvocationHandler.java
@@ -630,10 +630,7 @@ public class DomainObjectInvocationHandler<T> extends DelegatingInvocationHandle
 
             final IsisTransaction transaction = IsisContext.getTransactionManager().getTransaction();
 
-            final String currentUser = IsisContext.getAuthenticationSession().getUserName();
-            final Timestamp timestamp = Clock.getTimeAsJavaSqlTimestamp();
-
-            transaction.publishActionIfRequired(currentUser, timestamp);
+            transaction.publishActionIfRequired();
 
             return ObjectAdapter.Util.unwrap(actionReturnNO);
         }