Package org.mbhcare.server

Source Code of org.mbhcare.server.LoginServiceImpl

package org.mbhcare.server;

import java.util.List;
import java.util.logging.Logger;

import javax.jdo.PersistenceManager;
import javax.jdo.Query;

import org.mbhcare.client.LoginInfo;
import org.mbhcare.client.LoginService;
import org.mbhcare.shared.entity.MbhUser;

import com.google.appengine.api.users.User;
import com.google.appengine.api.users.UserService;
import com.google.appengine.api.users.UserServiceFactory;
import com.google.gwt.user.server.rpc.RemoteServiceServlet;

public class LoginServiceImpl extends RemoteServiceServlet implements
LoginService {

  private static final long serialVersionUID = 1L;

  private static final Logger log =
    Logger.getLogger(DiagnosisServiceImpl.class.getName());


  @SuppressWarnings("unchecked")
  public LoginInfo login(String requestUri) {
    UserService userService = UserServiceFactory.getUserService();
    User user = userService.getCurrentUser();
    LoginInfo loginInfo = new LoginInfo();

    if (user != null) {
      loginInfo.setLoggedIn(true);
      loginInfo.setEmailAddress(user.getEmail());
      loginInfo.setNickname(user.getNickname());
      loginInfo.setLogoutUrl(userService.createLogoutURL(requestUri));

      log.warning("email and nickname :" + user.getEmail() + ","  + user.getNickname());
      PersistenceManager pm = PMF.get().getPersistenceManager();
      Query query = pm.newQuery(MbhUser.class);   
      query.setFilter("emailAddress == :email");         
      List<MbhUser> existences = (List<MbhUser>)query.execute(user.getEmail());
      if (existences.size() == 0) {
        MbhUser newUser = new MbhUser();
        newUser.setEmailAddress(user.getEmail());
        pm.makePersistent(newUser);
      } else {
        loginInfo.setName(existences.get(0).getName());
        loginInfo.setAuthorize(existences.get(0).getAuthorize());
        log.warning("name :" + existences.get(0).getName()
            + ", authorize: "  + Byte.toString(existences.get(0).getAuthorize()));
      }

    } else {
      loginInfo.setLoggedIn(false);
      loginInfo.setLoginUrl(userService.createLoginURL(requestUri));
    }
    return loginInfo;
  }

  public static String getAcccout() {
    String account = "";
    UserService userService = UserServiceFactory.getUserService();
    User user = userService.getCurrentUser();
    if (user != null) {         
      account = user.getEmail();         
    }
    return account;
  }

  public static boolean isLoggedIn() { 
    UserService userService = UserServiceFactory.getUserService()
    return userService.isUserLoggedIn();
  }


}
TOP

Related Classes of org.mbhcare.server.LoginServiceImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.