IBM RTC API — добавление файлов в наборы изменений

В основном я экспериментирую с Java-клиентским API IBM Rational Team Concert Plain, и я застрял в добавлении операций для изменения наборов.

Я создаю новый набор изменений, получаю фабрику операций, а затем хочу добавить новый файл из файловой системы локального компьютера (это может быть новый файл проекта).

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

Я не понимаю, как получить дескриптор IVersionable для отправки в метод save().


person LppEdd    schedule 06.01.2018    source источник


Ответы (1)


Вы можете обратиться к эта тема, в которой показан пример 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() без фиксации изменение помещает операцию в стек, чтобы сборщик мусора мог ее сожрать. ;)

person VonC    schedule 06.01.2018
comment
См. также jazz.net/forum/questions/180073/ для существующих файлов. - person VonC; 07.01.2018
comment
Спасибо, правда! Я считаю, что RTC API имеет крутую кривую обучения, кажется, обучение займет месяцы. Так же немного скудная документация (может я еще не понял как она организована) - person LppEdd; 07.01.2018
comment
@LppEdd Да, сопровождающие продукта могут ответить там, а не здесь. - person VonC; 07.01.2018