quinta-feira, 20 de outubro de 2011

Teste de Formulário



Formulário de Contato:
Preencha os campos abaixo para entrar em contato conosco.
Não esqueça de seu e-mail para respondermos, se for necessário.
Os campos marcados com "*" são obrigatórios.

Nome*:

máximo de 50 caracteres
E-mail para contato*:

máximo de 200 caracteres
Assunto (motivo do contato):

máximo de 100 caracteres
Mensagem*:

Seu contato é muito importante para nós!
Agora, basta clicar em "ENVIAR" para recebermos sua mensagem.

segunda-feira, 19 de setembro de 2011

Acordeon para RDF

Projeto eclipse, para executar será necessário:
  • adicionar a biblioteca do MySql
  • em AcessoMySql, mudar a url do banco de dados
  • em UsuarioETL e UsuarioController, mudar o caminho do arquivo rdf
Link SVN: https://acordeon-semantico-telp.googlecode.com/svn/AcordeonSemantico/

Funcionalidades:
  • Gera arquivo rdf
  • Faz buscas semânticas com Jena
  • Faz buscas semânticas com Sparql

Acordeon para Android

Projeto eclipse, para executar é necessário ter ambiente configurado para desenvolver em plataforma Android


Link SVN: http://riouxsvn.com/svn/acordeonandroid/

Funcionalidades:

  • faz o login inicial
  • resgata recados recebidos
  • pode logar mesmo sem conexão
  • atualiza recados quando quiser

sábado, 10 de setembro de 2011

[Buscas Semânticas] Busca com Jena


Na figura é mostrado como é feito a busca em um modelo RDF através do framework Jena.
Inicialmente o modelo é carregado através do arquivo rdf. Em seguida é feito a pesquisa do nome passado no método, é procurado todos os resources que possuem a propriedade VCARD.FN e retornado apenas aqueles que contém o nome buscado.
Por fim os resultados são adicionados em uma lista, a qual é o retorno do método.

sexta-feira, 9 de setembro de 2011

[ETL] Classe UsuarioETL

Em seguida é explicado o funcionamento do processo de ETL da tabela Usuario do banco de dados Acordeon para a tabela Usuario do banco de dados do DW de Acordeon.


package br.com.etl.usuarios;

import br.com.acessobd.AcessoBdAcordeon;
import br.com.acessobd.AcessoBdDw;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

public class UsuarioETL {

    PreparedStatement pstm;
    ResultSet rs;
    String consultaUsuario = "SELECT * FROM USUARIO";
    String cadastraUsuario = "INSERT INTO USUARIO (ID, CPF, DT_NASC, EMAIL, NOME_COMPLETO, SENHA, SEXO, TELEFONE) "
            + "VALUES(?,?,?,?,?,?,?,?)";

    public List<UsuarioBean> extract() {
        List<UsuarioBean> listUsuario = new ArrayList<UsuarioBean>();
        try {
            AcessoBdAcordeon mysql = new AcessoBdAcordeon();
            pstm = mysql.conectar().prepareStatement(consultaUsuario);
            rs = pstm.executeQuery();
            UsuarioBean usu;
            while (rs.next()) {
                usu = new UsuarioBean();
                usu.setId(rs.getInt("id"));
                usu.setCpf(rs.getString("cpf"));
                usu.setDtNasc(rs.getDate("dt_nasc"));
                usu.setEmail(rs.getString("email"));
                usu.setNomeCompleto(rs.getString("nome_completo"));
                usu.setSenha(rs.getString("senha"));
                usu.setSexo(rs.getInt("sexo"));
                usu.setTelefone(rs.getString("telefone"));
                listUsuario.add(usu);
            }
            mysql.desconectar();
        } catch (Exception e) {
            e.printStackTrace();
        }

        return listUsuario;
    }

    public String transform(int sexo) {
        if (sexo == 0) {
            return "M";
        } else {
            return "F";
        }
    }

    public void load(UsuarioBean usuario) {
        try {
            AcessoBdDw mysql = new AcessoBdDw();
            pstm = mysql.conectar().prepareStatement(cadastraUsuario);
            pstm.setInt(1, usuario.getId());
            pstm.setString(2, usuario.getCpf());
            pstm.setDate(3, usuario.getDtNasc());
            pstm.setString(4, usuario.getEmail());
            pstm.setString(5, usuario.getNomeCompleto());
            pstm.setString(6, usuario.getSenha());
            pstm.setString(7, transform(usuario.getSexo()));
            pstm.setString(8, usuario.getTelefone());
            pstm.executeUpdate();
            mysql.desconectar();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }


public static void main(String[] args) {
        UsuarioETL usuario = new UsuarioETL();
     
        List<UsuarioBean> listUsuario = usuario.extract();
        Iterator<UsuarioBean> itU = listUsuario.iterator();
        while(itU.hasNext()){
            UsuarioBean usu = itU.next();
            usuario.load(usu);
        }
}

}

        O método extract é onde é feita a extração dos dados do banco de dados do Acordeon. Primeiro é aberta uma conexão com o banco de dados, em seguida é executado a query "SELECT * FROM USUARIO" e inserido o resultado desta query em objetos da classe UsuárioBean, sendo que cada objeto é adicionado em um List. Por fim é retornado o List.
        No método transform é onde é feita a transformação de dados. O método recebe como parâmetro um inteiro, que vai variar em 0 e 1, caso este valor seja 0 é retornada a String "M", e caso seja 1 é retornada a String "F".
        Já o método load é onde é feita a carga dos dados no banco de dados do DW. Ele recebe como parâmetro um objeto da classe UsuarioBean. Primeiro é aberta uma conexão com o banco de dados, em seguida é adicionado no lugar das interrogações de "INSERT INTO USUARIO (ID, CPF,DT_NASC, EMAIL, NOME_COMPLETO, SENHA, SEXO, TELEFONE) VALUES(?,?,?,?,?,?,?,?)" os atributos do UsuarioBean passado. Por fim é executado o update.