Fonctionnalités supplémentaires de Windchill > Gestion des informations pour l'après-vente > Personnalisation de Windchill Service Information Manager et Windchill Service Parts > Hook personnalisé permettant de valider un contenu traduit entrant
  
Hook personnalisé permettant de valider un contenu traduit entrant
Le hook CustomXMLValidationHook peut valider tout contenu traduit entrant envoyé par les fournisseurs de traduction au moyen d'un fichier XML, avant l'importation de ce contenu dans Service Information Manager. Si la validation aboutit, le processus d'importation se poursuit. Si elle génère une exception, le processus de traduction SIM échoue lors de l'importation et les informations relatives à l'exception sont ajoutées au fichier journal portant sur l'échec de l'importation. En plus de l'exception, le contenu du lot de traduction n'est pas importé, même s'il inclut des fichiers dont la validation via le hook CustomXMLValidationHook a abouti.
Pour implémenter ce hook, vous devez spécifier les détails suivants :
état selon lequel initier l'échec du processus Importer des lots de traduction (lors du premier échec de validation XML ou après l'échec de la dernière validation XML) ;
saisie des fichiers ayant échoué lors de la validation XML dans le message d'erreur du fichier journal des importations.
Dans le cadre du processus Importer des lots de traduction, la validation par le biais du hook CustomXMLValidationHook est effectuée une fois l'absence de tout contenu de fichier XML malformé vérifiée dans le lot traduit, mais avant l'intégration du contenu traduit.
Interface
package com.ptc.tml.validation;
import java.io.InputStream;
/**The interface provides the custom XML validation service for the translation *contents. The interface receives the file name and input stream of the file which is to be validated for the XML and need to throw the exception to indicate the XML validation
*failure for given file. The implementation must state whether the Import Translation Process should fail if the first XML validation failure has *encountered or after the last XML validation failure. The implementation also needs to populate the error message
*for failed XML validation for logging purpose.
*/
public interface CustomXMLValidationHook {
/**
* @return boolean Boolean value to indicate whether the translation process should be failed when the first XML validation failure is encountered
*/
public boolean failOnFirstError();
/**
* @param fileName Name of file in the translation zip to validated for XML
* @param is InputStream of the file to be validated for XML
* @throws TranslationException
*/
public void validateXML (String fileName, InputStream is) throws TranslationException;
/**
* @return Error message to be logged for XML validation failures
*/
public String getErrorMessage();
}
Consultez également les fichiers SampleCustomXMLValidationFailFastHookImpl.java et SampleCustomXMLValidationHookImpl.java, qui constituent des exemples d'implémentations fournis à des fins de référence. Ils sont disponibles à cet emplacement : $WT_HOME\codebase\com\ptc\tml\sample.
Registre
1. L'utilitaire xconfmanager permet de modifier translation.service.properties.xconf. Vous pouvez également l'enregistrer dans le fichier components.service.properties figurant à l'emplacement suivant : <Windchill>/codebase/com/ptc/core/components. Pour obtenir des informations concernant l'utilitaire xconfmanager, consultez la section A propos de l'utilitaire xconfmanager.
2. Ajoutez la propriété suivante :
<Service context="default"
name="com.ptc.tml.validation.CustomXMLValidationHook">
<Option serviceClass="YourCustomXMLValidationHookClassName"
selector="null"/>
</Service>
3. Enregistrez le fichier.
4. Propagez vos modifications à l'aide de l'utilitaire xconfmanager. A partir du répertoire <Windchill>\bin, entrez la commande suivante :
xconfmanager -pF
5. Redémarrez le serveur de méthodes.