Personalizzazione del naming service
Il naming service utilizza il meccanismo di delega del servizio di Windchill per consentire di specificare le seguenti informazioni per il nuovo documento CAD da creare:
• Impostare un numero per il documento CAD.
• Impostare un nome per il documento CAD.
|
Il naming service può essere utilizzato solo con l'azione di caricamento.
|
Di seguito viene illustrato l'ordine di precedenza utilizzato dal sistema per le regole di denominazione e le personalizzazioni.
• Nome
1. Personalizzazione del naming service.
2. Parametro impostato per la denominazione (Parametro di denominazione).
3. Nome file (la preferenza Caricamento elimina l'estensione dal nome file viene applicata solo se il nome è assegnato in base a un nome di file, ovvero al nome CAD).
• Numero
1. Personalizzazione del naming service.
2. Parametro impostato per la numerazione (Parametro di numerazione).
3. Nome file (la preferenza Caricamento elimina l'estensione dal numero file viene applicata solo se il nome è assegnato in base a un nome di file, ovvero al nome CAD).
Se le regole di numerazione/denominazione Windchill standard non soddisfano le specifiche esigenze aziendali, è possibile personalizzare il servizio in modo che nome e numero vengano assegnati a un documento CAD in base a questa logica personalizzata. Per personalizzare il naming service, attenersi alla procedura descritta di seguito.
1. Creare una classe Java che implementi l'interfaccia EPMDocumentNamingDelegate. Di seguito è riportata la definizione dell'interfaccia.
package com.ptc.windchill.uwgm.proesrv.c11n;
public interface EPMDocumentNamingDelegate
{
public void validateDocumentIdentifier
(DocIdentifier docIdentifier);
}
La definizione di Class DocIdentifier è la seguente:
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. Implementare nella nuova classe la logica aziendale per la denominazione e la numerazione del documento CAD (EPMDocument) utilizzando il metodo riportato di seguito.
public void validateDocumentIdentifier(DocIdentifier docIdentifier)
◦ L'oggetto DocumentIdentifier contiene informazioni sul nome e sul numero del documento CAD che verrà creato dal servizio di caricamento.
Utilizzare
DocIdentifier.getModelName()
per ottenere il nome CAD del documento CAD rappresentato dall'oggetto DocIdentifier.
◦ Per impostare la numerazione o la denominazione del documento CAD, è possibile utilizzare i parametri designati dell'applicazione CAD.
Utilizzare
DocIdentifier.getParameters()
per ottenere i parametri associati.
Utilizzare i metodi set sull'oggetto DocIdentifier per impostare i nuovi valori del nome e del numero. Il servizio di caricamento utilizza questi suggerimenti, se applicabili. L'implementazione di esempio si trova nella seguente posizione:
<Windchill home>/codebase/com/ptc/windchill/uwgm/proesrv/
c11n/EPMDefaultDocumentNamingDelegate.java
3. Modificare il file site.xconf, disponibile in <Windchill>, per aggiungere la proprietà riportata di seguito in modo da indicare la disponibilità del servizio di personalizzazione nel server.
<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>
Utilizzare quindi lo strumento xconfmanager per applicare le modifiche al file service.properties (eseguire
xconfmanager -p
)
Utilizzare il percorso della classe al posto del valore di serviceClass, ovvero sostituire
com.ptc.windchill.uwgm.proesrv.c11n.EPMDefaultDocumentNami ngDelegate
con il percorso della classe.
4. Riavviare il method server.