Merge branch 'master' into design2015

Conflicts:
	java/com.sap.sailing.gwt.ui/.settings/org.eclipse.core.resources.prefs
	java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.java
	java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties
	java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_cn.properties
	java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties
This commit is contained in:
Axel Uhl committed 2015-04-30 00:54:57 +02:00
commit c7d428a3a5
15 files changed
+86 -26

No files matched your search

@@ -1,5 +1,7 @@
package com.sap.sailing.domain.base;
import java.net.URI;
import com.sap.sse.common.Color;
public interface CompetitorChangeListener extends BoatChangeListener, NationalityChangeListener {
@@ -8,4 +10,6 @@ public interface CompetitorChangeListener extends BoatChangeListener, Nationalit
void nameChanged(String oldName, String newName);
void emailChanged(String oldEmail, String newEmail);
void flagImageChanged(URI oldFlagImageURI, URI newFlagImageURI);
}
@@ -145,6 +145,12 @@ public class CompetitorImpl implements DynamicCompetitor {
@Override
public void setFlagImage(URI flagImage) {
final URI oldFlagImage = this.flagImage;
this.flagImage = flagImage;
if (!Util.equalsWithNull(oldFlagImage, flagImage)) {
for (CompetitorChangeListener listener : getListeners()) {
listener.flagImageChanged(oldFlagImage, flagImage);
}
}
}
}
@@ -7,6 +7,8 @@ import static org.junit.Assert.assertSame;
import static org.junit.Assert.assertTrue;
import java.io.IOException;
import java.net.URI;
import java.net.URISyntaxException;
import org.junit.Before;
import org.junit.Test;
@@ -45,6 +47,12 @@ public class CompetitorListenerTest extends AbstractSerializationTest {
private Color newColor;
private DynamicCompetitor competitor;
private DomainFactoryImpl baseDomainFactory;
private boolean emailChanged;
private String oldEmail;
private String newEmail;
private boolean flagImageChanged;
private URI oldFlagImageURL;
private URI newFlagImageURL;
@Before
public void setUp() {
@@ -63,6 +71,12 @@ public class CompetitorListenerTest extends AbstractSerializationTest {
colorChanged = false;
oldColor = null;
newColor = null;
emailChanged = false;
oldEmail = null;
newEmail = null;
flagImageChanged = false;
oldFlagImageURL = null;
newFlagImageURL = null;
listener = new CompetitorChangeListener() {
private static final long serialVersionUID = 4581029778988240209L;
@@ -97,7 +111,16 @@ public class CompetitorListenerTest extends AbstractSerializationTest {
@Override
public void emailChanged(String oldEmail, String newEmail) {
//TODO
emailChanged = true;
CompetitorListenerTest.this.oldEmail = oldEmail;
CompetitorListenerTest.this.newEmail = newEmail;
}
@Override
public void flagImageChanged(URI oldFlagImageURL, URI newFlagImageURL) {
flagImageChanged = true;
CompetitorListenerTest.this.oldFlagImageURL = oldFlagImageURL;
CompetitorListenerTest.this.newFlagImageURL = newFlagImageURL;
}
};
competitor.addCompetitorChangeListener(listener);
@@ -126,6 +149,22 @@ public class CompetitorListenerTest extends AbstractSerializationTest {
assertFalse(nationalityChanged);
}
@Test
public void testFlagChange() throws URISyntaxException {
competitor.setFlagImage(new URI("http://www.something.de/pic.png"));
assertTrue(flagImageChanged);
assertNull(oldFlagImageURL);
assertEquals(new URI("http://www.something.de/pic.png"), newFlagImageURL);
}
@Test
public void testEmailChange() throws URISyntaxException {
competitor.setEmail("hasso.plattner@sap.com");
assertTrue(emailChanged);
assertNull(oldEmail);
assertEquals("hasso.plattner@sap.com", newEmail);
}
@Test
public void testSimpleCompetitorListenerPatternForSailId() {
final String myOldSailId = competitor.getBoat().getSailID();
@@ -1,5 +1,6 @@
package com.sap.sailing.domain.leaderboard;
import java.net.URI;
import java.util.Collections;
import java.util.HashSet;
import java.util.Map;
@@ -121,7 +122,11 @@ public class LeaderboardCacheManager {
public void emailChanged(String oldEmail, String newEmail) {
//ignore (email not shown in leaderboard)
}
@Override
public void flagImageChanged(URI oldFlagImageURL, URI newFlagImageURL) {
removeFromCache(leaderboard);
}
}
private class CacheInvalidationUponScoreCorrectionListener implements ScoreCorrectionListener {
@@ -2,5 +2,7 @@ eclipse.preferences.version=1
encoding//src/main/java/com/sap/sailing/gwt/common/client/i18n/TextMessages_de.properties=UTF-8
encoding//src/main/java/com/sap/sailing/gwt/common/client/i18n/TextMessages.properties=UTF-8
encoding//src/main/java/com/sap/sailing/gwt/ui/client/StringMessages.properties=UTF-8
encoding//src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_cn.properties=UTF-8
encoding//src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_de.properties=UTF-8
encoding//src/main/java/com/sap/sailing/gwt/ui/client/StringMessages_ru.properties=UTF-8
@@ -70,11 +70,9 @@ public class CompetitorTableWrapper<S extends SelectionModel<CompetitorDTO>> ext
SafeHtmlBuilder sb = new SafeHtmlBuilder();
ImageResourceRenderer renderer = new ImageResourceRenderer();
final String twoLetterIsoCountryCode = competitor.getTwoLetterIsoCountryCode();
final String imageURL = competitor.getImageURL();
if (imageURL != null && !imageURL.isEmpty()) {
sb.appendHtmlConstant("<img src=\"" + imageURL + "\" width=\"18px\" height=\"12px\" title=\"" + competitor.getName() + "\"/>");
final String flagImageURL = competitor.getFlagImageURL();
if (flagImageURL != null && !flagImageURL.isEmpty()) {
sb.appendHtmlConstant("<img src=\"" + flagImageURL + "\" width=\"18px\" height=\"12px\" title=\"" + competitor.getName() + "\"/>");
sb.appendHtmlConstant("&nbsp;");
} else {
final ImageResource flagImageResource;
@@ -113,8 +111,8 @@ public class CompetitorTableWrapper<S extends SelectionModel<CompetitorDTO>> ext
public SafeHtml getValue(CompetitorDTO competitor) {
SafeHtmlBuilder sb = new SafeHtmlBuilder();
if (competitor.getImageURL() != null && !competitor.getImageURL().isEmpty()) {
sb.appendHtmlConstant("<img src=\"/sailingserver/api/v1/file?uri=" + competitor.getImageURL()
+ "\" height=\"40px\" title=\"" + competitor.getImageURL() + "\"/>");
sb.appendHtmlConstant("<img src=\"" + competitor.getImageURL() + "\" height=\"40px\" title=\""
+ competitor.getImageURL() + "\"/>");
}
return sb.toSafeHtml();
}
@@ -246,10 +246,14 @@ public class DeviceConfigurationDetailComposite extends Composite {
}
private void markAsDirty(boolean dirty) {
if (dirty && !(captionPanel.getTitle() == stringMessages.configuration())) {
captionPanel.setCaptionText(stringMessages.configuration() + "* (CHANGED)");
if (dirty) {
if (captionPanel.getCaptionText().equals(stringMessages.configuration())) {
captionPanel.setCaptionText(stringMessages.configuration() + "* (CHANGED)");
}
} else {
captionPanel.setCaptionText(stringMessages.configuration());
if (!captionPanel.getCaptionText().equals(stringMessages.configuration())) {
captionPanel.setCaptionText(stringMessages.configuration());
}
}
}
@@ -1211,7 +1211,7 @@ public interface StringMessages extends com.sap.sse.gwt.client.StringMessages, c
@Override
String fileUploadResult(String status, String message);
@Override
String removeUploadedImage();
String removeUploadedFile();
String showCompetitorSailIdColumn();
String showCompetitorFullNameColumn();
String loadingDimensionValues();
@@ -1053,7 +1053,7 @@ photos=Photos
videos=Videos
image=Image
video=Video
flagImageURL=Flag image URL
flagImageURL=Flag image URL (image renders with 18x12px)
imageURLs=Image URLs
videoURLs=Video URLs
sponsorImageURLs=Sponsor Image URLs
@@ -1177,7 +1177,7 @@ upload=Upload
removeResult=Remove operation: {0} {1}
uploadSuccessful=Upload successful
fileUploadResult=File upload: {0} {1}.\nIn case of error please check that your File Storage service is properly configured.
removeUploadedImage=Remove uploaded image
removeUploadedFile=Remove uploaded file
showCompetitorSailIdColumn=Show Competitor Sail Id
showCompetitorFullNameColumn=Show Competitor Full Name
loadingDimensionValues=Loading dimension values
@@ -7,7 +7,7 @@ pleaseSelectARace=Please select a race
columnMoveUp=Up
enterCarryValueFor=Enter carried points for competitor {0}
eventOfficialWebsiteURL=Official Website URL
polarSheetOutlierDetectionMinimumPercTooltip=The percentage of neightborhood datapoints / overall datapointsnneeds to be at less than the given value for the point to be considered an outlier.
polarSheetOutlierDetectionMinimumPercTooltip=The percentage of neighborhood datapoints / overall datapoints\nneeds to be at less than the given value for the point to be considered an outlier.
errorTryingToCreateNewEvent=Error trying to create new event {0}: {1}
xyDiagram=x-y-Diagram
publicationUrl=Publication URL
@@ -92,7 +92,7 @@ availableLeaderboardGroups=Available Leaderboard Groups
liveUri=Live URI
delayBetweenAutoAdvances=Delay between auto-updates in seconds:
explainNoConnectionsToMaster=No connections to a master server configured. Click the Connect to Master button to configure one.
flagImageURL=Flag image URL
flagImageURL=Flag image URL (image renders with 18x12px)
polarSheetNumberOfHistogramColumns=Number of histogram columns
showOverallLeaderboard=Show overall leaderboard
enterVideoURL=Enter video URL...
@@ -480,6 +480,8 @@ seriesDefinesResultDiscardingRule=Series defines result discarding rules
raceIsScheduled=譌・遞句ョ画賜
windSourcesUsed=Wind Sources Used
uploadSuccessful=Upload successful
fileUploadResult=File upload: {0} {1}.\nIn case of error please check that your File Storage service is properly configured.
removeUploadedFile=Remove uploaded file
runAutomatically=Run automatically
enterImageURL=Enter image URL...
selectAtLeastOneLegDetail=Select at least one leg detail
@@ -1047,7 +1047,7 @@ photos=Fotos
videos=Videos
image=Bild
video=Video
flagImageURL=Flaggenbild-URL
flagImageURL=Flaggenbild-URL (wird mit 18x12px Größe gezeigt)
imageURLs=Bilder-URLs
videoURLs=Video-URLs
sponsorImageURLs=Sponsorenlogo-URLs
@@ -1167,7 +1167,7 @@ upload=Hochladen
removeResult=Löschergebnis: {0} {1}
uploadSuccessful=Hochladen erfolgreich
fileUploadResult=Ergebnis des Hochladens: {0} {1}\nIm Fehlerfall bitte die Konfiguration für "Datei Speicherung" prüfen.
removeUploadedImage=Hochgeladenes Bild löschen
removeUploadedFile=Hochgeladene Datei löschen
showCompetitorSailIdColumn=Sail Id anzeigen
showCompetitorFullNameColumn=Vollen Namen anzeigen
loadingDimensionValues=Lade Dimensionswerte
@@ -1008,7 +1008,7 @@ photos=Photos
videos=Videos
image=Image
video=Video
flagImageURL=Flag image URL
flagImageURL=Flag image URL (image renders with 18x12px)
imageURLs=Image URLs
videoURLs=Video URLs
sponsorImageURLs=Sponsor Image URLs
@@ -1116,7 +1116,7 @@ upload=Upload
removeResult=Remove operation: {0} {1}
uploadSuccessful=Upload successful
fileUploadResult=File upload: {0} {1}.\nIn case of error please check that your File Storage service is properly configured.
removeUploadedImage=Remove uploaded image
removeUploadedFile=Remove uploaded file
showCompetitorSailIdColumn=Show Competitor Sail Id
showCompetitorFullNameColumn=Show Competitor Full Name
loadingDimensionValues=Loading dimension values
@@ -666,10 +666,10 @@ public class LeaderboardPanel extends SimplePanel implements TimeListener, PlayS
ImageResourceRenderer renderer = new ImageResourceRenderer();
CompetitorDTO competitor = competitorFetcher.getCompetitor(object);
final String twoLetterIsoCountryCode = competitor.getTwoLetterIsoCountryCode();
final String imageURL = competitor.getImageURL();
final String flagImageURL = competitor.getFlagImageURL();
if (imageURL != null && !imageURL.isEmpty()) {
sb.appendHtmlConstant("<img src=\"" + imageURL + "\" width=\"18px\" height=\"12px\" title=\"" + competitor.getName() + "\"/>");
if (flagImageURL != null && !flagImageURL.isEmpty()) {
sb.appendHtmlConstant("<img src=\"" + flagImageURL + "\" width=\"18px\" height=\"12px\" title=\"" + competitor.getName() + "\"/>");
sb.appendHtmlConstant("&nbsp;");
} else {
final ImageResource flagImageResource;
@@ -13,5 +13,5 @@ public interface StringMessages extends Messages {
String fileUploadResult(String status, String message);
String removeUploadedImage();
String removeUploadedFile();
}
@@ -54,7 +54,7 @@ public class URLFieldWithFileUpload extends Composite {
}
});
removePanel.setMethod(FormPanel.METHOD_POST);
removeButton = new Button(stringMessages.removeUploadedImage());
removeButton = new Button(stringMessages.removeUploadedFile());
removeButton.setEnabled(false); // the button shall only be enabled as long as we know the URI for removal
removeButton.ensureDebugId("RemoveButton");
removeButton.setTitle(stringMessages.remove());