Personnalisation du service de dénomination
Le service de dénomination utilise le mécanisme de délégation de service Windchill afin de vous permettre de définir les préférences suivantes pour un nouveau document CAO :
numéro du document CAO ;
nom du document CAO.
* 
Le service de dénomination s'applique à l'action de chargement uniquement.
L'ordre de priorité utilisé par le système pour nommer des règles et des personnalisations est le suivant :
Nom
1. Personnalisation du service de dénomination.
2. Paramètre défini pour la dénomination (paramètre de dénomination).
3. Nom de fichier (la préférence Supprimer l'extension de fichier du nom au chargement) ne s'applique que si le nom est attribué en fonction du nom de fichier (nom CAO).
Numéro
1. Personnalisation du service de dénomination.
2. Paramètre défini pour la numérotation (paramètre de numérotation).
3. Nom de fichier (la préférence Supprimer l'extension de fichier du numéro au chargement) ne s'applique que si le nom est attribué en fonction d'un nom de fichier (nom CAO).
Si les règles de dénomination et de numérotation standard de Windchill ne répondent pas aux besoins de votre société, vous pouvez personnaliser le service en vue d'affecter un nom et un numéro à un document CAO en fonction de cette logique personnalisée. Suivez les étapes ci-après pour personnaliser le service de dénomination :
1. Créez une classe Java implémentant l'interface EPMDocumentNamingDelegate. Voici la définition de l'interface :
package com.ptc.windchill.uwgm.proesrv.c11n;
public interface EPMDocumentNamingDelegate
{
public void validateDocumentIdentifier
(DocIdentifier docIdentifier);
}
La définition de la classe DocIdentifier se présente comme suit :
package com.ptc.windchill.uwgm.proesrv.c11n;
import java.util.HashMap;
public class DocIdentifier
{
private String m_modelName;
private String m_docName;
private String m_docNumber;
private HashMap m_parameters;
public DocIdentifier(String modelName, String docName,
String docNumber, HashMap params)
{ m_modelName = modelName; m_docName=
docName; m_docNumber= docNumber; m_parameters= params; }
/** get the CAD Name for the model **/
public String getModelName()
{ return m_modelName; }
/** get the EPMDocument name for the model **/
public String getDocName()
{ return m_docName; }
/** set the EPMDocument name for the model **/
public void setDocName(String docname)
{ m_docName = docname; }
/** set the EPMDocument number for the model **/
public void setDocNumber(String docnumber)
{ m_docNumber = docnumber; }
/** get the EPMDocument number for the model **/
public String getDocNumber()
{ return m_docNumber; }
/** get the Pro/E designated parameters for the model.
These are name-value pairs indexed by the name **/
public HashMap getParameters()
{ return m_parameters; }
}
2. Dans la nouvelle classe, implémentez la logique métier pour nommer/numéroter les documents CAO (EPMDocument) selon la méthode suivante :
public void validateDocumentIdentifier(DocIdentifier docIdentifier)
L'objet DocumentIdentifier inclut les informations de nom et de numéro du document CAO créé via le service de chargement.
Utilisez la commande suivante pour obtenir le nom CAO du document CAO représenté par cet objet DocIdentifier.
DocIdentifier.getModelName()
Les paramètres de l'application CAO peuvent être utilisés pour définir la numérotation/dénomination d'un document CAO.
Utilisez la commande suivante pour obtenir les paramètres associés.
DocIdentifier.getParameters()
Utilisez les méthodes définies dans l'objet DocIdentifier pour définir les nouvelles valeurs de nom/numéro. Le service de chargement utilise ces suggestions le cas échéant. L'exemple d'implémentation se trouve à l'emplacement suivant :
<Windchill home>/codebase/com/ptc/windchill/uwgm/proesrv/
c11n/EPMDefaultDocumentNamingDelegate.java
3. Modifiez le fichier site.xconf (dans <Windchill>) en ajoutant la propriété suivante indiquant la disponibilité du service de personnalisation sur le serveur :
<Service context="default" name="com.ptc.windchill.uwgm.proesrv.c11n.
EPMDocumentNamingDelegate" targetFile="codebase/service.properties">
<Option cardinality="singleton" requestor="wt.epm.EPMDocument"
serviceClass="com.ptc.windchill.uwgm.proesrv.c11n.EPMDefaultDocument
NamingDelegate"/>
</Service>
Utilisez ensuite l'outil xconfmanager pour appliquer les modifications au fichier service.properties :
xconfmanager –p
Remplacez la valeur de serviceClass par le chemin d'accès de votre classe (remplacez ce qui suit par le chemin d'accès de votre classe) :
com.ptc.windchill.uwgm.proesrv.c11n.EPMDefaultDocumentNami ngDelegate
4. Relancez le serveur de méthodes.
Est-ce que cela a été utile ?