From 2c8a8dd5913be5c10432fceceab0984d7138111f Mon Sep 17 00:00:00 2001 From: Sven Selberg Date: Wed, 22 Oct 2014 14:28:18 +0200 Subject: [PATCH] Move Anchor creation to WebLinkInfo Change-Id: Ia763de5f5e49df166ce549454d1a64d3d3c8c374 --- .../com/google/gerrit/client/WebLinkInfo.java | 20 ++++++++++++ .../client/admin/ProjectBranchesScreen.java | 18 ++--------- .../client/admin/ProjectListScreen.java | 16 +--------- .../gerrit/client/change/CommitBox.java | 31 +++---------------- .../client/diff/PatchSetSelectBox2.java | 18 ++--------- 5 files changed, 30 insertions(+), 73 deletions(-) diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/WebLinkInfo.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/WebLinkInfo.java index 3ed91bed9a..45731f777d 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/WebLinkInfo.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/WebLinkInfo.java @@ -15,6 +15,8 @@ package com.google.gerrit.client; import com.google.gwt.core.client.JavaScriptObject; +import com.google.gwt.user.client.ui.Anchor; +import com.google.gwt.user.client.ui.Image; public class WebLinkInfo extends JavaScriptObject { @@ -25,4 +27,22 @@ public class WebLinkInfo extends JavaScriptObject { protected WebLinkInfo() { } + + public final Anchor toAnchor() { + Anchor a = new Anchor(); + a.setHref(url()); + if (target() != null && !target().isEmpty()) { + a.setTarget(target()); + } + if (imageUrl() != null && !imageUrl().isEmpty()) { + Image img = new Image(); + img.setAltText(name()); + img.setUrl(imageUrl()); + img.setTitle(name()); + a.getElement().appendChild(img.getElement()); + } else { + a.setText("(" + name() + ")"); + } + return a; + } } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectBranchesScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectBranchesScreen.java index 9a6dae44c1..ae8141037a 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectBranchesScreen.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectBranchesScreen.java @@ -396,22 +396,8 @@ public class ProjectBranchesScreen extends ProjectScreen { c.toBranch(new Branch.NameKey(getProjectKey(), k.ref())))); } if (k.web_links() != null) { - for (WebLinkInfo weblink : Natives.asList(k.web_links())) { - Anchor a = new Anchor(); - a.setHref(weblink.url()); - if (weblink.target() != null && !weblink.target().isEmpty()) { - a.setTarget(weblink.target()); - } - if (weblink.imageUrl() != null && !weblink.imageUrl().isEmpty()) { - Image img = new Image(); - img.setAltText(weblink.name()); - img.setUrl(weblink.imageUrl()); - img.setTitle(weblink.name()); - a.getElement().appendChild(img.getElement()); - } else { - a.setText("(" + weblink.name() + ")"); - } - actionsPanel.add(a); + for (WebLinkInfo webLink : Natives.asList(k.web_links())) { + actionsPanel.add(webLink.toAnchor()); } } if (k.actions() != null) { diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectListScreen.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectListScreen.java index af01ad3228..3d1b96061b 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectListScreen.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/admin/ProjectListScreen.java @@ -238,21 +238,7 @@ public class ProjectListScreen extends Screen implements FilteredUserInterface { } for (WebLinkInfo weblink : webLinks) { - Anchor a = new Anchor(); - a.setHref(weblink.url()); - if (weblink.target() != null && !weblink.target().isEmpty()) { - a.setTarget(weblink.target()); - } - if (weblink.imageUrl() != null && !weblink.imageUrl().isEmpty()) { - Image img = new Image(); - img.setAltText(weblink.name()); - img.setUrl(weblink.imageUrl()); - img.setTitle(weblink.name()); - a.getElement().appendChild(img.getElement()); - } else { - a.setText("(" + weblink.name() + ")"); - } - p.add(a); + p.add(weblink.toAnchor()); } } } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/CommitBox.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/CommitBox.java index b32a31b75c..1705675198 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/CommitBox.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/change/CommitBox.java @@ -126,35 +126,22 @@ class CommitBox extends Composite { RevisionInfo revInfo) { GitwebLink gw = Gerrit.getGitwebLink(); if (gw != null && gw.canLink(revInfo)) { - addWebLink(gw.toRevision(change.project(), revision), - gw.getLinkName(), null, null); + toAnchor(gw.toRevision(change.project(), revision), + gw.getLinkName()); } JsArray links = revInfo.web_links(); if (links != null) { for (WebLinkInfo link : Natives.asList(links)) { - addWebLink(link.url(), parenthesize(link.name()), link.imageUrl(), - link.target()); + webLinkPanel.add(link.toAnchor()); } } } - private void addWebLink(String href, String name, String imageUrl, - String target) { + private void toAnchor(String href, String name) { Anchor a = new Anchor(); a.setHref(href); - if (target != null && !target.isEmpty()) { - a.setTarget(target); - } - if (imageUrl != null && !imageUrl.isEmpty()) { - Image img = new Image(); - img.setAltText(name); - img.setUrl(imageUrl); - img.setTitle(name); - a.getElement().appendChild(img.getElement()); - } else { - a.setText(name); - } + a.setText(name); webLinkPanel.add(a); } @@ -198,14 +185,6 @@ class CommitBox extends Composite { date.setInnerText(FormatUtil.mediumFormat(person.date())); } - private static String parenthesize(String str) { - return new StringBuilder() - .append("(") - .append(str) - .append(")") - .toString(); - } - private static String renderName(GitPerson person) { return person.name() + " <" + person.email() + ">"; } diff --git a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PatchSetSelectBox2.java b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PatchSetSelectBox2.java index dae155e939..2650a1e918 100644 --- a/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PatchSetSelectBox2.java +++ b/gerrit-gwtui/src/main/java/com/google/gerrit/client/diff/PatchSetSelectBox2.java @@ -123,22 +123,8 @@ class PatchSetSelectBox2 extends Composite { } List webLinks = Natives.asList(meta.web_links()); if (webLinks != null) { - for (WebLinkInfo weblink : webLinks) { - Anchor a = new Anchor(); - a.setHref(weblink.url()); - if (weblink.target() != null && !weblink.target().isEmpty()) { - a.setTarget(weblink.target()); - } - if (weblink.imageUrl() != null && !weblink.imageUrl().isEmpty()) { - Image img = new Image(); - img.setAltText(weblink.name()); - img.setUrl(weblink.imageUrl()); - img.setTitle(weblink.name()); - a.getElement().appendChild(img.getElement()); - } else { - a.setText("(" + weblink.name() + ")"); - } - linkPanel.add(a); + for (WebLinkInfo webLink : webLinks) { + linkPanel.add(webLink.toAnchor()); } } }