Вызов редактора удаленных систем LPEX с помощью java

У нас есть набор плагинов, установленных в RDI, где они отображают список собственных программ RPGLE, и есть набор классов, которые вызывают редактор LPEX, чтобы разрешить редактирование исходного файла в традиционных настройках Library/SoureFile/Member. Теперь я хочу расширить это, чтобы иметь возможность добавлять/редактировать исходный код RPGLE в IFS, но не могу найти классы IBM, которые это позволяют. Для обычного исходного кода код

IQSYSMember memberObj;
IBMiConnection iSeriesConnection = RSEConnectionFactory.getISeriesConnection(connection);
memberObj = iSeriesConnection.getMember(
                        a.getSourceLibrary(), 
                        a.getSourceFile(), 
                        a.getSourceMember(), 
                        null);
QSYSEditableRemoteSourceFileMember editableMember = new QSYSEditableRemoteSourceFileMember(memberObj);
editableMember.open(Display.getCurrent().getActiveShell(), false);

Очевидно, что для исходников, находящихся в IFS, у меня есть только путь (/home/path/QRPGLESRC/nnn.RPGLE). Я знаю, что могу зайти в Remote System Explorer, щелкнуть правой кнопкой мыши и выбрать «Открыть с помощью Remote Systems LPEX Editor», но мне нужно сделать это из моих плагинов. Кто-нибудь знает, какие классы IBM позволяют это делать? Большое спасибо.


person JRD    schedule 09.06.2020    source источник


Ответы (2)


Используйте open(boolean,progressmonitor) для QSYSEditableRemoteSourceFileMember

person David G    schedule 30.12.2020

Это устранило мою проблему:

FileServiceSubSystem fileService = LpexHelper.getFileServiceSubsystem(iSeriesConnection);
IRemoteFile remoteFile = fileService.getRemoteFileObject(path, new NullProgressMonitor());
    SystemEditableRemoteFile file = new SystemEditableRemoteFile(remoteFile);
    if (file.exists()) {
        file.open(Display.getCurrent().getActiveShell(), true);
    }
person JRD    schedule 31.12.2020