如何在RDI插件中通过IBM类调用LPEX编辑IFS中的RPGLE文件?
解决方案:RDI中编辑IFS RPGLE源文件的IBM类实现
针对你遇到的IFS RPGLE源文件编辑需求,其实RSE提供了专门处理IFS文件的类,和你之前用的原生库成员类逻辑类似,只是对象类型不同:
核心类说明
你之前用的QSYSEditableRemoteSourceFileMember是针对库/源文件/成员这种传统结构的,而处理IFS文件需要用到IFSEditableRemoteFile(属于com.ibm.etools.iseries.core包),配合RemoteFile对象来操作。
代码实现示例
下面是对应IFS路径的完整代码,和你现有代码对比着看:
// 1. 获取已有的IBMi连接 IBMiConnection iSeriesConnection = RSEConnectionFactory.getISeriesConnection(connection); // 2. 通过IFS路径获取RemoteFile对象 // 注意路径要完整,比如"/home/path/QRPGLESRC/nnn.RPGLE" RemoteFile ifsFile = iSeriesConnection.getRemoteFile("/home/path/QRPGLESRC/nnn.RPGLE"); // 3. 包装为可编辑的IFS文件对象 IFSEditableRemoteFile editableIfsFile = new IFSEditableRemoteFile(ifsFile); // 4. 调用open方法打开LPEX编辑器 editableIfsFile.open(Display.getCurrent().getActiveShell(), false);
关键注意事项
- 确保你的插件项目已经引入了RSE IFS相关的依赖插件,比如
com.ibm.etools.iseries.core和com.ibm.etools.iseries.remotefiles - 路径必须是完整的IFS绝对路径,不能用相对路径
- 要保证当前用户对目标IFS文件有读写权限,否则打开时会报错
这个逻辑和你右键RSE中的IFS文件选择"Open with Remote Systems LPEX Editor"的底层实现是一致的,通过IFSEditableRemoteFile来桥接LPEX编辑器和IFS文件资源。
内容的提问来源于stack exchange,提问作者JRD
相关产品推荐
相关产品推荐

