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 * @FilenameCreateOracleApp
*/ */
@Data @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; 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应用实例化业务操作接口 * NiFi应用实例化业务操作接口
@ -25,7 +26,7 @@ public interface INifiAppOperation {
* *
* @param createOracleApp 封装创建Oracle应用所需要的入参 * @param createOracleApp 封装创建Oracle应用所需要的入参
*/ */
void createAppContext(CreateAppInstance createOracleApp) throws Exception; CreateAppInstanceResult createAppContext(CreateAppInstanceJoin createOracleApp) throws Exception;
/** /**
* Mysql应用创建并实例化 * Mysql应用创建并实例化

View File

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

View File

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

View File

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