Package com.dongxuexidu.douban4j.service

Source Code of com.dongxuexidu.douban4j.service.DoubanUserService

package com.dongxuexidu.douban4j.service;

import com.dongxuexidu.douban4j.constants.RequestUrls;
import com.dongxuexidu.douban4j.model.app.DoubanException;
import com.dongxuexidu.douban4j.model.user.DoubanUserFeedObj;
import com.dongxuexidu.douban4j.model.user.DoubanUserObj;
import com.dongxuexidu.douban4j.utils.ErrorHandler;
import java.io.IOException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;

/**
*
* @author Zhibo Wei <uglytroll@dongxuexidu.com>
*/

public class DoubanUserService extends DoubanService {
 
  public DoubanUserService () {
    super();
  }
 
  public DoubanUserService (String accessToken) {
    super(accessToken);
  }
 
  public DoubanUserObj getUserProfileByUid (String uid) throws DoubanException, IOException {
    String url = RequestUrls.DOUBAN_USER_PREFIX + "/" + uid;
    DoubanUserObj result = this.client.getResponse(url, null, DoubanUserObj.class, false);
    return result;
  }
 
  public DoubanUserObj getLoggedInUserProfile (String accessToken) throws DoubanException, IOException {
    setAccessToken(accessToken);
    DoubanUserObj result = this.client.getResponse(RequestUrls.DOUBAN_USER_PREFIX + URLEncoder.encode("/@me", "utf-8"), null, DoubanUserObj.class, true);
    return result;
  }
 
  public DoubanUserFeedObj searchUserProfile (String keyword) throws DoubanException, IOException {
    return searchUserProfile(keyword, null, null);
  }

  public DoubanUserFeedObj searchUserProfile (String keyword, Integer startIndex, Integer maxResultCount) throws DoubanException, IOException {
    List<NameValuePair> params = new ArrayList<NameValuePair>();
    if (keyword != null && keyword.length() > 0) {
      params.add(new BasicNameValuePair("q", keyword));
    } else {
      throw ErrorHandler.missingRequiredParam();
    }
    if (startIndex != null) {
      params.add(new BasicNameValuePair("start-index", startIndex.toString()));
    }
    if (maxResultCount != null) {
      params.add(new BasicNameValuePair("max-results", maxResultCount.toString()));
    }
    DoubanUserFeedObj result = this.client.getResponse(RequestUrls.DOUBAN_USER_PREFIX, params, DoubanUserFeedObj.class, false);
    return result;
  }
 
  public DoubanUserFeedObj getUsersFriendsList (String uid, String accessToken) throws DoubanException, IOException {
    return getUsersFriendsList(uid, null, null, accessToken);
  }
 
  public DoubanUserFeedObj getUsersFriendsList (String uid, Integer startIndex, Integer maxResultCount, String accessToken) throws DoubanException, IOException {
    setAccessToken(accessToken);
    List<NameValuePair> params = new ArrayList<NameValuePair>();
    if (uid == null || uid.isEmpty()) {
      throw ErrorHandler.getCustomDoubanException(100, "We cannot get the friend list from a ghost, please specify a user id");
    }
    if (startIndex != null) {
      params.add(new BasicNameValuePair("start-index", startIndex.toString()));
    }
    if (maxResultCount != null) {
      params.add(new BasicNameValuePair("max-results", maxResultCount.toString()));
    }
    String url = RequestUrls.DOUBAN_USER_PREFIX + "/" + uid + "/friends";
    DoubanUserFeedObj result = this.client.getResponse(url, params, DoubanUserFeedObj.class, true);
    return result;
  }
 
  public DoubanUserFeedObj getUsersContactsList (String uid) throws DoubanException, IOException {
    return getUsersContactsList(uid, null, null);
  }
 
  public DoubanUserFeedObj getUsersContactsList (String uid, Integer startIndex, Integer maxResultCount) throws DoubanException, IOException {
    List<NameValuePair> params = new ArrayList<NameValuePair>();
    if (uid == null || uid.isEmpty()) {
      throw ErrorHandler.getCustomDoubanException(100, "We cannot get the contact list from a ghost, please specify a user id");
    }
    if (startIndex != null) {
      params.add(new BasicNameValuePair("start-index", startIndex.toString()));
    }
    if (maxResultCount != null) {
      params.add(new BasicNameValuePair("max-results", maxResultCount.toString()));
    }
    String url = RequestUrls.DOUBAN_USER_PREFIX + "/" + uid + "/contacts";
    DoubanUserFeedObj result = this.client.getResponse(url, params, DoubanUserFeedObj.class, false);
    return result;
  }

 
}
TOP

Related Classes of com.dongxuexidu.douban4j.service.DoubanUserService

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.