package com.andreiolar.abms.client.activity; import com.andreiolar.abms.client.ClientFactory; import com.andreiolar.abms.client.place.LoginPlace; import com.andreiolar.abms.client.view.LoginView; import com.google.gwt.activity.shared.AbstractActivity; import com.google.gwt.core.client.GWT; import com.google.gwt.core.client.RunAsyncCallback; import com.google.gwt.event.shared.EventBus; import com.google.gwt.place.shared.Place; import com.google.gwt.user.client.ui.AcceptsOneWidget; public class LoginActivity extends AbstractActivity implements LoginView.Presenter { private ClientFactory clientFactory; private String name; public LoginActivity(LoginPlace place, ClientFactory clientFactory) { this.name = place.getPlaceName(); this.clientFactory = clientFactory; } @Override public void start(final AcceptsOneWidget containerWidget, EventBus eventBus) { GWT.runAsync(new RunAsyncCallback() { @Override public void onSuccess() { LoginView loginView = clientFactory.getLoginView(); loginView.setName(name); loginView.setPresenter(LoginActivity.this); containerWidget.setWidget(loginView.asWidget()); } @Override public void onFailure(Throwable reason) { // TODO Auto-generated method stub } }); } @Override public void goTo(final Place place) { GWT.runAsync(new RunAsyncCallback() { @Override public void onSuccess() { clientFactory.getPlaceController().goTo(place); } @Override public void onFailure(Throwable reason) { // TODO Auto-generated method stub } }); } }