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 2018/09/26 21:27:49 UTC

[isis] branch v2 updated: ISIS-1976: fixes 'Command' having field 'uniqueId' not initialized

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

ahuber pushed a commit to branch v2
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/v2 by this push:
     new 8f3ead3  ISIS-1976: fixes 'Command' having field 'uniqueId' not initialized
8f3ead3 is described below

commit 8f3ead39d1eb6504aafa5595600ee8974849f2e6
Author: Andi Huber <ah...@apache.org>
AuthorDate: Wed Sep 26 23:27:42 2018 +0200

    ISIS-1976: fixes 'Command' having field 'uniqueId' not initialized
    
    Task-Url: https://issues.apache.org/jira/browse/ISIS-1976
---
 .../java/org/apache/isis/applib/services/command/Command.java  |  6 ------
 .../apache/isis/applib/services/command/CommandDefault.java    | 10 +++-------
 .../core/runtime/system/persistence/PersistenceSession4.java   |  5 +----
 .../core/runtime/system/persistence/PersistenceSession5.java   |  6 +-----
 4 files changed, 5 insertions(+), 22 deletions(-)

diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/command/Command.java b/core/applib/src/main/java/org/apache/isis/applib/services/command/Command.java
index 1fda804..717b4f5 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/command/Command.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/command/Command.java
@@ -17,7 +17,6 @@
 package org.apache.isis.applib.services.command;
 
 import java.sql.Timestamp;
-import java.util.UUID;
 
 import org.apache.isis.applib.Identifier;
 import org.apache.isis.applib.annotation.Action;
@@ -424,11 +423,6 @@ public interface Command extends HasUniqueId {
          */
         void setPersistHint(boolean persistHint);
         
-        /**
-         * Sets the unique identifier (a GUID) of the request/interaction.
-         */
-        void setInteractionId(final UUID interactionId);
-
     }
     
     /**
diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/command/CommandDefault.java b/core/applib/src/main/java/org/apache/isis/applib/services/command/CommandDefault.java
index 3cd425f..301330f 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/command/CommandDefault.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/command/CommandDefault.java
@@ -31,6 +31,7 @@ public class CommandDefault implements Command {
 
     public CommandDefault() {
         this.executor = Executor.OTHER;
+        this.uniqueId = UUID.randomUUID();
     }
 
     // -- actionIdentifier (property)
@@ -162,13 +163,12 @@ public class CommandDefault implements Command {
 
     // -- transactionId (property)
 
-    private UUID interactionId;
+    private UUID uniqueId;
 
     @Override
     public UUID getUniqueId() {
-        return interactionId;
+        return uniqueId;
     }
-    
 
     // -- persistence
 
@@ -270,10 +270,6 @@ public class CommandDefault implements Command {
         public void setExecutor(Executor executor) {
             CommandDefault.this.executor = executor;
         }
-        @Override
-        public void setInteractionId(UUID transactionId) {
-            CommandDefault.this.interactionId = interactionId;
-        }
     };
     
     @Override
diff --git a/core/plugins/jdo-datanucleus-4/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession4.java b/core/plugins/jdo-datanucleus-4/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession4.java
index b486d45..c3a7443 100644
--- a/core/plugins/jdo-datanucleus-4/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession4.java
+++ b/core/plugins/jdo-datanucleus-4/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession4.java
@@ -29,7 +29,6 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
-import java.util.UUID;
 
 import javax.annotation.Nullable;
 import javax.jdo.FetchGroup;
@@ -165,7 +164,6 @@ implements IsisLifecycleListener.PersistenceSessionLifecycleManagement {
 
 
         final Command command = createCommand();
-        final UUID transactionId = UUID.randomUUID();
         final Interaction interaction = factoryService.instantiate(Interaction.class);
 
         final Timestamp timestamp = clockService.nowAsJavaSqlTimestamp();
@@ -173,9 +171,8 @@ implements IsisLifecycleListener.PersistenceSessionLifecycleManagement {
 
         command.internal().setTimestamp(timestamp);
         command.internal().setUser(userName);
-        command.internal().setInteractionId(transactionId);
 
-        interaction.setUniqueId(transactionId);
+        interaction.setUniqueId(command.getUniqueId());
 
         commandContext.setCommand(command);
         interactionContext.setInteraction(interaction);
diff --git a/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession5.java b/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession5.java
index b095558..db45177 100644
--- a/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession5.java
+++ b/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession5.java
@@ -29,7 +29,6 @@ import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
-import java.util.UUID;
 
 import javax.annotation.Nullable;
 import javax.jdo.FetchGroup;
@@ -163,9 +162,7 @@ implements IsisLifecycleListener.PersistenceSessionLifecycleManagement {
             persistenceManager.addInstanceLifecycleListener(metricsService, (Class[]) null);
         }
 
-
         final Command command = createCommand();
-        final UUID interactionId = UUID.randomUUID();
         final Interaction interaction = factoryService.instantiate(Interaction.class);
 
         final Timestamp timestamp = clockService.nowAsJavaSqlTimestamp();
@@ -173,9 +170,8 @@ implements IsisLifecycleListener.PersistenceSessionLifecycleManagement {
 
         command.internal().setTimestamp(timestamp);
         command.internal().setUser(userName);
-        command.internal().setInteractionId(interactionId);
 
-        interaction.setUniqueId(interactionId);
+        interaction.setUniqueId(command.getUniqueId());
 
         commandContext.setCommand(command);
         interactionContext.setInteraction(interaction);