Personalización de Servigistics InService > Personalización de validaciones de CSV > Configuración de validaciones personalizadas para ficheros CSV
  
Configuración de validaciones personalizadas para ficheros CSV
Servigistics InService permite añadir validaciones personalizadas de ficheros de valores separados por comas (CSV) mediante una copia del fichero de configuración customizedContext_XX.conf.xml que se encuentra en el directorio <INS_HOME>/InS_SW/SW/Config/System/Config. En el nombre de fichero customizedContext_XX.conf.xml, XX representa el valor numérico por defecto del fichero.
No se recomienda editar el fichero de configuración por defecto. En su lugar, se puede crear una copia del fichero de configuración por defecto y añadir validaciones personalizadas a la versión copiada del fichero. El nombre de fichero de configuración copiado debe tener un valor numérico menor que el valor numérico por defecto del fichero. Por ejemplo, si el nombre de fichero por defecto es customizedContext_3.conf.xml, se puede copiar y guardar este fichero como customizedContext_2.conf.xml. A continuación, se puede utilizar el fichero customizedContext_2.conf.xml para añadir validaciones personalizadas. En adelante, se hace referencia a la versión copiada del fichero de configuración por defecto como customizedContext_YY.conf.xml.
La validación personalizada debe extender una validación por defecto. Para obtener una lista de validaciones por defecto de ficheros CSV, consulte Validaciones por defecto de ficheros CSV.
Un componente de cada validación se define en el fichero customizedContext_YY.conf.xml y la entrada de validación se incluye en el componente CSVFileValidationScanner del fichero customizedContext_YY.conf.xml. Para obtener más información sobre la adición de validaciones personalizadas, consulte Adición de una validación personalizada para ficheros CSV.
Definición de validaciones
En un componente de validación del fichero customizedContext_YY.conf.xml se incluyen los siguientes detalles:
Elemento
Descripción
Component
Permite especificar el nombre del componente de validación.
Creation
Permite especificar el método que se utiliza para crear el componente. El atributo Type para este elemento siempre es JavaObject.
Class
Permite especificar la clase Java del componente de validación. Una clase Java es un fichero Java personalizado que extiende una validación por defecto existente para ficheros CSV.
Config
Permite especificar los detalles de la configuración, como la información de validación.
Validation
Permite especificar los siguientes atributos de validación:
code: el código de error de la validación.
description: una descripción de la validación.
resolution: la resolución de la validación.
* 
Estos atributos se muestran para una validación en el fichero de resultados de las validaciones después de ejecutar la tarea Validate CSV Data en Task Manager.
En el siguiente componente de validación se muestran los atributos definidos para el componente:
<Component Name="DataEncodingValidator">
<Creation Type="JavaObject">
<Class>com.ptc.csvtoinservice.validation.DataEncodingValidator</Class>
</Creation>
<Config>
<Validation code="101" description="CSV file has the wrong encoding"
resolution="File %s must be encoded in UTF8." />
</Config>
</Component>
Inclusión de entradas de validación
En una entrada de validación en el componente CSVFileValidationScanner se deben incluir los siguientes elementos:
validator: permite especificar si la validación se aplica a todos los ficheros CSV o a un fichero CSV específico. Para ello, se define el atributo appliesto para el elemento validator. Los siguientes valores son válidos para el atributo appliesto:
Valor del atributo
Descripción
All
Permite especificar si la validación se aplica a todos los ficheros.
<CSV_File_Name>
Permite especificar el nombre del fichero CSV al que se aplica la validación. Se debe especificar la ruta relativa del fichero CSV desde la ubicación del paquete de ficheros CSV.
rule: permite especificar la regla para la validación. En el elemento rule se incluyen los siguientes atributos:
Atributo
Descripción
type
Permite especificar el tipo de validación. Los siguientes valores son válidos:
file: permite realizar la validación en el fichero CSV completo.
row: permite realizar la validación en cada fila del fichero CSV.
column: permite realizar la validación en la columna especificada en el atributo columnName del elemento rule.
columnName
Permite especificar el nombre de una columna en el fichero CSV. El valor de este atributo se especifica solo cuando el atributo type del elemento rule se define en column.
validationCriteria
Permite especificar el nombre del componente de validación. Los detalles de este componente de validación se especifican en el fichero customizedContext_YY.conf.xml. Para obtener más información, consulte Definición de validaciones.
required
Permite especificar si la validación es un error o un aviso. Los siguientes valores son válidos:
true: permite especificar que la validación es de tipo error y debe resolverse. Este tipo de validación requiere que el usuario corrija la validación para realizar la importación correcta del fichero CSV.
false: permite especificar que la validación es de tipo aviso. Este tipo de validación solo es informativa y no impide la importación del fichero CSV.
En el siguiente componente CSVFileValidationScanner se muestra una entrada de validación de ejemplo aplicable a todos los ficheros CSV:
<Component Name="CSVFileValidationScanner">
<Creation Type="JavaObject">
<Class>com.ptc.csvtoinservice.main.CSVFileValidationScanner</Class>
</Creation>
<Config>
<validator appliesTo="All">
<rule type="file" columnName="" validationCriteria="DataEncodingValidator"
required="true"/>
<rule type="file" columnName="" validationCriteria="MandatoryColumnValidator"
required="true"/>
<rule type="file" columnName="" validationCriteria="EmptyLineValidator"
required="false"/>
<rule type="file" columnName="" validationCriteria="DuplicateEntryValidator"
required="false"/>
</validator>