Fetishcode…Thinking in objects

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:, ,

Autobinding en ADF Faces

Publicado en Jdeveloper by fetishcode en Febrero 1st, 2008

Esta opción nos permite enlazar todos los componentes de nuestra página jspx con un Bean. Consiguiendo de este modo el efecto de un backing_bean con todos los componentes anidados.
Abrimos la pagina *.jspx . La visualizamos en modo Design.
Seleccionamos en el menú principal: Design > Page Properties. Pestaña Component Binding y Seleccionamos Auto Bind.
Podemos seleccionar un bean ya creado o crear uno nuevo.

Mas info:ADF DevGuide

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:, ,

Configuración de Debug en ADF

Publicado en ADF by fetishcode en Enero 9th, 2008

How to get more information from errors.Debug is the solution.Creating an Oracle ADF Debugging Configuration

En ocasiones cuando desarrollamos aplicaciones mediante frameworks , como es el caso de ADF. Nos encontramos ante ciertos problemas que se nos escapan por ver ciertas partes como ”cajas negras” de las cuales obtenemos poca información.

A continuación explicaremos como crear un pefil de arranque alternativo, para nuestra aplicación, en modo debug. Este perfil nos sera útil cuando estemos en situaciones de emergencia.

Desde JDeveloper, en la pestaña Application Navigator nos situamos sobre el proyecto:

Project Properties –> Run/Debug –> New Creamos un perfil nuevo.
A continuación lo editamos y en Java Options añadimos la configuracion de arranque:
-Djbo.debugoutput=adflogger -Djbo.adflogger.level=FINEST

Mas información:

Obtener mas información de una Jboexception .

Logging ADF.

Developer’s Guide For Forms/4GL Developers.

Etiqueta con:, ,

Logging ADF

Publicado en ADF by fetishcode en Enero 9th, 2008

How to use and configure ADF Logger

El sistema de trazas o logging que utiliza ADF se denomina Java Logging . Este sistema de trazas no requeire el uso de ninguna librería extra ya que viene incluida en el propio JDK, desde la version 1.4.

Para poder hacer uso de este sitema de trazas en nuestro proyecto bastara con registrar un logger en la clase:


private static Logger logger = Logger.getLogger("milog");
logger.info("info");
logger.fine("fine");

El fichero dec onfiguración del sistema de trazas se llama logging.properties y se encuentra en: /jdk/jre/lib/logging.propertiesTambién podemos indicar un fichero propio, en tiempo de diseño, idicándolo en JDEV_HOME/jdev/bin/jdev.conf mediante la siguiente linea:
AddVMOption -Djava.util.logging.config.file=path y nombre del fichero propertiesPor otro lado todos los loggers que ADF utiliza los tiene registrados y configurados en el fichero j2ee-logging.xml que lo encontramos…
Dentro del Jdeveloper en: /jdev/system/oracle.j2ee.10.1.3.xx.xx/embedded-oc4j/config
en el OAS:
/j2ee//config
Y en un OC4J en: /j2ee/home/configOtra opción, y quizá la mas extendida, es configurar nuestro proyecto para Jakarta-Log4j.

Mas información: ADF-Logging

Etiqueta con:, , ,