5

There are examples where different kinds of objects are getting injected into a presenter, but I can't find an explanation how this can be done.

In the Bootstrap-Code example they are injecting e.g. a SecurityDelegate object.

Also in the Gatekeeper example I see things being injected, e.g. MyGatekeeper, but how is this done?

What I want is to first check if the user is logged in and then create a CurrentSession object or something like this. But how can I pass/inject this object around?

At the moment I am initializing a singleton object CurrentUser which is kind of ugly imho. I would like to get the GWTP support running, but how?


Take this example of the CurrentSession being injected into the gatekeeper:

@DefaultGatekeeper
public class LoggedInGatekeeper implements Gatekeeper {
    private final CurrentSession currentSession;

    @Inject
    LoggedInGatekeeper(CurrentSession currentSession) {
        this.currentSession = currentSession;
    }

    @Override
    public boolean canReveal() {
        return currentSession.isLoggedIn();
    }
}

How do I inject CurrentSession here?

Jan Z.
  • 6,883
  • 4
  • 23
  • 27
Stefan Falk
  • 23,898
  • 50
  • 191
  • 378

1 Answers1

0

Here is a tutorial that explains how to use Gatekeeper : http://dev.arcbees.com/gwtp/tutorials/tutorial-part2.html

Declare CurrentSession's class ( CurrentUser in the tutorial ) as Singleton in your Gin's module like below :

public class YourGinModule extends AbstractGinModule {

    @Override
    protected void configure() {
        bind( CurrentSession.class ).in ( Singleton.class );
        ...
    }

}

Here you can find another example using GWTP Gatekeeper on client side and Spring Security on server side : https://github.com/imrabti/gwtp-spring-security