Propagation des attributs et persistance des objets personnalisés lors de la génération des structures de service
Durant la génération et la régénération des structures de service, le service prêt à l'emploi NodeResolutionService résout les noeuds ou les éléments à des fins de copie, de réutilisation et de suppression dans la structure générée. Vous pouvez étendre ce service afin d'implémenter votre logique personnalisée pour propager les valeurs d'attributs et créer des objets spécifiques dans la structure de service générée ou régénérée. Enregistrez le service d'implémentation à l'aide de l'utilitaire xconfmanager. L'exécution de la résolution des noeuds après la génération ou la régénération d'une structure de service est un prérequis à l'implémentation de la personnalisation décrite ici.
Champs
Les champs suivants sont fournis dans l'implémentation du service prêt à l'emploi afin d'assurer la mise en cache des objets personnalisés créés ou copiés durant l'exécution d'un code personnalisé, ceci pour les rendre persistants ultérieurement en tant que liens configurables.
List<WTCollection> customObjects;
Méthodes
Une fois la résolution des noeuds terminée, appliquez les méthodes suivantes :
• postGenerate
/**
* Copy forward any attributes from the originals to their copies
*
* @param originalsToCopies An array of CopyObjectInfo objects containing the originals and copied objects
*/
void postGenerate(CopyObjectInfo[] originalsToCopies);
• persistCustomCollections
Il s'agit d'une méthode prête à l'emploi qui conserve les objets créés pour la structure de service à l'extérieur de la logique prête à l'emploi, à savoir les liens configurables ou tout autre élément spécifique à la logique personnalisée. La personnalisation doit ajouter les collections au champ de classe List<WTCollection>, avec une nouvelle collection ajoutée à la liste pour chaque type d'objets devant être conservé.
/**
* Persists any custom objects created during the generate/regenerate process i.e. configurable links
*
* @throws WTException
*/
void persistCustomCollections() throws WTException;
Méthodes d'assistance externes
Utilise les méthodes d'assistance externes suivantes pour récupérer des attributs pour un objet, et pour définir des attributs sur un objet.
• getAttributesFromPersistables
/**
* Retrieves the list of attribute values from passed in persistables
*
* @param objToattrNames Map with key as the persistable object to
* retrieve the values from and values as the list of attributes to
* attempt to retrieve the value for.
* @return A map containing the attribute and the attribute value
* retrieved from each passed in persistable
* @throws WTException
*/
public static WTKeyedMap getAttributesFromPersistables(
WTKeyedMap objToattrNames)
throws WTException
• setAttributesOnPersistables
/**
* Sets the specified attributes with the specified values on the
* collection of specified objects assuming all target objects are
* checked in.
*
* @param updateTargets A map of persistable keys mapped to a map
* containing attribute name and attribute value pairs
* @param persist boolean to specify if the updated persistables
* should be persisted once the update has been processed
* @throws WTException
*/
SisCoreHelper.setAttributesOnPersistables(Map<Persistable, Map<String, Object>> updateTargets)