jueves, marzo 04, 2010

Acceso a un application module sin usar el panel binding

En caso de necesitar acceder a un application module sin tener acceso al panel binding, la forma de hacerlo sería usando el método createRootApplicationModule de la clase Configuration.

Los parámetros que tenemos que pasar son el nombre del AppModule, como aparece en la ventana de Application Navigator, en este caso "com.thalesgroup.rss.ctc.ctc1000.forms.model.GRP", y el nombre de la configuración que aparece en la entrada en el fichero bc4j.xcfg de ese AppModule.

Los business components que se obtengan de esta forma, por ejemplo las filas que resultan de ejecutar la query de una vista, estarán disponibles sólamente hasta que se llame al releaseRootApplicationModule.


/**
* Este metodo obtiene el modulo de aplicacion GRP en el que está
* la vista que nos permite obtener la información de configuraciones
* y rellena el Map de configuraciones.
*
* @return El Map con la configuracion.
*/
private static Map
obtenerDatosDeConfiguracion() {
Map
listaDeValoresDeConfiguracion;
// El modulo de aplicacion con el que accedemos a la
// configuracion del GRP.
String amDef = "com.thalesgroup.rss.ctc.ctc1000.forms.model.GRP";
// La definicion de la configuracion de es appModule a la que vamos
// a acceder (AppModuleConfig name="GRPLocal" en el fichero bc4j.xcfg)
String config = "GRPLocal";

// 1. Adquirimos la instancia del application module,
// y hacemos un cast al interfaz que usamos.
GRPImpl appModule = (GRPImpl) Configuration.createRootApplicationModule(amDef, config);

listaDeValoresDeConfiguracion = appModule.getConfiguracion();

// Si no se ha obtenido la informacion deseada se devuelve una lista vacia.
if ((listaDeValoresDeConfiguracion == null) || (listaDeValoresDeConfiguracion.size() == 0)) {
log.error("No se ha podido obtener la lista de valores de configuracion "
+ "o no tiene elementos");
listaDeValoresDeConfiguracion = new HashMap
();
}

// Es necesario liberar el appModule despues de haberlo usado.
// Cuidado, todos Business Components obtenido a traves de este
// appModule se liberan tambien.
Configuration.releaseRootApplicationModule(appModule, true);
return listaDeValoresDeConfiguracion;
}




Etiquetas:

1 Comments:

Blogger JuanPla said...

Hola Javier,

Soy Juan Pablo, encontré tu blog de casualidad, buscando imagenes de centros de control en la web meti "ctc100" en el google y ahí estabas tú. Bueno, el caso es que ya que pasaba por aquí me dije: !que menos que saludar!,Pues eso, recuerdos a todos de mi parte.

Chao
Juanpa

24/5/10 5:10 p. m.  

Publicar un comentario

<< Home