diff --git a/java/com.sap.sailing.domain.test/SailingDomainTest (Proxy).launch b/java/com.sap.sailing.domain.test/SailingDomainTest (Proxy).launch index cbc3631f225..d4bfd80bb8b 100755 --- a/java/com.sap.sailing.domain.test/SailingDomainTest (Proxy).launch +++ b/java/com.sap.sailing.domain.test/SailingDomainTest (Proxy).launch @@ -16,5 +16,5 @@ - + diff --git a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRace.java b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRace.java index 2b71e16de17..75c658d6b44 100755 --- a/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRace.java +++ b/java/com.sap.sailing.domain/src/com/sap/sailing/domain/tracking/TrackedRace.java @@ -346,7 +346,6 @@ public interface TrackedRace extends Serializable { List approximate(Competitor competitor, Distance maxDistance, TimePoint from, TimePoint to); /** - * @param waitForLatest TODO * @return a non-null but perhaps empty list of the maneuvers that competitor performed in * this race between from and to. */ diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboardedit/EditableLeaderboardPanel.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboardedit/EditableLeaderboardPanel.java index dc94c943d64..d42cc1c5ed2 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboardedit/EditableLeaderboardPanel.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/leaderboardedit/EditableLeaderboardPanel.java @@ -709,7 +709,45 @@ public class EditableLeaderboardPanel extends LeaderboardPanel { } }); result.add(new HasCell() { - private final EditTextCell cell = new EditTextCell(); + final class OptionalBoldRenderer implements SafeHtmlRenderer { + private LeaderboardRowDTO currentRow; + + @Override + public SafeHtml render(String object) { + SafeHtmlBuilder builder = new SafeHtmlBuilder(); + render(object, builder); + return builder.toSafeHtml(); + } + + private boolean isDisplayNameSet() { + return currentRow != null && getLeaderboard().isDisplayNameSet(currentRow.competitor); + } + + @Override + public void render(String value, SafeHtmlBuilder builder) { + if (isDisplayNameSet()) { + builder.appendHtmlConstant(""); + } + builder.appendEscaped(value); + if (isDisplayNameSet()) { + builder.appendHtmlConstant(""); + } + } + + public void setCurrentRow(LeaderboardRowDTO currentRow) { + this.currentRow = currentRow; + } + } + + private final OptionalBoldRenderer renderer = new OptionalBoldRenderer(); + + private final EditTextCell cell = new EditTextCell(renderer) { + @Override + public void render(Context context, String value, SafeHtmlBuilder sb) { + renderer.setCurrentRow((LeaderboardRowDTO) context.getKey()); + super.render(context, value, sb); + } + }; @Override public EditTextCell getCell() { return cell; @@ -722,16 +760,7 @@ public class EditableLeaderboardPanel extends LeaderboardPanel { @Override public String getValue(LeaderboardRowDTO row) { - SafeHtmlBuilder sb = new SafeHtmlBuilder(); - final boolean isDisplayNameSet = getLeaderboard().isDisplayNameSet(row.competitor); - if (isDisplayNameSet) { - sb.appendHtmlConstant(""); - } - sb.appendEscaped(getLeaderboard().getDisplayName(row.competitor)); - if (isDisplayNameSet) { - sb.appendHtmlConstant(""); - } - return sb.toSafeHtml().asString(); + return getLeaderboard().getDisplayName(row.competitor); } }); return result;