변환 구성에 대한 사용자 정의 페이지를
작성할 수 있습니다. 변환 확장에 추가하는 특성에 대한 값을
사용자들이 지정할 수 있도록 이 페이지를 작성할 수 있습니다.
변환 사용자가 확장된 변환에 대한 변환 구성을 작성할 때
새 페이지가 변환 구성 편집기 또는 마법사에 표시됩니다.
시작하기 전에
변환 작성자는 변환 서비스에 대상 변환을
등록해야 합니다. 변환 확장은 새 구성 탭과 연관되는 특성을
정의해야 합니다.
사용자 정의 변환 구성 페이지의
작성자로서, 이 사용자 인터페이스 아티팩트가 포함된 작업공간에서 프로젝트를
식별해야 합니다. 새
페이지를 구현하는 Java™ 코드가 포함되는
프로젝트를 작성하거나, 변환 확장이 포함된 기존 프로젝트에서
페이지를 정의할 수 있습니다.
주: 이 주제에 있는 예제에서는
변환 확장의 다른 플러그인에서 사용자 정의 페이지를 정의한다고 가정합니다.
이 주제에 나열된 사용자 인터페이스 클래스에 대한
자세한 정보는
Rational® Transformation
Developer Guide의
"변환 UI" 섹션을 참조하십시오.
주: Eclipse 문서 또는 개발자 안내서에 대한 링크와 같은 일부 정보는 제품 도움말의 주제에서만 사용 가능합니다.
이 태스크 정보
변환 구성에 페이지를 추가하려면 다음을 수행하십시오.
- 사용자 정의 페이지를 포함하도록 식별한
프로젝트에서 다음 Java 클래스를 작성하십시오.
- com.ibm.xtools.transform.ui.AbstractExtensionGUI 클래스를 확장하는
클래스
- 변환 구성에 컨트리뷰션하는 페이지마다, com.ibm.xtools.transform.ui.AbstractTransformExtensionConfigTab
클래스를 확장하는 클래스
- Java Perspective로 전환하십시오.
를 클릭하십시오.
- 패키지 탐색기 보기에서, 1 단계에서
작성한 Java 클래스를 두 번 클릭하십시오. 그러면
com.ibm.xtools.transform.ui.AbstractExtensionGUI 클래스가 확장됩니다.
- Java 파일 편집기에서
getConfigurationTabs(ITransformationDescriptor
descriptor, ITransformExtension extension) 메소드를 대체할
Java 코드를 지정하십시오.
이 메소드는 변환 구성 편집기나 마법사에서
표시할 페이지의 목록을 리턴합니다.
다음 코드 단편을 예제로 사용할 수 있습니다.
public AbstractTransformExtensionConfigTab[] getConfigurationTabs(
ITransformationDescriptor descriptor, ITransformExtension extension ) {
AbstractTransformExtensionConfigTab[] superTabs =
super.getConfigurationTabs(descriptor, extension);
AbstractTransformExtensionConfigTab[] myTabs =
new AbstractTransformExtensionConfigTab[superTabs.length + 1];
for (int i = 0; i < superTabs.length; i++) {
myTabs[i] = superTabs[i];
}
myTabs[myTabs.length - 1] = new MyTab(descriptor, "My tab ID", "My tab label", extension);
return myTabs;
}
- com.ibm.xtools.transform.ui.AbstractTransformExtensionConfigTab 클래스를
확장하는 1 단계에서 작성한
클래스마다, 다음 예제와 같이 상속된 메소드 populateContext, populateTab 및
createContents를 구현하십시오.
public Control createContents(Composite parent) {
Composite contents = new Composite(parent, SWT.None);
contents.setLayout(new GridLayout());
text = new Text(contents, SWT.None);
text.addModifyListener(new ModifyListener() {
public void modifyText(ModifyEvent e) {
setDirty();
}
});
return contents;
}
public void populateContext(ITransformContext context) {
context.setPropertyValue("MyPropertyId", text.getText());
}
public void populateTab(ITransformContext context) {
String newText = (String) context.getPropertyValue("MyPropertyId");
if (newText == null) {
newText = "";
}
text.setText(newText);
}
- 을 클릭한 후 프로젝트를 다시 빌드하십시오.
- 플러그인 개발 Perspective를 여십시오.
을 클릭하십시오.
- 패키지 탐색기 보기에서, 사용자 정의 페이지를 작성 중인
변환 확장이 있는 프로젝트의 이름을 펼치십시오.
- 변환 확장이 있는 프로젝트의 META-INF 폴더에서 사용자 정의
페이지를 추가할 TransformationExtension 요소를 클릭하십시오.
- 확장 페이지의 모든 확장 섹션에서
사용자 정의 페이지를 추가할 TransformationExtension 요소를
클릭하십시오.
- 확장 요소 세부사항 섹션의
extensionGUI 필드에서,
1 단계에서 작성한
Java 패키지 및 클래스의
이름과 플러그인 ID를 지정하십시오. getConfigurationTabs(ITransformationDescriptor descriptor,
ITransformExtension extension) 메소드가 대체됩니다. com.ibm.xtools.transform.ui.AbstractExtensionGUI
클래스를 확장하는 클래스가 변환 확장과 동일한 플러그인에 있는 경우에는
플러그인 ID를 지정하지 마십시오. 다음 예제와 같이 extensionGUI 매개변수가
MANIFEST.MF 파일에 추가됩니다.
<TransformationExtension
enabled="true"
extensionGUI="com.myTransform.ui/com.myTransform.ui.MyGUI"
id="MyTransformation.TransformationExtension"
readonly="false"
targetTransformation="com.target.transformation/transformation1"
version="1.0.0">
</TransformationExtension>
- 을 클릭하십시오.
결과
사용자 정의 페이지를 테스트하려면 런타임 Workbench를 시작하고
확장된 변환에 대한 변환 구성을 작성하십시오.
변환 구성 편집기 및
마법사는 getConfigurationTabs 메소드가 리턴하는 목록에 있는
페이지를 표시합니다.