Version control RTC java普通api中获取CompleteTestate的等效方法

Version control RTC java普通api中获取CompleteTestate的等效方法,version-control,jazz,rational-team-concert,Version Control,Jazz,Rational Team Concert,版本管理器上的FetchCompleteTestate是否有任何等效方法来获取历史文件的数据?检索以前更改列表中添加的文件的文件名时遇到问题。下面是一个例子: Changelist 1: add file: src/newFile.java Changelist 2: modify file: src/newFile.java Changelist 3: rename file: src/newFile.java -> src/newFile_rename

版本管理器上的FetchCompleteTestate是否有任何等效方法来获取历史文件的数据?检索以前更改列表中添加的文件的文件名时遇到问题。下面是一个例子:

Changelist 1:     
add file: src/newFile.java

Changelist 2:     
modify file: src/newFile.java

Changelist 3:     
rename file: src/newFile.java -> src/newFile_rename.java
现在,当我尝试使用以下代码获取变更列表1中文件的文件名或文件路径时:

// change is IChange, versionableManager is IVersionableManager     
// method getFilePath retrieve file path using ancestors     
file = versionableManager.fetchCompleteState(change.afterState(), monitor);     
if (file instanceof IFolder) {         
    IFolder folder = (IFolder) file;         
    relativePath = getFilePath(file, workspaceConnection.configuration(changeSet.getComponent()), monitor);
    fileName = folder.getName();      
} else {
    relativePath = getFilePath(file, workspaceConnection.configuration(changeSet.getComponent()), monitor);    
    fileName = ((FileItem) file).getName();     
}
我正在获取重命名文件的名称和路径。如何获取它的旧名称和路径?

确定找到了解决方案:

IFileItemHandle fileItemHandle = (IFileItemHandle) IFileItem.ITEM_TYPE.createItemHandle(change.afterState().getItemId(), change.afterState().getStateId());
file = versionableManager.fetchCompleteState(fileItemHandle, monitor);

if (file instanceof IFolder) {         
    IFolder folder = (IFolder) file;         
    relativePath = getFilePath(file, workspaceConnection.configuration(changeSet.getComponent()), monitor);
    fileName = folder.getName();      
} else {
    relativePath = getFilePath(file, workspaceConnection.configuration(changeSet.getComponent()), monitor);    
    fileName = ((FileItem) file).getName();     
}
但仍具有解析文件路径的ISSE。无论如何,这是一大步。

确定找到了解决方案:

IFileItemHandle fileItemHandle = (IFileItemHandle) IFileItem.ITEM_TYPE.createItemHandle(change.afterState().getItemId(), change.afterState().getStateId());
file = versionableManager.fetchCompleteState(fileItemHandle, monitor);

if (file instanceof IFolder) {         
    IFolder folder = (IFolder) file;         
    relativePath = getFilePath(file, workspaceConnection.configuration(changeSet.getComponent()), monitor);
    fileName = folder.getName();      
} else {
    relativePath = getFilePath(file, workspaceConnection.configuration(changeSet.getComponent()), monitor);    
    fileName = ((FileItem) file).getName();     
}
但仍具有解析文件路径的ISSE。无论如何,这是一大步