Boa noite pessoal,
eu tenho experiência de trabalho com vb/vba e desejando expandir meus conhecimentos resolvi tentar desenvolver uma aplicação em Java. Eu terminando de criar uma aplicação de ETL utilizando java, porém me deparei com um problema devido a falta de conhecimento de alguns conceitos do Java e por isso peço-lhes ajuda.
A aplicação já está conectando no banco de dados que eu necessito, extraí os dados, faz a detecção de alertas que eu necessito. Até aí está tudo bem. Pórém eu gostaria de ter um log de erros, para saber quando uma conexão em um dos bancos de dados que esta aplicação for conectar (ela conecta em vários bancos de dados) der erro eu possa saber e assim identificar os erros e solucioná-los o mais rápido possível.
Há 4 classes nessa aplicação:
[list]DBAcesso : a classe responsável por fazer todo o trabalho de “entrar em contato” com o banco de dados através da jdbc. Alguns métodos da classe devem retornar um erro caso a execução destes não ocorra com sucesso;
DBErros: classe utilizada para inserir os dados dos erros numa tabela no meu banco de dados;
ETLOlhoVivo: a classe que faz o trabalho de ETL e que caso apareça algum erro ela chame um objeto do tipo DBErros e insira o erro retornado por DBAcesso;
Main: a classe principal onde há a interface gráfica.[/list]
Abaixo segue o código fonte para vocês entenderem e que possam me ajudar.
[code]package etl_olho_vivo;
// TesteConexaoBanco.java
import camada_bd.;
import java.sql.;
import java.util.*;
public class ETLOlhoVivo
{
private String usuario = new String (); // variável para armazenar o usuário p/ conectar no B.D.
private String usuarioBDExt = new String(); // variável para armazenar o usuário p/ conectar no B.D. externo
private String senha = new String (); // variável para armazenar a senha para conectar no B.D.
private String senhaBDExt = new String(); // variável para armazenar a senha para conectar no B.D. externo
private String hostName = new String (); // variável para armazenar o host name do servidor de B.D.
private String SID = new String (); // variável para armazenar o SID
private String loja = new String (); // variável para armazenar a loja
private String strSql = new String (); // variável para armazenar os sqls a serem executados
private String dataInicial = new String (); // variável para armazenar a data inicial a que os dados extraídos se referem
private String dataFinal = new String (); // variável para armazenar a data final a que os dados extraídos referem
private String datLancamento = new String(); // variável para armazenar a data de lançamento da divergência a ser inserida no B.D.
private String datLancamentoAux = new String (); // variável auxiliar para armazenar a data para tratamento
private String URLBD = new String (); // variável para armazenar o URL do Banco de Dados
private int numPorta; // variável para armazenar o número da porta para conectar no B.D.
private boolean sucessoProcessamento; // flag utilizada que informa se o processamento foi concluído com sucesso
private int numLog; // número utilizado pelo log
DBErros logETL;
private void setSucessoProcessamento (boolean sucessoProcessamento)
{
this.sucessoProcessamento = sucessoProcessamento;
}//setSucessoProcessamento
private boolean getSucessoProcessamento ()
{
return sucessoProcessamento;
}//getSucessoProcessamento
public void setNumLog(int numLog)
{
this.numLog = numLog;
}//setNumLog
public int getNumLog()
{
return this.numLog;
}//getNumLog
public void setURLBD ( String URLBD )
{
this.URLBD = URLBD;
}//URLBD
public String getURLBD ()
{
return this.URLBD;
}//getURLBD
public void setUsuario (String usuario)
{
this.usuario = usuario;
}//setUsuario
public String getUsuario ()
{
return this.usuario;
}//get
public void setNumPorta(int numPorta)
{
this.numPorta = numPorta;
}//setNumPorta
public int getNumPorta ()
{
return this.numPorta;
}//getNumPorta
public void setDataInicial (String dataInicial)
{
this.dataInicial = dataInicial;
}//setDataInicial
public String getDataInicial ()
{
return this.dataInicial;
}//dataInicial
public String getDataFinal ()
{
return this.dataFinal;
}//getDataFinal
public void setDataFinal(String dataFinal)
{
this.dataFinal = dataFinal;
} //setDataFinal
public void setStrSQL (String strSql)
{
this.strSql = strSql;
}//strSQL
public String getStrSQL ()
{
return this.strSql;
}//getStrSQL
public void setLoja (String loja)
{
this.loja = loja;
}//setLoja
public String getLoja ()
{
return this.loja;
}//getLoja
public void setSID ( String SID )
{
this.SID = SID;
}//SID
public String getSID ()
{
return this.SID;
}//getSID
public void setSenha (String senha)
{
this.senha = senha;
}//setSenha
public String getSenha ()
{
return this.senha;
}//getSenha
public void setHostName ( String hostName )
{
this.hostName = hostName;
}//setHostName
public String getHostName ()
{
return this.hostName;
}//getHostName
//método utilizado p/ transformar a data do formato dd/mm/aa
//p/ 1aammdd. Este formato 1aammdd é o utilizado pelo RMS
public String acertaDataRMS(String data)
{
//07/04/03
datLancamentoAux = data;
datLancamento = "1" + datLancamentoAux.substring(6,8);
datLancamento = datLancamento + datLancamentoAux.substring (3,5);
datLancamento = datLancamento + datLancamentoAux.substring (0,2);
System.out.println (datLancamento);
return datLancamento;
}//acertaDataRMS
//método utilizado p/ transformar a data do formato 1aammdd
//p/ dd/mm/aa.
public void acertaDataOlhoVivo(String data)
{
datLancamentoAux = data;
datLancamento = (datLancamentoAux.substring(5,7) + "/");
datLancamento = datLancamento + (datLancamentoAux.substring(3,5) + "/");
datLancamento = datLancamento + (datLancamentoAux.substring(1,3));
}//acertaDataRMS
public ETLOlhoVivo (String usuario, String senha, String URLBD, String diaInicial, String diaFinal)
{
setUsuario(usuario);
setSenha(senha);
setURLBD(URLBD);
setDataInicial(acertaDataRMS(diaInicial));
setDataFinal (acertaDataRMS(diaFinal));
logETL = new DBErros(getUsuario(), getSenha(), getURLBD());
}//ETLOlhoVivo
public void extracao()
{
setLoja("MTZ");
DB_Acesso conexoes = new DB_Acesso ( usuario, URLBD ,senha ) ;
//configurando o objeto pra ser utilizado p/ as conexoes
numLog = conexoes.setDriverBD ( "oracle.jdbc.driver.OracleDriver" );
conexoes.setStrSQL ( "select * from tb_conexoes" );
numLog = conexoes.conexao();
//camadaBD.executarSQL();
numLog = conexoes.executarSQL();
//loop para conectar em todas os B.D. do RMS p/ extrair os dados
//para análise
ResultSet rsConexoes = conexoes.getRsResultado( );
//#############################################################################################################
//############################ TRECHO DE CÓDIGO P/ EXTRAÇÃO DOS DADOS DO RMS ##################################
//#############################################################################################################
try
{
while ( rsConexoes.next ( ) )
{
usuarioBDExt = rsConexoes.getString ( "nom_usuario" );
senhaBDExt = rsConexoes.getString ( "sen_senha" );
hostName = rsConexoes.getString ( "nom_host" );
numPorta = rsConexoes.getInt ( "num_porta" );
SID = rsConexoes.getString ( "nom_SID" );
loja = rsConexoes.getString ( "nom_abreviatura" );
DB_Acesso extracao = new DB_Acesso ( usuarioBDExt, "jdbc:oracle:thin:@"+ hostName + ":" + numPorta + ":" + SID , senhaBDExt ) ;
numLog = conexoes.setDriverBD ( "oracle.jdbc.driver.OracleDriver" );
//montagem do sql
strSql = "meu sql"; //o sql eu suprimi, mas o mesmo estava funcionando corretamente
System.out.println (strSql);
extracao.setStrSQL ( strSql );
numLog = extracao.conexao ( );
numLog = extracao.executarSQL();
// transferencia para um outro ResultSet p/ se manipular os registro extraídos do RMS
ResultSet rsExtracao = extracao.getRsResultado ( );
// set do usuário e senha para conectar no B.D. do sist. Olho vivo p/ descarregar a extracao
DB_Acesso insercaoBDOlhoVivo = new DB_Acesso ( usuario, URLBD ,senha ) ;
//configurando o objeto pra ser utilizado p/ a inserção no B.D.
numLog = insercaoBDOlhoVivo.setDriverBD ( "oracle.jdbc.driver.OracleDriver" );
numLog = insercaoBDOlhoVivo.conexao ( );
//limpeza da tabela temporária tb_ov_divergencia_temp
insercaoBDOlhoVivo.setStrSQL("truncate table tb_ov_divergencia_temp");
numLog = insercaoBDOlhoVivo.gravarBD();
//System.out.println(numLog);
//#############################################################################################################
//######################### TRECHO DE IMPORTAÇÃO DOS DADOS P/ B.D. DO SISTEMA OLHO VIVO #######################
//#############################################################################################################
// Armazenar os dados no banco de dados
try
{
//System.out.println(numLog);
while ( rsExtracao.next ( ) )
{
acertaDataOlhoVivo(rsExtracao.getString("eschc_data"));
//montagem do sql
strSql = "meu sql"; //esteeu suprimi, mas o mesmo está funcionando corretamente
insercaoBDOlhoVivo.setStrSQL ( strSql );
//insercaoBDOlhoVivo.conexao ( );
System.out.println (strSql);
numLog = insercaoBDOlhoVivo.gravarBD ( );
} //while
} //try
catch ( Exception e )
{
logETL.setNumErro(getNumLog());
logETL.setSiglaLoja(getLoja());
logETL.inserirErro();
e.printStackTrace ( );
} //catch
insercaoBDOlhoVivo.fecharConexao();
extracao.fecharConexao();
logETL.setNumErro(getNumLog());
logETL.setSiglaLoja(getLoja());
logETL.inserirErro();
this.deteccao();
} //while
numLog = conexoes.fecharConexao();
} //try
catch ( SQLException sql )
{
logETL.setNumErro(getNumLog());
logETL.setSiglaLoja(getLoja());
logETL.inserirErro();
sql.printStackTrace ( );
} //catch
}//extracao
public void deteccao()
{
//#############################################################################################################
//########################### TRECHO DE DETECÇÃO DE DIVERGÊNCIAS FORA DOS PADRÕES #############################
//#############################################################################################################
try {
DB_Acesso deteccao = new DB_Acesso ( usuario, URLBD, senha ) ;
//configurando o objeto pra ser utilizado p/ a detecção das divergências
numLog = deteccao.setDriverBD ( "oracle.jdbc.driver.OracleDriver" );
strSql = "meu sql"; //o sql eu suprimi, mas está funcionando corretamente
deteccao.setStrSQL( strSql );
//System.out.println ( strSql );
numLog = deteccao.conexao();
numLog = deteccao.gravarBD ( );
//limpeza da tabela temporária de extracao
deteccao.setStrSQL ( "truncate table tb_ov_divergencia_temp" );
numLog = deteccao.gravarBD();
numLog = deteccao.fecharConexao ( );
} // try
catch ( Exception sql )
{
logETL.setNumErro(getNumLog());
logETL.setSiglaLoja(getLoja());
logETL.inserirErro();
sql.printStackTrace ( );
} // catch*/
logETL.setNumErro(getNumLog());
logETL.setSiglaLoja(getLoja());
logETL.inserirErro();
System.out.println( "Executou com sucesso" );
} //deteccao
} //TesteDB_Acesso[/code]
[code]package camada_bd;
import java.sql.*;
public class DB_Acesso {
private String usuario; //variável utilizada para armazenar o usuário do B.D.
private String dbURL; //variável utilizada para armazenar o caminho do servidor
private Statement stmt; //variável utilizada para armazenar o objeto do tipo Statement
private String senha; //variável utilizada para armazenar a senha do usuário do B.D.
private ResultSet rsResultado; //variável utilizada para armazenar o resultado da consulta no B.D.
private Connection conexao; //variável utilizada para armazenar o string de conexão com o B.D.
private String driverBD; //variável utilizada para armazenar o string do driver do B.D.
private String strSQL; //variavel utilizada para armazenar o string do SQL;
private String resultado; //variável auxiliar
public DB_Acesso ( String usuario, String dbURL, String senha )
{
//inicializando as variáveis com os dados para conectar no banco
setUsuario ( usuario );
setDbURL ( dbURL );
setSenha ( senha );
} // DB_Acesso
public void setStrSQL ( String strSQL )
{
this.strSQL = strSQL;
} //setStrSQL
public String getStrSQL ()
{
return strSQL;
} //getStrSQL
public void setUsuario ( String usuario )
{
this.usuario = usuario;
} //setUsuario
public String getUsuario( )
{
return usuario;
} //getUsuario
public void setDbURL ( String dbURL )
{
this.dbURL = dbURL;
} //setdbURL
public String getDbURL ( )
{
return dbURL;
} //getdbURL
public void setSenha ( String senha )
{
this.senha = senha;
} //setSenha
public String getSenha ( )
{
return senha;
} //getSenha
public int setDriverBD ( String driverBD )
{
try
{
Class.forName ( driverBD );
return 0;
} // try
catch ( Exception e)
{
return 1;
//e.printStackTrace ( );
} // catch
} // setDriverBD
public String getDriverBD ( )
{
return driverBD;
} // setDriverBD
public int conexao()
{
try
{
conexao = DriverManager.getConnection ( dbURL, usuario, senha );
stmt = conexao.createStatement();
return 0;
} //try
catch ( SQLException sql )
{
return 2;
// System.out.println(“Ferrou a conexão”);
// sql.printStackTrace ( );
} // catch
}
public int executarSQL() {
try
{
rsResultado = stmt.executeQuery ( strSQL );
return 0;
} //try
catch ( SQLException sql )
{
return 3;
//sql.printStackTrace ( );
} // catch
} //executarSQL
public void setResultado ( String resultado )
{
this.resultado = resultado;
} //setResultado
public String getResultado ( )
{
return resultado;
} //getResultado
public ResultSet getRsResultado ()
{
return rsResultado;
} //getResultado
public int fecharConexao ()
{
try
{
stmt.close();
conexao.close();
return 0;
} //try
catch ( SQLException sql)
{
return 4;
//sql.printStackTrace();
} //catch
} //fecharConexao
public int gravarBD() {
try
{
int linhas = stmt.executeUpdate ( strSQL );
return 0;
} //try
catch ( SQLException sql )
{
sql.printStackTrace ( );
return 5;
} // catch
}
}
[/code]
[code]package camada_bd;
import java.util.;
import java.text.;
//import javax.sql.;
//import java.sql.;
/**
*
-
@author mkm jk
*/
public class DBErros {private int numErro; //variável utilizada para armazena o número do erro
private String siglaLoja; //variável utilizada para armazenar a sigla da loja
private Date data = new Date(); //variável utilizada para armazenar a data do erro
private String usuario; //variável para armazenar o usuário p/ conectar no B.D.
private String senha; //variável para armazenar a senha para conectar no B.D.
private String URLBD = new String (); //variável para armazenar o URL do Banco de Dados
private String sql; //variável para armazenar o comando SQL a ser executado no B.D.public void setSql(String sql)
{
this.sql = sql;
}//setSqlpublic String getSql()
{
return this.sql;
}//getSqlpublic void setUsuario(String usuario)
{
this.usuario = usuario;
}//setUsuariopublic String getUsuario()
{
return this.usuario;
}//getUsuariopublic void setSenha(String senha)
{
this.senha = senha;
}//setSenhapublic String getSenha()
{
return this.senha;
}//getSenhapublic void setURLBD(String URLBD)
{
this.URLBD = URLBD;
}//setURLBDpublic String getURLBD()
{
return this.URLBD;
}//getURLBDpublic void setNumErro(int numErro)
{
this.numErro = numErro;
}//setNumErropublic int getNumErro()
{
return this.numErro;
}//getNumErropublic void setSiglaLoja(String siglaLoja)
{
this.siglaLoja = siglaLoja;
}//setSiglaLojapublic String getSiglaLoja()
{
return this.siglaLoja;
}//getSiglaLojapublic Date getData()
{
return this.data;
}//getData/** Creates a new instance of DBErros */
public DBErros(String usuario, String senha, String URLBD)
{
setUsuario(usuario);
setSenha(senha);
setURLBD(URLBD);
}//DBErrospublic void inserirErro()
{
int numExec;SimpleDateFormat formatador = new SimpleDateFormat("dd/MM/yy"); DB_Acesso log = new DB_Acesso(usuario, URLBD, senha); try { log.setDriverBD ( "oracle.jdbc.driver.OracleDriver" ); log.conexao(); System.out.println(formatador.format(data)); setSql("insert into tb_log_erros "); setSql(sql + "(nom_abreviatura, dat_data_erro, cod_erro) "); setSql(sql + "values ('" + siglaLoja + "', "); setSql(sql + "'" + formatador.format(data) + "', "); setSql(sql + numErro + ")"); System.out.println(sql); log.setStrSQL(sql); log.gravarBD(); log.fecharConexao(); }//try catch(Exception e) { e.printStackTrace(); }//catch
}//inserirErro
}//class[/code]
[code]
package etl_olho_vivo;
import javax.xml.stream.events.StartDocument;
/*
- Main.java
- Created on 4 de Abril de 2007, 17:13
*/
/**
*
-
@author mkm jk
*/
public class Main extends javax.swing.JFrame {/**
- Creates new form Main
*/
public Main() {
initComponents();
}
/** This method is called from within the constructor to
-
initialize the form.
-
WARNING: Do NOT modify this code. The content of this method is
-
always regenerated by the Form Editor.
*/
//
private void initComponents() {
extrair = new javax.swing.JButton();
jLabel1 = new javax.swing.JLabel();
jLabel2 = new javax.swing.JLabel();
jLabel3 = new javax.swing.JLabel();
jLabel4 = new javax.swing.JLabel();
txtUsuarioBD = new javax.swing.JTextField();
pswSenhaBD = new javax.swing.JPasswordField();
txtURLBD = new javax.swing.JTextField();
txtDiaInicial = new javax.swing.JTextField();
statusBar = new javax.swing.JPanel();
lblStatus = new javax.swing.JLabel();
jLabel5 = new javax.swing.JLabel();
txtDiaFinal = new javax.swing.JTextField();
jLabel6 = new javax.swing.JLabel();setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
setTitle(“Sistema Olho Vivo - ETL”);
setBackground(new java.awt.Color(204, 204, 255));
extrair.setText(“Extrair”);
extrair.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent evt) {
ButtonHandler(evt);
}
});jLabel1.setFont(new java.awt.Font(“Arial”, 0, 12));
jLabel1.setForeground(new java.awt.Color(0, 51, 102));
jLabel1.setText(“Usu\u00e1rio do Banco de Dados:”);jLabel2.setFont(new java.awt.Font(“Arial”, 0, 12));
jLabel2.setForeground(new java.awt.Color(0, 51, 102));
jLabel2.setText(“Senha do Banco de Dados:”);jLabel3.setFont(new java.awt.Font(“Arial”, 0, 12));
jLabel3.setForeground(new java.awt.Color(0, 51, 102));
jLabel3.setText(“URL do Banco de Dados:”);jLabel4.setFont(new java.awt.Font(“Arial”, 0, 12));
jLabel4.setForeground(new java.awt.Color(0, 51, 102));
jLabel4.setText(“Dia Inicial da Extra\u00e7\u00e3o (dd/mm/aa):”);txtURLBD.setText("");
statusBar.setBackground(new java.awt.Color(255, 255, 255));
statusBar.setBorder(javax.swing.BorderFactory.createEtchedBorder());
lblStatus.setFont(new java.awt.Font(“Arial”, 0, 12));
lblStatus.setForeground(new java.awt.Color(0, 51, 102));
lblStatus.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);javax.swing.GroupLayout statusBarLayout = new javax.swing.GroupLayout(statusBar);
statusBar.setLayout(statusBarLayout);
statusBarLayout.setHorizontalGroup(
statusBarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblStatus, javax.swing.GroupLayout.DEFAULT_SIZE, 541, Short.MAX_VALUE)
);
statusBarLayout.setVerticalGroup(
statusBarLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(lblStatus, javax.swing.GroupLayout.DEFAULT_SIZE, 15, Short.MAX_VALUE)
);jLabel5.setFont(new java.awt.Font(“Arial”, 0, 24));
jLabel5.setForeground(new java.awt.Color(0, 51, 102));
jLabel5.setText(“Sistema Olho Vivo - ETL”);jLabel6.setFont(new java.awt.Font(“Arial”, 0, 12));
jLabel6.setForeground(new java.awt.Color(0, 51, 102));
jLabel6.setText(“Dia Final da Extra\u00e7\u00e3o (dd/mm/aa):”);javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
getContentPane().setLayout(layout);
layout.setHorizontalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addContainerGap(424, Short.MAX_VALUE)
.addComponent(extrair)
.addGap(54, 54, 54))
.addGroup(layout.createSequentialGroup()
.addGap(135, 135, 135)
.addComponent(jLabel5)
.addContainerGap(149, Short.MAX_VALUE))
.addComponent(statusBar, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGap(33, 33, 33)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1)
.addComponent(jLabel3)
.addComponent(jLabel2)
.addComponent(jLabel6)
.addComponent(jLabel4))
.addGap(13, 13, 13)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(txtURLBD, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 281, Short.MAX_VALUE)
.addComponent(txtDiaFinal, javax.swing.GroupLayout.DEFAULT_SIZE, 281, Short.MAX_VALUE)
.addComponent(txtDiaInicial, javax.swing.GroupLayout.DEFAULT_SIZE, 281, Short.MAX_VALUE)
.addComponent(pswSenhaBD, javax.swing.GroupLayout.DEFAULT_SIZE, 281, Short.MAX_VALUE)
.addComponent(txtUsuarioBD, javax.swing.GroupLayout.DEFAULT_SIZE, 281, Short.MAX_VALUE))
.addGap(27, 27, 27))
);
layout.setVerticalGroup(
layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
.addGap(27, 27, 27)
.addComponent(jLabel5)
.addGap(32, 32, 32)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel1)
.addComponent(txtUsuarioBD, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(23, 23, 23)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel2)
.addComponent(pswSenhaBD, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(25, 25, 25)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel3)
.addComponent(txtURLBD, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 26, Short.MAX_VALUE)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel4)
.addComponent(txtDiaInicial, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(25, 25, 25)
.addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
.addComponent(jLabel6)
.addComponent(txtDiaFinal, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
.addGap(17, 17, 17)
.addComponent(extrair)
.addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
.addComponent(statusBar, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
);
pack();
}//
private void ButtonHandler(java.awt.event.ActionEvent evt) {
System.out.println ("Início do processamento"); lblStatus.setText("Início do processamento"); lblStatus.repaint(); if (evt.getSource() == extrair) { new Thread() { public void run() { if (validarDados() == false) { lblStatus.setText("Preencha todos os campos para que o processo inicie"); lblStatus.repaint(); }//if else { try { ETLOlhoVivo ETL = new ETLOlhoVivo(txtUsuarioBD.getText(), pswSenhaBD.getText(), txtURLBD.getText(), txtDiaInicial.getText(), txtDiaFinal.getText()); ETL.extracao(); //ETL.deteccao(); java.awt.EventQueue.invokeLater(new Runnable(){ public void run(){ lblStatus.setText("Detecção concluída com sucesso"); lblStatus.repaint(); } });//invokeLater }//try catch (Exception e) { java.awt.EventQueue.invokeLater(new Runnable () { public void run(){ lblStatus.setText("Extração concluída com problemas"); lblStatus.repaint(); } }); //System.out.println(e.getLocalizedMessage()); e.printStackTrace(); }//catch }//else }//run }.start();//thread }//if
}
/**
-
@param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new Main().setVisible(true);
}
});
}
// Variables declaration - do not modify
private javax.swing.JButton extrair;
private javax.swing.JLabel jLabel1;
private javax.swing.JLabel jLabel2;
private javax.swing.JLabel jLabel3;
private javax.swing.JLabel jLabel4;
private javax.swing.JLabel jLabel5;
private javax.swing.JLabel jLabel6;
private javax.swing.JLabel lblStatus;
private javax.swing.JPasswordField pswSenhaBD;
private javax.swing.JPanel statusBar;
private javax.swing.JTextField txtDiaFinal;
private javax.swing.JTextField txtDiaInicial;
private javax.swing.JTextField txtURLBD;
private javax.swing.JTextField txtUsuarioBD;
// End of variables declarationpublic boolean validarDados()
{
//txtUsuarioBD
String usuarioBD = txtUsuarioBD.getText();
String senhaBD = pswSenhaBD.getText();
String URLBD = txtURLBD.getText();
String diaInicial = txtDiaInicial.getText();
String diaFinal = txtDiaFinal.getText();if(usuarioBD.length() == 0) { return false; }//if //pswSenhaBD if(senhaBD.length() == 0) { return false; }//if //txtURLBD if(URLBD.length() == 0) { return false; }//if //txtDiaInicial if(diaInicial.length() == 0) { return false; }//if //txtDiaFinal if(diaFinal.length() == 0) { return false; }//if return true;
}//validarDados
- Creates new form Main
}//class Main[/code]
Eu não fui atrás do Log4j agora porque eu não tenho muito tempo para terminar esta aplicação, e gostaria de fazer funcionar essa estrutura que eu comecei a montar. Eu vou estudar o Log4J, mas para implementá-la agora acredito que não conseguirei. Mas eu vou estudar o Log4J. Agradeço desde já quem puder me ajudar!!! Valews!!!