Updated webAppCreator to include a much better error handling message when an RPC error occurs. Patch by: jlabanca Review by: bruce Issue: 3395 git-svn-id: https://google-web-toolkit.googlecode.com/svn/releases/1.6@4897 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/src/com/google/gwt/user/tools/AppClassTemplate.javasrc b/user/src/com/google/gwt/user/tools/AppClassTemplate.javasrc index d18ab20..433a4d0 100644 --- a/user/src/com/google/gwt/user/tools/AppClassTemplate.javasrc +++ b/user/src/com/google/gwt/user/tools/AppClassTemplate.javasrc
@@ -7,7 +7,6 @@ import com.google.gwt.event.dom.client.KeyCodes; import com.google.gwt.event.dom.client.KeyUpEvent; import com.google.gwt.event.dom.client.KeyUpHandler; -import com.google.gwt.user.client.Window; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.DialogBox; @@ -21,6 +20,13 @@ * Entry point classes define <code>onModuleLoad()</code>. */ public class @moduleShortName implements EntryPoint { + /** + * The message displayed to the user when the server cannot be reached or + * returns an error. + */ + private static final String SERVER_ERROR = "An error occurred while " + + "attempting to contact the server. Please check your network " + + "connection and try again."; /** * Create a remote service proxy to talk to the server-side Greeting service. @@ -103,11 +109,17 @@ serverResponseLabel.setText(""); greetingService.greetServer(textToServer, new AsyncCallback<String>() { public void onFailure(Throwable caught) { - Window.alert("Rpc failure"); - sendButton.setEnabled(true); + // Show the RPC error message to the user + dialogBox.setText("Remote Procedure Call - Failure"); + serverResponseLabel.addStyleName("serverResponseLabelError"); + serverResponseLabel.setHTML(SERVER_ERROR); + dialogBox.center(); + closeButton.setFocus(true); } public void onSuccess(String result) { + dialogBox.setText("Remote Procedure Call"); + serverResponseLabel.removeStyleName("serverResponseLabelError"); serverResponseLabel.setHTML(result); dialogBox.center(); closeButton.setFocus(true);
diff --git a/user/src/com/google/gwt/user/tools/AppCss.csssrc b/user/src/com/google/gwt/user/tools/AppCss.csssrc index d1e1ad4..7aca7ac 100644 --- a/user/src/com/google/gwt/user/tools/AppCss.csssrc +++ b/user/src/com/google/gwt/user/tools/AppCss.csssrc
@@ -24,6 +24,10 @@ margin: 5px; } +.serverResponseLabelError { + color: red; +} + /** Set ids using widget.getElement().setId("idOfElement") */ #closeButton { margin: 15px 6px 6px;