Wednesday, October 06, 2010

Creando p2cNB parte 4

Editamos la clase MigradorP2CTopComponent.java
Agregamos el objeto Sesion sesion = new Sesion(); debajo de la declaración de la clase.


Agregar dos atributos booleanos para controlar la activación del botón Migrar
boolean postgresql = false;
boolean couchdb = false;

Damos clic en diseño y codificamos el botón Probar Conexión.

try {
String ip = jTextFieldIpPostgresql.getText();
if (ip == null || ip.equals("")) {
JOptionPane.showMessageDialog(this, "Ingrese el ip", "Mensaje",
JOptionPane.INFORMATION_MESSAGE);
jTextFieldIpPostgresql.requestFocus();
return;
}
String spuerto = jTextFieldPuertoPostgresql.getText();
if (spuerto == null || spuerto.equals("")) {
JOptionPane.showMessageDialog(this, "Ingrese el puerto", "Mensaje",
JOptionPane.INFORMATION_MESSAGE);
jTextFieldPuertoPostgresql.requestFocus();
return;
}
int puerto = Integer.parseInt(spuerto);
String database = jTextFieldDataBasePostgresql.getText();
if (database == null || database.equals("")) {
JOptionPane.showMessageDialog(this, "Ingrese el nombre de la base de datos",
"Mensaje", JOptionPane.INFORMATION_MESSAGE);
jTextFieldDataBasePostgresql.requestFocus();
return;
}
String user = jTextFieldUserPostgresql.getText();
if (user == null || user.equals("")) {
JOptionPane.showMessageDialog(this, "Ingrese el usuario", "Mensaje",
JOptionPane.INFORMATION_MESSAGE);
jTextFieldUserPostgresql.requestFocus();
return;
}
String password = new String(this.jPasswordFieldPostgresql.getPassword());
if (password == null || password.equals("")) {
JOptionPane.showMessageDialog(this, "Ingrese el password del usuario", "Mensaje",
JOptionPane.INFORMATION_MESSAGE);
return;
}
jTextFieldPrefijo.setText(database + "_");
sesion.setIpPostgresql(ip);
sesion.setPuertoPostgresql(puerto);
sesion.setDatabasesPostresql(database);
sesion.setUserPostgresql(user);
sesion.setPasswordPostgresql(password);
postgresql = sesion.ConectarPostgresql();
if (postgresql == false) {
JOptionPane.showMessageDialog(this, "No se pudo establecer la conexión verifique los
datos");
return;
}
sesion.ObtenerListaTablas();
StatusDisplayer.getDefault().setStatusText("Conexión exitosa a postgresql");
for (int i = 0; i < sesion.getListaTablas().size(); i++) {
jTextAreaTablas.append(sesion.getListaTablas().get(i) + "\n");
}
if (couchdb == true) {
jButtonMigrar.setEnabled(true);
}
} catch (Exception ex) {
StatusDisplayer.getDefault().setStatusText("Error conectando a postgresql " +
ex.getMessage().toString());
JOptionPane.showMessageDialog(this, "Error\nMensaje: " + ex.getMessage(), "Error",
JOptionPane.ERROR_MESSAGE);
}



Verificar la conexión a Couchdb
try {
String ip = jTextFieldIpCouchdb.getText();
if (ip == null || ip.equals("")) {
JOptionPane.showMessageDialog(this, "Ingrese el ip", "Mensaje",
JOptionPane.INFORMATION_MESSAGE);
jTextFieldIpCouchdb.requestFocus();
return;
}
String spuerto = jTextFieldPuertoCouchdb.getText();
if (spuerto == null || spuerto.equals("")) {
JOptionPane.showMessageDialog(this, "Ingrese el puerto", "Mensaje",
JOptionPane.INFORMATION_MESSAGE);
jTextFieldPuertoCouchdb.requestFocus();
return;
}
int puerto = Integer.parseInt(spuerto);
String user = jTextFieldUserCouchdb.getText();
if (user == null) {
user = "";
}
String password = new String(this.jPasswordFieldCouchdb.getPassword());
if (password == null) {
password = "";
}
sesion.setIpCouchdb(ip);
sesion.setPuertoCouchdb(puerto);
sesion.setUserCouchdb(user);
sesion.setPasswordCouchdb(password);
couchdb = sesion.ConectarCouchDB();
if (couchdb == false) {
JOptionPane.showMessageDialog(this, "No se pudo establecer la conexión verifique los
datos");
return;
}
StatusDisplayer.getDefault().setStatusText("Conexión exitosa a couchdb");
if (postgresql == true) {
jButtonMigrar.setEnabled(true);
}
} catch (Exception ex) {
JOptionPane.showMessageDialog(this, "Error\nMensaje: " + ex.getMessage(), "Error",
JOptionPane.ERROR_MESSAGE);
}


Botón Migrar
String prefijo = jTextFieldPrefijo.getText();
if (prefijo == null) {
prefijo = "";
}
String formatoFecha = String.valueOf(jComboBoxFormatoFecha.getSelectedItem());
sesion.setFormatoFecha(formatoFecha);
sesion.setPrefijo(prefijo);
Thread t = new Thread(new NBRunnable());
t.start();




No comments: