refactor(nifi): 重构 Oracle 应用创建逻辑

-重命名 CreateAppInstance 类为 CreateAppInstanceJoin,以更准确地反映其功能
- 新增 CreateAppInstanceResult 类用于封装创建结果
- 修改 INifiAppOperation接口,使用 CreateAppInstanceJoin 作为入参,返回 CreateAppInstanceResult 对象
- 优化 NifiAppOperationImpl 中的 createAppContext 方法,返回新创建的流程组 ID
- 调整 INifiBaseOperation 接口文档,明确 mark 参数为可选
- 优化 NifiFilterUtil 中的 filterPortsByComments 方法,支持空 mark 参数
This commit is contained in:
liuy 2025-05-23 17:45:15 +08:00
parent a5ee210a22
commit 346dcdf75d
6 changed files with 34 additions and 8 deletions

View File

@ -12,5 +12,5 @@ import lombok.Data;
* @FilenameCreateOracleApp
*/
@Data
public class CreateAppInstance extends JoinBashModel {
public class CreateAppInstanceJoin extends JoinBashModel {
}

View File

@ -0,0 +1,16 @@
package com.hzya.frame.nifiapi.model.resultcreateoracleapp;
import lombok.Data;
/**
* @Authorliuyang
* @Packagecom.hzya.frame.nifiapi.model.resultcreateoracleapp
* @Projectfw-nifi
* @nameCreateAppInstanceResult
* @Date2025/5/23 15:16
* @FilenameCreateAppInstanceResult
*/
@Data
public class CreateAppInstanceResult {
private String newProcessGroupId;
}

View File

@ -1,6 +1,7 @@
package com.hzya.frame.nifiapi.operation;
import com.hzya.frame.nifiapi.model.joincreateoracleapp.CreateAppInstance;
import com.hzya.frame.nifiapi.model.joincreateoracleapp.CreateAppInstanceJoin;
import com.hzya.frame.nifiapi.model.resultcreateoracleapp.CreateAppInstanceResult;
/**
* NiFi应用实例化业务操作接口
@ -25,7 +26,7 @@ public interface INifiAppOperation {
*
* @param createOracleApp 封装创建Oracle应用所需要的入参
*/
void createAppContext(CreateAppInstance createOracleApp) throws Exception;
CreateAppInstanceResult createAppContext(CreateAppInstanceJoin createOracleApp) throws Exception;
/**
* Mysql应用创建并实例化

View File

@ -56,7 +56,7 @@ public interface INifiBaseOperation {
* 查找带有接口关系标记的输入和输出eg接口关系标记:f5228bc8-0360-41eb-a640-9f4df953937c
*
* @param processGroupId 流程组id
* @param mark 接口修改标记字符串
* @param mark 接口修改标记字符串如果为null则不进行过滤
*/
PortFilterResult getNeedModifyControllerRelationshipByProcessGroup(String processGroupId, String mark) throws Exception;

View File

@ -1,11 +1,12 @@
package com.hzya.frame.nifiapi.operation.impl;
import com.hzya.frame.nifiapi.model.joincreateoracleapp.CreateAppInstance;
import com.hzya.frame.nifiapi.model.joincreateoracleapp.CreateAppInstanceJoin;
import com.hzya.frame.nifiapi.model.joincreparamcontext.CreateParamContextJoin;
import com.hzya.frame.nifiapi.model.joinfindneedmodifycontroller.FindNeedModifyController;
import com.hzya.frame.nifiapi.model.joingetallcontrollerservice.ControllerServices19;
import com.hzya.frame.nifiapi.model.joingetcontroller.Component12;
import com.hzya.frame.nifiapi.model.joingetcontroller.ControllerService12;
import com.hzya.frame.nifiapi.model.resultcreateoracleapp.CreateAppInstanceResult;
import com.hzya.frame.nifiapi.operation.INifiBaseOperation;
import com.hzya.frame.nifiapi.operation.INifiAppOperation;
import com.hzya.frame.nifiapi.service.NifiApiService;
@ -38,7 +39,8 @@ public class NifiAppOperationImpl implements INifiAppOperation {
private INifiBaseOperation baseOperation;
@Override
public void createAppContext(CreateAppInstance createOracleApp) throws Exception {
public CreateAppInstanceResult createAppContext(CreateAppInstanceJoin createOracleApp) throws Exception {
CreateAppInstanceResult createAppInstanceResult = new CreateAppInstanceResult();
try {
//1.实例化应用
String newProcessGroupId = null;
@ -74,9 +76,12 @@ public class NifiAppOperationImpl implements INifiAppOperation {
findNeedModifyController.setProcessGroupId(newProcessGroupId);
baseOperation.findNeedModifyControllerAndChangesOccur(findNeedModifyController, true, true);
}
createAppInstanceResult.setNewProcessGroupId(newProcessGroupId);
} catch (Exception e) {
throw new Exception(e);
}
return createAppInstanceResult;
}
// @Override

View File

@ -31,9 +31,13 @@ public class NifiFilterUtil {
* @return 过滤后的端口列表
*/
public <T> List<T> filterPortsByComments(List<T> ports, String mark, String portType) {
// if (ports == null || mark == null) {
// logger.debug("未提供{}或标记,返回空列表", portType);
// return Collections.emptyList();
// }
if (ports == null || mark == null) {
logger.debug("未提供{}或标记,返回空列表", portType);
return Collections.emptyList();
return ports;
}
return ports.stream()