dialog without errors

This commit is contained in:
unknown committed 2014-09-05 08:56:13 +02:00
1 parent 4d82d85b72
commit 75817fa9f7
2 files changed
+93 -78

No files matched your search

@@ -248,14 +248,14 @@ public class MediaPanel extends FlowPanel {
// regattasAndRaces
Column<MediaTrack, String> regattaAndRaceColumn = new Column<MediaTrack, String>(new ClickableTextCell() {
public void onEnterKeyDown(Context context, Element parent, String value, NativeEvent event,
ValueUpdater<String> valueUpdater) {
public void onEnterKeyDown(Context context, Element parent, String value, NativeEvent event,
ValueUpdater<String> valueUpdater) {
String type = event.getType();
int keyCode = event.getKeyCode();
boolean enterPressed = KEYUP.equals(type) && keyCode == KeyCodes.KEY_ENTER;
if (CLICK.equals(type) || enterPressed) {
openRegattasAndRacesDialog(context, parent, valueUpdater);
}
}
}
}) {
@Override
@@ -279,7 +279,7 @@ public class MediaPanel extends FlowPanel {
public void update(int index, MediaTrack mediaTrack, String newRegattaAndRace) {
// Called when the user changes the value.
if ("".equals(newRegattaAndRace) || !newRegattaAndRace.contains(" ")) {
mediaTrack.regattasAndRaces = null;
mediaTrack.regattasAndRaces = new HashSet<RegattaAndRaceIdentifier>();
} else {
String[] regattasAndRacesArray = newRegattaAndRace.split(",");
Set<RegattaAndRaceIdentifier> regattasAndRaces = new HashSet<RegattaAndRaceIdentifier>();
@@ -449,7 +449,7 @@ public class MediaPanel extends FlowPanel {
public void onSuccess(String dbId) {
mediaTrack.dbId = dbId;
loadMediaTracks();
}
});
@@ -459,27 +459,31 @@ public class MediaPanel extends FlowPanel {
}
private String listRegattasAndRaces(MediaTrack mediaTrack) {
String value = "";
for (RegattaAndRaceIdentifier regattaAndRace : mediaTrack.regattasAndRaces) {
value += regattaAndRace.getRegattaName() + " " + regattaAndRace.getRaceName() + ", ";
if (mediaTrack.regattasAndRaces.size() > 1) {
return String.valueOf(mediaTrack.regattasAndRaces.size());
} else {
String value = "";
for (RegattaAndRaceIdentifier regattaAndRace : mediaTrack.regattasAndRaces) {
value += regattaAndRace.getRegattaName() + " " + regattaAndRace.getRaceName() + ", ";
}
if (value.length() > 1) {
return value.substring(0, value.length() - 2);
} else
return value;
}
if (value.length() > 1) {
// return value.substring(0, value.length()-2);
return String.valueOf(value.length());
} else
return value;
}
public void onShow() {
loadMediaTracks();
}
public void openRegattasAndRacesDialog(final Context context, final Element parent, final ValueUpdater<String> valueUpdater) {
final RegattasAndRacesDialog dialog = new RegattasAndRacesDialog(sailingService, (MediaTrack) context.getKey() , errorReporter,
regattaRefresher, stringMessages, null, new DialogCallback<Set<RegattaAndRaceIdentifier>>() {
public void openRegattasAndRacesDialog(final Context context, final Element parent,
final ValueUpdater<String> valueUpdater) {
final RegattasAndRacesDialog dialog = new RegattasAndRacesDialog(sailingService, (MediaTrack) context.getKey(),
errorReporter, regattaRefresher, stringMessages, null,
new DialogCallback<Set<RegattaAndRaceIdentifier>>() {
@Override
public void cancel() {
@@ -503,7 +507,7 @@ public class MediaPanel extends FlowPanel {
regattasDisplayers.add(dialog);
dialog.ensureDebugId("RegattasAndRacesDialog");
dialog.show();
dialog.show();
}
}
@@ -21,102 +21,113 @@ import com.sap.sailing.gwt.ui.shared.EventDTO;
import com.sap.sailing.gwt.ui.shared.RegattaDTO;
import com.sap.sse.gwt.client.dialog.DataEntryDialog;
public class RegattasAndRacesDialog extends DataEntryDialog<Set<RegattaAndRaceIdentifier>> implements RegattasDisplayer{
public class RegattasAndRacesDialog extends DataEntryDialog<Set<RegattaAndRaceIdentifier>> implements RegattasDisplayer {
protected StringMessages stringMessages;
protected final TrackedRacesListComposite trackedRacesListComposite;
protected final MediaTrack mediaTrack;
protected final MediaTrack mediaTrack;
protected List<EventDTO> existingEvents;
public RegattasAndRacesDialog(SailingServiceAsync sailingService, MediaTrack mediaTrack,
ErrorReporter errorReporter, RegattaRefresher regattaRefresher,
StringMessages stringMessages, Validator<Set<RegattaAndRaceIdentifier>> validator, DialogCallback<Set<RegattaAndRaceIdentifier>> callback) {
ErrorReporter errorReporter, RegattaRefresher regattaRefresher, StringMessages stringMessages,
Validator<Set<RegattaAndRaceIdentifier>> validator, DialogCallback<Set<RegattaAndRaceIdentifier>> callback) {
super(stringMessages.addRegatta(), null, stringMessages.ok(), stringMessages.cancel(), validator, callback);
this.stringMessages = stringMessages;
// this.regatta = regatta;
// this.existingEvents = existingEvents;
trackedRacesListComposite = new TrackedRacesListComposite(sailingService, errorReporter, regattaRefresher,
new RaceSelectionModel(), stringMessages, /* multiselection */true){
new RaceSelectionModel(), stringMessages, /* multiselection */true) {
protected boolean raceIsToBeAddedToList(RaceDTO race) {
if(mediaTrackIsInTimerangeOf(race)){
if (mediaTrackIsInTimerangeOf(race)) {
return true;
}
return false;
}
protected void addControlButtons(HorizontalPanel trackedRacesButtonPanel) {}
protected void makeControlsReactToSelectionChange(List<RaceDTO> selectedRaces) {}
protected void makeControlsReactToFillRegattas(List<RegattaDTO> regattas) {}
protected void addControlButtons(HorizontalPanel trackedRacesButtonPanel) {
}
protected void makeControlsReactToSelectionChange(List<RaceDTO> selectedRaces) {
}
protected void makeControlsReactToFillRegattas(List<RegattaDTO> regattas) {
}
};
trackedRacesListComposite.ensureDebugId("TrackedRacesListComposite");
this.mediaTrack = mediaTrack;
regattaRefresher.fillRegattas();
}
@Override
protected Widget getAdditionalWidget() {
final VerticalPanel panel = new VerticalPanel();
Widget additionalWidget = super.getAdditionalWidget();
if (additionalWidget != null) {
panel.add(additionalWidget);
}
Grid formGrid = new Grid(1,1);
panel.add(formGrid);
formGrid.setWidget(0, 0, trackedRacesListComposite);
return panel;
}
@Override
protected Widget getAdditionalWidget() {
final VerticalPanel panel = new VerticalPanel();
Widget additionalWidget = super.getAdditionalWidget();
if (additionalWidget != null) {
panel.add(additionalWidget);
}
Grid formGrid = new Grid(1, 1);
panel.add(formGrid);
formGrid.setWidget(0, 0, trackedRacesListComposite);
return panel;
}
@Override
protected Set<RegattaAndRaceIdentifier> getResult() {
return getSelectedRegattasAndRaces();
}
@Override
public void fillRegattas(List<RegattaDTO> result) {
this.trackedRacesListComposite.fillRegattas(result);
}
public Set<RegattaAndRaceIdentifier> getSelectedRegattasAndRaces(){
public Set<RegattaAndRaceIdentifier> getSelectedRegattasAndRaces() {
List<RaceDTO> races = trackedRacesListComposite.getSelectedRaces();
Set<RegattaAndRaceIdentifier> regattasAndRaces = new HashSet<RegattaAndRaceIdentifier>();
for(RaceDTO race: races){
for (RaceDTO race : races) {
regattasAndRaces.add(race.getRaceIdentifier());
}
return regattasAndRaces;
}
private boolean mediaTrackIsInTimerangeOf(RaceDTO race){
if(mediaTrack.beginsAfter(race.endOfRace) || mediaTrack.endsBefore(race.startOfRace)){
private boolean mediaTrackIsInTimerangeOf(RaceDTO race) {
// if (race.endOfRace != null && race.startOfRace != null) {
// if (mediaTrack.beginsAfter(race.endOfRace) || mediaTrack.endsBefore(race.startOfRace)) {
// return false;
// }
// }
// return true;
if (race.endOfRace != null && mediaTrack.beginsAfter(race.endOfRace) || race.startOfRace != null
&& mediaTrack.endsBefore(race.startOfRace)) {
return false;
} else
return true;
}
private boolean eventIsNotConnectedToAnyRaces(EventDTO event) {
if (regattasAreNotConnectedToAnyRaces(event.regattas)) {
return true;
}
return false;
}
private boolean regattasAreNotConnectedToAnyRaces(List<RegattaDTO> regattas) {
for (RegattaDTO regatta : regattas) {
if (regattaIsConnectedToAnyRaces(regatta)) {
return false;
}
}
return true;
}
private boolean eventIsNotConnectedToAnyRaces(EventDTO event){
if(regattasAreNotConnectedToAnyRaces(event.regattas)){
return true;
}
return false;
}
private boolean regattasAreNotConnectedToAnyRaces(List<RegattaDTO> regattas){
for (RegattaDTO regatta : regattas) {
if(regattaIsConnectedToAnyRaces(regatta)){
return false;
}
}
return true;
}
private boolean regattaIsConnectedToAnyRaces(RegattaDTO regatta){
if(regatta.races.size() > 0){
return true;
}
return false;
}
}
private boolean regattaIsConnectedToAnyRaces(RegattaDTO regatta) {
if (regatta.races.size() > 0) {
return true;
}
return false;
}
}