Skip to main content

Posts

Showing posts from October, 2010

NetBeans Options Window Module parte 2

Continuando con el tutorial
Diseñar una Ventana

indicamos la configuración
indicamos el nombre
En la ventana Agregamos un JPanel, un JLabel y un JTextField
En el constructor agregamosPreferences pref = NbPreferences.forModule(CoolOptionsPanel.class);String name = pref.get("namePreference", "");pref.addPreferenceChangeListener(new PreferenceChangeListener() {public void preferenceChange(PreferenceChangeEvent evt) {if (evt.getKey().equals("namePreference")) {jTextField1.setText(evt.getNewValue());}}});jTextField1.setText(name);




Agregamos el import java.util.prefs.PreferencesImportar org.openide.util.NbPreferences
Importar java.util.prefs.PreferenceChangeListener
Importar java.utils.prefs.PreferenceChangeEvent
Instalamos el plugin y desde el menu Ventana, seleccionamos Lectura

Podemos observar el contenido en el JtextField






NetBeans Options Window Module

NetBeans Options Window Module
Basado en
http://platform.netbeans.org/tutorials/nbm-options.html
1.Crear un proyecto de tipo modulo
2. Crear un Panel de Opciones

3. Indicamos el titulo y la palabra clave
4. Se muestra la ventana de Ubicación, presionamos el botón Terminar

5. Se agrega un nuevo panel
7. En el menú Herramientas seleccionamos Opciones8. En opciones , seleccionamos Varios

9. Agregamos un JPanel, Caja de texto y una etiqueta
10. Instalamos el plugin y verificamos las Opciones.
11. Ahora en el código fuente buscamos el método store() y agregamos lasiguiente instrucción.NbPreferences.forModule(CoolOptionsPanel.class).put("namePreference",jTextField1.getText());






12.Corregimos las importaciones y seleccionamos. org.openide.util.NbPreferences

12. Instalamos el plugin nuevamente y verificamos las Opciones. org.openide.util.NbPreferences
13. Escribimos netbeans y presionamos el botón aceptar.
14. Ahora para recuperar el valor, buscamos el metodo load() y escribimos



15. Instalamos nu…

Agregar el plugin a un proyecto

Creamos un proyecto basado en NetBeans Platform Application

Imdicamos el nombre del proyecto

Seleccionamos las propiedades del proyecto

En modulos dar click derecho y seleccionar Añadir existentes


Seleccionamos el modulo

Se muestra el modulo agregado
Ejecutamos el proyecto 









Bases de Datos Relacionales.Algo del pasado o forman parte del presente.

Hace años cuando inicie en el mundo del desarrollo de software he observado la evolución de muchas tecnologías algunas con éxito otras marcadas por el fracaso debido a diversos factores, sin duda han sido los proyectos basados en Open Source y Software Libre, los que me han llamado más la atención, entre ellos claro esta NetBeans.
En esta ocasión recuerdo la primera vez que utilice alguna base de datos relacional, , y en ese entonces me preguntaba porque hay que enseñar "normalización-1, normalización-2,normalización-3", definida de multiples maneras cuando al final es el mismo concepto y el porque no iniciar con la mejor forma normal desde el principio, luego me preguntaba son las bases de datos relacionales una verdadera solución a la mayoría de los problemas o simplemente son un avance sobre el manejo tradicional de los archivos...
También me preguntaba porque debemos definir una estructura rígida para el almacenamiento de los datos, si en el mundo real esto es flexib…

Capacitación virtual en NetBeans Platform

Nuestro amigo Diego Silva (uno de los mejores escritores de blogs sobre NetBeans en español) esta coordinando con Geertjan Wielenga para dictar capacitaciones para los latinoamericanos.

Información oficial en el blog de Diego Silva
http://www.apuntesdejava.com/2010/10/ultimo-minuto-capacitacion-virtual-en.html



marc-json

Ajuste el código del plugin para migrar archivos Marc21 a Couchdb, para que soporte el formato marc-json.


Parte del código fuente


NetBeans 7.0 Milestone 2 disponible

El Milestone 2 de NetBeans 7.0 esta disponible para su descarga.

En este enlace puedes descargar el M2
Las caracteristicas

JavaSupport for Maven 3JUnit 4.8.2 integration and various JUnit improvementsRemote HTTP URLs supported for Javadoc in libraries and Java platformsNew improved visual customizer for GridBagLayoutJava EEImproved support for CDI, REST services and Java Persistence; new support for Bean ValidationSupport for JSF component libraries, including bundled PrimeFaces libraryImproved editing for Expression Language in JSF, including code completion, refactoring and hintsGlassFishGlassFish 3.1 SupportDomain restart and log viewer for remote GlassFishEnable and disable deployed applicationsWebLogic Application ServerStreamlined and faster deployment to WebLogicNew server runtime node displaying deployed applications and resourcesJSF integration with server librariesPlatformLess intrusive checking for external changes when switching between the IDE and other programsEditorWord w…

Obtener los documentos de una base de datos en Couchdb

