This is the ActivityMapper
public class AppActivityMapper implements ActivityMapper {
private ClientFactory clientFactory;
public AppActivityMapper(ClientFactory clientFactory) {
super();
this.clientFactory = clientFactory;
}
@Override
public Activity getActivity(Place place) {
if (place instanceof LoginPlace) {
return new LoginActivity((LoginPlace) place, clientFactory);
} else if (place instanceof RegisterPlace) {
return new RegisterActivity((RegisterPlace) place, clientFactory);
} else if (place instanceof UserPlace) {
return new UserActivity((UserPlace) place, clientFactory);
} else if (place instanceof AdminPlace) {
return new AdminActivity((AdminPlace) place, clientFactory);
}
return null;
}
}
And this is the onModuleLoad() method
public class AdministrareBloc implements EntryPoint {
private Place defaultPlace = new LoginPlace("Login Place!");
private SimplePanel appWidget = new SimplePanel();
@Override
public void onModuleLoad() {
ClientFactory clientFactory = GWT.create(ClientFactory.class);
EventBus eventBus = clientFactory.getEventBus();
PlaceController placeController = clientFactory.getPlaceController();
// Start Activity for the main widget with our ActivityMapper
ActivityMapper activityMapper = new AppActivityMapper(clientFactory);
ActivityManager activityManager = new ActivityManager(activityMapper,
eventBus);
activityManager.setDisplay(appWidget);
// Start PlaceHistoryHandler with our PlaceHistoryMapper
AppPlaceHistoryMapper historyMapper =
GWT.create(AppPlaceHistoryMapper.class);
PlaceHistoryHandler historyHandler = new PlaceHistoryHandler(historyMapper);
historyHandler.register(placeController, eventBus, defaultPlace);
RootPanel.get().add(appWidget);
historyHandler.handleCurrentHistory();
}
}
What do you mean by "Where does the UserPlace come from ? " ?
Thanks
marți, 31 mai 2016, 01:25:10 UTC+3, Olar Andrei a scris:
>
> My login based application, requires to always know the username of the
> logged in user. (MVP) . So I'm getting the username from the url, but when
> the page opens after the login succeeded, I can't get the username from the
> url, because it does not appear to exists, but it is there. It only works
> after a refresh. Then I'm able to get the username.
>
>
> The URL is in the form
> *http://127.0.0.1:8888/AdministrareBloc.html#AdminPlace:admin
> <http://127.0.0.1:8888/AdministrareBloc.html#AdminPlace:admin>*, where
> I'm splitting the String to only get the admin part.
>
>
> I thought this is because it downloads the code before verifying the user.
> So I placed a split point in my code like this: (I don't know if I placed
> it correctly)
>
>
> loginButton.addClickHandler(new ClickHandler() {
>
> @Override
> public void onClick(ClickEvent event) {
> final String username = usernameBox.getText();
> final String password = passwordBox.getText();
> GWT.runAsync(new RunAsyncCallback() {
>
> @Override
> public void onSuccess() {
> performUserConnection(username, password);
> }
>
> @Override
> public void onFailure(Throwable reason) {
> // TODO Auto-generated method stub
> }
> });
> }
> });
>
> private static void performUserConnection(String username, String password) {
> DBConnectionAsync rpcService = (DBConnectionAsync)
> GWT.create(DBConnection.class);
> ServiceDefTarget target = (ServiceDefTarget) rpcService;
> String moduleRelativeURL = GWT.getModuleBaseURL() + "DBConnectionImpl";
> target.setServiceEntryPoint(moduleRelativeURL);
>
> rpcService.authenticateUser(username, password, new AsyncCallback<User>()
> {
>
> @Override
> public void onSuccess(User user) {
>
> if (user.getType().equals("User")) {
> String username = user.getUsername();
> presenter.goTo(new UserPlace(username));
> } else if (user.getType().equals("Admin")) {
> String username = user.getUsername();
> presenter.goTo(new AdminPlace(username));
> }
> }
>
> }}
>
>
> This is happening when the user clicks the login button. Is the split
> point placed correclty, or not ? How can I get the username without needing
> to refresh the page after a successful login ?
>
> Thanks in advance
>
--
You received this message because you are subscribed to the Google Groups "GWT
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/google-web-toolkit.
For more options, visit https://groups.google.com/d/optout.