Revert changes from topic 'submitWholeTopic'

Recently merged changes related to the 'submitWholeTopic' feature have
introduced regressions in the change screen.

This feature is not targetted for the 2.11 release. Instead of waiting
for fixes on master, just revert the changes on the stable-2.11 branch.

* This reverts the following commits:
  dbefbe0: Merge changes from topic 'submitWholeTopic'
  3bb4767: ChangeScreen: Avoid race condition for revision changes
  6287784: Submit Whole Topic: trigger merge queue for all submitted changes
  b9db274: ChangeScreen: explicitly load revision info
  46c319e: Actions: reloadRevisionActions determines submit button visibility
  a6fa971: ChangeScreen: introduce renderRevisionInfo
  3b0b9c3: ChangeAPI: add call to new actions REST API call
  add7038: ETag computation needs to honor changes in other changes

Note that the whole 'submitWholeTopic' series is not reverted; only the
recent changes that caused regression. The remaining parts of the series
are working as expected and only when the setting is explicitly enabled.

Also remove the documentation of the 'submitWholeTopic' setting from the
configuration documentation.

Change-Id: I4b7538bec1820743c4a4ac0c4100f56eb02d5ef2
This commit is contained in:
David Pursehouse
2015-02-23 10:44:33 +09:00
parent 08da3d3ea6
commit dab88b1ab1
8 changed files with 97 additions and 197 deletions

View File

@@ -57,15 +57,17 @@ public class ChangeResource implements RestResource, HasETag {
return getControl().getNotes();
}
// This includes all information relevant for ETag computation
// unrelated to the UI.
public void prepareETag(Hasher h, CurrentUser user) {
h.putLong(getChange().getLastUpdatedOn().getTime())
@Override
public String getETag() {
CurrentUser user = control.getCurrentUser();
Hasher h = Hashing.md5().newHasher()
.putLong(getChange().getLastUpdatedOn().getTime())
.putInt(getChange().getRowVersion())
.putBoolean(user.getStarredChanges().contains(getChange().getId()))
.putInt(user.isIdentifiedUser()
? ((IdentifiedUser) user).getAccountId().get()
: 0);
byte[] buf = new byte[20];
ObjectId noteId;
try {
@@ -80,14 +82,6 @@ public class ChangeResource implements RestResource, HasETag {
for (ProjectState p : control.getProjectControl().getProjectState().tree()) {
hashObjectId(h, p.getConfig().getRevision(), buf);
}
}
@Override
public String getETag() {
CurrentUser user = control.getCurrentUser();
Hasher h = Hashing.md5().newHasher()
.putBoolean(user.getStarredChanges().contains(getChange().getId()));
prepareETag(h, user);
return h.hash().toString();
}