Package com.cib.yym.homepage.service.impl

Source Code of com.cib.yym.homepage.service.impl.ReadItLaterServiceImpl

package com.cib.yym.homepage.service.impl;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.ProtocolException;
import java.net.URL;
import java.util.logging.Logger;

import com.cib.yym.homepage.common.CacheManager;
import com.cib.yym.homepage.common.CacheManagerFactory;
import com.cib.yym.homepage.service.ReadItLaterConfigLoader;
import com.cib.yym.homepage.service.ReadItLaterService;
import com.yym.sina.weibo.WeiboServiceImpl;

public class ReadItLaterServiceImpl implements ReadItLaterService{
  private static final Logger log = Logger.getLogger(ReadItLaterServiceImpl.class.getName());
 
  @Override
  public boolean authenticate(String user, String password) {
    String authUrl = null;
    String apiKey = null;
    try {
      CacheManager cache = CacheManagerFactory.getCacheManager();
      if(cache.getCachedData(CacheManager.MAP_READITLATER_CONFIG, "authUrl") != null)
      {
        authUrl = (String)cache.getCachedData(CacheManager.MAP_READITLATER_CONFIG, "authUrl");
        apiKey = (String)cache.getCachedData(CacheManager.MAP_READITLATER_CONFIG, "apiKey");
        log.info("cache hit authUrl="+authUrl);
      }else
            {
              //read it from config directly
        authUrl = ReadItLaterConfigLoader.getInstance().getValue("authUrl");
        apiKey = ReadItLaterConfigLoader.getInstance().getValue("apiKey");
        log.info("no authUrl in cache");
            }
     
        } catch (Exception e) {
          e.printStackTrace();
        }
   
    URL url;
    try {
      authUrl = authUrl+"apikey="+apiKey
          +"&username="+user
          +"&password="+password;
      url = new URL(authUrl);
      HttpURLConnection connection = (HttpURLConnection) url.openConnection();
          //connection.setDoOutput(true);
          connection.setDoInput(true);
          connection.setUseCaches(false);
          connection.setRequestMethod("GET");
          connection.connect();
         
            
            //BufferedReader reader = new BufferedReader(new InputStreamReader(connection.getInputStream(),"utf-8"));
         
            //String result = "";
            if (connection.getResponseCode() == HttpURLConnection.HTTP_OK) {
                // OK
              //http://readitlaterlist.com/api/docs/#response
              //200 - Request was successful
              return true;
//               String line;
//                 while ((line = reader.readLine()) != null) {                 
//                   result = result + line;
//                 }
//                 reader.close();
//                
//                 log.info("result="+result);
            } else {
                // Server returned HTTP error code.
              /**
               * 400 - Invalid request, please make sure you follow the documentation for proper syntax
         * 401 - Username and/or password is incorrect
         * 403 - Rate limit exceeded, please wait a little bit before resubmitting
         * 503 - Read It Later's sync server is down for scheduled maintenance.
               */
              log.info("error http code:"+connection.getResponseCode());
              return false;
            }            
    } catch (MalformedURLException e) {
      e.printStackTrace();
    } catch (ProtocolException e) {     
      e.printStackTrace();
    } catch (IOException e) {     
      e.printStackTrace();
    }
   
    return false;
  }

}
TOP

Related Classes of com.cib.yym.homepage.service.impl.ReadItLaterServiceImpl

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.