Naming Service anpassen
Der Benennungsdienst verwendet den Windchill Dienst-Delegate-Mechanismus, um beim Erstellen eines neuen CAD-Dokuments Folgendes anzugeben:
• Eine Nummer für das CAD-Dokument festlegen.
• Einen Namen für das CAD-Dokument festlegen.
|
• Der Benennungsdienst wird nur beim Hochladen verwendet.
• Die Benennungsdienstanpassung beim Hochladen kann vor Windchill 10.0 verwendet werden, um Namen und Nummer mit angepasstem Code zu generieren. Vor Windchill 10.0 sind Parameter jedoch nicht in einer Hochlade-Anfrage für die Benennungsdienstanpassung verfügbar
|
Bei Benennungsrichtlinien und Anpassungen gilt folgende Reihenfolge.
• Name
1. Anpassung durch den Benennungsdienst
2. Für Benennung festgelegter Parameter (Namensparameter)
3. Dateiname (die Einstellung Namens-Dateierweiterung beim Hochladen weglassen ist nur wirksam, wenn der Name auf Grundlage eines Dateinamens (CAD-Name) zugewiesen wird).
• Nummer
1. Anpassung durch den Benennungsdienst
2. Für Nummerierung festgelegter Parameter (Nummerierungsparameter)
3. Dateiname (die Einstellung Nummern-Dateierweiterung beim Hochladen weglassen ist nur wirksam, wenn der Name auf Grundlage eines Dateinamens (CAD-Name) zugewiesen wird).
Wenn die Windchill Richtlinien für Benennung und Nummerierung nicht den Anforderungen Ihres Unternehmens entsprechen, können Sie den Benennungs- und Nummerierungsdienst anpassen, sodass einem CAD-Dokument der Name und die Nummer entsprechend der Anpassung zugewiesen werden. Gehen Sie wie folgt vor, um den Benennungsdienst anzupassen:
1. Erstellen Sie eine Java-Klasse, die die Schnittstelle EPMDocumentNamingDelegate implementiert. Die Schnittstellendefinition lautet folgendermaßen.
package com.ptc.windchill.uwgm.proesrv.c11n;
public interface EPMDocumentNamingDelegate
{
public void validateDocumentIdentifier
(DocIdentifier docIdentifier);
}
Die Definition der DocIdentifier-Klasse lautet folgendermaßen:
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. Implementieren Sie mithilfe der folgenden Methode in der neuen Klasse die Geschäftslogik zum Benennen/Nummerieren von CAD-Dokumenten (EPMDocuments):
public void validateDocumentIdentifier(DocIdentifier docIdentifier)
◦ Das DocumentIdentifier-Objekt enthält den Namen und die Nummer des CAD-Dokuments, das vom Hochladedienst erstellt wird.
Verwenden Sie den folgenden Code, um den CAD-Namen des CAD-Dokuments abzurufen, die dieses DocIdentifier-Objekt darstellt.
DocIdentifier.getModelName()
Die von der CAD-Anwendung ausgewiesenen Parameter können zum Einstellen der Nummerierung/Benennung von CAD-Dokumenten verwendet werden.
Rufen Sie mit dem folgenden Code die zugeordneten Parameter ab.
DocIdentifier.getParameters()
Verwenden Sie die im DocIdentifier festgelegten Methoden, um die neuen Namens-/Nummernwerte einzustellen. Diese Vorschläge werden vom Hochladedienst verwendet, falls sie praktikabel sind. Die Beispielimplementierung befindet sich an folgendem Speicherort:
<Windchill home>/codebase/com/ptc/windchill/uwgm/proesrv/
c11n/EPMDefaultDocumentNamingDelegate.java
3. Bearbeiten Sie die Datei site.xconf (in <Windchill>), und fügen Sie die folgende Eigenschaft hinzu, um die Verfügbarkeit des Anpassungsdiensts auf dem Server anzugeben:
<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>
Um die Änderungen auf die Datei service.properties anzuwenden, geben Sie den folgenden Befehl ein, um das xconfmanager-Tool zu verwenden.
xconfmanager –p
Geben Sie den Pfad Ihrer Klasse als Wert für serviceClass an (d.h. ersetzen Sie Folgenden durch den Pfad Ihrer Klasse).
com.ptc.windchill.uwgm.proesrv.c11n.EPMDefaultDocumentNami ngDelegate
4. Starten Sie den Methodenserver neu.