From 015cde4165bce11a22e13f7018352d7e6c09d1e1 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 28 Aug 2009 17:53:32 -0700 Subject: [PATCH] Cleanup assumption of Branch.NameKey parent is Project.NameKey Often we are pulling the Project.NameKey off a Branch.NameKey, but this is really obtuse. Its cleaner to just ask the change object what project it is a member of. Change-Id: I422845dbeb00de95ffc309125226f7427a9a20be Signed-off-by: Shawn O. Pearce --- .../com/google/gerrit/client/changes/ChangeInfoBlock.java | 2 +- .../java/com/google/gerrit/client/changes/ChangeScreen.java | 2 +- .../java/com/google/gerrit/client/changes/PatchSetPanel.java | 2 +- src/main/java/com/google/gerrit/client/data/ChangeInfo.java | 2 +- src/main/java/com/google/gerrit/client/reviewdb/Change.java | 4 ++++ src/main/java/com/google/gerrit/pgm/ReimportPatchSets.java | 2 +- .../java/com/google/gerrit/server/mail/OutgoingEmail.java | 4 ++-- .../com/google/gerrit/server/patch/PatchSetInfoFactory.java | 2 +- .../java/com/google/gerrit/server/project/ChangeControl.java | 2 +- .../server/rpc/changedetail/PatchSetPublishDetailFactory.java | 2 +- .../google/gerrit/server/rpc/patch/PatchScriptFactory.java | 2 +- .../java/com/google/gerrit/server/ssh/commands/Receive.java | 2 +- .../java/com/google/gerrit/server/workflow/FunctionState.java | 2 +- 13 files changed, 17 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/google/gerrit/client/changes/ChangeInfoBlock.java b/src/main/java/com/google/gerrit/client/changes/ChangeInfoBlock.java index ccf0d8d532..803ecf5230 100644 --- a/src/main/java/com/google/gerrit/client/changes/ChangeInfoBlock.java +++ b/src/main/java/com/google/gerrit/client/changes/ChangeInfoBlock.java @@ -74,7 +74,7 @@ public class ChangeInfoBlock extends Composite { final Branch.NameKey dst = chg.getDest(); table.setText(R_CHANGE_ID, 1, chg.getKey().get()); table.setWidget(R_OWNER, 1, AccountDashboardLink.link(acc, chg.getOwner())); - table.setWidget(R_PROJECT, 1, new ProjectOpenLink(dst.getParentKey())); + table.setWidget(R_PROJECT, 1, new ProjectOpenLink(chg.getProject())); table.setText(R_BRANCH, 1, dst.getShortName()); table.setText(R_UPLOADED, 1, mediumFormat(chg.getCreatedOn())); table.setText(R_UPDATED, 1, mediumFormat(chg.getLastUpdatedOn())); diff --git a/src/main/java/com/google/gerrit/client/changes/ChangeScreen.java b/src/main/java/com/google/gerrit/client/changes/ChangeScreen.java index bc7b93825f..0f113dc679 100644 --- a/src/main/java/com/google/gerrit/client/changes/ChangeScreen.java +++ b/src/main/java/com/google/gerrit/client/changes/ChangeScreen.java @@ -267,7 +267,7 @@ public class ChangeScreen extends Screen { if (gw != null) { final Anchor revlink = new Anchor("(gitweb)", false, gw.toRevision(detail.getChange() - .getDest().getParentKey(), ps)); + .getProject(), ps)); revlink.addStyleName("gerrit-PatchSetLink"); panel.getHeader().add(revlink); } diff --git a/src/main/java/com/google/gerrit/client/changes/PatchSetPanel.java b/src/main/java/com/google/gerrit/client/changes/PatchSetPanel.java index 34d62881f9..ad3841e165 100644 --- a/src/main/java/com/google/gerrit/client/changes/PatchSetPanel.java +++ b/src/main/java/com/google/gerrit/client/changes/PatchSetPanel.java @@ -146,7 +146,7 @@ class PatchSetPanel extends Composite implements OpenHandler { private void displayDownload() { final Branch.NameKey branchKey = changeDetail.getChange().getDest(); - final Project.NameKey projectKey = branchKey.getParentKey(); + final Project.NameKey projectKey = changeDetail.getChange().getProject(); final String projectName = projectKey.get(); final FlowPanel downloads = new FlowPanel(); diff --git a/src/main/java/com/google/gerrit/client/data/ChangeInfo.java b/src/main/java/com/google/gerrit/client/data/ChangeInfo.java index 415b6c8a5b..4aa9879a32 100644 --- a/src/main/java/com/google/gerrit/client/data/ChangeInfo.java +++ b/src/main/java/com/google/gerrit/client/data/ChangeInfo.java @@ -40,7 +40,7 @@ public class ChangeInfo { owner = c.getOwner(); subject = c.getSubject(); status = c.getStatus(); - project = new ProjectInfo(c.getDest().getParentKey()); + project = new ProjectInfo(c.getProject()); branch = c.getDest().getShortName(); lastUpdatedOn = c.getLastUpdatedOn(); sortKey = c.getSortKey(); diff --git a/src/main/java/com/google/gerrit/client/reviewdb/Change.java b/src/main/java/com/google/gerrit/client/reviewdb/Change.java index 15be7b8f9b..b9f2bf63bc 100644 --- a/src/main/java/com/google/gerrit/client/reviewdb/Change.java +++ b/src/main/java/com/google/gerrit/client/reviewdb/Change.java @@ -407,6 +407,10 @@ public final class Change { return dest; } + public Project.NameKey getProject() { + return dest.getParentKey(); + } + public String getSubject() { return subject; } diff --git a/src/main/java/com/google/gerrit/pgm/ReimportPatchSets.java b/src/main/java/com/google/gerrit/pgm/ReimportPatchSets.java index 16dc0db75b..7505e8f8d6 100644 --- a/src/main/java/com/google/gerrit/pgm/ReimportPatchSets.java +++ b/src/main/java/com/google/gerrit/pgm/ReimportPatchSets.java @@ -100,7 +100,7 @@ public class ReimportPatchSets extends AbstractProgram { continue; } - final Project.NameKey projectKey = c.getDest().getParentKey(); + final Project.NameKey projectKey = c.getProject(); final String projectName = projectKey.get(); final Repository repo; try { diff --git a/src/main/java/com/google/gerrit/server/mail/OutgoingEmail.java b/src/main/java/com/google/gerrit/server/mail/OutgoingEmail.java index bee7aab007..2e85127753 100644 --- a/src/main/java/com/google/gerrit/server/mail/OutgoingEmail.java +++ b/src/main/java/com/google/gerrit/server/mail/OutgoingEmail.java @@ -200,7 +200,7 @@ public abstract class OutgoingEmail { /** Setup the message headers and envelope (TO, CC, BCC). */ protected void init() { if (change != null && projectCache != null) { - projectState = projectCache.get(change.getDest().getParentKey()); + projectState = projectCache.get(change.getProject()); projectName = projectState != null ? projectState.getProject().getName() : null; } else { @@ -482,7 +482,7 @@ public abstract class OutgoingEmail { protected Set getProjectOwners() { final ProjectState r; - r = projectCache.get(change.getDest().getParentKey()); + r = projectCache.get(change.getProject()); return r != null ? r.getOwners() : Collections. emptySet(); } diff --git a/src/main/java/com/google/gerrit/server/patch/PatchSetInfoFactory.java b/src/main/java/com/google/gerrit/server/patch/PatchSetInfoFactory.java index df6b0af554..fe1608b5a5 100644 --- a/src/main/java/com/google/gerrit/server/patch/PatchSetInfoFactory.java +++ b/src/main/java/com/google/gerrit/server/patch/PatchSetInfoFactory.java @@ -75,7 +75,7 @@ public class PatchSetInfoFactory { db = schemaFactory.open(); final PatchSet patchSet = db.patchSets().get(patchSetId); final Change change = db.changes().get(patchSet.getId().getParentKey()); - final Project.NameKey projectKey = change.getDest().getParentKey(); + final Project.NameKey projectKey = change.getProject(); final String projectName = projectKey.get(); repo = gs.openRepository(projectName); final RevWalk rw = new RevWalk(repo); diff --git a/src/main/java/com/google/gerrit/server/project/ChangeControl.java b/src/main/java/com/google/gerrit/server/project/ChangeControl.java index 3fd687f04a..6df9b0c91e 100644 --- a/src/main/java/com/google/gerrit/server/project/ChangeControl.java +++ b/src/main/java/com/google/gerrit/server/project/ChangeControl.java @@ -52,7 +52,7 @@ public class ChangeControl { public ChangeControl controlFor(final Change change) throws NoSuchChangeException { try { - final Project.NameKey projectKey = change.getDest().getParentKey(); + final Project.NameKey projectKey = change.getProject(); return projectControl.validateFor(projectKey).controlFor(change); } catch (NoSuchProjectException e) { throw new NoSuchChangeException(change.getId(), e); diff --git a/src/main/java/com/google/gerrit/server/rpc/changedetail/PatchSetPublishDetailFactory.java b/src/main/java/com/google/gerrit/server/rpc/changedetail/PatchSetPublishDetailFactory.java index a368fe5351..9d0409d6e8 100644 --- a/src/main/java/com/google/gerrit/server/rpc/changedetail/PatchSetPublishDetailFactory.java +++ b/src/main/java/com/google/gerrit/server/rpc/changedetail/PatchSetPublishDetailFactory.java @@ -124,7 +124,7 @@ final class PatchSetPublishDetailFactory extends Handler private void computeAllowed() { final Set am = user.getEffectiveGroups(); - final ProjectState pe = projectCache.get(change.getDest().getParentKey()); + final ProjectState pe = projectCache.get(change.getProject()); computeAllowed(am, pe.getRights()); computeAllowed(am, projectCache.getWildcardRights()); } diff --git a/src/main/java/com/google/gerrit/server/rpc/patch/PatchScriptFactory.java b/src/main/java/com/google/gerrit/server/rpc/patch/PatchScriptFactory.java index e71b9eac70..adafe79225 100644 --- a/src/main/java/com/google/gerrit/server/rpc/patch/PatchScriptFactory.java +++ b/src/main/java/com/google/gerrit/server/rpc/patch/PatchScriptFactory.java @@ -121,7 +121,7 @@ class PatchScriptFactory extends Handler { throw new NoSuchChangeException(changeId); } - projectKey = change.getDest().getParentKey(); + projectKey = change.getProject(); try { git = server.openRepository(projectKey.get()); } catch (RepositoryNotFoundException e) { diff --git a/src/main/java/com/google/gerrit/server/ssh/commands/Receive.java b/src/main/java/com/google/gerrit/server/ssh/commands/Receive.java index 4f87f4b777..77f32f6b3a 100644 --- a/src/main/java/com/google/gerrit/server/ssh/commands/Receive.java +++ b/src/main/java/com/google/gerrit/server/ssh/commands/Receive.java @@ -642,7 +642,7 @@ final class Receive extends AbstractGitCommand { reject(cmd, "change " + changeId + " not found"); return; } - if (!project.getNameKey().equals(changeEnt.getDest().getParentKey())) { + if (!project.getNameKey().equals(changeEnt.getProject())) { reject(cmd, "change " + changeId + " not found"); return; } diff --git a/src/main/java/com/google/gerrit/server/workflow/FunctionState.java b/src/main/java/com/google/gerrit/server/workflow/FunctionState.java index cfd994d8dd..c106fe3e55 100644 --- a/src/main/java/com/google/gerrit/server/workflow/FunctionState.java +++ b/src/main/java/com/google/gerrit/server/workflow/FunctionState.java @@ -74,7 +74,7 @@ public class FunctionState { projectCache = pc; change = c; - project = projectCache.get(change.getDest().getParentKey()); + project = projectCache.get(change.getProject()); for (final PatchSetApproval ca : all) { if (psId.equals(ca.getPatchSetId())) {