Mostrare un pequeño código en Java que utiliza Couchdb4j para interactuar con los documentos almacenados en Couchdb.


try {
            db = dbSession.getDatabase(dbname);
            if (db == null) {
                return false;
            }
            int count = db.getDocumentCount();
            if (count == 0) {
                NotifyDescriptor d = new NotifyDescriptor.Message("No existen documentos de la base de datos " + dbname, msgType);
                DialogDisplayer.getDefault().notify(d);
                return false;
            }
            ViewResults results = db.getAllDocuments();

            //definimos el los campos para mostrar en el jtable
             Object[] filas = new Object[4]; // Hay tres columnas en la tabla


            for (Document document : results.getResults()) {
                            String id = (String) document.get("id");
                             Document full = db.getDocument(document.getId());
                Str…

M21Couchdb Migrador Marc21 a Couchdb

En esta ocasión realice un plugin muy básico para migrar datos desde un archivo en formato mar21 (.mrc)  a una base de datos couchdb.
El funcionamiento es sencillo, se analiza el contenido del archivo se obtienen los campos y luego estos se insertan en una base de datos documental.

Simplemente seleccionando el archivo
Este plugin utiliza la biblioteca Marc4jAqui podemos ver el contenido del archivo Sesion.javapackage org.avbravo.m21couchdb;
/** * * @author avbravo */import com.fourspaces.couchdb.Database;import com.fourspaces.couchdb.Document;import com.fourspaces.couchdb.Session;import java.io.FileInputStream;import java.io.InputStream;import java.sql.Connection;import java.sql.DatabaseMetaData;import java.sql.DriverManager;import java.sql.ResultSet;import java.sql.ResultSetMetaData;import java.sql.Statement;import java.util.ArrayList;import java.util.Calendar;import java.util.Date;import java.util.Iterator;import java.util.List;import javax.swing.JOptionPane;import org.marc4j.MarcReade…

DialogDisplayer

  String msg = "Mensaje de texto!";
        int msgType = NotifyDescriptor.INFORMATION_MESSAGE;
        int msgTypeError = NotifyDescriptor.ERROR_MESSAGE;
     NotifyDescriptor d = new NotifyDescriptor.Message(msg, msgType);
         DialogDisplayer.getDefault().notify(d);

Couchdb Explorer parte 7

Editamos la clase DemoTopComponent.java
Agregamos el objeto
Sesion sesion = new Sesion(); debajo de la declaración de la clase.
y Agregar dos atributos booleanos para controlar la activación del botón Migrar
boolean ldatabase = false;
boolean couchdb = false;

Agregamos el código para el botón Conectar 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.jPassword…

Couchdb Explorer parte 6

Agregar la librería Couchdb4j
Seleccionamos Wrapped JARs
y presionamos el botón Añadir JARAgregamos la librería couchdb4
Agregamos los jar que están en la carpeta libNos quedaría finalmente así
AGREGAR NUEVOS COMPONENTES AL DISEÑOAgregamos etiquetas, cajas de texto , combo y botones. Para la conexión a CouchdbDatos del jComboBoxFormatoFecha. Propiedad model:dd/MM/aaaa, MM/dd/aaaa,aaaa/MM/dd, dd/aaaa/MM, MM/aaaa/dd, aaaa/dd/MM
Creamos la clase NBRunnable para para ejecutar múltiples hilos.Código fuentepackage org.avbravo.couchdb;/**** @author avbravo*/import javax.swing.JOptionPane;import org.netbeans.api.progress.ProgressHandle;import org.netbeans.api.progress.ProgressHandleFactory;import org.openide.awt.StatusDisplayer;/**** @author avbravo*/public class NBRunnable implements Runnable {Sesion sesion = new Sesion();@Overridepublic void run() {try{for (int i = 0; i < sesion.getListaTablas().size(); i++) {ProgressHandle p = ProgressHandleFactory.createHandle("Procesando tabla: "…

Couchdb Explorer parte 5

PANEL TABLAS
Ahora en el Panel Tablas agregamos un JscrollPane1(Panel de desplazamientos). Ajustamos
un poco el tamaño.

Las propiedades horizontalScrollBarPolicy y verticalScrollBarPolicy a ALLWAYS.Ahora en el panel Conexiones y creamos el evento para el botón ConectarCódigo del botón Probar Conexióntry {DatabaseConnection dbconn = null;Object selected = dbconnComboBox.getSelectedItem();if (selected instanceof DatabaseConnection) {dbconn = (DatabaseConnection) selected;}sesion.conn = dbconn.getJDBCConnection(false);if (sesion.conn == null) {ConnectionManager.getDefault().showConnectionDialog(dbconn);}if (sesion.conn == null) {JOptionPane.showMessageDialog(this, "Usuario no se ha conectado , realice laconexión");return;}//limpio la lista de tablassesion.ListaTablas.clear();scene = new DBGraphScene(sesion.conn);jScrollPane1.setViewportView(scene.createView());JOptionPane.showMessageDialog(this, "Conectado");jTextFieldPrefijo.setText(sesion.conn.getCatalog() + "_&…