Package com.google.ytd.dao

Source Code of com.google.ytd.dao.UserAuthTokenDaoImpl

package com.google.ytd.dao;

import java.util.List;

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

import com.google.inject.Inject;
import com.google.ytd.model.UserAuthToken;
import com.google.ytd.util.Util;

public class UserAuthTokenDaoImpl implements UserAuthTokenDao {
  private PersistenceManagerFactory pmf = null;
 
  @Inject
  private Util util;

  @Inject
  public UserAuthTokenDaoImpl(PersistenceManagerFactory pmf) {
    this.pmf = pmf;
  }

  @SuppressWarnings("unchecked")
  @Override
  public UserAuthToken getUserAuthToken(String username) {
    PersistenceManager pm = pmf.getPersistenceManager();
    try {
      if (!util.isNullOrEmpty(username)) {
        Query query = pm.newQuery(UserAuthToken.class, "youtubeName == username");
        query.declareParameters("String username");
        List<UserAuthToken> results = (List<UserAuthToken>) query.execute(username);
        if (results.size() > 0) {
          return pm.detachCopy(results.get(0));
        }
      }
    } finally {
      pm.close();
    }
    return null;
  }
 
  @Override
  public void setUserAuthToken(String username, String token) {
    // default token type is authsub
    setUserAuthToken(username, token, UserAuthToken.TokenType.AUTH_SUB);
  }
 
  @Override
  public void setUserAuthToken(String username, String token, UserAuthToken.TokenType tokenType) {
    UserAuthToken userAuthToken = getUserAuthToken(username);
   
    if (userAuthToken == null) {
      userAuthToken = new UserAuthToken();
      userAuthToken.setYoutubeName(username);
    }
   
    switch (tokenType) {
      case AUTH_SUB:
        userAuthToken.setAuthSubToken(token);
        break;
      case CLIENT_LOGIN:
        userAuthToken.setClientLoginToken(token);
        break;     
    }
   
    PersistenceManager pm = pmf.getPersistenceManager();
    try {
      pm.makePersistent(userAuthToken);
    } finally {
      pm.close();
    }
  } 
 
}
TOP

Related Classes of com.google.ytd.dao.UserAuthTokenDaoImpl

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.