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 2017/02/12 23:04:06 UTC
[2/2] isis git commit: ISIS-1577: when populating the command DTO
(XML), use the transactionId of the existing CommandContext if available.
ISIS-1577: when populating the command DTO (XML), use the transactionId of the existing CommandContext if available.
Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/b2b41a97
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/b2b41a97
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/b2b41a97
Branch: refs/heads/maint-1.14.0
Commit: b2b41a971c30b9a5bbc10a03382ee6638a6aed53
Parents: f04fc05
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Sun Feb 12 23:02:43 2017 +0000
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Sun Feb 12 23:02:43 2017 +0000
----------------------------------------------------------------------
.../command/CommandDtoServiceInternalDefault.java | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/isis/blob/b2b41a97/core/runtime/src/main/java/org/apache/isis/core/runtime/services/command/CommandDtoServiceInternalDefault.java
----------------------------------------------------------------------
diff --git a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/command/CommandDtoServiceInternalDefault.java b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/command/CommandDtoServiceInternalDefault.java
index d36b22e..bcab3e3 100644
--- a/core/runtime/src/main/java/org/apache/isis/core/runtime/services/command/CommandDtoServiceInternalDefault.java
+++ b/core/runtime/src/main/java/org/apache/isis/core/runtime/services/command/CommandDtoServiceInternalDefault.java
@@ -31,6 +31,8 @@ import org.apache.isis.applib.annotation.Programmatic;
import org.apache.isis.applib.services.background.ActionInvocationMemento;
import org.apache.isis.applib.services.bookmark.Bookmark;
import org.apache.isis.applib.services.bookmark.BookmarkService;
+import org.apache.isis.applib.services.command.Command;
+import org.apache.isis.applib.services.command.CommandContext;
import org.apache.isis.core.metamodel.adapter.ObjectAdapter;
import org.apache.isis.core.metamodel.adapter.mgr.AdapterManager;
import org.apache.isis.core.metamodel.adapter.oid.RootOid;
@@ -180,7 +182,8 @@ public class CommandDtoServiceInternalDefault implements CommandDtoServiceIntern
dto.setMajorVersion("1");
dto.setMinorVersion("0");
- dto.setTransactionId(UUID.randomUUID().toString());
+ String transactionId = determineTransactionId().toString();
+ dto.setTransactionId(transactionId);
for (ObjectAdapter targetAdapter : targetAdapters) {
final RootOid rootOid = (RootOid) targetAdapter.getOid();
@@ -191,6 +194,15 @@ public class CommandDtoServiceInternalDefault implements CommandDtoServiceIntern
return dto;
}
+ protected UUID determineTransactionId() {
+ Command command = commandContext.getCommand();
+ if (command != null && command.getTransactionId() != null) {
+ return command.getTransactionId();
+ } else {
+ return UUID.randomUUID();
+ }
+ }
+
@Override
public void addActionArgs(
final ObjectAction objectAction,
@@ -236,6 +248,9 @@ public class CommandDtoServiceInternalDefault implements CommandDtoServiceIntern
//region > injected services
@javax.inject.Inject
+ CommandContext commandContext;
+
+ @javax.inject.Inject
private BookmarkService bookmarkService;
@javax.inject.Inject