Crear un componente personalizado

El Adaptador de anotaciones genérico proporciona algunos componentes definidos previamente que se pueden utilizar para crear adaptadores que permitan procesar archivos de anotaciones de aplicación. Si los componentes no se ajustan a los requisitos, el Adaptador de anotaciones genérico se puede ampliar creando componentes personalizados que se pueden incluir en el contexto de un archivo de configuración del adaptador.

Para crear un componente personalizado, siga los pasos que se indican a continuación:

Extraer el código fuente del Adaptador de anotaciones genérico

Si desea hacer referencia al código fuente del Adaptador de anotaciones genérico cuando desarrolla su propio componente del adaptador de anotaciones genérico, extraiga el proyecto de plug-in org.eclipse.hyades.logging.adapter del repositorio CVS de Eclipse. Para ello:

Crear una clase Java

Debe crear una clase Java que contenga el código para el nuevo componente:

  1. Cree un proyecto de plug-in para que contenga en nuevo componente.
  2. Cree una clase Java en el proyecto. Dependiendo del rol que vaya a jugar el nuevo componente, debe implementar una de las interfaces siguientes definidas en el paquete org.eclipse.hyades.logging.adapter:
    IProcessUnit
    amplía IComponent con los métodos para llevar a cabo el proceso del componente. Entre los componentes se pasan matrices de objetos, de modo que el método de proceso principal, processEventItems, toma una matriz de objetos como entrada y devuelve una matriz de objetos. Todos los componentes debe implementar IProcessUnit. IComponent incluye los métodos get (captador) y set (especificador) para todas las propiedades de los componentes, un método de actualización para obtener las propiedades de los componentes de la configuración, y métodos para iniciar y detener el componente.
    ISensor
    amplía IProcessUnit. Se debe utilizar al implementar un componente sensor. El método getNext devuelve la siguiente agrupación de datos del origen que se está detectando. El método de vaciado vacía todos los datos restantes del origen que el sensor ha almacenado en antememoria. La interfaz también incluye un captador y un especificador para el tipo de sensor tal como se ha definido en el archivo de esquema del sensor sensor.xsd.
    IExtractor
    amplía IProcessUnit. Se debe utilizar al implementar un componente extractor. Puesto que, por lo general, un sensor devuelve datos como cadenas de caracteres al extractor y el extractor extrae mensajes completos de las cadenas de caracteres, un extractor debe implementar un método processStrings que toma como entrada una matriz de cadenas de caracteres y devuelve una matriz de objetos MessageString. La clase MessageString también se define en el paquete org.eclipse.hyades.logging.adapter.
    IParser
    amplía IProcessUnit. Se debe utilizar al implementar un componente analizador.
    IFormatter
    amplía IProcessUnit. Se debe utilizar al implementar un componente formateador.
    IOutputter
    amplía IProcessUnit. Se debe utilizar al implementar un componente productor.

    Otra opción al crear una nueva clase de componente consiste en ampliar las clases de implementación por omisión para IComponent, IProcessUnit, ISensor e IExtractor en el paquete org.eclipse.hyades.logging.adapter.impl. Se proporcionan ejemplos de los componentes en los paquetes de componentes asociados en el proyecto org.eclipse.hyades.logging.adapter.

  3. Una vez que haya completado el código, guarde los cambios.

Añadir dependencias de plug-in

Puesto que está ampliando las clases del Adaptador de anotaciones genérico, debe incluir el plug-in del Adaptador de anotaciones genérico y sus dependencias en el plug-in.

  1. Abra el archivo plugin.xml y añada las dependencias siguientes:
    org.eclipse.hyades.logging.adapter
    org.eclipse.hyades.logging.core

Configurar el plug-in como una extensión

Para configurar el plug-in como una extensión de componente del Adaptador de anotaciones genérico:

  1. Añada la extensión siguiente al archivo plugin.xml:
    <extension
       point="org.eclipse.hyades.logging.adapter.adapterComponent"> 
      <componentClassname 
            name="nombre_clase_ejecutable">
      </componentClassname> 
    </extension> 
    siendo nombre_clase_ejecutable el nombre de la clase Java que ha creado para implementar el nuevo componente del Adaptador de anotaciones genérico.
  2. Guarde el archivo plugin.xml.

 

Tareas relacionadas
Probar el componente personalizado