Acceso a los metadatos de la instancia de suceso

El acceso a los metadatos de la instancia de suceso se realiza a través de la Infraestructura de modelado de Eclipse basada en Java.

El paquete org.eclipse.hyades.logging.events.cbe, que proporciona las clases y las interfaces necesarias para trabajar con los objetos de suceso, está basado en EMF (Eclipse Modeling Framework). EMF es una infraestructura Java que se utiliza para generar código de aplicación basado en un modelo de datos estructurado. También proporciona interfaces en el código generado que se pueden utilizar para acceder a los metadatos que describen el modelo de datos. Para obtener más información acerca de EFM, consulte la documentación de Eclipse Modeling Framework en http://www.eclipse.org/emf.

Utilizando estas interfaces, las herramientas compatibles con EMF pueden interactuar con los datos de sucesos con CommonBaseEvent sin tener conocimientos previos sobre el modelo de datos o acceder a la implementación. Esto facilita el desarrollo de herramientas para generar código que transfiera datos de otros modelos de datos al modelo CommonBaseEvent. Los desarrolladores de aplicaciones pueden, de este modo, dedicarse a escribir código que utilice los datos, en lugar de código que cree los datos.

Tomando como ejemplo un origen de suceso que supervisa los sucesos de red y describe su propio modelo de datos según los términos EMF. Teniendo acceso a ambos modelos de datos, una herramienta de desarrollo puede visualizar los campos del modelo de datos del origen de suceso junto con los campos del modelo de datos CommonBaseEvent. A continuación, un desarrollador puede utilizar una interfaz gráfica para indicar cómo se correlacionan los campos del modelo del origen de suceso con los campos del modelo CommonBaseEvent. Por ejemplo, un campo denominado Workstation.name del modelo de datos del origen de sucesos puede corresponderse con el campo CommonBaseEvent.sourceComponentId.location del modelo de datos CommonBaseEvent. Como ambos modelos de datos se describen utilizando las interfaces EMF estándares, la herramienta puede generar código que maneja la transferencia de datos entre los dos modelos.

El fragmento de código siguiente es un sencillo ejemplo de cómo una herramienta de desarrollo puede utilizar las interfaces EMF para consultar información acerca del modelo de datos CommonBaseEvent y luego utilizar dicha información para interactuar con una instancia de suceso. Este ejemplo puede formar parte de un sencillo consumidor de sucesos. Se itera por todos los campos de una instancia de suceso e imprime el nombre y el valor de cada uno de los campos.

// el suceso es una instancia de CommonBaseEvent válida

// Obtener la lista de características estructurales de la instancia
// de suceso (campos)
List features = event.eClass().getEAllStructuralFeatures();

// iterar por la lista. Imprimir nombres y valores
for (int i = 0 ; i < features.size() ; i++)
  {
    EStructuralFeature feature = (EStructuralFeature)features.get(i);
    Object value = eObj.eGet(feature);
    System.out.println(feature.getName() + ":" + value);
  }

El modelo de datos CommonBaseEvent se describe en los archivos EMF cbe.ecore y cbe.genmodel. Estos archivos se incluyen en el SDK de Common Event Infrastructure. Puede importarlo a un entorno de desarrollo basado en Eclipse y luego utilizar EMF para generar código que interactúe con los objetos CommonBaseEvent.


Condiciones de uso |


(c) Copyright IBM Corporation 2005, 2006.
Este centro de información está basado en tecnología Eclipse (http://www.eclipse.org)