package com.webank.wecube.platform.core.service.workflow;
import static com.webank.wecube.platform.core.utils.Constants.ASYNC_SERVICE_SYMBOL;
import static com.webank.wecube.platform.core.utils.Constants.FIELD_REQUIRED;
import static com.webank.wecube.platform.core.utils.Constants.MAPPING_TYPE_CONSTANT;
import static com.webank.wecube.platform.core.utils.Constants.MAPPING_TYPE_CONTEXT;
import static com.webank.wecube.platform.core.utils.Constants.MAPPING_TYPE_ENTITY;
import static com.webank.wecube.platform.core.utils.Constants.MAPPING_TYPE_OBJECT;
import static com.webank.wecube.platform.core.utils.Constants.MAPPING_TYPE_SYSTEM_VARIABLE;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.webank.wecube.platform.core.commons.WecubeCoreException;
import com.webank.wecube.platform.core.dto.plugin.ItsDangerConfirmResultDto;
import com.webank.wecube.platform.core.entity.plugin.CoreObjectMeta;
import com.webank.wecube.platform.core.entity.plugin.CoreObjectPropertyMeta;
import com.webank.wecube.platform.core.entity.plugin.CoreObjectVar;
import com.webank.wecube.platform.core.entity.plugin.PluginConfigInterfaceParameters;
import com.webank.wecube.platform.core.entity.plugin.PluginConfigInterfaces;
import com.webank.wecube.platform.core.entity.plugin.PluginConfigs;
import com.webank.wecube.platform.core.entity.plugin.PluginInstances;
import com.webank.wecube.platform.core.entity.plugin.PluginPackageAttributes;
import com.webank.wecube.platform.core.entity.plugin.PluginPackages;
import com.webank.wecube.platform.core.entity.plugin.SystemVariables;
import com.webank.wecube.platform.core.entity.workflow.ExtraTaskEntity;
import com.webank.wecube.platform.core.entity.workflow.ProcDefInfoEntity;
import com.webank.wecube.platform.core.entity.workflow.ProcExecBindingEntity;
import com.webank.wecube.platform.core.entity.workflow.ProcExecContextEntity;
import com.webank.wecube.platform.core.entity.workflow.ProcInstInfoEntity;
import com.webank.wecube.platform.core.entity.workflow.TaskNodeDefInfoEntity;
import com.webank.wecube.platform.core.entity.workflow.TaskNodeExecParamEntity;
import com.webank.wecube.platform.core.entity.workflow.TaskNodeExecRequestEntity;
import com.webank.wecube.platform.core.entity.workflow.TaskNodeInstInfoEntity;
import com.webank.wecube.platform.core.entity.workflow.TaskNodeParamEntity;
import com.webank.wecube.platform.core.model.workflow.BoundTaskNodeExecParamWrapper;
import com.webank.wecube.platform.core.model.workflow.ContextCalculationParam;
import com.webank.wecube.platform.core.model.workflow.ContextCalculationParamCollection;
import com.webank.wecube.platform.core.model.workflow.DmeOutputParamAttr;
import com.webank.wecube.platform.core.model.workflow.InputParamAttr;
import com.webank.wecube.platform.core.model.workflow.InputParamObject;
import com.webank.wecube.platform.core.model.workflow.PluginInvocationCommand;
import com.webank.wecube.platform.core.model.workflow.PluginInvocationResult;
import com.webank.wecube.platform.core.model.workflow.ProcExecBindingKey;
import com.webank.wecube.platform.core.model.workflow.ProcExecBindingKeyLink;
import com.webank.wecube.platform.core.model.workflow.WorkflowInstCreationContext;
import com.webank.wecube.platform.core.service.dme.EntityDataAttr;
import com.webank.wecube.platform.core.service.dme.EntityDataRecord;
import com.webank.wecube.platform.core.service.dme.EntityOperationRootCondition;
import com.webank.wecube.platform.core.service.dme.EntityQueryExprNodeInfo;
import com.webank.wecube.platform.core.service.dme.EntityRouteDescription;
import com.webank.wecube.platform.core.service.dme.EntityTreeNodesOverview;
import com.webank.wecube.platform.core.service.dme.StandardEntityDataNode;
import com.webank.wecube.platform.core.service.dme.StandardEntityOperationResponseDto;
import com.webank.wecube.platform.core.service.dme.StandardEntityOperationRestClient;
import com.webank.wecube.platform.core.service.plugin.CoreObjectVarCalculationContext;
import com.webank.wecube.platform.core.service.plugin.PluginPackageDataModelService;
import com.webank.wecube.platform.core.service.plugin.PluginParamObject;
import com.webank.wecube.platform.core.service.plugin.PluginParamObjectVarStorage;
import com.webank.wecube.platform.core.service.workflow.PluginInvocationProcessor.PluginInterfaceInvocationContext;
import com.webank.wecube.platform.core.service.workflow.PluginInvocationProcessor.PluginInterfaceInvocationResult;
import com.webank.wecube.platform.core.service.workflow.PluginInvocationProcessor.PluginInvocationOperation;
import com.webank.wecube.platform.core.support.plugin.dto.DynamicEntityAttrValueDto;
import com.webank.wecube.platform.core.support.plugin.dto.DynamicEntityValueDto;
import com.webank.wecube.platform.core.support.plugin.dto.TaskFormDataEntityDto;
import com.webank.wecube.platform.core.support.plugin.dto.TaskFormItemMetaDto;
import com.webank.wecube.platform.core.support.plugin.dto.TaskFormItemValueDto;
import com.webank.wecube.platform.core.support.plugin.dto.TaskFormMetaDto;
import com.webank.wecube.platform.core.support.plugin.dto.TaskFormValueDto;
import com.webank.wecube.platform.core.utils.Constants;
import com.webank.wecube.platform.core.utils.JsonUtils;
import com.webank.wecube.platform.workflow.WorkflowConstants;
import com.webank.wecube.platform.workflow.commons.LocalIdGenerator;
/**
*
* @author gavin
*
*/
@Service
public class PluginInvocationService extends AbstractPluginInvocationService {
@Autowired
protected PluginParamObjectVarStorage pluginParamObjectVarStorageService;
@Autowired
protected PluginPackageDataModelService pluginPackageDataModelService;
/**
*
* @param cmd
*/
public void invokePluginInterface(PluginInvocationCommand cmd) {
if (log.isInfoEnabled()) {
log.info("invoke plugin interface with:{}", cmd);
}
ProcInstInfoEntity procInstEntity = null;
TaskNodeInstInfoEntity taskNodeInstEntity = null;
try {
procInstEntity = retrieveProcInstInfoEntity(cmd);
taskNodeInstEntity = retrieveTaskNodeInstInfoEntity(procInstEntity.getId(), cmd.getNodeId());
doInvokePluginInterface(procInstEntity, taskNodeInstEntity, cmd);
} catch (Exception e) {
log.warn("errors while processing {} {}", cmd.getClass().getSimpleName(), cmd, e);
pluginInvocationResultService.responsePluginInterfaceInvocation(
new PluginInvocationResult().parsePluginInvocationCommand(cmd).withResultCode(RESULT_CODE_ERR));
updateTaskNodeInstInfoEntityFaulted(taskNodeInstEntity, e);
}
}
/**
* handle results of plugin interface invocation.
*
* @param pluginInvocationResult
* @param ctx
*/
public void handlePluginInterfaceInvocationResult(PluginInterfaceInvocationResult pluginInvocationResult,
PluginInterfaceInvocationContext ctx) {
if (log.isDebugEnabled()) {
log.debug("handle plugin interface invocation result");
}
if (!pluginInvocationResult.isSuccess() || pluginInvocationResult.hasErrors()) {
handleErrorInvocationResult(pluginInvocationResult, ctx);
return;
}
PluginConfigInterfaces pci = ctx.getPluginConfigInterface();
if (ASYNC_SERVICE_SYMBOL.equalsIgnoreCase(pci.getIsAsyncProcessing())) {
log.debug("such interface is asynchronous service : {} ", pci.getServiceName());
return;
}
List<Object> resultData = pluginInvocationResult.getResul
没有合适的资源?快使用搜索试试~ 我知道了~
WeCube是一套开源的,一站式IT架构管理和运维管理工具,主要用于简化分布式架构IT管理,并可以通过插件进行功能扩展
共1321个文件
java:825个
png:209个
xml:92个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 129 浏览量
2023-05-25
10:40:58
上传
评论
收藏 19.93MB ZIP 举报
温馨提示
WeCube是一套开源的,一站式IT架构管理和运维管理工具,主要用于简化分布式架构IT管理,并可以通过插件进行功能扩展。
资源推荐
资源详情
资源评论
收起资源包目录
WeCube是一套开源的,一站式IT架构管理和运维管理工具,主要用于简化分布式架构IT管理,并可以通过插件进行功能扩展 (1321个子文件)
wecube.cfg 444B
Dockerfile 417B
Dockerfile 322B
Dockerfile 302B
Dockerfile 296B
Dockerfile 190B
.editorconfig 147B
.eslintignore 30B
.gitignore 371B
.gitignore 199B
.gitignore 9B
.gitignore 9B
.gitignore 9B
init_cmdb.go 1KB
index.html 2KB
favicon.ico 22KB
version.inf 13B
version.inf 13B
init_cmdb 4.7MB
PluginInvocationService.java 185KB
PluginConfigMigrationService.java 88KB
StandardEntityOperationServiceTestsMockers.java 84KB
PluginConfigMgmtService.java 78KB
PluginPackageMgmtService.java 63KB
PluginArtifactsMgmtService.java 63KB
PluginInstanceMgmtService.java 60KB
BatchExecutionService.java 56KB
WorkflowProcInstService.java 49KB
WorkflowProcDefDeploymentService.java 49KB
WorkflowDataService.java 48KB
PluginPackageDataModelService.java 47KB
PluginParamObjectVarCalculator.java 42KB
ResourceServerExample.java 39KB
ResourceItemExample.java 36KB
WorkflowPublicAccessService.java 35KB
StandardEntityQueryExecutor.java 30KB
RootlessExpressionServiceMocker.java 30KB
WorkflowEngineService.java 30KB
UserScheduledTaskService.java 29KB
WorkflowStatisticsService.java 28KB
SystemVariablesExample.java 26KB
AsyncPluginInvocationService.java 26KB
AbstractPluginInvocationService.java 25KB
CustomBpmnParse.java 22KB
RoleManagementService.java 22KB
UserManagementService.java 22KB
MysqlDatabaseInitializer.java 21KB
MysqlDatabaseInitializer.java 21KB
DynamicRouteConfigurationService.java 21KB
BpmnProcessModelCustomizer.java 19KB
ResourceManagementService.java 19KB
UserManagementServiceImpl.java 18KB
StandardEntityOperationServiceTests.java 17KB
PluginInvocationProcessor.java 17KB
DataServiceControllerTest.java 16KB
EntityDataCenterService.java 16KB
ResourceDataQueryService.java 16KB
PluginParamObjectVarMarshaller.java 14KB
RoleFavoritesServiceImpl.java 14KB
WorkflowProcDefService.java 14KB
DataModelServiceStub.java 14KB
SystemVariableService.java 14KB
WorkflowProcessDefinitionController.java 14KB
AbstractWorkflowProcDefService.java 14KB
UmAuthenticationChecker.java 14KB
MenuService.java 13KB
ExRetryGatewayFilterFactory.java 13KB
PluginParamObjectMetaStorage.java 12KB
ProcessRoleServiceImpl.java 12KB
SubSystemManagementService.java 11KB
WorkflowProcDefMigrationService.java 11KB
ApplicationProperties.java 11KB
DockerContainerManagementService.java 11KB
AbstractDatabaseInitializer.java 11KB
AbstractDatabaseInitializer.java 11KB
AuthServerRestClient.java 11KB
RoleMenuService.java 10KB
OperationEventManagementService.java 10KB
PluginRouteItemService.java 10KB
PluginParamObjectMetaRegister.java 10KB
JwtSsoBasedRefreshTokenFilter.java 10KB
HttpClientConfig.java 9KB
PluginParamObjectVarStorage.java 9KB
EntityQueryExpressionParserTests.java 9KB
ResourceItemDto.java 9KB
EntityQueryExpressionParser.java 9KB
StandardEntityOperationRestClient.java 9KB
ResourceServerDto.java 9KB
AuthServerRestClientProperties.java 9KB
PluginCertificationController.java 9KB
EncryptionUtils.java 8KB
WorkflowProcessInstanceController.java 8KB
RsaKeyPairDetector.java 8KB
RsaKeyPairDetector.java 8KB
RootlessExpressionServiceTest.java 8KB
StandardEntityOperationService.java 8KB
OperationEventsExecutor.java 8KB
OperationEventProcStarter.java 8KB
PluginPackageController.java 8KB
DynamicRouteItemInfoHolder.java 8KB
共 1321 条
- 1
- 2
- 3
- 4
- 5
- 6
- 14
资源评论
Java程序员-张凯
- 粉丝: 1w+
- 资源: 6825
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- MyBatisCodeHelperPro 3.3.2-2322 2023.2-2024.1
- 基于Python的简单的学生成绩管理程序设计(课程设计)
- jdk-8u20-windows-x64安装版本-jdk-8u301-linux-x64解压版
- 植物大战僵尸杂交版 修改阳光和冷却
- html css js网页设计ntion-model-for-开发笔记
- 数据库课程设计-processing开发笔记
- matlab画图sic-开发demo
- 数据库原理课程设计-图书馆数据库管理系统
- IEC101Sim IEC870-5-101协议仿真主站、子站 (含源码 C++Builder)
- 2212503007陈熙炜跨境2202作业2.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功