UiAction: Fix stale timestamp in person ident instance
I27224edd3 moved UiActions in singleton scope. As a consequence
PersonIdent class instance is created at server start and supplies
always the same start timestamp:
personIdent.getWhen()
Construct a new instance by passing the instance from the singleton
and provide current timestamp instance.
Change-Id: Ie51078a38074fb4c3f12820933b5c7a13a8074cb
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/EditMessage.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/EditMessage.java
index fc1e400..af81627 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/EditMessage.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/EditMessage.java
@@ -30,6 +30,7 @@
import com.google.gerrit.server.patch.PatchSetInfoNotAvailableException;
import com.google.gerrit.server.project.InvalidChangeOperationException;
import com.google.gerrit.server.project.NoSuchChangeException;
+import com.google.gerrit.server.util.TimeUtil;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import com.google.inject.Singleton;
@@ -78,7 +79,7 @@
rsrc.getControl(),
rsrc.getPatchSet().getId(),
input.message,
- myIdent));
+ new PersonIdent(myIdent, TimeUtil.nowTs())));
} catch (InvalidChangeOperationException e) {
throw new BadRequestException(e.getMessage());
} catch (NoSuchChangeException e) {
diff --git a/gerrit-server/src/main/java/com/google/gerrit/server/change/Revert.java b/gerrit-server/src/main/java/com/google/gerrit/server/change/Revert.java
index b44eb3d..326c872 100644
--- a/gerrit-server/src/main/java/com/google/gerrit/server/change/Revert.java
+++ b/gerrit-server/src/main/java/com/google/gerrit/server/change/Revert.java
@@ -32,6 +32,7 @@
import com.google.gerrit.server.project.InvalidChangeOperationException;
import com.google.gerrit.server.project.NoSuchChangeException;
import com.google.gerrit.server.ssh.NoSshInfo;
+import com.google.gerrit.server.util.TimeUtil;
import com.google.gwtorm.server.OrmException;
import com.google.inject.Inject;
import com.google.inject.Singleton;
@@ -72,7 +73,7 @@
Change.Id revertedChangeId =
changeUtil.revert(control, change.currentPatchSetId(),
Strings.emptyToNull(input.message),
- myIdent, new NoSshInfo());
+ new PersonIdent(myIdent, TimeUtil.nowTs()), new NoSshInfo());
return json.format(revertedChangeId);
} catch (InvalidChangeOperationException e) {