Fetishcode…Thinking in objects

Abrir enlace en nueva ventana

Publicado en ADF by fetishcode en Junio 30th, 2008

Cuando trabajamos con ADF Faces y queremos abrir un enlace en una nueva ventana, es decir hacer uso de target=”_blank” tenemos varias opciones.

Una es hacer uso del componente golink y la propiedad targetFrame

<af :goLink destination="http://www.fetishcode.wordpress.com" targetFrame="_blank"/>

Otra opción, es hacer uso de la propiedad target del propio form. Esta última es útil cuando tenemos la necesidad de hacer uso de commandbuttons o commandlinks.

<h :form target="_blank"> </h>
Etiqueta con:,

Diálogos en ADF Faces

Publicado en ADF by fetishcode en Junio 15th, 2008

Este método muestra como lanzar diálogos o ventanas en forma de popup mediante código en jsf.
Para ello haremos uso del método AdfFacesContext.launchDialog(); que nos permite lanzar una página jspx, hecha previamente, en forma de ventana emergente.


private void launchDialogPopUp(){

    FacesContext context = FacesContext.getCurrentInstance();
    ViewHandler vh = context.getApplication().getViewHandler();
    // el jspx que se mostrara en forma de  ventana emergente
    UIViewRoot dialog = vh.createView(context, "/Ventana.jspx");

    AdfFacesContext a = AdfFacesContext.getCurrentInstance();
    // fijamos el ancho y el alto de la ventana emergente
    Map windowProperties = new HashMap();
    windowProperties.put("width", new Integer(300));
    windowProperties.put("height", new Integer(200));
    //añadimos mas paremetros que seran recogidos en la jspx ventana
    Map dialogParameters = new HashMap();
    dialogParameters.put("param", "holita");
    a.launchDialog(dialog,dialogParameters,null,true,windowProperties);
}

Para recoger el parámetro enviado en la pagina emeregente haremos uso del processScope.


<af :outputText value="El mensaje recibido de la hash del dialog es: #{processScope.param}" id="outputText3"/>

Mas Info: dialogs

ADF Faces para desarrollo front-end

Publicado en ADF by fetishcode en Mayo 22nd, 2008

Muchas veces se dice que adf faces es una tecnología para BackOffice y que existen pocos sitios públicos que apuesten por esta tecnología,

El centro Forestal de Eslovaquia apuesta ha apostado por la tecnología Oracle poniendo en marcha un nuevo portal público sobre los bosques de Eslovaquia, la solución se basa en Oracle Portal.

Además de la solución basada en Portal se ha desarrollado también una aplicación basada ADF Faces que proporciona información real y dinámica sobre los bosques eslovacos en forma de tablas, gráficos y mapas.

Portal en ADF Faces: www.forestportal.sk:8080/SIWeb

Portal en Oracle Portal :www.forestportal.sk.

Via: bjanko´s blog

Etiqueta con:,

Paso de parámetros entre paginas jspx.

Publicado en ADF by fetishcode en Mayo 1st, 2008

Passing parameters between jspx pages

Cuando trabajamos en ADF Faces muchas veces tenemos la necesidad de pasarnos información entre páginas. Pero no queremos hacerlo mediante la url del tipo http://url?parametro=valorparametro.

Para ello podemos usar la map de sesión, donde iremos añadiendo los parámetros que queramos antes de efectuar la regla de navegación que nos lleva a la pagina destino, la cual queremos que reciba los parámetros.


FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put("param","valorparam");

Para recogerlo:


FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("param");

Nota: esta no es la única forma de pasar parámetros entre paginas.

Etiqueta con:, ,

Obtener información de la conexión JDBC en ADF

Publicado en ADF by fetishcode en Abril 25th, 2008

Vayamos directos al tema:


private void getInfoConnection() throws SQLException {
PreparedStatement st = getDBTransaction().createPreparedStatement("commit",1);
Connection conn = st.getConnection();
// Creamos un objeto DatabaseMetaData
DatabaseMetaData meta = conn.getMetaData();

// Obtnemos la informacion del driver:
System.out.println("JDBC driver version:" + meta.getDriverVersion());
st.close();
}

Este método esta inspirado en el artículo de S.Muench How Can I Access the Current Database Connection Object?

 

Etiqueta con:, ,

Business Rules in Adf

Publicado en ADF by fetishcode en Marzo 1st, 2008

businessrulesinadfbctechnicalwp.pdf. Documento muy interesante que nos explica como implementar las reglas de negocio en Adf y como funciona la capa de modelo.

Presten atención a las consideraciones de diseño que nos indican. Mas de una nos puede resolver problemas y dudas típicos en el desarrollo de reglas en Adf.

Etiqueta con:,

findByKey and setCurrentRow

Publicado en ADF by fetishcode en Febrero 26th, 2008

Método que dado el nombre de un ViewObject y una lista de keys nos realiza una búsqueda mediante el método findByKey y nos setea la primera de las rows como currrentRow.


    public void setCurrentRowViewObject(String nomview, List l){
     try{
            Iterator it = l.listIterator(0);
            ViewObject vo=findViewObject(nomview);
            Object[] keyValues=new Object[l.size()];
            for(int i=0; it.hasNext();i++){
                       Object item = it.next();
                       keyValues[i]=item;
            }

            Row[] r = vo.findByKey(new Key(keyValues),1);
            if (r != null && r.length > 0) {
                vo.setCurrentRow(r[0]);}
        } catch (Exception ex)  {}
    }

Un método muy útil para tener en nuestra clase de Utils o en nuestro AppmoduleImpl.

Etiqueta con:, , ,

Metodos mas usados en ADF BC

Publicado en ADF by fetishcode en Febrero 5th, 2008

Documento muy interesante sobre los métodos más utilizados en ADF BC.
Con una breve descripción de los métodos y una clasificación de estos por capas.
Aunque es un poco antiguo creo que puede ser una buena referencia para usuarios a iniciados en ADF.

Documento: Most Commonly Used Methods in ADF Business Components

Etiqueta con:

SelecOneChoice en tablas

Publicado en ADF by fetishcode en Febrero 4th, 2008

Uno de los problemas mas comunes al desarrollar con ADF, una vez hemos pasado de la fase inicial de típicos Maestro/Detalle, es el famoso selectonechoice o lista despegable dentro de una tabla.

Para conseguirlo debemos recorrernos los elementos de la lista mediante un for each.

Les dejo un ejemplo en formato vídeo de Steve Muench.

Espero que en la nueva y esperada version 11g, este tema este mejor planteado.

Etiqueta con:, ,

ADF Faces Skins

Publicado en ADF by fetishcode en Enero 21st, 2008

How to get additional skins for ADF Faces
Si hay algo que tenia que mejorar ADF Faces era el tema visual. En mi opinión el skin de oracle, visualmente, es bastante pobre.
Por lo visto en la nueva versión de Jdeveloper, la esperada Jdeveloper11g, se ha trabajado mucho en este aspecto.Consiguiendo unos componentes muy ricos visualmente.

Para las versiones anteriores a la 11g, si no nos conformamos con el skin de oracle y no queremos hacernos uno, nostros mismos, por completo. Podemos hacer uso de otros skins que estan disponibles como extensiones de Jdeveloper.

Para descargarlo Help -> Check for Updates y seleccionamos “Additional Skins for ADF Faces….”
Los skins se descargaran en jdev\extensions\skin.

Mas información: Oracle ADF Faces Additional Skins

Etiqueta con:, ,