Funzionalità aggiuntive di Windchill > Gestione dati assistenza > Personalizzazione di Windchill Service Information Manager e Service Parts > Personalizzazione dell'hook per generare o rigenerare una nuova struttura parti > Propagazione degli attributi e persistenza degli oggetti personalizzati
  
Propagazione degli attributi e persistenza degli oggetti personalizzati
Durante la generazione e la rigenerazione delle strutture ricambi, il servizio di default NodeResolutionService risolve i nodi o gli elementi per la copia, il riutilizzo e la rimozione nella struttura generata. È possibile estendere questo servizio per implementare la logica personalizzata e propagare i valori di attributo e gli oggetti personalizzati nella struttura ricambi generata o rigenerata. Registrare il servizio di implementazione utilizzando l'utilità xconfmanager. Il completamento della risoluzione dei nodi dopo la generazione o la rigenerazione di una struttura ricambi è un prerequisito per l'implementazione della personalizzazione descritta di seguito.
Campi
L'implementazione del servizio di default include i campi riportati di seguito che consentono la memorizzazione nella cache degli oggetti personalizzati creati o copiati durante l'esecuzione di un codice personalizzato, in modo che possano essere resi persistenti successivamente come link configurabili.
List<WTCollection> customObjects;
Metodi
Dopo aver completato la risoluzione dei nodi, utilizzare i metodi descritti di seguito.
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
Si tratta di un metodo di default che rende persistenti tutti gli oggetti creati per la struttura ricambi all'esterno della logica di default, ovvero link configurabili o qualsiasi elemento specifico della logica personalizzata. La personalizzazione deve aggiungere le raccolte al campo della classe List<WTCollection>, con una nuova raccolta aggiunta all'elenco per ogni tipo di oggetto da rendere persistente.
/**
* Persists any custom objects created during the generate/regenerate process i.e. configurable links
*
* @throws WTException
*/
void persistCustomCollections() throws WTException;
Metodi di supporto esterni
Utilizzare i metodi di supporto esterni riportati di seguito per recuperare gli attributi di un oggetto, nonché per impostare gli attributi su un oggetto.
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)