Package com.twitter.acoes

Source Code of com.twitter.acoes.Cadastrar

package com.twitter.acoes;

import java.util.Map;

import javax.jdo.PersistenceManager;

import twitter4j.Twitter;
import twitter4j.TwitterFactory;
import twitter4j.auth.RequestToken;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import com.twitter.banco.PMF;
import com.twitter.modelo.STTwitter;

public class Cadastrar extends ActionSupport{

  /**
   *
   */
  private static final long serialVersionUID = 1L;
 
  private String nome;
 
  private String telefone;
 
  private String email;
 
  private String twitter;
 
  private String url;
 
  private STTwitter stt;

  public String execute() throws Exception {
   
    //Cria instancia do banco
    PersistenceManager pm = PMF.get().getPersistenceManager();
   
    //Inicializa o objeto twitter com os dados da requisi��o
    this.stt = new STTwitter(getNome(),getTelefone(),getEmail(),getTwitter());
   
    //tenta persistir os dados que foram enviados pelo usuario
    try {
            pm.makePersistent(this.stt);
        } finally {
            pm.close();
        }
   
    //+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++//
    try {
      //consumerKey e secretKey sao liberados a minha aplicaco quando a cadastro no twitter
      String consumerKey = "ZU3EOQpH5YR2SXoMmAGzw";
      String secretKey = "oHIA2PoLw4Y8jXR4HM3xWfoJQJFYIryFKStHuRcL7Q";
     
      //cria uma instancia do twitter pela 'fabrica'
          Twitter twitter = new TwitterFactory().getInstance();
         
          //configura autorizacao pra minha conta de teste no twitter
          twitter.setOAuthConsumer(consumerKey, secretKey);
         
          //recebe os tokens de requisicao do twitter para posteriormente tentar o acesso
          // (forma inteligente de seguran�a, os tokens sao gerados dinamicamente pelo twitter)
          RequestToken requestToken = twitter.getOAuthRequestToken();
         
          //configuro a url que encaminhar� o usuario ao twitter (redireciono automaticamente pelo struts)
          setUrl(requestToken.getAuthorizationURL());
         
          //recebo os tokens de requisicao
          String token = (String) requestToken.getToken();
          String tokenSecret = (String) requestToken.getTokenSecret();
         
          //adiciono os tokens de requisicao a sessao pois serao usados posteriormente
          Map<String,Object> session = ActionContext.getContext().getSession();
          session.put("token",token);
          session.put("tokenSecret",tokenSecret);
         
          //adiciono o nome e twitter (caso exista) do usuario na sessao
          session.put("nome", this.stt.getNome());
          if(!this.stt.getTwitter().equals("") && !(this.stt.getTwitter() == null)){
            session.put("twt", stt.getTwitter());
          }
     
          //finalmente, retorno pro struts a string "redirect" que ele vai interpretar pra redirecionar
          //Neste momento o usuario vai ser redirecionado pro twitter para autorizar o uso desta aplica��o
    }finally {
            return "redirect";
        }
   
  } 

  public String getNome() {
    return nome;
  }

  public String getTelefone() {
    return telefone;
  }

  public String getEmail() {
    return email;
  }

  public String getTwitter() {
    return twitter;
  }

  public void setNome(String nome) {
    this.nome = nome;
  }

  public void setTelefone(String telefone) {
    this.telefone = telefone;
  }

  public void setEmail(String email) {
    this.email = email;
  }

  public void setTwitter(String twitter) {
    this.twitter = twitter;
  }

  public String getUrl() {
    return url;
  }

  public void setUrl(String url) {
    this.url = url;
  }

}
TOP

Related Classes of com.twitter.acoes.Cadastrar

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.