The legs names are sent correctly to the UI (still one service trip is required - trying to improve this)

This commit is contained in:
I077899 committed 2013-02-25 17:21:04 +02:00
1 parent feee9f886c
commit 86f37fe47e
5 files changed
+14 -45

No files matched your search

@@ -6,7 +6,6 @@ import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
import com.sap.sailing.gwt.ui.shared.BoatClassDTOsAndNotificationMessage;
import com.sap.sailing.gwt.ui.shared.ConfigurationException;
import com.sap.sailing.gwt.ui.shared.LegsNamesDTO;
import com.sap.sailing.gwt.ui.shared.PolarDiagramDTOAndNotificationMessage;
import com.sap.sailing.gwt.ui.shared.PositionDTO;
import com.sap.sailing.gwt.ui.shared.Request1TurnerDTO;
@@ -48,5 +47,5 @@ public interface SimulatorService extends RemoteService {
Response1TurnerDTO get1Turner(final Request1TurnerDTO requestData) throws ConfigurationException;
LegsNamesDTO getLegs(int boatClassIndex);
List<String> getLegs();
}
@@ -4,7 +4,6 @@ import java.util.List;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.sap.sailing.gwt.ui.shared.BoatClassDTOsAndNotificationMessage;
import com.sap.sailing.gwt.ui.shared.LegsNamesDTO;
import com.sap.sailing.gwt.ui.shared.PolarDiagramDTOAndNotificationMessage;
import com.sap.sailing.gwt.ui.shared.PositionDTO;
import com.sap.sailing.gwt.ui.shared.Request1TurnerDTO;
@@ -44,5 +43,5 @@ public interface SimulatorServiceAsync {
void get1Turner(final Request1TurnerDTO requestData, AsyncCallback<Response1TurnerDTO> asyncCallback);
void getLegs(int boatClassIndex, AsyncCallback<LegsNamesDTO> asyncCallback);
void getLegs(AsyncCallback<List<String>> asyncCallback);
}
@@ -32,7 +32,6 @@ import com.sap.sailing.gwt.ui.shared.BoatClassDTO;
import com.sap.sailing.gwt.ui.shared.BoatClassDTOsAndNotificationMessage;
import com.sap.sailing.gwt.ui.shared.ConfigurationException;
import com.sap.sailing.gwt.ui.shared.CourseDTO;
import com.sap.sailing.gwt.ui.shared.LegsNamesDTO;
import com.sap.sailing.gwt.ui.shared.PathDTO;
import com.sap.sailing.gwt.ui.shared.PolarDiagramDTO;
import com.sap.sailing.gwt.ui.shared.PolarDiagramDTOAndNotificationMessage;
@@ -464,7 +463,9 @@ public class SimulatorServiceImpl extends RemoteServiceServlet implements Simula
//problem right here
//boatSpeed might be 0 for very small distances
//this is a rough fix
if(boatSpeedMetersPerSecond == 0.0) stepTimeMilliseconds = 1000;
if(boatSpeedMetersPerSecond == 0.0) {
stepTimeMilliseconds = 1000;
}
if (requestData.debugMode) {
@@ -483,7 +484,7 @@ public class SimulatorServiceImpl extends RemoteServiceServlet implements Simula
}
timepointAsMillis += stepTimeMilliseconds;
}
double totalTimeSeconds = (timepointAsMillis - requestData.allPoints.get(0).timepoint) / 1000;
@@ -982,12 +983,10 @@ public class SimulatorServiceImpl extends RemoteServiceServlet implements Simula
}
@Override
public LegsNamesDTO getLegs(int boatClassIndex) {
public List<String> getLegs() {
SailingSimulator simulator = new SailingSimulatorImpl(null);
SailingSimulator simulator = new SailingSimulatorImpl(new SimulationParametersImpl(null, null, null, SailingSimulatorUtil.measured));
List<String> legsNames = simulator.getLegsNames(boatClassIndex);
return new LegsNamesDTO("", legsNames);
return simulator.getLegsNames();
}
}
@@ -1,21 +0,0 @@
package com.sap.sailing.gwt.ui.shared;
import java.util.ArrayList;
import java.util.List;
import com.google.gwt.user.client.rpc.IsSerializable;
public class LegsNamesDTO implements IsSerializable {
public String notificationMessage = "";
public List<String> legsNames = null;
public LegsNamesDTO() {
this.notificationMessage = "";
this.legsNames = new ArrayList<String>();
}
public LegsNamesDTO(String notificationMessage, List<String> legsNames) {
this.notificationMessage = notificationMessage;
this.legsNames = legsNames;
}
}
@@ -46,7 +46,6 @@ import com.sap.sailing.gwt.ui.client.Timer;
import com.sap.sailing.gwt.ui.client.Timer.PlayModes;
import com.sap.sailing.gwt.ui.shared.BoatClassDTO;
import com.sap.sailing.gwt.ui.shared.BoatClassDTOsAndNotificationMessage;
import com.sap.sailing.gwt.ui.shared.LegsNamesDTO;
import com.sap.sailing.gwt.ui.shared.PolarDiagramDTOAndNotificationMessage;
import com.sap.sailing.gwt.ui.shared.WindFieldGenParamsDTO;
import com.sap.sailing.gwt.ui.shared.WindPatternDTO;
@@ -627,15 +626,15 @@ public class SimulatorMainPanel extends SplitLayoutPanel {
sailingPanel.add(hp);
// hp.setSize("80%", "10%");
// hp.setWidth("80%");
if (this.mode == SailingSimulatorUtil.measured) {
HorizontalPanel hp2 = new HorizontalPanel();
hp2.getElement().setClassName("boatClassPanel");
hp2.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_LEFT);
hp2.add(legLabel);
this.simulatorSvc.getLegs(3, new AsyncCallback<LegsNamesDTO>() {
this.simulatorSvc.getLegs(new AsyncCallback<List<String>>() {
@Override
public void onFailure(Throwable error) {
@@ -643,15 +642,9 @@ public class SimulatorMainPanel extends SplitLayoutPanel {
}
@Override
public void onSuccess(LegsNamesDTO response) {
public void onSuccess(List<String> response) {
String notificationMessage = response.notificationMessage;
if (notificationMessage != "" && notificationMessage.length() != 0 && warningAlreadyShown == false) {
errorReporter.reportNotification(notificationMessage);
warningAlreadyShown = true;
}
for (String legName : response.legsNames) {
for (String legName : response) {
legSelector.addItem(legName);
}