added an optional sample URL for the result providers

This commit is contained in:
Axel Uhl committed 2015-05-06 15:47:42 +02:00
1 parent 125ff95d12
commit d4012e2d44
14 files changed
+96 -24

No files matched your search

@@ -20,6 +20,7 @@ import com.google.gwt.user.client.ui.VerticalPanel;
import com.sap.sailing.gwt.ui.client.SailingServiceAsync;
import com.sap.sailing.gwt.ui.client.StringMessages;
import com.sap.sailing.gwt.ui.client.TextfieldEntryDialog;
import com.sap.sse.common.Util.Pair;
import com.sap.sse.gwt.client.ErrorReporter;
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
import com.sap.sse.gwt.client.dialog.DataEntryDialog.DialogCallback;
@@ -37,17 +38,15 @@ public class ResultImportUrlsManagementPanel extends FlowPanel {
private final Button refreshButton;
public ResultImportUrlsManagementPanel(SailingServiceAsync sailingService, ErrorReporter errorReporter,
StringMessages stringMessages) {
final StringMessages stringMessages) {
final Label sampleURLLabel = new Label();
this.sailingService = sailingService;
this.errorReporter = errorReporter;
this.stringMessages = stringMessages;
urlListBox = new ListBox();
urlListBox.setMultipleSelect(true);
urlProviderSelectionListBox = new ListBox();
urlListBox.setMultipleSelect(false);
urlProviderSelectionListBox.addChangeHandler(new ChangeHandler() {
@Override
public void onChange(ChangeEvent event) {
@@ -56,10 +55,13 @@ public class ResultImportUrlsManagementPanel extends FlowPanel {
addButton.setEnabled(buttonsEnabled);
removeButton.setEnabled(buttonsEnabled);
refreshButton.setEnabled(buttonsEnabled);
final String value = urlProviderSelectionListBox.getValue(selectedIndex);
// believe it or not: adding an item with (someString, null) results in an item
// whose getValue() returns "null" and not null...
sampleURLLabel.setText(value == null || value.equals("null") ? "" : stringMessages.sampleURL(value));
refreshUrlList();
}
});
addButton = new Button(stringMessages.add());
removeButton = new Button(stringMessages.remove());
refreshButton = new Button(stringMessages.refresh());
@@ -85,18 +87,15 @@ public class ResultImportUrlsManagementPanel extends FlowPanel {
HorizontalPanel providerSelectionPanel = new HorizontalPanel();
providerSelectionPanel.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
vp.add(providerSelectionPanel);
providerSelectionPanel.add(new Label("URL Providers:"));
providerSelectionPanel.add(new Label(stringMessages.urlProviders()));
providerSelectionPanel.add(urlProviderSelectionListBox);
sailingService.getUrlResultProviderNames(new AsyncCallback<List<String>>() {
sailingService.getUrlResultProviderNamesAndOptionalSampleURL(new AsyncCallback<List<Pair<String, String>>>() {
@Override
public void onSuccess(List<String> urlProviderNames) {
public void onSuccess(List<Pair<String, String>> urlProviderNamesAndOptionalSampleURL) {
urlProviderSelectionListBox.clear();
urlProviderSelectionListBox.addItem("Please select a URL provider...");
for(String urlProviderName: urlProviderNames) {
urlProviderSelectionListBox.addItem(urlProviderName);
urlProviderSelectionListBox.addItem(stringMessages.pleaseSelectAURLProvider());
for (Pair<String, String> urlProviderNameAndSampleURL : urlProviderNamesAndOptionalSampleURL) {
urlProviderSelectionListBox.addItem(urlProviderNameAndSampleURL.getA(), urlProviderNameAndSampleURL.getB());
}
}
@@ -104,8 +103,8 @@ public class ResultImportUrlsManagementPanel extends FlowPanel {
public void onFailure(Throwable caught) {
}
});
vp.add(urlListBox);
vp.add(sampleURLLabel);
HorizontalPanel buttonPanel = new HorizontalPanel();
vp.add(buttonPanel);
buttonPanel.add(addButton);
@@ -333,7 +333,7 @@ public interface SailingService extends RemoteService, FileStorageManagementGwtS
void updateLeaderboardScoreCorrectionMetadata(String leaderboardName, Date timePointOfLastCorrectionValidity,
String comment);
List<String> getUrlResultProviderNames();
List<Pair<String, String>> getUrlResultProviderNamesAndOptionalSampleURL();
void updateRaceCourse(RegattaAndRaceIdentifier raceIdentifier, List<Util.Pair<ControlPointDTO, PassingInstruction>> controlPoints);
@@ -78,6 +78,7 @@ import com.sap.sailing.gwt.ui.shared.VenueDTO;
import com.sap.sailing.gwt.ui.shared.WindDTO;
import com.sap.sailing.gwt.ui.shared.WindInfoForRaceDTO;
import com.sap.sse.common.Util;
import com.sap.sse.common.Util.Pair;
import com.sap.sse.common.search.KeywordQuery;
import com.sap.sse.gwt.client.BuildVersionRetriever;
import com.sap.sse.gwt.client.filestorage.FileStorageManagementGwtServiceAsync;
@@ -431,7 +432,7 @@ public interface SailingServiceAsync extends BuildVersionRetriever, FileStorageM
void addResultImportUrl(String resultProviderName, String url, AsyncCallback<Void> callback);
void getUrlResultProviderNames(AsyncCallback<List<String>> callback);
void getUrlResultProviderNamesAndOptionalSampleURL(AsyncCallback<List<Pair<String, String>>> callback);
void addColumnsToLeaderboard(String leaderboardName, List<Util.Pair<String, Boolean>> columnsToAdd,
AsyncCallback<Void> callback);
@@ -1271,4 +1271,7 @@ public interface StringMessages extends com.sap.sse.gwt.client.StringMessages, c
String changed();
String matcher();
String any();
String urlProviders();
String pleaseSelectAURLProvider();
String sampleURL(String sampleURL);
}
@@ -1238,4 +1238,7 @@ competitorsCount[one]={0,number} competitor
clone=Clone
changed=Changed
matcher=Matcher
any=Any
any=Any
urlProviders=URL-based result providers
pleaseSelectAURLProvider=Please select a URL-based result provider...
sampleURL=Sample URL: {0}
@@ -1230,4 +1230,7 @@ dashboardWindBotLoadingMessage=Depending on your connection this operation might
clone=Clone
changed=Changed
matcher=Matcher
any=Any
any=Any
urlProviders=URL-based result providers
pleaseSelectAURLProvider=Please select a URL-based result provider...
sampleURL=Sample URL: {0}
@@ -1228,4 +1228,7 @@ competitorsCount[one]={0,number} Team
clone=Clone
changed=Changed
matcher=Matcher
any=Any
any=Any
urlProviders=URL-basierte Ergebnisdienste
pleaseSelectAURLProvider=Bitte einen URL-basierten Ergebnisdienst auswählen...
sampleURL=Beispiel-URL: {0}
@@ -1177,4 +1177,7 @@ competitorsCount[one]={0,number} competitor
clone=Clone
changed=Changed
matcher=Matcher
any=Any
any=Any
urlProviders=URL-based result providers
pleaseSelectAURLProvider=Please select a URL-based result provider...
sampleURL=Sample URL: {0}
@@ -3714,11 +3714,11 @@ public class SailingServiceImpl extends ProxiedRemoteServiceServlet implements S
}
@Override
public List<String> getUrlResultProviderNames() {
List<String> result = new ArrayList<String>();
public List<Pair<String, String>> getUrlResultProviderNamesAndOptionalSampleURL() {
List<Pair<String, String>> result = new ArrayList<>();
for (ScoreCorrectionProvider scp : getAllScoreCorrectionProviders()) {
if (scp instanceof ResultUrlProvider) {
result.add(scp.getName());
result.add(new Pair<>(scp.getName(), ((ResultUrlProvider) scp).getOptionalSampleURL()));
}
}
return result;