From 83f99be4520daabd247b6a900dbecbe6c3e2f86c Mon Sep 17 00:00:00 2001 From: liuy <37787198+LiuyCodes@users.noreply.github.com> Date: Thu, 22 May 2025 11:51:11 +0800 Subject: [PATCH] =?UTF-8?q?feat(nifi):=20=E6=96=B0=E5=A2=9E=E5=8F=82?= =?UTF-8?q?=E6=95=B0=E4=B8=8A=E4=B8=8B=E6=96=87=E5=88=9B=E5=BB=BA=E5=92=8C?= =?UTF-8?q?=E6=8E=A7=E5=88=B6=E5=99=A8=E6=9B=B4=E6=96=B0=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 新增创建参数上下文并绑定到指定流程组的功能 - 新增查询需要修改的控制器详情功能 - 新增更新控制器服务的功能 - 重构了基础操作接口,增加了新的操作方法 -优化了代码结构,提高了可维护性和可扩展性 --- .../nifiapi/config/NifiServiceConfig.java | 27 +---- .../CreateParamContextJoin.java | 18 +++ .../FindNeedModifyController.java | 20 +++ .../Component19.java | 31 +++++ .../ControllerServices19.java | 18 +++ .../GetAllController19.java | 18 +++ .../nifiapi/operation/BaseOperation.java | 21 ---- .../nifiapi/operation/IBaseOperation.java | 53 ++++++++ ...NifiOperation.java => INifiOperation.java} | 2 +- .../operation/impl/BaseOperationImpl.java | 114 +++++++++++++++++- .../operation/impl/NifiOperationImpl.java | 22 +--- .../frame/nifiapi/service/NifiApiService.java | 22 +++- 12 files changed, 299 insertions(+), 67 deletions(-) create mode 100644 fw-nifi/src/main/java/com/hzya/frame/nifiapi/model/joincreparamcontext/CreateParamContextJoin.java create mode 100644 fw-nifi/src/main/java/com/hzya/frame/nifiapi/model/joinfindneedmodifycontroller/FindNeedModifyController.java create mode 100644 fw-nifi/src/main/java/com/hzya/frame/nifiapi/model/joingetallcontrollerservice/Component19.java create mode 100644 fw-nifi/src/main/java/com/hzya/frame/nifiapi/model/joingetallcontrollerservice/ControllerServices19.java create mode 100644 fw-nifi/src/main/java/com/hzya/frame/nifiapi/model/joingetallcontrollerservice/GetAllController19.java delete mode 100644 fw-nifi/src/main/java/com/hzya/frame/nifiapi/operation/BaseOperation.java create mode 100644 fw-nifi/src/main/java/com/hzya/frame/nifiapi/operation/IBaseOperation.java rename fw-nifi/src/main/java/com/hzya/frame/nifiapi/operation/{NifiOperation.java => INifiOperation.java} (97%) diff --git a/fw-nifi/src/main/java/com/hzya/frame/nifiapi/config/NifiServiceConfig.java b/fw-nifi/src/main/java/com/hzya/frame/nifiapi/config/NifiServiceConfig.java index b178df62..6111ea4a 100644 --- a/fw-nifi/src/main/java/com/hzya/frame/nifiapi/config/NifiServiceConfig.java +++ b/fw-nifi/src/main/java/com/hzya/frame/nifiapi/config/NifiServiceConfig.java @@ -1,5 +1,6 @@ package com.hzya.frame.nifiapi.config; +import lombok.Data; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; @@ -14,6 +15,7 @@ import org.springframework.context.annotation.Configuration; * @Filename:NifiConfig */ @Configuration +@Data public class NifiServiceConfig { @Value("${nifi.api.url:https://192.168.2.233:8443/nifi-api}") @@ -25,27 +27,6 @@ public class NifiServiceConfig { @Value("${nifi.api.password:hzya1314*nifi}") private String password; - public String getApiUrl() { - return apiUrl; - } - - public void setApiUrl(String apiUrl) { - this.apiUrl = apiUrl; - } - - public String getUsername() { - return username; - } - - public void setUsername(String username) { - this.username = username; - } - - public String getPassword() { - return password; - } - - public void setPassword(String password) { - this.password = password; - } + @Value("${nifi.api.controllerModifymark:接口修改标记}") + private String controllerModifyMark; } diff --git a/fw-nifi/src/main/java/com/hzya/frame/nifiapi/model/joincreparamcontext/CreateParamContextJoin.java b/fw-nifi/src/main/java/com/hzya/frame/nifiapi/model/joincreparamcontext/CreateParamContextJoin.java new file mode 100644 index 00000000..93655bce --- /dev/null +++ b/fw-nifi/src/main/java/com/hzya/frame/nifiapi/model/joincreparamcontext/CreateParamContextJoin.java @@ -0,0 +1,18 @@ +package com.hzya.frame.nifiapi.model.joincreparamcontext; + +import com.hzya.frame.nifiapi.model.joinparametercontexts.ParameterContextsJoin; +import lombok.Data; + +/** + * @Author:liuyang + * @Package:com.hzya.frame.nifiapi.model.joincreparamcontext + * @Project:fw-nifi + * @name:CreateParamContextJoin + * @Date:2025/5/22 08:58 + * @Filename:CreateParamContextJoin + */ +@Data +public class CreateParamContextJoin { + private ParameterContextsJoin parameterContextsJoin; + private String processGroupsId; +} diff --git a/fw-nifi/src/main/java/com/hzya/frame/nifiapi/model/joinfindneedmodifycontroller/FindNeedModifyController.java b/fw-nifi/src/main/java/com/hzya/frame/nifiapi/model/joinfindneedmodifycontroller/FindNeedModifyController.java new file mode 100644 index 00000000..91776c8d --- /dev/null +++ b/fw-nifi/src/main/java/com/hzya/frame/nifiapi/model/joinfindneedmodifycontroller/FindNeedModifyController.java @@ -0,0 +1,20 @@ +package com.hzya.frame.nifiapi.model.joinfindneedmodifycontroller; + +import com.hzya.frame.nifiapi.model.joingetcontroller.ControllerService12; +import lombok.Data; + +import java.util.List; + +/** + * @Author:liuyang + * @Package:com.hzya.frame.nifiapi.model.joinfindneedmodifycontroller + * @Project:fw-nifi + * @name:FindNeedModifyController + * @Date:2025/5/22 11:03 + * @Filename:FindNeedModifyController + */ +@Data +public class FindNeedModifyController { + private String processGroupId; + private List needModifyController; +} \ No newline at end of file diff --git a/fw-nifi/src/main/java/com/hzya/frame/nifiapi/model/joingetallcontrollerservice/Component19.java b/fw-nifi/src/main/java/com/hzya/frame/nifiapi/model/joingetallcontrollerservice/Component19.java new file mode 100644 index 00000000..d5626e0c --- /dev/null +++ b/fw-nifi/src/main/java/com/hzya/frame/nifiapi/model/joingetallcontrollerservice/Component19.java @@ -0,0 +1,31 @@ +package com.hzya.frame.nifiapi.model.joingetallcontrollerservice; + +import lombok.Data; + +import java.util.Map; + +/** + * @Author:liuyang + * @Package:com.hzya.frame.nifiapi.model.joingetallcontrollerservice + * @Project:fw-nifi + * @name:Component19 + * @Date:2025/5/22 10:28 + * @Filename:Component19 + */ +@Data +public class Component19 { + private String id; + private String name; + private String type; + private String state; + private String validationStatus; + private String bulletinLevel; + private String extensionMissing; + private String comments; + private Map properties; + private String persistsState; + private String restricted; + private String deprecated; + private String multipleVersionsAvailable; + private String supportsSensitiveDynamicProperties; +} diff --git a/fw-nifi/src/main/java/com/hzya/frame/nifiapi/model/joingetallcontrollerservice/ControllerServices19.java b/fw-nifi/src/main/java/com/hzya/frame/nifiapi/model/joingetallcontrollerservice/ControllerServices19.java new file mode 100644 index 00000000..3707b2c4 --- /dev/null +++ b/fw-nifi/src/main/java/com/hzya/frame/nifiapi/model/joingetallcontrollerservice/ControllerServices19.java @@ -0,0 +1,18 @@ +package com.hzya.frame.nifiapi.model.joingetallcontrollerservice; + +import lombok.Data; + +/** + * @Author:liuyang + * @Package:com.hzya.frame.nifiapi.model.joingetallcontrollerservice + * @Project:fw-nifi + * @name:ControllerServices19 + * @Date:2025/5/22 10:15 + * @Filename:ControllerServices19 + */ +@Data +public class ControllerServices19 { + private String id; + private String uri; + private Component19 component; +} diff --git a/fw-nifi/src/main/java/com/hzya/frame/nifiapi/model/joingetallcontrollerservice/GetAllController19.java b/fw-nifi/src/main/java/com/hzya/frame/nifiapi/model/joingetallcontrollerservice/GetAllController19.java new file mode 100644 index 00000000..ab92833a --- /dev/null +++ b/fw-nifi/src/main/java/com/hzya/frame/nifiapi/model/joingetallcontrollerservice/GetAllController19.java @@ -0,0 +1,18 @@ +package com.hzya.frame.nifiapi.model.joingetallcontrollerservice; + +import lombok.Data; + +import java.util.List; + +/** + * @Author :liuyang + * @Package :com.hzya.frame.nifiapi.model.joingetallcontrollerservice + * @Project :fw-nifi + * @name :GetAllController + * @Date :2025/5/22 10:13 + * @Filename :GetAllController + */ +@Data +public class GetAllController19 { + private List controllerServices; +} \ No newline at end of file diff --git a/fw-nifi/src/main/java/com/hzya/frame/nifiapi/operation/BaseOperation.java b/fw-nifi/src/main/java/com/hzya/frame/nifiapi/operation/BaseOperation.java deleted file mode 100644 index ad9f50ac..00000000 --- a/fw-nifi/src/main/java/com/hzya/frame/nifiapi/operation/BaseOperation.java +++ /dev/null @@ -1,21 +0,0 @@ -package com.hzya.frame.nifiapi.operation; - -/** - * @Author:liuyang - * @Package:com.hzya.frame.nifiapi.operation - * @Project:fw-nifi - * @name:BaseNifiOperation - * @Date:2025/5/21 17:50 - * @Filename:BaseNifiOperation - */ -public interface BaseOperation { - /** - * 实例化某个应用(对应nifi流程组id) - * - * @param appProcessGroupId 需要复制的流程组id(应用id),比如Oracle应用id、Mysql应用id - * @param parentProcessGroupId 流程组id(应用id)的父流程组id - * @param copyTargetProcessGroupId 指定创建的流程组id - * @return 返回流程组实例化id - */ - String instantiateApp(String appProcessGroupId, String parentProcessGroupId, String copyTargetProcessGroupId) throws Exception; -} diff --git a/fw-nifi/src/main/java/com/hzya/frame/nifiapi/operation/IBaseOperation.java b/fw-nifi/src/main/java/com/hzya/frame/nifiapi/operation/IBaseOperation.java new file mode 100644 index 00000000..9bcad772 --- /dev/null +++ b/fw-nifi/src/main/java/com/hzya/frame/nifiapi/operation/IBaseOperation.java @@ -0,0 +1,53 @@ +package com.hzya.frame.nifiapi.operation; + +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 java.util.List; + +/** + * Nifi基础操作封装 + * + * @Author:liuyang + * @Package:com.hzya.frame.nifiapi.operation + * @Project:fw-nifi + * @name:BaseNifiOperation + * @Date:2025/5/21 17:50 + * @Filename:BaseNifiOperation + */ +public interface IBaseOperation { + /** + * 实例化某个应用(对应nifi流程组id) + * + * @param appProcessGroupId 需要复制的流程组id(应用id),比如Oracle应用id、Mysql应用id + * @param parentProcessGroupId 流程组id(应用id)的父流程组id + * @param copyTargetProcessGroupId 指定创建的流程组id + * @return 返回流程组实例化id + */ + String instantiateApp(String appProcessGroupId, String parentProcessGroupId, String copyTargetProcessGroupId) throws Exception; + + /** + * 新增上下文参数环境,并绑定到指定的流程组 + * + * @param createParamContextJoin 绑定上下文参数封装对象 + * @return 返回被绑定参数上下文的流程组id + */ + String createParameterContextsBindingProcessGroup(CreateParamContextJoin createParamContextJoin) throws Exception; + + /** + * 查询需要修改的控制器详情 + */ + List getNeedModifyControllerServicesByProcessGroup(String processGroupId) throws Exception; + + /** + * 查找某个流程组(应用app)内,带有"修改标记"的控制器服务,并更新控制器,从而达到实例化要求 + * + * @param isThrowError true抛出异常,false不抛出异常、假设某个流程下有3个控制器服务需要修改,但入参只传了2个,在不满足业务需求且isError=true的情况下,就会抛出异常,主要是提醒业务调用代码 + */ + void findNeedModifyControllerAndChangesOccur(FindNeedModifyController findNeedModifyController, boolean isThrowError) throws Exception; + + /** + * 批量创建连接关系 + */ +} diff --git a/fw-nifi/src/main/java/com/hzya/frame/nifiapi/operation/NifiOperation.java b/fw-nifi/src/main/java/com/hzya/frame/nifiapi/operation/INifiOperation.java similarity index 97% rename from fw-nifi/src/main/java/com/hzya/frame/nifiapi/operation/NifiOperation.java rename to fw-nifi/src/main/java/com/hzya/frame/nifiapi/operation/INifiOperation.java index 7c753206..2a094dbe 100644 --- a/fw-nifi/src/main/java/com/hzya/frame/nifiapi/operation/NifiOperation.java +++ b/fw-nifi/src/main/java/com/hzya/frame/nifiapi/operation/INifiOperation.java @@ -13,7 +13,7 @@ import com.hzya.frame.nifiapi.model.joincreateoracleapp.CreateOracleApp; * @Date:2025/5/21 17:05 * @Filename:NifiOperation */ -public interface NifiOperation { +public interface INifiOperation { /** * Oracle应用创建并实例化 * 主要包含一系列nifi接口调用操作,其他应用开发封转类以此类推 diff --git a/fw-nifi/src/main/java/com/hzya/frame/nifiapi/operation/impl/BaseOperationImpl.java b/fw-nifi/src/main/java/com/hzya/frame/nifiapi/operation/impl/BaseOperationImpl.java index 6b2296ee..d251697c 100644 --- a/fw-nifi/src/main/java/com/hzya/frame/nifiapi/operation/impl/BaseOperationImpl.java +++ b/fw-nifi/src/main/java/com/hzya/frame/nifiapi/operation/impl/BaseOperationImpl.java @@ -1,22 +1,41 @@ package com.hzya.frame.nifiapi.operation.impl; +import cn.hutool.core.util.StrUtil; +import com.hzya.frame.nifiapi.config.NifiServiceConfig; +import com.hzya.frame.nifiapi.model.joinbindparametercontexts.BindParameterContextsJoin11; +import com.hzya.frame.nifiapi.model.joinbindparametercontexts.Component11; +import com.hzya.frame.nifiapi.model.joinbindparametercontexts.ParameterContext11; +import com.hzya.frame.nifiapi.model.joinbindparametercontexts.Revision11; +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.joingetallcontrollerservice.GetAllController19; +import com.hzya.frame.nifiapi.model.joingetcontroller.ControllerService12; +import com.hzya.frame.nifiapi.model.joingetcontroller.Revision12; +import com.hzya.frame.nifiapi.model.joinparametercontexts.*; import com.hzya.frame.nifiapi.model.joinsnippetinstance.SnippetInstanceJoin; import com.hzya.frame.nifiapi.model.joinsnippets.Snippet; import com.hzya.frame.nifiapi.model.joinsnippets.SnippetsJoin; import com.hzya.frame.nifiapi.model.resultcreatesnippet.Flow15; import com.hzya.frame.nifiapi.model.resultcreatesnippet.ProcessGroups15; import com.hzya.frame.nifiapi.model.resultcreatesnippet.SnippetInstance15; +import com.hzya.frame.nifiapi.model.resultparametercontexts.ParameterContextsResult; import com.hzya.frame.nifiapi.model.resultprocessgroupsinfo.ProcessGroupsInfoResult9; import com.hzya.frame.nifiapi.model.resultprocessgroupsinfo.Revision9; import com.hzya.frame.nifiapi.model.resultsnippets.Snippet13; import com.hzya.frame.nifiapi.model.resultsnippets.SnippetResult13; -import com.hzya.frame.nifiapi.operation.BaseOperation; +import com.hzya.frame.nifiapi.operation.IBaseOperation; import com.hzya.frame.nifiapi.service.NifiApiService; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; +import java.util.stream.Collectors; /** * @Author:liuyang @@ -27,16 +46,21 @@ import java.util.Map; * @Filename:BaseOperationImpl */ @Repository(value = "BaseOperationImpl") -public class BaseOperationImpl implements BaseOperation { +public class BaseOperationImpl implements IBaseOperation { + + Logger logger = LoggerFactory.getLogger(BaseOperationImpl.class); @Autowired private NifiApiService nifiApiService; + @Autowired + private NifiServiceConfig nifiServiceConfig; + @Override public String instantiateApp(String appProcessGroupId, String parentProcessGroupId, String copyTargetProcessGroupId) throws Exception { String processGroups15Id = null; try { - //1.创建流程组对应的片段,得到片段id + //创建流程组片段 //查询目标流程组版本 ProcessGroupsInfoResult9 processGroups = nifiApiService.getProcessGroups(appProcessGroupId); Revision9 revision = processGroups.getRevision(); @@ -77,4 +101,88 @@ public class BaseOperationImpl implements BaseOperation { } return processGroups15Id; } + + @Override + public String createParameterContextsBindingProcessGroup(CreateParamContextJoin createParamContextJoin) throws Exception { + String paramGroupsId = null; + try { + //1.创建参数上下文 + ParameterContextsJoin parameterContextsJoin1 = createParamContextJoin.getParameterContextsJoin(); + ParameterContextsResult parameterContexts = nifiApiService.createParameterContexts(parameterContextsJoin1); + System.out.println(parameterContexts); + + //2.绑定到指定流程组 + //查询指定流程组的详情 + String processGroupsId = createParamContextJoin.getProcessGroupsId(); + ProcessGroupsInfoResult9 processGroups = nifiApiService.getProcessGroups(processGroupsId); + Revision9 revision = processGroups.getRevision(); + + //流程组的版本号 + Revision11 revision11 = new Revision11(); + revision11.setVersion(revision.getVersion()); + + //参数上下文对象id + ParameterContext11 parameterContext11 = new ParameterContext11(); + parameterContext11.setId(parameterContexts.getId()); + + //指定的组件对象 + Component11 component11 = new Component11(); + component11.setId(processGroups.getId()); + component11.setParameterContext(parameterContext11); + + BindParameterContextsJoin11 bindParameterContextsJoin11 = new BindParameterContextsJoin11(); + bindParameterContextsJoin11.setComponent(component11); + bindParameterContextsJoin11.setRevision(revision11); + ProcessGroupsInfoResult9 processGroupsInfoResult9 = nifiApiService.bindParameterContexts(bindParameterContextsJoin11); + logger.info("流程组id:{}", processGroupsInfoResult9.getId()); + paramGroupsId = parameterContexts.getId(); + } catch (Exception e) { + throw new Exception(e); + } + return paramGroupsId; + } + + @Override + public List getNeedModifyControllerServicesByProcessGroup(String processGroupId) throws Exception { + String controllerModifyMark = nifiServiceConfig.getControllerModifyMark(); + //1.查找某个流程组内的所有控制器,筛选出带"接口修改标记"的控制器,片段 + List modifiedControllers = new ArrayList<>(); + GetAllController19 allControllerServices = nifiApiService.getAllControllerServices(processGroupId); + if (allControllerServices != null && allControllerServices.getControllerServices() != null) { + modifiedControllers = allControllerServices.getControllerServices().stream().filter(service -> service.getComponent() != null && controllerModifyMark.equals(service.getComponent().getComments())).collect(Collectors.toList()); + } + return modifiedControllers; + } + + @Override + public void findNeedModifyControllerAndChangesOccur(FindNeedModifyController findNeedModifyController, boolean isThrowError) throws Exception { + try { + //1.得到"接口修改标记"的控制器,并验证入参数量是否匹配 + List needModifyControllerServicesByProcessGroup = getNeedModifyControllerServicesByProcessGroup(findNeedModifyController.getProcessGroupId()); + + List needModifyController = findNeedModifyController.getNeedModifyController(); + if (needModifyControllerServicesByProcessGroup != null) { + if ((needModifyControllerServicesByProcessGroup.size() != needModifyController.size()) && isThrowError) { + throw new Exception(StrUtil.format("需要接口修改{}个控制器,但接口传了{}个", needModifyControllerServicesByProcessGroup.size(), needModifyController.size())); + } + } + + //2.修改指定控制器 + for (ControllerService12 controllerService11 : needModifyController) { + //查询控制器版本 + ControllerService12 controllerServices = nifiApiService.getControllerServices(controllerService11.getId()); + Revision12 revision = controllerServices.getRevision(); + + Revision12 revision12 = new Revision12(); + revision12.setVersion(revision.getVersion()); + + controllerService11.setRevision(revision12); + ControllerService12 controllerService12 = nifiApiService.updateControllerServices(controllerService11.getId(), controllerService11); + //在传参没有问题的情况下,有控制器id返回即代表修改成功 + logger.info("控制器id:{}", controllerService12.getId()); + } + } catch (Exception e) { + throw new Exception(e); + } + } } diff --git a/fw-nifi/src/main/java/com/hzya/frame/nifiapi/operation/impl/NifiOperationImpl.java b/fw-nifi/src/main/java/com/hzya/frame/nifiapi/operation/impl/NifiOperationImpl.java index 31a06389..8fe3bee7 100644 --- a/fw-nifi/src/main/java/com/hzya/frame/nifiapi/operation/impl/NifiOperationImpl.java +++ b/fw-nifi/src/main/java/com/hzya/frame/nifiapi/operation/impl/NifiOperationImpl.java @@ -1,29 +1,15 @@ package com.hzya.frame.nifiapi.operation.impl; -import com.hzya.frame.nifiapi.client.NifiClient; import com.hzya.frame.nifiapi.model.joincreatemysqlapp.CreateMysqlApp; import com.hzya.frame.nifiapi.model.joincreateoracleapp.CreateOracleApp; -import com.hzya.frame.nifiapi.model.joinsnippetinstance.SnippetInstanceJoin; -import com.hzya.frame.nifiapi.model.joinsnippets.Snippet; -import com.hzya.frame.nifiapi.model.joinsnippets.SnippetsJoin; -import com.hzya.frame.nifiapi.model.resultcreatesnippet.Flow15; -import com.hzya.frame.nifiapi.model.resultcreatesnippet.ProcessGroups15; -import com.hzya.frame.nifiapi.model.resultcreatesnippet.SnippetInstance15; -import com.hzya.frame.nifiapi.model.resultprocessgroupsinfo.ProcessGroupsInfoResult9; -import com.hzya.frame.nifiapi.model.resultprocessgroupsinfo.Revision9; -import com.hzya.frame.nifiapi.model.resultsnippets.Snippet13; -import com.hzya.frame.nifiapi.model.resultsnippets.SnippetResult13; -import com.hzya.frame.nifiapi.operation.BaseOperation; -import com.hzya.frame.nifiapi.operation.NifiOperation; +import com.hzya.frame.nifiapi.operation.IBaseOperation; +import com.hzya.frame.nifiapi.operation.INifiOperation; import com.hzya.frame.nifiapi.service.NifiApiService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Repository; -import java.util.HashMap; -import java.util.Map; - /** * NiFi 操作实现类,封装通用操作 * @@ -35,7 +21,7 @@ import java.util.Map; * @Filename:NifiOperationImpl */ @Repository(value = "NifiOperationImpl") -public class NifiOperationImpl implements NifiOperation { +public class NifiOperationImpl implements INifiOperation { Logger logger = LoggerFactory.getLogger(NifiOperationImpl.class); @@ -43,7 +29,7 @@ public class NifiOperationImpl implements NifiOperation { private NifiApiService nifiApiService; @Autowired - private BaseOperation baseOperation; + private IBaseOperation baseOperation; @Override public void createOracleApp(CreateOracleApp createOracleApp) throws Exception { diff --git a/fw-nifi/src/main/java/com/hzya/frame/nifiapi/service/NifiApiService.java b/fw-nifi/src/main/java/com/hzya/frame/nifiapi/service/NifiApiService.java index 957dcc2e..31596829 100644 --- a/fw-nifi/src/main/java/com/hzya/frame/nifiapi/service/NifiApiService.java +++ b/fw-nifi/src/main/java/com/hzya/frame/nifiapi/service/NifiApiService.java @@ -9,6 +9,7 @@ import com.hzya.frame.nifiapi.model.joincontrollerenabled.EnOrDiControllerServic import com.hzya.frame.nifiapi.model.joincreateconnection.CreateConnection18; import com.hzya.frame.nifiapi.model.joincreateconnections.CreateConnections18; import com.hzya.frame.nifiapi.model.joincreatetemp.CreateTemplateJoin; +import com.hzya.frame.nifiapi.model.joingetallcontrollerservice.GetAllController19; import com.hzya.frame.nifiapi.model.joingetcontroller.ControllerService12; import com.hzya.frame.nifiapi.model.joinparametercontexts.ParameterContextsJoin; import com.hzya.frame.nifiapi.model.joinprocessgroups.Component7; @@ -169,7 +170,16 @@ public class NifiApiService { } /** - * 创建流程组组级别的控制器服务,控制器服务分为流程组级别和全局级别,其中流程组级别只能在流程组内的处理器共享 + * 查询某个流程组内的所有控制器 + */ + public GetAllController19 getAllControllerServices(String processGroupId) throws Exception { + return client.get(StrUtil.format("/flow/process-groups/{}/controller-services", processGroupId), GetAllController19.class); + } + + /** + * 创建流程组组级别的控制器服务 + * 控制器服务分为流程组级别和全局级别,其中流程组级别只能在流程组内的处理器共享,子流程组继承父流程组控制器 + * 全局控制器无法给普通流程组使用 * * @param id 对应的流程组id * @param controllerService11 提交参数 @@ -178,6 +188,16 @@ public class NifiApiService { return client.post(StrUtil.format("/process-groups/{}/controller-services", id), controllerService11, ControllerService12.class); } + /** + * 更新控制器服务 + * + * @param id 对应的控制器id主键 + * @param controllerService11 修改提交参数,注意传递主键、版本 + */ + public ControllerService12 updateControllerServices(String id, ControllerService12 controllerService11) throws Exception { + return client.put(StrUtil.format("/controller-services/{}", id), controllerService11, ControllerService12.class); + } + /** * 启用或禁用控制器服务 */