다른 응용 프로그램과 통합 > Windchill Workgroup Manager 설명서 > PTC Mathcad > 관리 및 구성 > 비즈니스 사례 구성 > 이름 지정 및 번호 지정 구성 > 네이밍 서비스 사용자 정의
  
네이밍 서비스 사용자 정의
네이밍 서비스에서는 Windchill 서비스 위임 메커니즘을 사용하여 작성할 새 동적 문서에 대해 다음을 지정할 수 있습니다.
동적 문서의 번호 설정
동적 문서의 이름 설정
* 
Windchill 10.0 이전 버전에서는 업로드 시 네이밍 서비스 사용자 정의를 사용하여 사용자 정의 코드로 이름과 번호를 생성할 수 있습니다. 그러나 Windchill 10.0 이전 버전에서는 네이밍 서비스 사용자 정의에 사용할 업로드 요청에서 매개변수를 사용할 수 없습니다.
* 
네이밍 서비스는 업로드 작업 전용입니다.
시스템에서 이름 지정 정책 및 사용자 정의에 사용되는 우선 순위는 다음과 같습니다.
이름
1. 네이밍 서비스 사용자 정의
2. 이름 지정을 위한 매개변수 세트(이름 지정 매개변수)
3. 파일 이름(기본 설정 파일 확장자 삭제 시 이름 업로드는 이름이 파일 이름(응용 프로그램 이름)을 기준으로 지정되는 경우에만 유효)
번호
1. 네이밍 서비스 사용자 정의
2. 번호 지정을 위한 매개변수 세트(번호 지정 매개변수)
3. 파일 이름(파일 확장자 삭제 시 번호 업로드는 이름이 파일 이름(응용 프로그램 이름)을 기준으로 지정되는 경우에만 유효)
Windchill 이름 지정 및 번호 지정 정책이 해당 회사의 요구를 충족하지 않는 경우 네이밍 및 번호 지정 서비스를 사용자 정의하여 사용자 정의에 따라 동적 문서에 이름과 번호를 지정할 수 있습니다. 다음 단계를 수행하여 네이밍 서비스를 사용자 정의합니다.
1. 인터페이스 EPMDocumentNamingDelegate를 구현하는 Java 클래스를 작성합니다. 인터페이스 정의는 다음과 같습니다.
package com.ptc.windchill.uwgm.proesrv.c11n;
public interface EPMDocumentNamingDelegate
{
public void validateDocumentIdentifier
(DocIdentifier docIdentifier);
}
Class DocIdentifier의 정의는 다음과 같습니다.
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. 새 클래스에서 다음과 같은 방법을 사용하여 동적 문서(EPMDocument) 이름 지정/번호 지정에 대한 비즈니스 로직을 구현합니다.
public void validateDocumentIdentifier(DocIdentifier docIdentifier)
DocumentIdentifier 객체에는 업로드 서비스에서 작성될 동적 문서에 대한 동적 문서 이름 및 번호 정보가 포함됩니다.
DocIdentifier.getModelName()
을 사용하여 이 DocIdentifier 객체가 나타내는 동적 문서의 CAD 이름을 가져옵니다.
저작 응용 프로그램에서 지정한 매개변수를 사용하여 동적 문서 번호 지정/이름 지정을 설정할 수 있습니다.
연관된 매개변수를 가져오려면
DocIdentifier.getParameters()
를 사용합니다.
DocIdentifier의 set 메소드를 사용하여 새 이름/번호 값을 설정합니다. 업로드 서비스에서는 가능한 경우 이러한 제안을 사용합니다. 예제 구현은 다음 위치에서 찾을 수 있습니다.
<Windchill home>/codebase/com/ptc/windchill/uwgm/proesrv/
c11n/EPMDefaultDocumentNamingDelegate.java
3. 다음 등록 정보를 추가하도록 <Windchill>에 있는 site.xconf 파일을 편집하여 서버에서 사용자 정의 서비스의 가용성을 나타냅니다.
<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>
그런 다음 xconfmanager 도구를 사용하여 변경 사항을 service.properties 파일에 적용합니다(
xconfmanager -p
)
실행
serviceClass의 값 대신 해당 클래스의 경로를 사용합니다(즉
com.ptc.windchill.uwgm.proesrv.c11n.EPMDefaultDocumentNami ngDelegate
를 해당 클래스의 경로로 대체).
4. 메소드 서버를 다시 시작합니다.