Cada contexto asociado a un archivo de anotaciones determinado está integrado por una serie de componentes. Cada componente tiene un rol que jugar en el proceso de un archivo de anotaciones.
En el diagrama siguiente se muestra la estructura de una configuración de Adaptador de anotaciones genérico típica.
El contexto describe la agrupación ordenada de componentes tal como se han encadenado entre sí para el proceso de archivo de anotaciones. Cada archivo de anotaciones tiene un contexto separado, y se pueden definir varios contextos en una sola configuración. El Adaptador de anotaciones genérico proporciona dos implementaciones de contexto:
Un contexto tiene las propiedades siguientes:
Propiedad | Tipo | Comportamiento |
---|---|---|
Descripción | cadena de caracteres | Descripción de texto del contexto. El Editor de configuraciones de adaptador es el único que utiliza este valor. |
UD exclusivo | cadena de caracteres | Identificador exclusivo para este contexto. El contexto hace referencia a esta cadena de caracteres para identificar la instancia de componente que se debe utilizar. |
Operación continua | booleano | Si se deben supervisar los cambios de este archivo de anotaciones en función de las propiedades Tiempo máximo desocupado e Intervalo de pausa. |
Tiempo máximo desocupado | entero (milisegundos) | Tiempo máximo que espera el contexto a que cambie un archivo de anotaciones antes de concluir. |
Intervalo de pausa | entero (milisegundos) | Tiempo que espera un contexto una vez que ha llegado al final del archivo de anotaciones antes de volver a intentar la lectura. |
Código ISO de idioma | Código de idioma del entorno local en el que se ha generado el archivo de anotaciones. Estos códigos son de dos letras en minúsculas, según se define en ISO-639. Puede encontrar una lista completa de estos códigos en varios sitios como, por ejemplo: http://www.ics.uci.edu/pub/ietf/http/related/iso639.txt. Si no se especifica este valor, se utiliza el idioma del entorno local actual en el que se ejecuta el Adaptador de anotaciones genérico. Este valor se utiliza al analizar indicaciones de la hora en el archivo de anotaciones. | |
Código ISO de país | El código de país del entorno local en el que se ha generado el archivo de anotaciones. Estos código son de dos letras en mayúsculas, según se define en ISO-3166. Puede encontrar una lista completa de estos códigos en varios sitios como, por ejemplo: http://www.chemie.fu-berlin.de/diverse/doc/ISO_3166.html. Si no se especifica este valor, se utiliza el país del entorno local actual en el que se ejecuta el Adaptador de anotaciones genérico. Este valor se utiliza al analizar indicaciones de la hora en el archivo de anotaciones. | |
Codificación | Codificación de caracteres del archivo de anotaciones que se va a analizar. El valor de codificación especificado debe ser un valor listado en el registro de juego de caracteres IANA (http://www.iana.org/assignments/character-sets) y tener el soporte de la JVM en la que se ejecuta el Adaptador de anotaciones genérico. Si no se especifica este valor, el archivo de anotaciones se analiza utilizando la codificación de archivo por omisión de la JVM en la que se ejecuta el Adaptador de anotaciones genérico, tal como se especifica en la propiedad del sistema JVM file.encoding. |
El sensor proporciona el mecanismo para leer el contenido de las anotaciones para el proceso. El Adaptador de anotaciones genérico facilita los sensores siguientes:
En la tabla siguiente se listan los atributos que son comunes entre los tipos de sensor.
Atributos del sensor
Nombre de atributo | Tipo | Comportamiento |
---|---|---|
Tipo de sensor | Cadena de caracteres | Tipo de sensor que utiliza el adaptador. |
Descripción (obligatoria) | Cadena de caracteres | Descripción de texto del sensor. El Editor de configuraciones de adaptador es el único que utiliza este valor. |
ID exclusivo (obligatorio) | Cadena de caracteres | Identificador exclusivo del componente. El sensor hace referencia a esta cadena de caracteres para identificar la instancia de componente que se debe utilizar. |
Máximo de bloque (obligatorio) | Entero | Número máximo de líneas que lee el sensor antes de reenviarlas al extractor para su proceso. Para el tipo StaticParserSensor, este campo indica el número máximo de objetos de suceso base común que crea el analizador estático antes de reenviarlos al productor para el proceso. |
Almacenamiento intermedio de seguridad | Entero | Los últimos n bytes de un archivo que se van a guardar y utilizar para determinar si se ha producido un añadido al archivo desde su última lectura. |
Tamaño de pie de página | Entero | n bytes de un archivo que incluye contenido estático. Algunos archivos de anotaciones añaden un pie de página al final del archivo de anotaciones. Esta parte del archivo de anotaciones no se considera como datos de anotaciones. La parte de pie de página de un archivo no se utiliza al determinar si se ha producido un añadido desde la última vez que se ha leído el archivo. |
En la tabla siguiente se listan las propiedades que son específicas de cada tipo de sensor. El código del componente conoce las propiedades siguientes y se deben escribir de forma exacta, tal como se indica en la tabla, para que las pueda reconocer y utilizar el componente.
Tipo de sensor | Propiedades | Aplicación |
---|---|---|
SingleFileSensor |
|
Se utiliza al crear un adaptador para analizar un archivo de anotaciones con reglas de expresión regular. |
StaticParserSensor |
|
Se utiliza al crear un adaptador para analizar un archivo de anotaciones con una clase Java de analizador estático. |
El extractor toma una recopilación de líneas de entrada que proporciona el sensor y las separa en límites de mensajes.
El Adaptador de anotaciones genérico proporciona los extractores siguientes:
Las propiedades siguientes se proporcionan como parte de la configuración del extractor:
Propiedad | Tipo | Comportamiento |
---|---|---|
Descripción | cadena de caracteres | Descripción de texto del extractor. El Editor de configuraciones de adaptador es el único que utiliza este valor. |
UD exclusivo | cadena de caracteres | Identificador exclusivo del componente. El extractor hace referencia a esta cadena de caracteres para identificar la instancia de componente que se debe utilizar. |
Contiene divisiones de línea | booleano | Indica si los mensajes del archivo de anotaciones abarcan varias líneas. |
Sustituir divisiones de línea | booleano | Sustituye las divisiones de línea del archivo por otro segmento de cadena de caracteres. La sustitución se realiza antes de que el extractor busque el Patrón de inicio o el Patrón de final.
Nota: El efecto de la utilización de esta opción es que los valores analizados del archivo de anotaciones no contienen divisiones de línea, a menos que los añadan de forma explícita las reglas de sustitución del analizador. |
Símbolo de división de línea | cadena de caracteres | Segmento de cadena de caracteres con el que sustituir divisiones de línea. Sólo se utiliza si Sustituir divisiones de línea es verdadero. |
Incluir patrón de inicio | booleano | Indica si se debe incluir StartPattern como parte del mensaje que se va a enviar al componente siguiente. Si el valor es falso, la parte coincidente del mensaje se elimina. |
Patrón de inicio | cadena de caracteres o expresión regular | Segmento de la cadena de caracteres que identifica el inicio de un mensaje. La clase RegularExpressionExtractor se puede utilizar siempre. Sin embargo, si el patrón de inicio es una cadena de caracteres simple, la clase SimpleExtractor tiene menor actividad general. |
Incluir patrón de final | booleano | Indica si se debe incluir el patrón de final como parte del mensaje que se va a enviar al componente siguiente. Si el valor es falso, la parte coincidente del mensaje se elimina. |
Patrón de final | cadena de caracteres o expresión regular | Segmento de la cadena de caracteres que identifica el final de un mensaje. Si no se especifica el patrón de final, el patrón de inicio siguiente delimita el mensaje. |
El analizador toma el mensaje que ha delimitado el extractor y crea un conjunto de correlaciones de valores de cadena de caracteres para una estructura de datos. En el caso del Adaptador de anotaciones genérico, la estructura de datos es Common Base Event 1.0.1
El Adaptador de anotaciones genérico proporciona la clase de analizador siguiente:
El analizador tiene dos fases de ejecución:
Ambas fases de ejecución permiten que el mensaje se pueda simbolizar en una serie de valores de atributo durante la fase de proceso global. Se puede hacer referencia a los valores de atributo por el índice o nombre del atributo durante la fase de proceso de atributos.
Las propiedades globales siguientes se especifican como parte del analizador:
Propiedad | Tipo | Comportamiento |
---|---|---|
Descripción | cadena de caracteres | Descripción de texto del analizador. El Editor de configuraciones de adaptador es el único que utiliza este valor. |
UD exclusivo | cadena de caracteres | Identificador exclusivo del componente. El analizador hace referencia a esta cadena de caracteres para identificar la instancia de componente que se debe utilizar. |
Símbolo de separador | cadena de caracteres o expresión regular | Símbolo o expresión regular que describe una serie de símbolos que dividen el mensaje en pares de atributo-valor.
Por ejemplo, si cada nueva línea del archivo de anotaciones contiene un atributo y su valor, puede especificar un Símbolo de separador de \n. La ventaja de dividir el mensaje es que se puede hacer referencia a los segmentos de la cadena de caracteres en la fase de proceso de atributos.
|
Símbolo de designación | cadena de caracteres o expresión regular | Símbolo o expresión regular que describe una serie de símbolos y que divide los segmentos de la cadena de caracteres que crea el Símbolo de separador en pares de atributo-valor. Por ejemplo, si se separa cada atributo y valor mediante un signo =, y el valor del Símbolo de designación es = , se puede hacer referencia al atributo y su valor en la fase de proceso de atributos. Si se especifica un símbolo de separador, pero no se especifica ningún símbolo de designación, el mensaje se divide en una lista de valores de atributo a la que se puede hacer referencia en las reglas de sustitución por índice. |
Los atributos individuales del suceso base común tienen las propiedades siguientes:
Nota: Los valores analizados durante la fase de proceso global se eliminan de los caracteres de espacios en blanco iniciales y finales. Por este motivo, se pueden escribir reglas de sustitución que utilicen valores de posición, asumiendo que los valores no tienen caracteres de espacios en blanco iniciales o finales.
Propiedad | Tipo | Comportamiento |
---|---|---|
Utilizar sustitución de coincidencia anterior como valor por omisión | booleano | Si el conjuntos de reglas de sustitución actual para este atributo devuelve una coincidencia positiva, almacene el valor coincidente para que se pueda utilizar como valor por omisión para procesar el registro siguiente si no existe una coincidencia positiva. |
Valor por omisión | Cadena de caracteres | Si ninguna de las reglas de sustitución para este atributo proporciona una coincidencia positiva o no existen reglas de sustitución para este atributo, se asigna al atributo el valor por omisión que se ha especificado aquí. Si se desea el mismo valor para todos los registros de un atributo determinado, se puede utilizar esta propiedad en lugar de crear una regla de sustitución por omisión para dicho atributo. Tenga en cuenta que Utilizar sustitución de coincidencia anterior como valor por omisión tiene prioridad si existe un valor guardado disponible. |
Requerido por el padre | booleano | Le permite especificar si este elemento debe tener un valor válido para que el elemento padre sea válido. Por ejemplo, si se selecciona esta opción para el elemento de situación, indica al analizador que el objeto de suceso base común debe tener un elemento de situación válido. Durante el proceso, si el elemento de situación devuelve un valor nulo, el analizador no procesa ninguno de los otros elementos hijo del objeto de suceso base común, puesto que ya sabe que este objeto de suceso base común no es válido debido a que un elemento hijo requerido ha devuelto un valor no válido. |
Opción hijo | booleano | Le permite especificar si el proceso de este elemento se debe detener una vez que un elemento o atributo hijo válido devuelve un valor válido. Por ejemplo, en el caso de una situation con tres elementos hijo, ReportSituation, RequestSituation y StartSituation, cada uno de ellos con sus propios subárboles. Si se selecciona la Opción hijo para el elemento situation, el análisis se detiene en el primer subárbol de hijo que devuelve un valor válido. |
Las reglas de sustitución se ejecutan como parte de la fase de proceso de atributos. Se procesan por orden, de arriba abajo. Una vez que coincide una regla, no se ejecutan más reglas con relación a esta propiedad. Si no se encuentra ninguna coincidencia, no se sitúa ningún valor en el atributo, a menos que se especifiquen las propiedades Utilizar sustitución de coincidencia anterior como valor por omisión o Valor por omisión del atributo.
Las reglas de sustitución contienen las propiedades siguientes:
Propiedad | Tipo | Comportamiento |
---|---|---|
Coincidencia | expresión regular | Expresión regular que identifica el valor que se debe aplicar a este atributo si se produce una coincidencia en el ámbito del elemento de la cadena de caracteres que procesa esta regla de sustitución. Si no proporciona una expresión regular, la regla se considera una coincidencia. |
Posiciones | pares de atributos de nombre-valor |
Las posiciones le permiten hacer referencia a los pares de atributos de nombre-valor creados durante la fase de proceso global.
En la propiedad Coincidencia, puede añadir el separador para indicar las expresiones regulares que se deben aplicar a un valor de atributo determinado. |
Sustituir | cadena de caracteres | Valor que se debe situar en el atributo. Puede ser una cadena de caracteres, o bien, puede hacer referencia a la expresión regular de la propiedad Coincidencia. Se puede hacer referencia al los segmentos de cadena de caracteres que extrae la propiedad Coincidencia utilizando las agrupaciones de la expresión regular. $1 indica la primera agrupación, $2 la segunda y así sucesivamente. |
Utilizar función incorporada | recuadro de selección |
Utilizar función incorporada cuando se selecciona para un atributo, si no existe ninguna de la reglas de sustitución anteriores o si no existe ninguna coincidencia, hace que el tiempo de ejecución del Adaptador de anotaciones genérico genere un valor para dicho atributo utilizando sus propias funciones internas. Sólo se ofrece soporte para esta característica para los atributos CBE siguientes:
|
Clase de sustitución | cadena de caracteres |
Especifica el nombre de una clase Java creada por el usuario que puede llevar a cabo la lógica de análisis personalizado en el valor coincidente con las especificaciones Posiciones, Coincidencia y Sustituir de la regla. Si la regla de sustitución coincide con los datos del registro, se llama a esta clase y el resultado se utiliza para crear el objeto de suceso base común.
Especificaciones:
|
Formato de hora | cadena de caracteres |
Este campo sólo se aplica a reglas de sustitución para el elemento creationTime, y se utiliza para simplificar el análisis de la fecha y la hora. Por ejemplo, algunos archivos de anotaciones contienen indicaciones de la hora que incluyen los nombres del mes, en lugar de su representación numérica, lo que dificulta la creación de reglas de sustitución para generar el valor de cadena de caracteres con el formato del tipo de datos dateTime del esquema XML que necesita el elemento creationTime de CBE. En este caso, el usuario puede especificar una cadena de caracteres de formato de fecha simple Java, tal como se indica en el javadoc para java.text.SimpleDateFormat
(java.sun.com/j2se/1.4.2/docs/api/java/text/SimpleDateFormat.html) en el campo Formato de hora. El valor que coincide en las especificaciones Posiciones, Coincidencia y Sustituir de la regla se analiza en función de la cadena de caracteres Formato de hora, y el valor resultante se utiliza para generar el valor creationTime de CBE.
Nota: El entorno local, tal como lo representan los valores de código ISO de idioma y país en la configuración de Instancia de contexto, se utiliza al analizar la indicación de la hora con la cadena de caracteres de formato de la hora. |
El formateador toma las correlaciones de atributos con sus valores que proporciona el analizador y crea la instancia de objeto Java correcta. El tiempo de ejecución del adaptador contiene un único formateador que crea objetos de suceso base común que se ajustan a la especificación de Common Base Event versión 1.0.1.
El formateador contiene las propiedades siguientes:
Propiedad | Tipo | Comportamiento |
---|---|---|
UD exclusivo | cadena de caracteres | Identificador exclusivo del componente. El formateador hace referencia a esta cadena de caracteres para identificar la instancia de componente que se debe utilizar. |
Descripción | cadena de caracteres | Descripción de texto del formateador. El Editor de configuraciones de adaptador es el único que utiliza este valor. |
El productor externaliza los registros de suceso base común resultantes que proporciona el formateador. Los productores proporcionan o ajustan el mecanismo para almacenar las salidas finales del contexto. El Adaptador de anotaciones genérico facilita los productores siguientes:
Propiedades del productor:
Propiedad | Tipo | Comportamiento |
---|---|---|
UD exclusivo | cadena de caracteres | Identificador exclusivo del componente. El productor hace referencia a esta cadena de caracteres para identificar la instancia de componente que se debe utilizar. |
Descripción | cadena de caracteres | Descripción de texto del productor. El Editor de configuraciones de adaptador es el único que utiliza este valor. |
Tipo de productor | enumeración | Tipo de productor del que se trata. |
Tipos de productor y propiedades necesarias:
Tipo de productor | Propiedades necesarias |
---|---|
StandardOutOutputter | Ninguna |
SingleFileOutputter | directory, fileName |
LoggingAgentOutputter | agentName - nombre que se da al agente de anotaciones cuando se crea waitUntilLoggingTime(optional)- tiempo que espera el productor a que el usuario conecte e inicie la supervisión del agente antes de empezar a escribir en el agente. Si no se especifica esta propiedad, el productor no espera a que se supervise el agente antes de escribir en el mismo. |
Conceptos relacionados
Visión general del Adaptador de anotaciones genérico de Hyades
Especificación del formato de suceso base común
Tareas relacionadas
Crear un analizador de anotaciones
Crear un adaptador basado en reglas
Crear un adaptador estático
Consultas relacionadas
Estructura del archivo de configuración del adaptador
Especificación del formato de suceso base común
Editor de configuraciones de adaptador
Gramática de las expresiones regulares
(C) Copyright IBM Corporation 2000, 2005. Reservados todos los derechos.