ProviderFacade.java :  » Widget » twidgie » com » twidgie » twitter » oauth » Android Open Source

Android Open Source » Widget » twidgie 
twidgie » com » twidgie » twitter » oauth » ProviderFacade.java
package com.twidgie.twitter.oauth;

import oauth.signpost.OAuthProvider;
import oauth.signpost.basic.DefaultOAuthProvider;
import oauth.signpost.exception.OAuthCommunicationException;
import oauth.signpost.exception.OAuthExpectationFailedException;
import oauth.signpost.exception.OAuthMessageSignerException;
import oauth.signpost.exception.OAuthNotAuthorizedException;

public class ProviderFacade implements Provider {

  private OAuthProvider provider;

  public ProviderFacade(Consumer consumer, String requestTokenUrl, String requestAccessUrl, String authorizeUrl) {
    this.provider = new DefaultOAuthProvider(consumer.getConsumer(), requestTokenUrl, requestAccessUrl,
        authorizeUrl);
  }

  public void retrieveAccessToken(String pin) {
    redeemAccessToken(pin);
  }

  public String retrieveRequestToken() {
    return redeemRequestToken();
  }

  private void redeemAccessToken(String pin) {
    try {
      provider.retrieveAccessToken(pin);
    } catch (OAuthMessageSignerException e) {
      throw new OAuthException(e);
    } catch (OAuthNotAuthorizedException e) {
      throw new OAuthException(e);
    } catch (OAuthExpectationFailedException e) {
      throw new OAuthException(e);
    } catch (OAuthCommunicationException e) {
      throw new OAuthException(e);
    }
  }

  private String redeemRequestToken() {
    try {
      return provider.retrieveRequestToken(oauth.signpost.OAuth.OUT_OF_BAND);
    } catch (OAuthMessageSignerException e) {
      throw new OAuthException(e);
    } catch (OAuthNotAuthorizedException e) {
      throw new OAuthException(e);
    } catch (OAuthExpectationFailedException e) {
      throw new OAuthException(e);
    } catch (OAuthCommunicationException e) {
      throw new OAuthException(e);
    }
  }

}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.