Skip to main content

Couchdb Explorer parte 2

CREAR UNA ACCION
Crear una clase Explorar.java

Colocamos el nombre de clase Explorar

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
/**
*
* @author avbravo
*/
public class Explorar implements ActionListener {
public void actionPerformed(ActionEvent e) {
// TODO implement action body
}
}

Agregamos una imagen de 16x16
Agregamos el icono en la carpeta couchdb-icon-16px.png en el paquete org.avbravo.couchdb
Editar Bundle.properties
Ahora agregamos una propiedad CTL_Explorer =Explorer al archivo bundle.properties
Editar el archivo layer.xml


<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE filesystem PUBLIC "-//NetBeans//DTD Filesystem 1.2//EN"
"http://www.netbeans.org/dtds/filesystem-1_2.dtd">
<filesystem>
<folder name="Databases">
<folder name="Explorer">
<folder name="Connection">
<folder name="Actions">
<file name="org-avbravo-couchdb-Explorar.instance">
<attr name="delegate" newvalue="org.avbravo.couchdb.Explorar"/>
<attr name="displayName"
bundlevalue="org.avbravo.couchdb.Bundle#CTL_Explorer"/>
<attr name="iconBase" stringvalue="org/avbravo/couchdb/couchdb-icon-
16px.png"/>
<attr name="instanceCreate"
methodvalue="org.openide.awt.Actions.alwaysEnabled"/>
<attr name="noIconInMenu" boolvalue="false"/>
</file>
</folder>
</folder>
</folder>
</folder>
</filesystem>








CREAR UNA VENTANA

Dar click en el paquete y seleccionar Nuevo->Ventana

En la configuración básica colocamos como Posición de Ventana output

Escribimos el nombre DemoDB

Podemos ver el diseño de la ventana

Editar el código de DemoDBTopComponent.java y cambie el
método getPersistenceType
@Override
public int getPersistenceType() {
return TopComponent.PERSISTENCE_ALWAYS;
}
para que retorne TopComponent.PERSISTENCE_NEVER.
Quedaría de la siguiente manera
@Override
public int getPersistenceType() {
return TopComponent.PERSISTENCE_NEVER;
}




Ahora editamos la clase Explorar.java, de manera que al darle click al Action se llame
al Window.
Agregamos en el método actionPerformed(ActionEvent e)
TopComponent tc = new DemoDBTopComponent();
tc.open();
tc.requestActive();

Instalamos el plugin y al ejecutarlo nuevamente,


 clic derecho en la conexión deseada y
damos clic en Explorer nos mostrara el Window.
Nos muestra la ventana


Si en la pantalla anterior no seleccionamos el icono para la ventana podemos agregarlo.
Definimos una variable ICON_PATH donde indicaremos la ruta del icono.
static final String ICON_PATH = "org/avbravo/couchdb/couchdb-icon-16px.png";





Instalamos el plugin y podemos observar el icono de la ventana








Comments

Popular posts from this blog

Apache NetBeans

Apache NetBeans
https://wiki.apache.org/incubator/NetBeansProposal

Si, algo que se esperaba desde hace muchos años, una liberación de NetBeans, para convertirlo en un IDE más abierto, y que permita mayor contribución de la comunidad y de otras empresas, ya inicio su primera etapa en la incubadora de la Fundación Apache.
Las implicaciones que esto conlleva son múltiples por una parte esta la evolución de NetBeans, al permitir que más contribuyentes puedan aportar a sus mejoras, también garantiza que aquellas instituciones no sientan que es una sola organización la que controla la evolución. A las comunidades les permite sentirse que participan de un proyecto con todas las garantías que ofrece la Fundación Apache.

Muchos pensaran que Oracle esta dejando morir el proyecto, la realidad es diferente, hay muchos ingenieros que están participando del proyecto en la fundación Apache.
Es una noticia excelente para los desarrolladores, instituciones, empresas que utilizan NetBeans , se estima qu…

Un ejemplo sencillo de Refactorización y Genericos

Un ejemplo sencillo de Refactorización y Genericos

public class Refactorizador<K, V> {

    public V copyFromBeans(K k, V v) {
        try {
            Class claseK = k.getClass();
            Class claseV = v.getClass();

            Method[] metodosK = claseK.getMethods();

            for (Method method : metodosK) {
                if (isGetter(method)) {
                    Method metodoGetK = claseK.getDeclaredMethod(method.getName());
                    Method metodoSetV = claseV.getDeclaredMethod(changeGetBySet(method.getName()), method.getReturnType());
                    metodoSetV.invoke(v, metodoGetK.invoke(k));
                }

            }

        } catch (Exception e) {
            System.out.println("refactorizador() " + e.getLocalizedMessage());
        }
        return v;
    }

     public  boolean isGetter(Method method) {

        if (!method.getName().startsWith("get")) {
            return false;
        }
        if (method.getName().startsWith("getCla…

FileUpload con Primefaces

FileUpload con Primefaces

Si queremos subir imagenes a nuestra aplicación usaremos el componente FileUpload Debemos realizar los siguientes pasos:
Agregar al archivo web.xml

   <filter>        <filter-name>PrimeFaces FileUpload Filter</filter-name>        <filter-class>            org.primefaces.webapp.filter.FileUploadFilter        </filter-class>    </filter>    <filter-mapping>        <filter-name>PrimeFaces FileUpload Filter</filter-name>        <servlet-name>Faces Servlet</servlet-name>    </filter-mapping>



Crear dentro de resources el directorio donde deseamos almacenar las imagenes En este ejemplo: resources/fotos/clinicas y agregue una imagen llamada fotos.png que se usará como imagen inicial.



En JSFUtil u otro @Named Beans que usemos agregamos tres métodos uno para obtener el path de la aplicación web , otro para obtener el path relativo a /fotos/clinicas y el otro para copiar los archivos. /*