Merge branch 'stable-2.13'
* stable-2.13: ChangeScreen: Show correct file list when loaded with parent as base ChangeScreen: Load commit only once GetAuditLog: Set group name for external groups Change-Id: I36a586392efdd317fd15530f312ed1d42a77308d Signed-off-by: Edwin Kempin <ekempin@google.com>
This commit is contained in:
@@ -283,11 +283,22 @@ public class ChangeScreen extends Screen {
|
|||||||
loadChangeInfo(true, group.addFinal(
|
loadChangeInfo(true, group.addFinal(
|
||||||
new GerritCallback<ChangeInfo>() {
|
new GerritCallback<ChangeInfo>() {
|
||||||
@Override
|
@Override
|
||||||
public void onSuccess(ChangeInfo info) {
|
public void onSuccess(final ChangeInfo info) {
|
||||||
info.init();
|
info.init();
|
||||||
addExtensionPoints(info, initCurrentRevision(info));
|
addExtensionPoints(info, initCurrentRevision(info));
|
||||||
|
|
||||||
|
RevisionInfo rev = info.revision(revision);
|
||||||
|
CallbackGroup group = new CallbackGroup();
|
||||||
|
loadCommit(rev, group);
|
||||||
|
|
||||||
|
group.addListener(new GerritCallback<Void>() {
|
||||||
|
@Override
|
||||||
|
public void onSuccess(Void result) {
|
||||||
loadConfigInfo(info, base);
|
loadConfigInfo(info, base);
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
group.done();
|
||||||
|
}
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -952,18 +963,14 @@ public class ChangeScreen extends Screen {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void loadConfigInfo(final ChangeInfo info, RevisionInfo rev) {
|
private void loadConfigInfo(final ChangeInfo info, RevisionInfo rev) {
|
||||||
CallbackGroup group = new CallbackGroup();
|
|
||||||
loadCommit(rev, group);
|
|
||||||
|
|
||||||
if (loaded) {
|
if (loaded) {
|
||||||
group.done();
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
RevisionInfoCache.add(changeId, rev);
|
RevisionInfoCache.add(changeId, rev);
|
||||||
ConfigInfoCache.add(info);
|
ConfigInfoCache.add(info);
|
||||||
ConfigInfoCache.get(info.projectNameKey(),
|
ConfigInfoCache.get(info.projectNameKey(),
|
||||||
group.addFinal(new ScreenLoadCallback<ConfigInfoCache.Entry>(this) {
|
new ScreenLoadCallback<ConfigInfoCache.Entry>(this) {
|
||||||
@Override
|
@Override
|
||||||
protected void preDisplay(Entry result) {
|
protected void preDisplay(Entry result) {
|
||||||
loaded = true;
|
loaded = true;
|
||||||
@@ -972,7 +979,7 @@ public class ChangeScreen extends Screen {
|
|||||||
renderChangeInfo(info);
|
renderChangeInfo(info);
|
||||||
loadRevisionInfo();
|
loadRevisionInfo();
|
||||||
}
|
}
|
||||||
}));
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
static Timestamp myLastReply(ChangeInfo info) {
|
static Timestamp myLastReply(ChangeInfo info) {
|
||||||
@@ -1101,7 +1108,7 @@ public class ChangeScreen extends Screen {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void loadCommit(final RevisionInfo rev, CallbackGroup group) {
|
private void loadCommit(final RevisionInfo rev, CallbackGroup group) {
|
||||||
if (rev.isEdit()) {
|
if (rev.isEdit() || rev.commit() != null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1162,7 +1169,7 @@ public class ChangeScreen extends Screen {
|
|||||||
*
|
*
|
||||||
* @param info change info
|
* @param info change info
|
||||||
* @param revOrId revision or patch set id
|
* @param revOrId revision or patch set id
|
||||||
* @param defaultValue value returned when rev is null
|
* @param defaultValue value returned when revOrId is null
|
||||||
* @return resolved revision or default value
|
* @return resolved revision or default value
|
||||||
*/
|
*/
|
||||||
private RevisionInfo resolveRevisionOrPatchSetId(ChangeInfo info,
|
private RevisionInfo resolveRevisionOrPatchSetId(ChangeInfo info,
|
||||||
@@ -1172,12 +1179,10 @@ public class ChangeScreen extends Screen {
|
|||||||
revOrId = defaultValue;
|
revOrId = defaultValue;
|
||||||
} else if ((parentNum = toParentNum(revOrId)) > 0) {
|
} else if ((parentNum = toParentNum(revOrId)) > 0) {
|
||||||
CommitInfo commitInfo = info.revision(revision).commit();
|
CommitInfo commitInfo = info.revision(revision).commit();
|
||||||
if (commitInfo != null) {
|
|
||||||
JsArray<CommitInfo> parents = commitInfo.parents();
|
JsArray<CommitInfo> parents = commitInfo.parents();
|
||||||
if (parents.length() >= parentNum) {
|
if (parents.length() >= parentNum) {
|
||||||
return RevisionInfo.forParent(-parentNum, parents.get(parentNum - 1));
|
return RevisionInfo.forParent(-parentNum, parents.get(parentNum - 1));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
} else if (!info.revisions().containsKey(revOrId)) {
|
} else if (!info.revisions().containsKey(revOrId)) {
|
||||||
JsArray<RevisionInfo> list = info.revisions().values();
|
JsArray<RevisionInfo> list = info.revisions().values();
|
||||||
for (int i = 0; i < list.length(); i++) {
|
for (int i = 0; i < list.length(); i++) {
|
||||||
|
|||||||
@@ -14,6 +14,7 @@
|
|||||||
|
|
||||||
package com.google.gerrit.server.group;
|
package com.google.gerrit.server.group;
|
||||||
|
|
||||||
|
import com.google.gerrit.common.data.GroupDescription;
|
||||||
import com.google.gerrit.common.data.GroupDescriptions;
|
import com.google.gerrit.common.data.GroupDescriptions;
|
||||||
import com.google.gerrit.extensions.common.AccountInfo;
|
import com.google.gerrit.extensions.common.AccountInfo;
|
||||||
import com.google.gerrit.extensions.common.GroupAuditEventInfo;
|
import com.google.gerrit.extensions.common.GroupAuditEventInfo;
|
||||||
@@ -28,6 +29,7 @@ import com.google.gerrit.reviewdb.client.AccountGroupByIdAud;
|
|||||||
import com.google.gerrit.reviewdb.client.AccountGroupMemberAudit;
|
import com.google.gerrit.reviewdb.client.AccountGroupMemberAudit;
|
||||||
import com.google.gerrit.reviewdb.server.ReviewDb;
|
import com.google.gerrit.reviewdb.server.ReviewDb;
|
||||||
import com.google.gerrit.server.account.AccountLoader;
|
import com.google.gerrit.server.account.AccountLoader;
|
||||||
|
import com.google.gerrit.server.account.GroupBackend;
|
||||||
import com.google.gerrit.server.account.GroupCache;
|
import com.google.gerrit.server.account.GroupCache;
|
||||||
import com.google.gwtorm.server.OrmException;
|
import com.google.gwtorm.server.OrmException;
|
||||||
import com.google.inject.Inject;
|
import com.google.inject.Inject;
|
||||||
@@ -45,16 +47,19 @@ public class GetAuditLog implements RestReadView<GroupResource> {
|
|||||||
private final AccountLoader.Factory accountLoaderFactory;
|
private final AccountLoader.Factory accountLoaderFactory;
|
||||||
private final GroupCache groupCache;
|
private final GroupCache groupCache;
|
||||||
private final GroupJson groupJson;
|
private final GroupJson groupJson;
|
||||||
|
private final GroupBackend groupBackend;
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public GetAuditLog(Provider<ReviewDb> db,
|
public GetAuditLog(Provider<ReviewDb> db,
|
||||||
AccountLoader.Factory accountLoaderFactory,
|
AccountLoader.Factory accountLoaderFactory,
|
||||||
GroupCache groupCache,
|
GroupCache groupCache,
|
||||||
GroupJson groupJson) {
|
GroupJson groupJson,
|
||||||
|
GroupBackend groupBackend) {
|
||||||
this.db = db;
|
this.db = db;
|
||||||
this.accountLoaderFactory = accountLoaderFactory;
|
this.accountLoaderFactory = accountLoaderFactory;
|
||||||
this.groupCache = groupCache;
|
this.groupCache = groupCache;
|
||||||
this.groupJson = groupJson;
|
this.groupJson = groupJson;
|
||||||
|
this.groupBackend = groupBackend;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -100,8 +105,11 @@ public class GetAuditLog implements RestReadView<GroupResource> {
|
|||||||
if (includedGroup != null) {
|
if (includedGroup != null) {
|
||||||
member = groupJson.format(GroupDescriptions.forAccountGroup(includedGroup));
|
member = groupJson.format(GroupDescriptions.forAccountGroup(includedGroup));
|
||||||
} else {
|
} else {
|
||||||
|
GroupDescription.Basic groupDescription =
|
||||||
|
groupBackend.get(includedGroupUUID);
|
||||||
member = new GroupInfo();
|
member = new GroupInfo();
|
||||||
member.id = Url.encode(includedGroupUUID.get());
|
member.id = Url.encode(includedGroupUUID.get());
|
||||||
|
member.name = groupDescription.getName();
|
||||||
}
|
}
|
||||||
|
|
||||||
auditEvents.add(GroupAuditEventInfo.createAddGroupEvent(
|
auditEvents.add(GroupAuditEventInfo.createAddGroupEvent(
|
||||||
|
|||||||
Reference in New Issue
Block a user