변환 구성에 페이지 추가

변환 구성에 대한 사용자 정의 페이지를 작성할 수 있습니다. 변환에 추가하는 특성에 대한 값을 변환 사용자들이 지정할 수 있도록 이 페이지를 작성할 수도 있습니다. 변환 사용자가 변환 구성을 작성할 때 새 페이지가 변환 구성 편집기 또는 마법사에 표시됩니다.
시작하기 전에

변환 작성자는 변환 서비스에 변환을 등록해야 합니다. 변환은 새 구성 탭과 연관되는 특성을 정의해야 합니다.

사용자 정의 변환 구성 페이지의 작성자로서, 이 사용자 인터페이스 아티팩트가 포함된 작업공간에서 프로젝트를 식별해야 합니다. 새 페이지를 구현하는 Java™ 코드가 포함된 프로젝트를 작성하거나, 변환이 포함된 기존 프로젝트에서 페이지를 정의할 수 있습니다.
주: 이 주제에 있는 예제에서는 변환의 다른 플러그인에서 사용자 정의 페이지를 정의한다고 가정합니다.
이 주제에 나열된 사용자 인터페이스 클래스에 대한 자세한 정보는 Rational® Transformation Developer Guide의 "변환 UI" 섹션을 참조하십시오.
주: Eclipse 문서 또는 개발자 안내서에 대한 링크와 같은 일부 정보는 제품 도움말의 주제에서만 사용 가능합니다.
이 태스크 정보

변환 구성에 페이지를 추가하려면 다음을 수행하십시오.

  1. 사용자 정의 페이지를 포함하도록 식별한 프로젝트에서 다음 Java 클래스를 작성하십시오.
    • com.ibm.xtools.transform.ui.AbstractTransformGUI 클래스를 확장하는 클래스
    • 변환 구성에 컨트리뷰션하는 페이지마다 com.ibm.xtools.transform.ui.AbstractTransformConfigTab 클래스를 확장하는 클래스
  2. Java Perspective로 전환하십시오. > Perspective 열기 > Java를 클릭하십시오.
  3. 패키지 탐색기 보기에서 1 단계에서 작성한 Java 클래스를 두 번 클릭하십시오. 그러면 com.ibm.xtools.transform.ui.AbstractTransformGUI 클래스가 확장됩니다.
  4. Java 파일 편집기에서 getConfigurationTabs(ITransformationDescriptor descriptor) 메소드를 대체할 Java 코드를 지정하십시오. 이 메소드는 변환 구성 편집기나 마법사에서 표시할 페이지의 목록을 리턴합니다. 다음 코드 단편을 예제로 사용할 수 있습니다.
    public AbstractTransformConfigTab[] getConfigurationTabs(
    			ITransformationDescriptor descriptor) {
    
    		AbstractTransformConfigTab[] superTabs =
    			super.getConfigurationTabs(descriptor);
    		
    		AbstractTransformConfigTab[] myTabs =
    			new AbstractTransformConfigTab[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");
    		return myTabs;
    	}
  5. 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);
    	}
  6. 파일 > 저장을 클릭한 후 프로젝트를 다시 빌드하십시오.
  7. 플러그인 개발 Perspective를 여십시오. > Perspective 열기 > 기타 > 플러그인 개발을 클릭하십시오.
  8. 패키지 탐색기 보기에서 사용자 정의 페이지를 작성 중인 변환이 있는 프로젝트의 이름을 펼치십시오.
  9. 변환 프로젝트의 META-INF 폴더에서 MANIFEST.MF 파일을 두 번 클릭하십시오.
  10. 확장 페이지의 모든 확장 섹션에서 사용자 정의 페이지를 추가할 Transformation 요소를 클릭하십시오.
  11. 확장 요소 세부사항 섹션의 transformGUI 필드에서 1 단계에서 작성한 Java 패키지 및 클래스의 이름과 플러그인 ID를 지정하십시오. getConfigurationTabs(ITransformationDescriptor descriptor) 메소드가 대체됩니다. com.ibm.xtools.transform.ui.AbstractTransformGUI 클래스를 확장하는 클래스가 변환과 동일한 플러그인에 있는 경우에는 플러그인 ID를 지정하지 마십시오. 다음 예제와 같이 transformGUI 매개변수가 MANIFEST.MF 파일에 추가됩니다.
    <Transformation
        groupPath="myTrans"
        id="myTrans.transformation"
        name="Transformation"
        sourceModelType="resource"
        targetModelType="resource"
        transformGUI="com.myTransform.ui/com.myTransform.ui.MyGUI"</Transformation>
    </Transformation>
  12. 파일 > 저장을 클릭하십시오.
결과
사용자 정의 페이지를 테스트하려면 런타임 Workbench를 시작하고 변환에 대한 변환 구성을 작성하십시오. 변환 구성 편집기 및 마법사는 getConfigurationTabs 메소드가 리턴하는 목록에 있는 페이지를 표시합니다.

피드백