IBM RTC API - 将文件添加到更改集

问题描述 投票:1回答:1

基本上我正在尝试使用IBM Rational Team Concert Plain Java Client API,而且我一直在为更改集添加操作。

我创建一个新的更改集,检索操作工厂,然后我想从本地机器文件系统添加一个新文件(可能是项目的新文件)。

val changeSetHandle = workspaceConnection.createChangeSet(component, null)
val operationFactory = workspaceConnection.configurationOpFactory()
val saveOperation = operationFactory.save(...)

我不明白如何获得IVersionable句柄提交到save()方法。

java api rational-team-concert ibm-jazz
1个回答
1
投票

你可以参考this thread,它显示了IVersionable的一个例子:

// Create a new file and give it some content
IFileItem file = (IFileItem) IFileItem.ITEM_TYPE.createItem();
file.setName("file.txt");
file.setParent(projectFolder);

// Create file content.
IFileContentManager contentManager = FileSystemCore.getContentManager(repository);
IFileContent fileContent = contentManager.storeContent(
              "UTF-8",
              FileLineDelimiter.LINE_DELIMITER_LF,
              new VersionedContentManagerByteArrayInputStreamPovider(BYTE_ARRAY),
              null,
              null);

file.setContent(fileContent);
file.setContentType(IFileItem.CONTENT_TYPE_TEXT);
file.setFileTimestamp(new Date());

workspaceConnection.configurationOpFactory().save(file);

但是,这还不够:

IConfigurationOpFactory用于通过向更改集添加更改来更新存储库工作区。 使用模式是获取工作空间连接,创建一堆保存操作,然后在这些操作上运行IWorkspaceConnection#commit()。 在没有提交更改的情况下调用save()会将op放到堆栈上以便垃圾收集器吞噬。 ;)

© www.soinside.com 2019 - 2024. All rights reserved.