What's PersonDTO?

Magnus

On 3 Jun., 22:36, Bruno Lopes <[email protected]> wrote:
> Then on the server side for the LoginService
>
> public LoginResponse login(String username, String password) {
>         LoginPService loginService = ServiceLocator.getLoginService();
>         PersonDTO personDTO = null;
>
>         try {
>
>             personDTO = loginService.getUserByUsername(username);
>
>         if (personDTO == null){
>             //.getInstance().info("Utilizador n√£o encontrado: "+username);
>             return new LoginResponse(false, false);
>         } else if (!loginService.checkPassword(password)){
>             //UCCLogger.getInstance().info("Password errada do utilizador:
> "+username);
>             return new LoginResponse(false, false);
>         }
>
>         } catch (Throwable e) {
>             return new LoginResponse(false, false);
>         }
>
>         LoginResponse response = new LoginResponse();
>         response.setLoginSuccess(true);
>
>         PadroesSession padroesSession = PadroesSession.getInstance();
>         padroesSession.setRequest(getThreadLocalRequest());
>
>         padroesSession.setUser(personDTO);
> return response;
>     }
>
> On Thu, Jun 3, 2010 at 9:33 PM, Bruno Lopes
> <[email protected]>wrote:
>
> > YES
> > on the server side I have something like this:
>
> > public class PadroesSession implements Serializable{
>
> >     private static PadroesSession  padroesSession=null;
>
> >     public static PadroesSession getInstance(){
> >         if(padroesSession == null){
> >             padroesSession = new PadroesSession();
> >             return padroesSession;
> >         } else {
> >             return padroesSession;
> >         }
> >     }
>
> >     private PadroesSession(){
>
> >     }
>
> >     private static final String USER_SESSION = "userSession";
> >     private HttpServletRequest request = null;
> >     private HttpSession session = null;
>
> >     public PersonDTO getUser(){
>
> >         if(null == session) return null;
>
> >         return session.getAttribute(USER_SESSION) != null ?
> >                 (PersonDTO)session.getAttribute(USER_SESSION) : null;
>
> >     }
>
> >     public HttpSession getSession(){
> >         return session;
> >     }
>
> >     public void invalidate(){
> >         if(request!=null)
> >             if(request.getSession(false)!= null)
> >                  request.getSession(false).invalidate();
> >         if(null != session){
> >             session.invalidate();
> >             session = null;
> >         }
>
> >     }
>
> >     public void setUser(PersonDTO user){
> >         if(null == user){
> >             if(session!=null) session.removeAttribute(USER_SESSION);
> >             return;
> >         }
>
> >         if(null != request)
> >             this.session = request.getSession(true);
>
> >         if(session!=null) session.setAttribute(USER_SESSION, user);
> >     }
>
> >     public String getId(){
> >         return request.getSession(false).getId();
> >     }
>
> >     public HttpServletRequest getRequest() {
> >         return request;
> >     }
>
> >     public void setRequest(HttpServletRequest request) {
> >         this.request = request;
>
> >     }
>
> > }
>
> > On Thu, Jun 3, 2010 at 2:45 PM, Magnus <[email protected]>wrote:
>
> >> Hi,
>
> >> thank you for the code! I adopted it to my application.
>
> >> So you authenticate the user via the remote service! But how do you
> >> actually store the user context the app is running in? Do you do some
> >> session management?
>
> >> Thanks
> >> Magnus
>
> >> On Jun 2, 7:15 pm, Bruno Lopes <[email protected]> wrote:
> >> > Hi Alpine Bluster,
>
> >> > look at this code:
>
> >> > public void onModuleLoad() {
>
> >> > this.setLoginPanel();
>
> >> > loginButton = new Button("Login");
>
> >> > loginButton.addListener(new ButtonListenerAdapter() {
>
> >> > public void onClick(Button button, EventObject e) {
>
> >> > userAuthentication();
>
> >> > }
> >> > });
>
> >> > formPanel.addButton(loginButton);
>
> >> > formPanel.setBorder(false);
>
> >> > loginPanel.add(formPanel);
>
> >> > Element appPanelEl = loginPanel.getElement();
>
> >> > �...@suppresswarnings("unused")
>
> >> > KeyMap map = new KeyMap(appPanelEl, new KeyMapConfig() {
>
> >> > {
>
> >> > setKey(EventObject.ENTER);
>
> >> > setKeyListener(new KeyListener() {
>
> >> > public void onKey(int key, EventObject e) {
>
> >> > loginButton.focus();
>
> >> > }
> >> > });
> >> > }
> >> > });
>
> >> >  RootPanel.get("login_widget").add(loginPanel);
>
> >> > }
>
> >> >  private void userAuthentication() {
>
> >> > if (this.userNameField.getValueAsString().equals(""))
>
> >> > Window.alert("username must not be empty.");
>
> >> > else {
>
> >> > loginService = GWT.create(LoginService.class);
>
> >> > String username = this.userNameField.getValueAsString();
>
> >> > String password = this.passwordField.getValueAsString();
>
> >> > this.loginService.login(username, password,
>
> >> > new AsyncCallback<LoginResponse>() {
>
> >> > public void onFailure(Throwable caught) {
>
> >> > Window.alert("server side failure: " + caught);
>
> >> > }
>
> >> > public void onSuccess(LoginResponse result) {
>
> >> > if (result.isLoginSuccess()){
>
> >> > Window.Location.replace("./../Main.html");
>
> >> > }
>
> >> > else Window.alert("username or password invalid.");
>
> >> > }
> >> > });
> >> > }
> >> > }
>
> >> > ...
>
> >> > FOR LOGOUT
> >> > ....
>
> >> > private Panel northPanel = new Panel();
>
> >> > ....
>
> >> >                                 Toolbar toolbar = new Toolbar();
>
> >> >  ToolbarButton logoutButton = new ToolbarButton("Sign Out");
>
> >> > logoutButton.addListener( new ButtonListenerAdapter() {
>
> >> > public void onClick( Button button, EventObject e ) {
>
> >> > LoginServiceAsync service = GWT.create(LoginService.class);
>
> >> > service.logout(new AsyncCallback<Void>() {
>
> >> > @Override
>
> >> > public void onFailure(Throwable caught) {
>
> >> > caught.printStackTrace();
>
> >> >  }
>
> >> > �...@override
>
> >> > public void onSuccess(Void result) {
>
> >> > Window.Location.replace("./../Login.html");
>
> >> > }
> >> > });
> >> > }
> >> > });
>
> >> >  tabPanel = new TabPanel();
>
> >> >  toolbar.addFill();
>
> >> > toolbar.addText("welcome," + someUser..);
>
> >> > toolbar.addSeparator();
>
> >> > toolbar.addButton(logoutButton);
>
> >> > tabPanel.setWidth(NORMALIZE_SPACING);
>
> >> >  tabPanel.setTopToolbar(toolbar);
>
> >> > northPanel.add(tabPanel);
>
> >> > On Wed, Jun 2, 2010 at 5:25 PM, Magnus <[email protected]>
> >> wrote:
> >> > > Hi,
>
> >> > > I cannot find a minimalistic example that shows how to realize a
> >> login/
> >> > > logout functionality.
> >> > > Could please someone point me to such an example?
>
> >> > > I also wonder where to put the different things. For example, the code
> >> > > that immediately reacts on the "login" button could be placed within
> >> > > the "client" folder of a GWT project, or it could be realized as a
> >> > > servlet.
>
> >> > > When do I use a servlet and how?
>
> >> > > Thank you!
> >> > > Magnus
>
> >> > > --
> >> > > You received this message because you are subscribed to the Google
> >> Groups
> >> > > "Google Web Toolkit" group.
> >> > > To post to this group, send email to
> >> [email protected].
> >> > > To unsubscribe from this group, send email to
> >> > > [email protected]<google-web-toolkit%[email protected]>
> >> <google-web-toolkit%[email protected]<google-web-toolkit%[email protected]>
>
> >> > > .
> >> > > For more options, visit this group at
> >> > >http://groups.google.com/group/google-web-toolkit?hl=en.
>
> >> --
> >> You received this message because you are subscribed to the Google Groups
> >> "Google Web Toolkit" group.
> >> To post to this group, send email to [email protected].
> >> To unsubscribe from this group, send email to
> >> [email protected]<google-web-toolkit%[email protected]>
> >> .
> >> For more options, visit this group at
> >>http://groups.google.com/group/google-web-toolkit?hl=en.

-- 
You received this message because you are subscribed to the Google Groups 
"Google Web Toolkit" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-web-toolkit?hl=en.

Reply via email to