Naming Service anpassen
Der Benennungsdienst verwendet den Windchill Dienst-Delegat-Mechanismus, um Ihnen die Möglichkeit zu geben, für das neue zu erstellende CAD-Dokument Folgendes festzulegen:
• Eine Nummer für das CAD-Dokument festlegen.
• Einen Namen für das CAD-Dokument festlegen.
|
Der Benennungsdienst wird nur beim Hochladen verwendet.
|
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 standardmäßigen Benennungs- und Nummerierungsrichtlinien in Windchill den Anforderungen Ihres Unternehmens nicht entsprechen, können Sie diesen Dienst benutzerdefiniert anpassen, sodass Name und Nummer eines CAD-Dokuments auf dieser angepassten Logik basieren. 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 die Funktion
DocIdentifier.getModelName()
, um den CAD-Namen des CAD-Dokuments abzurufen, die dieses DocIdentifier-Objekt darstellt.
◦ Die von der CAD-Anwendung ausgewiesenen Parameter können zum Einstellen der Nummerierung/Benennung von CAD-Dokumenten verwendet werden.
Rufen Sie mit
DocIdentifier.getParameters()
die zugeordneten Parameter ab.
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>
Übernehmen Sie die Änderungen danach mit dem Tool xconfmanager für die Datei service.properties (führen Sie Folgendes aus:
xconfmanager -p
)
Geben Sie den Pfad Ihrer Klasse als Wert für serviceClass an (d.h. ersetzen
com.ptc.windchill.uwgm.proesrv.c11n.EPMDefaultDocumentNami ngDelegate
Sie durch den Pfad Ihrer Klasse).
4. Starten Sie den Methodenserver neu.