package com.andreiolar.abms.client.widgets; import com.andreiolar.abms.client.rpc.GetHtmlTableFromExel; import com.andreiolar.abms.client.rpc.GetHtmlTableFromExelAsync; import com.google.gwt.core.client.GWT; import com.google.gwt.dom.client.Style.Display; import com.google.gwt.user.client.DOM; import com.google.gwt.user.client.rpc.AsyncCallback; import com.google.gwt.user.client.rpc.ServiceDefTarget; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.HTML; import com.google.gwt.user.client.ui.Widget; public class GeneralCostWidget extends Composite implements CustomWidget { public GeneralCostWidget() { initWidget(initializeWidget()); } @Override public Widget initializeWidget() { final HTML html = new HTML(); DOM.getElementById("loading").getStyle().setDisplay(Display.BLOCK); GetHtmlTableFromExelAsync rpcService = (GetHtmlTableFromExelAsync) GWT.create(GetHtmlTableFromExel.class); ServiceDefTarget target = (ServiceDefTarget) rpcService; String moduleRelativeURL = GWT.getModuleBaseURL() + "GetHtmlTableFromExelImpl"; target.setServiceEntryPoint(moduleRelativeURL); rpcService.getTableFromExcel(new AsyncCallback<String>() { @Override public void onSuccess(String result) { DOM.getElementById("loading").getStyle().setDisplay(Display.NONE); html.setHTML(result); } @Override public void onFailure(Throwable caught) { DOM.getElementById("loading").getStyle().setDisplay(Display.NONE); html.setHTML( "<p>Error getting information from server!</p><p>Please contact your administrator. A possibility may be that he did not uploaded the excel file for the current month.</p>"); } }); return html; } }