|
|
|
@ -0,0 +1,827 @@
|
|
|
|
|
/* |
|
|
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more |
|
|
|
|
* contributor license agreements. See the NOTICE file distributed with |
|
|
|
|
* this work for additional information regarding copyright ownership. |
|
|
|
|
* The ASF licenses this file to You under the Apache License, Version 2.0 |
|
|
|
|
* (the "License"); you may not use this file except in compliance with |
|
|
|
|
* the License. You may obtain a copy of the License at |
|
|
|
|
* |
|
|
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
|
* |
|
|
|
|
* Unless required by applicable law or agreed to in writing, software |
|
|
|
|
* distributed under the License is distributed on an "AS IS" BASIS, |
|
|
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
|
|
|
|
* See the License for the specific language governing permissions and |
|
|
|
|
* limitations under the License. |
|
|
|
|
*/ |
|
|
|
|
|
|
|
|
|
package org.apache.dolphinscheduler.tools.demo; |
|
|
|
|
|
|
|
|
|
import static org.apache.dolphinscheduler.common.enums.ConditionType.NONE; |
|
|
|
|
import static org.apache.dolphinscheduler.common.enums.Flag.YES; |
|
|
|
|
import static org.apache.dolphinscheduler.common.enums.Priority.MEDIUM; |
|
|
|
|
import static org.apache.dolphinscheduler.common.enums.ProcessExecutionTypeEnum.PARALLEL; |
|
|
|
|
|
|
|
|
|
import org.apache.dolphinscheduler.common.enums.TimeoutFlag; |
|
|
|
|
import org.apache.dolphinscheduler.common.utils.CodeGenerateUtils; |
|
|
|
|
import org.apache.dolphinscheduler.common.utils.DateUtils; |
|
|
|
|
import org.apache.dolphinscheduler.common.utils.EncryptionUtils; |
|
|
|
|
import org.apache.dolphinscheduler.common.utils.JSONUtils; |
|
|
|
|
import org.apache.dolphinscheduler.dao.entity.AccessToken; |
|
|
|
|
import org.apache.dolphinscheduler.dao.entity.ProcessDefinitionLog; |
|
|
|
|
import org.apache.dolphinscheduler.dao.entity.ProcessTaskRelationLog; |
|
|
|
|
import org.apache.dolphinscheduler.dao.entity.Project; |
|
|
|
|
import org.apache.dolphinscheduler.dao.entity.TaskDefinitionLog; |
|
|
|
|
import org.apache.dolphinscheduler.dao.entity.User; |
|
|
|
|
import org.apache.dolphinscheduler.dao.mapper.AccessTokenMapper; |
|
|
|
|
import org.apache.dolphinscheduler.dao.mapper.ProjectMapper; |
|
|
|
|
import org.apache.dolphinscheduler.dao.mapper.UserMapper; |
|
|
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
import java.util.Date; |
|
|
|
|
import java.util.LinkedHashMap; |
|
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
|
import org.slf4j.Logger; |
|
|
|
|
import org.slf4j.LoggerFactory; |
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
|
import org.springframework.beans.factory.annotation.Value; |
|
|
|
|
import org.springframework.stereotype.Component; |
|
|
|
|
|
|
|
|
|
@Component |
|
|
|
|
public class ProcessDefinitionDemo { |
|
|
|
|
|
|
|
|
|
private static final Logger logger = LoggerFactory.getLogger(ProcessDefinitionDemo.class); |
|
|
|
|
|
|
|
|
|
@Value("${demo.tenant-code}") |
|
|
|
|
private String tenantCode; |
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
private ProjectMapper projectMapper; |
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
private UserMapper userMapper; |
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
private AccessTokenMapper accessTokenMapper; |
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
private ProxyProcessDefinitionController proxyProcessDefinitionController; |
|
|
|
|
|
|
|
|
|
public void createProcessDefinitionDemo() throws Exception { |
|
|
|
|
// get user
|
|
|
|
|
User loginUser = userMapper.selectById("1"); |
|
|
|
|
Date now = new Date(); |
|
|
|
|
|
|
|
|
|
// create demo tenantCode
|
|
|
|
|
CreateDemoTenant createDemoTenant = new CreateDemoTenant(); |
|
|
|
|
createDemoTenant.createTenantCode(tenantCode); |
|
|
|
|
|
|
|
|
|
// create and get demo projectCode
|
|
|
|
|
Project project = projectMapper.queryByName("demo"); |
|
|
|
|
if (project != null) { |
|
|
|
|
logger.warn("Project {} already exists.", project.getName()); |
|
|
|
|
} |
|
|
|
|
try { |
|
|
|
|
project = Project |
|
|
|
|
.builder() |
|
|
|
|
.name("demo") |
|
|
|
|
.code(CodeGenerateUtils.getInstance().genCode()) |
|
|
|
|
.description("") |
|
|
|
|
.userId(loginUser.getId()) |
|
|
|
|
.userName(loginUser.getUserName()) |
|
|
|
|
.createTime(now) |
|
|
|
|
.updateTime(now) |
|
|
|
|
.build(); |
|
|
|
|
} catch (CodeGenerateUtils.CodeGenerateException e) { |
|
|
|
|
logger.error("create project error", e); |
|
|
|
|
} |
|
|
|
|
if (projectMapper.insert(project) > 0) { |
|
|
|
|
logger.info("create project success"); |
|
|
|
|
} else { |
|
|
|
|
throw new Exception("create project error"); |
|
|
|
|
} |
|
|
|
|
Long projectCode = null; |
|
|
|
|
try { |
|
|
|
|
projectCode = project.getCode(); |
|
|
|
|
} catch (NullPointerException e) { |
|
|
|
|
logger.error("project code is null", e); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// generate access token
|
|
|
|
|
String expireTime = DemoContants.Expire_Time; |
|
|
|
|
String token = EncryptionUtils.getMd5(1 + expireTime + System.currentTimeMillis()); |
|
|
|
|
AccessToken accessToken = new AccessToken(); |
|
|
|
|
accessToken.setUserId(1); |
|
|
|
|
accessToken.setExpireTime(DateUtils.stringToDate(expireTime)); |
|
|
|
|
accessToken.setToken(token); |
|
|
|
|
accessToken.setCreateTime(new Date()); |
|
|
|
|
accessToken.setUpdateTime(new Date()); |
|
|
|
|
|
|
|
|
|
int insert = accessTokenMapper.insert(accessToken); |
|
|
|
|
|
|
|
|
|
if (insert > 0) { |
|
|
|
|
logger.info("create access token success"); |
|
|
|
|
} else { |
|
|
|
|
logger.info("create access token error"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// creat process definition demo
|
|
|
|
|
// shell demo
|
|
|
|
|
ProxyResult shellResult = shellDemo(token, projectCode, tenantCode); |
|
|
|
|
logger.info("create shell demo {}", shellResult.getMsg()); |
|
|
|
|
|
|
|
|
|
// subprocess demo
|
|
|
|
|
LinkedHashMap<String, Object> subProcess = (LinkedHashMap<String, Object>) shellResult.getData(); |
|
|
|
|
String subProcessCode = String.valueOf(subProcess.get("code")); |
|
|
|
|
ProxyResult subProcessResult = subProcessDemo(token, projectCode, tenantCode, subProcessCode); |
|
|
|
|
logger.info("create subprocess demo {}", subProcessResult.getMsg()); |
|
|
|
|
|
|
|
|
|
// switch demo
|
|
|
|
|
ProxyResult switchResult = swicthDemo(token, projectCode, tenantCode); |
|
|
|
|
logger.info("create switch demo {}", switchResult.getMsg()); |
|
|
|
|
|
|
|
|
|
// condition demo
|
|
|
|
|
ProxyResult conditionResult = conditionDemo(token, projectCode, tenantCode); |
|
|
|
|
logger.info("create condition demo {}", conditionResult.getMsg()); |
|
|
|
|
|
|
|
|
|
// dependent demo
|
|
|
|
|
LinkedHashMap<String, Object> switchProcess = (LinkedHashMap<String, Object>) switchResult.getData(); |
|
|
|
|
String switchProcessCode = String.valueOf(switchProcess.get("code")); |
|
|
|
|
ProxyResult dependentResult = |
|
|
|
|
dependentProxyResultDemo(token, projectCode, tenantCode, subProcessCode, switchProcessCode); |
|
|
|
|
logger.info("create dependent demo {}", dependentResult.getMsg()); |
|
|
|
|
|
|
|
|
|
// parameter context demo
|
|
|
|
|
ProxyResult parameterContextResult = parameterContextDemo(token, projectCode, tenantCode); |
|
|
|
|
logger.info("create parameter context demo {}", parameterContextResult.getMsg()); |
|
|
|
|
|
|
|
|
|
// clear log demo
|
|
|
|
|
ProxyResult clearLogResult = clearLogDemo(token, projectCode, tenantCode); |
|
|
|
|
logger.info("create clear log demo {}", clearLogResult.getMsg()); |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
public ProxyResult clearLogDemo(String token, long projectCode, String tenantCode) { |
|
|
|
|
|
|
|
|
|
// get demo taskcode
|
|
|
|
|
List<Long> taskCodes = new ArrayList<>(); |
|
|
|
|
try { |
|
|
|
|
for (int i = 0; i < 1; i++) { |
|
|
|
|
taskCodes.add(CodeGenerateUtils.getInstance().genCode()); |
|
|
|
|
} |
|
|
|
|
} catch (CodeGenerateUtils.CodeGenerateException e) { |
|
|
|
|
logger.error("task code get error, ", e); |
|
|
|
|
} |
|
|
|
|
String taskCodeFirst = String.valueOf(taskCodes.get(0)).replaceAll("\\[|\\]", ""); |
|
|
|
|
String absolutePath = System.getProperty("user.dir"); |
|
|
|
|
|
|
|
|
|
ProcessDefinitionLog processDefinitionLog = new ProcessDefinitionLog(); |
|
|
|
|
processDefinitionLog.setName("demo_clear_log"); |
|
|
|
|
processDefinitionLog.setDescription("Clear the DS log files from 30 days ago"); |
|
|
|
|
processDefinitionLog.setGlobalParams("[]"); |
|
|
|
|
processDefinitionLog.setLocations(null); |
|
|
|
|
processDefinitionLog.setTimeout(0); |
|
|
|
|
|
|
|
|
|
List<ProcessTaskRelationLog> processTaskRelationLogs = new ArrayList<>(); |
|
|
|
|
for (int i = 0; i < 1; i++) { |
|
|
|
|
ProcessTaskRelationLog processTaskRelationLog = new ProcessTaskRelationLog(); |
|
|
|
|
processTaskRelationLog.setName(""); |
|
|
|
|
processTaskRelationLog.setConditionType(NONE); |
|
|
|
|
processTaskRelationLog.setConditionParams("{}"); |
|
|
|
|
processTaskRelationLogs.add(processTaskRelationLog); |
|
|
|
|
} |
|
|
|
|
ProcessTaskRelationLog processTaskRelationLogFirst = processTaskRelationLogs.get(0); |
|
|
|
|
processTaskRelationLogFirst.setPreTaskCode(0); |
|
|
|
|
processTaskRelationLogFirst.setPreTaskVersion(0); |
|
|
|
|
processTaskRelationLogFirst.setPostTaskCode(taskCodes.get(0)); |
|
|
|
|
processTaskRelationLogFirst.setPostTaskVersion(1); |
|
|
|
|
|
|
|
|
|
String taskRelationJson = JSONUtils.toJsonString(processTaskRelationLogs); |
|
|
|
|
|
|
|
|
|
List<TaskDefinitionLog> taskDefinitionLogs = new ArrayList<>(); |
|
|
|
|
for (int i = 0; i < 1; i++) { |
|
|
|
|
TaskDefinitionLog taskDefinitionLog = new TaskDefinitionLog(); |
|
|
|
|
taskDefinitionLog.setFlag(YES); |
|
|
|
|
taskDefinitionLog.setDelayTime(0); |
|
|
|
|
taskDefinitionLog.setEnvironmentCode(-1); |
|
|
|
|
taskDefinitionLog.setFailRetryInterval(1); |
|
|
|
|
taskDefinitionLog.setFailRetryTimes(0); |
|
|
|
|
taskDefinitionLog.setTaskPriority(MEDIUM); |
|
|
|
|
taskDefinitionLog.setTimeout(0); |
|
|
|
|
taskDefinitionLog.setTimeoutFlag(TimeoutFlag.CLOSE); |
|
|
|
|
taskDefinitionLog.setTimeoutNotifyStrategy(null); |
|
|
|
|
taskDefinitionLog.setWorkerGroup("default"); |
|
|
|
|
taskDefinitionLog.setTaskType("SHELL"); |
|
|
|
|
taskDefinitionLogs.add(taskDefinitionLog); |
|
|
|
|
} |
|
|
|
|
TaskDefinitionLog taskDefinitionLogFirst = taskDefinitionLogs.get(0); |
|
|
|
|
taskDefinitionLogFirst.setCode(taskCodes.get(0)); |
|
|
|
|
taskDefinitionLogFirst.setName("Clear log node"); |
|
|
|
|
taskDefinitionLogFirst.setDescription(""); |
|
|
|
|
taskDefinitionLogFirst.setTaskParams("{\"localParams\":[],\"rawScript\":\"cd cd " + absolutePath |
|
|
|
|
+ "\\r\\nfind ./logs/ -mtime +30 -name \\\"*.log\\\" -exec rm -rf {} \\\\;\",\"resourceList\":[]}"); |
|
|
|
|
|
|
|
|
|
String taskDefinitionJson = JSONUtils.toJsonString(taskDefinitionLogs); |
|
|
|
|
|
|
|
|
|
ProxyResult ProxyResult = proxyProcessDefinitionController.createProcessDefinition(token, projectCode, |
|
|
|
|
processDefinitionLog.getName(), |
|
|
|
|
processDefinitionLog.getDescription(), |
|
|
|
|
processDefinitionLog.getGlobalParams(), |
|
|
|
|
processDefinitionLog.getLocations(), |
|
|
|
|
processDefinitionLog.getTimeout(), |
|
|
|
|
tenantCode, |
|
|
|
|
taskRelationJson, |
|
|
|
|
taskDefinitionJson, |
|
|
|
|
PARALLEL); |
|
|
|
|
return ProxyResult; |
|
|
|
|
} |
|
|
|
|
public ProxyResult dependentProxyResultDemo(String token, long projectCode, String tenantCode, |
|
|
|
|
String shellProcessCode, String switchProcessCode) { |
|
|
|
|
|
|
|
|
|
// get demo taskcode
|
|
|
|
|
List<Long> taskCodes = new ArrayList<>(); |
|
|
|
|
try { |
|
|
|
|
for (int i = 0; i < 2; i++) { |
|
|
|
|
taskCodes.add(CodeGenerateUtils.getInstance().genCode()); |
|
|
|
|
} |
|
|
|
|
} catch (CodeGenerateUtils.CodeGenerateException e) { |
|
|
|
|
logger.error("task code get error, ", e); |
|
|
|
|
} |
|
|
|
|
String taskCodeFirst = String.valueOf(taskCodes.get(0)).replaceAll("\\[|\\]", ""); |
|
|
|
|
String taskCodeSecond = String.valueOf(taskCodes.get(1)).replaceAll("\\[|\\]", ""); |
|
|
|
|
|
|
|
|
|
ProcessDefinitionLog processDefinitionLog = new ProcessDefinitionLog(); |
|
|
|
|
processDefinitionLog.setName("demo_dependent"); |
|
|
|
|
processDefinitionLog.setDescription("Check the completion of daily tasks"); |
|
|
|
|
processDefinitionLog.setGlobalParams("[]"); |
|
|
|
|
processDefinitionLog.setLocations(null); |
|
|
|
|
processDefinitionLog.setTimeout(0); |
|
|
|
|
|
|
|
|
|
List<ProcessTaskRelationLog> processTaskRelationLogs = new ArrayList<>(); |
|
|
|
|
for (int i = 0; i < 2; i++) { |
|
|
|
|
ProcessTaskRelationLog processTaskRelationLog = new ProcessTaskRelationLog(); |
|
|
|
|
processTaskRelationLog.setName(""); |
|
|
|
|
processTaskRelationLog.setConditionType(NONE); |
|
|
|
|
processTaskRelationLog.setConditionParams("{}"); |
|
|
|
|
processTaskRelationLogs.add(processTaskRelationLog); |
|
|
|
|
} |
|
|
|
|
ProcessTaskRelationLog processTaskRelationLogFirst = processTaskRelationLogs.get(0); |
|
|
|
|
processTaskRelationLogFirst.setPreTaskCode(0); |
|
|
|
|
processTaskRelationLogFirst.setPreTaskVersion(0); |
|
|
|
|
processTaskRelationLogFirst.setPostTaskCode(taskCodes.get(0)); |
|
|
|
|
processTaskRelationLogFirst.setPostTaskVersion(1); |
|
|
|
|
|
|
|
|
|
ProcessTaskRelationLog processTaskRelationLogSecond = processTaskRelationLogs.get(1); |
|
|
|
|
processTaskRelationLogSecond.setPreTaskCode(taskCodes.get(0)); |
|
|
|
|
processTaskRelationLogSecond.setPreTaskVersion(1); |
|
|
|
|
processTaskRelationLogSecond.setPostTaskCode(taskCodes.get(1)); |
|
|
|
|
processTaskRelationLogSecond.setPostTaskVersion(1); |
|
|
|
|
|
|
|
|
|
String taskRelationJson = JSONUtils.toJsonString(processTaskRelationLogs); |
|
|
|
|
|
|
|
|
|
List<TaskDefinitionLog> taskDefinitionLogs = new ArrayList<>(); |
|
|
|
|
for (int i = 0; i < 2; i++) { |
|
|
|
|
TaskDefinitionLog taskDefinitionLog = new TaskDefinitionLog(); |
|
|
|
|
taskDefinitionLog.setFlag(YES); |
|
|
|
|
taskDefinitionLog.setDelayTime(0); |
|
|
|
|
taskDefinitionLog.setEnvironmentCode(-1); |
|
|
|
|
taskDefinitionLog.setFailRetryInterval(1); |
|
|
|
|
taskDefinitionLog.setFailRetryTimes(0); |
|
|
|
|
taskDefinitionLog.setTaskPriority(MEDIUM); |
|
|
|
|
taskDefinitionLog.setTimeout(0); |
|
|
|
|
taskDefinitionLog.setTimeoutFlag(TimeoutFlag.CLOSE); |
|
|
|
|
taskDefinitionLog.setTimeoutNotifyStrategy(null); |
|
|
|
|
taskDefinitionLog.setWorkerGroup("default"); |
|
|
|
|
taskDefinitionLogs.add(taskDefinitionLog); |
|
|
|
|
} |
|
|
|
|
TaskDefinitionLog taskDefinitionLogFirst = taskDefinitionLogs.get(0); |
|
|
|
|
taskDefinitionLogFirst.setCode(taskCodes.get(0)); |
|
|
|
|
taskDefinitionLogFirst.setName("Weekly report task"); |
|
|
|
|
taskDefinitionLogFirst.setDescription( |
|
|
|
|
"The weekly report task requires the demo_shell and demo_switch tasks to be successfully executed every day of the last week"); |
|
|
|
|
taskDefinitionLogFirst.setTaskParams( |
|
|
|
|
"{\"localParams\":[],\"resourceList\":[],\"dependence\":{\"relation\":\"AND\",\"dependTaskList\":[{\"relation\":\"AND\",\"dependItemList\":[{\"projectCode\":" |
|
|
|
|
+ projectCode + ",\"definitionCode\":" + shellProcessCode |
|
|
|
|
+ ",\"depTaskCode\":0,\"cycle\":\"day\",\"dateValue\":\"last1Days\",\"state\":null},{\"projectCode\":" |
|
|
|
|
+ projectCode + ",\"definitionCode\":" + switchProcessCode |
|
|
|
|
+ ",\"depTaskCode\":0,\"cycle\":\"day\",\"dateValue\":\"last1Days\",\"state\":null}]}]}}"); |
|
|
|
|
taskDefinitionLogFirst.setTaskType("DEPENDENT"); |
|
|
|
|
|
|
|
|
|
TaskDefinitionLog taskDefinitionLogSecond = taskDefinitionLogs.get(1); |
|
|
|
|
taskDefinitionLogSecond.setCode(taskCodes.get(1)); |
|
|
|
|
taskDefinitionLogSecond.setName("Weekly Report Task Result"); |
|
|
|
|
taskDefinitionLogSecond.setDescription("Result report after the completion of the weekly report task"); |
|
|
|
|
taskDefinitionLogSecond |
|
|
|
|
.setTaskParams("{\"localParams\":[],\"rawScript\":\"echo \\\"end of report\\\"\",\"resourceList\":[]}"); |
|
|
|
|
taskDefinitionLogSecond.setTaskType("SHELL"); |
|
|
|
|
String taskDefinitionJson = JSONUtils.toJsonString(taskDefinitionLogs); |
|
|
|
|
|
|
|
|
|
ProxyResult ProxyResult = proxyProcessDefinitionController.createProcessDefinition(token, projectCode, |
|
|
|
|
processDefinitionLog.getName(), |
|
|
|
|
processDefinitionLog.getDescription(), |
|
|
|
|
processDefinitionLog.getGlobalParams(), |
|
|
|
|
processDefinitionLog.getLocations(), |
|
|
|
|
processDefinitionLog.getTimeout(), |
|
|
|
|
tenantCode, |
|
|
|
|
taskRelationJson, |
|
|
|
|
taskDefinitionJson, |
|
|
|
|
PARALLEL); |
|
|
|
|
return ProxyResult; |
|
|
|
|
} |
|
|
|
|
public ProxyResult parameterContextDemo(String token, long projectCode, String tenantCode) { |
|
|
|
|
|
|
|
|
|
// get demo taskcode
|
|
|
|
|
List<Long> taskCodes = new ArrayList<>(); |
|
|
|
|
try { |
|
|
|
|
for (int i = 0; i < 2; i++) { |
|
|
|
|
taskCodes.add(CodeGenerateUtils.getInstance().genCode()); |
|
|
|
|
} |
|
|
|
|
} catch (CodeGenerateUtils.CodeGenerateException e) { |
|
|
|
|
logger.error("task code get error, ", e); |
|
|
|
|
} |
|
|
|
|
String taskCodeFirst = String.valueOf(taskCodes.get(0)).replaceAll("\\[|\\]", ""); |
|
|
|
|
String taskCodeSecond = String.valueOf(taskCodes.get(1)).replaceAll("\\[|\\]", ""); |
|
|
|
|
|
|
|
|
|
ProcessDefinitionLog processDefinitionLog = new ProcessDefinitionLog(); |
|
|
|
|
processDefinitionLog.setName("demo_parameter_context"); |
|
|
|
|
processDefinitionLog.setDescription("Upstream and downstream task node parameter transfer"); |
|
|
|
|
processDefinitionLog.setGlobalParams(DemoContants.PARAMETER_CONTEXT_PARAMS); |
|
|
|
|
processDefinitionLog.setLocations(null); |
|
|
|
|
processDefinitionLog.setTimeout(0); |
|
|
|
|
|
|
|
|
|
List<ProcessTaskRelationLog> processTaskRelationLogs = new ArrayList<>(); |
|
|
|
|
for (int i = 0; i < 2; i++) { |
|
|
|
|
ProcessTaskRelationLog processTaskRelationLog = new ProcessTaskRelationLog(); |
|
|
|
|
processTaskRelationLog.setName(""); |
|
|
|
|
processTaskRelationLog.setConditionType(NONE); |
|
|
|
|
processTaskRelationLog.setConditionParams("{}"); |
|
|
|
|
processTaskRelationLogs.add(processTaskRelationLog); |
|
|
|
|
} |
|
|
|
|
ProcessTaskRelationLog processTaskRelationLogFirst = processTaskRelationLogs.get(0); |
|
|
|
|
processTaskRelationLogFirst.setPreTaskCode(0); |
|
|
|
|
processTaskRelationLogFirst.setPreTaskVersion(0); |
|
|
|
|
processTaskRelationLogFirst.setPostTaskCode(taskCodes.get(0)); |
|
|
|
|
processTaskRelationLogFirst.setPostTaskVersion(1); |
|
|
|
|
|
|
|
|
|
ProcessTaskRelationLog processTaskRelationLogSecond = processTaskRelationLogs.get(1); |
|
|
|
|
processTaskRelationLogSecond.setPreTaskCode(taskCodes.get(0)); |
|
|
|
|
processTaskRelationLogSecond.setPreTaskVersion(1); |
|
|
|
|
processTaskRelationLogSecond.setPostTaskCode(taskCodes.get(1)); |
|
|
|
|
processTaskRelationLogSecond.setPostTaskVersion(1); |
|
|
|
|
|
|
|
|
|
String taskRelationJson = JSONUtils.toJsonString(processTaskRelationLogs); |
|
|
|
|
|
|
|
|
|
List<TaskDefinitionLog> taskDefinitionLogs = new ArrayList<>(); |
|
|
|
|
for (int i = 0; i < 2; i++) { |
|
|
|
|
TaskDefinitionLog taskDefinitionLog = new TaskDefinitionLog(); |
|
|
|
|
taskDefinitionLog.setFlag(YES); |
|
|
|
|
taskDefinitionLog.setDelayTime(0); |
|
|
|
|
taskDefinitionLog.setEnvironmentCode(-1); |
|
|
|
|
taskDefinitionLog.setFailRetryInterval(1); |
|
|
|
|
taskDefinitionLog.setFailRetryTimes(0); |
|
|
|
|
taskDefinitionLog.setTaskPriority(MEDIUM); |
|
|
|
|
taskDefinitionLog.setTimeout(0); |
|
|
|
|
taskDefinitionLog.setTimeoutFlag(TimeoutFlag.CLOSE); |
|
|
|
|
taskDefinitionLog.setTimeoutNotifyStrategy(null); |
|
|
|
|
taskDefinitionLog.setWorkerGroup("default"); |
|
|
|
|
taskDefinitionLog.setTaskType("SHELL"); |
|
|
|
|
taskDefinitionLogs.add(taskDefinitionLog); |
|
|
|
|
} |
|
|
|
|
TaskDefinitionLog taskDefinitionLogFirst = taskDefinitionLogs.get(0); |
|
|
|
|
taskDefinitionLogFirst.setCode(taskCodes.get(0)); |
|
|
|
|
taskDefinitionLogFirst.setName("Upstream task node"); |
|
|
|
|
taskDefinitionLogFirst.setDescription("Create a local parameter and pass the assignment to the downstream"); |
|
|
|
|
taskDefinitionLogFirst.setTaskParams( |
|
|
|
|
"{\"localParams\":[{\"prop\":\"value\",\"direct\":\"IN\",\"type\":\"VARCHAR\",\"value\":\"0\"},{\"prop\":\"output\",\"direct\":\"OUT\",\"type\":\"VARCHAR\",\"value\":\"\"}],\"rawScript\":\"echo \\\"====Node start====\\\"\\r\\necho '${setValue(output=1)}'\\r\\n\\r\\necho ${output}\\r\\necho ${value}\\r\\n\\r\\necho \\\"====Node end====\\\"\",\"resourceList\":[]}"); |
|
|
|
|
|
|
|
|
|
TaskDefinitionLog taskDefinitionLogSecond = taskDefinitionLogs.get(1); |
|
|
|
|
taskDefinitionLogSecond.setCode(taskCodes.get(1)); |
|
|
|
|
taskDefinitionLogSecond.setName("Downstream task node"); |
|
|
|
|
taskDefinitionLogSecond.setDescription("Test outputs the parameters passed by the upstream task"); |
|
|
|
|
taskDefinitionLogSecond.setTaskParams( |
|
|
|
|
"{\"localParams\":[],\"rawScript\":\"echo \\\"====node start====\\\"\\r\\n\\r\\necho ${output}\\r\\n\\r\\necho ${value}\\r\\n\\r\\necho \\\"====Node end====\\\"\",\"resourceList\":[]}"); |
|
|
|
|
String taskDefinitionJson = JSONUtils.toJsonString(taskDefinitionLogs); |
|
|
|
|
|
|
|
|
|
ProxyResult ProxyResult = proxyProcessDefinitionController.createProcessDefinition(token, projectCode, |
|
|
|
|
processDefinitionLog.getName(), |
|
|
|
|
processDefinitionLog.getDescription(), |
|
|
|
|
processDefinitionLog.getGlobalParams(), |
|
|
|
|
processDefinitionLog.getLocations(), |
|
|
|
|
processDefinitionLog.getTimeout(), |
|
|
|
|
tenantCode, |
|
|
|
|
taskRelationJson, |
|
|
|
|
taskDefinitionJson, |
|
|
|
|
PARALLEL); |
|
|
|
|
return ProxyResult; |
|
|
|
|
} |
|
|
|
|
public ProxyResult conditionDemo(String token, long projectCode, String tenantCode) { |
|
|
|
|
|
|
|
|
|
// get demo taskcode
|
|
|
|
|
List<Long> taskCodes = new ArrayList<>(); |
|
|
|
|
try { |
|
|
|
|
for (int i = 0; i < 4; i++) { |
|
|
|
|
taskCodes.add(CodeGenerateUtils.getInstance().genCode()); |
|
|
|
|
} |
|
|
|
|
} catch (CodeGenerateUtils.CodeGenerateException e) { |
|
|
|
|
logger.error("task code get error, ", e); |
|
|
|
|
} |
|
|
|
|
String taskCodeFirst = String.valueOf(taskCodes.get(0)).replaceAll("\\[|\\]", ""); |
|
|
|
|
String taskCodeSecond = String.valueOf(taskCodes.get(1)).replaceAll("\\[|\\]", ""); |
|
|
|
|
String taskCodeThird = String.valueOf(taskCodes.get(2)).replaceAll("\\[|\\]", ""); |
|
|
|
|
String taskCodeFourth = String.valueOf(taskCodes.get(3)).replaceAll("\\[|\\]", ""); |
|
|
|
|
|
|
|
|
|
ProcessDefinitionLog processDefinitionLog = new ProcessDefinitionLog(); |
|
|
|
|
processDefinitionLog.setName("demo_condition"); |
|
|
|
|
processDefinitionLog.setDescription("Coin Toss"); |
|
|
|
|
processDefinitionLog.setGlobalParams("[]"); |
|
|
|
|
processDefinitionLog.setLocations(null); |
|
|
|
|
processDefinitionLog.setTimeout(0); |
|
|
|
|
|
|
|
|
|
List<ProcessTaskRelationLog> processTaskRelationLogs = new ArrayList<>(); |
|
|
|
|
for (int i = 0; i < 4; i++) { |
|
|
|
|
ProcessTaskRelationLog processTaskRelationLog = new ProcessTaskRelationLog(); |
|
|
|
|
processTaskRelationLog.setName(""); |
|
|
|
|
processTaskRelationLog.setConditionType(NONE); |
|
|
|
|
processTaskRelationLog.setConditionParams("{}"); |
|
|
|
|
processTaskRelationLogs.add(processTaskRelationLog); |
|
|
|
|
} |
|
|
|
|
ProcessTaskRelationLog processTaskRelationLogFirst = processTaskRelationLogs.get(0); |
|
|
|
|
processTaskRelationLogFirst.setPreTaskCode(0); |
|
|
|
|
processTaskRelationLogFirst.setPreTaskVersion(0); |
|
|
|
|
processTaskRelationLogFirst.setPostTaskCode(taskCodes.get(1)); |
|
|
|
|
processTaskRelationLogFirst.setPostTaskVersion(1); |
|
|
|
|
|
|
|
|
|
ProcessTaskRelationLog processTaskRelationLogSecond = processTaskRelationLogs.get(1); |
|
|
|
|
processTaskRelationLogSecond.setPreTaskCode(taskCodes.get(0)); |
|
|
|
|
processTaskRelationLogSecond.setPreTaskVersion(1); |
|
|
|
|
processTaskRelationLogSecond.setPostTaskCode(taskCodes.get(2)); |
|
|
|
|
processTaskRelationLogSecond.setPostTaskVersion(1); |
|
|
|
|
|
|
|
|
|
ProcessTaskRelationLog processTaskRelationLogThird = processTaskRelationLogs.get(2); |
|
|
|
|
processTaskRelationLogThird.setPreTaskCode(taskCodes.get(0)); |
|
|
|
|
processTaskRelationLogThird.setPreTaskVersion(1); |
|
|
|
|
processTaskRelationLogThird.setPostTaskCode(taskCodes.get(3)); |
|
|
|
|
processTaskRelationLogThird.setPostTaskVersion(1); |
|
|
|
|
|
|
|
|
|
ProcessTaskRelationLog processTaskRelationLogFourth = processTaskRelationLogs.get(3); |
|
|
|
|
processTaskRelationLogFourth.setPreTaskCode(taskCodes.get(1)); |
|
|
|
|
processTaskRelationLogFourth.setPreTaskVersion(1); |
|
|
|
|
processTaskRelationLogFourth.setPostTaskCode(taskCodes.get(0)); |
|
|
|
|
processTaskRelationLogFourth.setPostTaskVersion(1); |
|
|
|
|
String taskRelationJson = JSONUtils.toJsonString(processTaskRelationLogs); |
|
|
|
|
|
|
|
|
|
List<TaskDefinitionLog> taskDefinitionLogs = new ArrayList<>(); |
|
|
|
|
for (int i = 0; i < 4; i++) { |
|
|
|
|
TaskDefinitionLog taskDefinitionLog = new TaskDefinitionLog(); |
|
|
|
|
taskDefinitionLog.setFlag(YES); |
|
|
|
|
taskDefinitionLog.setDelayTime(0); |
|
|
|
|
taskDefinitionLog.setEnvironmentCode(-1); |
|
|
|
|
taskDefinitionLog.setFailRetryInterval(1); |
|
|
|
|
taskDefinitionLog.setFailRetryTimes(0); |
|
|
|
|
taskDefinitionLog.setTaskPriority(MEDIUM); |
|
|
|
|
taskDefinitionLog.setTimeout(0); |
|
|
|
|
taskDefinitionLog.setTimeoutFlag(TimeoutFlag.CLOSE); |
|
|
|
|
taskDefinitionLog.setTimeoutNotifyStrategy(null); |
|
|
|
|
taskDefinitionLog.setWorkerGroup("default"); |
|
|
|
|
taskDefinitionLogs.add(taskDefinitionLog); |
|
|
|
|
} |
|
|
|
|
TaskDefinitionLog taskDefinitionLogFirst = taskDefinitionLogs.get(0); |
|
|
|
|
taskDefinitionLogFirst.setCode(taskCodes.get(0)); |
|
|
|
|
taskDefinitionLogFirst.setName("condition"); |
|
|
|
|
taskDefinitionLogFirst.setDescription("head is the status of success, tail is the status of failure"); |
|
|
|
|
taskDefinitionLogFirst.setTaskParams( |
|
|
|
|
"{\"localParams\":[],\"resourceList\":[],\"dependence\":{\"relation\":\"AND\",\"dependTaskList\":[]},\"conditionResult\":{\"successNode\":[" |
|
|
|
|
+ taskCodeThird + "],\"failedNode\":[" + taskCodeFourth + "]}}"); |
|
|
|
|
taskDefinitionLogFirst.setTaskType("CONDITIONS"); |
|
|
|
|
|
|
|
|
|
TaskDefinitionLog taskDefinitionLogSecond = taskDefinitionLogs.get(1); |
|
|
|
|
taskDefinitionLogSecond.setCode(taskCodes.get(1)); |
|
|
|
|
taskDefinitionLogSecond.setName("coin"); |
|
|
|
|
taskDefinitionLogSecond.setDescription("Toss a coin"); |
|
|
|
|
taskDefinitionLogSecond |
|
|
|
|
.setTaskParams("{\"localParams\":[],\"rawScript\":\"echo \\\"Start\\\"\",\"resourceList\":[]}"); |
|
|
|
|
taskDefinitionLogSecond.setTaskType("SHELL"); |
|
|
|
|
|
|
|
|
|
TaskDefinitionLog taskDefinitionLogThird = taskDefinitionLogs.get(2); |
|
|
|
|
taskDefinitionLogThird.setCode(taskCodes.get(2)); |
|
|
|
|
taskDefinitionLogThird.setName("head"); |
|
|
|
|
taskDefinitionLogThird.setDescription("Choose to learn if the result is head"); |
|
|
|
|
taskDefinitionLogThird.setTaskParams( |
|
|
|
|
"{\"localParams\":[],\"rawScript\":\"echo \\\"Start learning\\\"\",\"resourceList\":[]}"); |
|
|
|
|
taskDefinitionLogThird.setTaskType("SHELL"); |
|
|
|
|
|
|
|
|
|
TaskDefinitionLog taskDefinitionLogFourth = taskDefinitionLogs.get(3); |
|
|
|
|
taskDefinitionLogFourth.setCode(taskCodes.get(3)); |
|
|
|
|
taskDefinitionLogFourth.setName("tail"); |
|
|
|
|
taskDefinitionLogFourth.setDescription("Choose to play if the result is tail"); |
|
|
|
|
taskDefinitionLogFourth |
|
|
|
|
.setTaskParams("{\"localParams\":[],\"rawScript\":\"echo \\\"Start playing\\\"\",\"resourceList\":[]}"); |
|
|
|
|
taskDefinitionLogFourth.setTaskType("SHELL"); |
|
|
|
|
String taskDefinitionJson = JSONUtils.toJsonString(taskDefinitionLogs); |
|
|
|
|
|
|
|
|
|
ProxyResult ProxyResult = proxyProcessDefinitionController.createProcessDefinition(token, projectCode, |
|
|
|
|
processDefinitionLog.getName(), |
|
|
|
|
processDefinitionLog.getDescription(), |
|
|
|
|
processDefinitionLog.getGlobalParams(), |
|
|
|
|
processDefinitionLog.getLocations(), |
|
|
|
|
processDefinitionLog.getTimeout(), |
|
|
|
|
tenantCode, |
|
|
|
|
taskRelationJson, |
|
|
|
|
taskDefinitionJson, |
|
|
|
|
PARALLEL); |
|
|
|
|
return ProxyResult; |
|
|
|
|
} |
|
|
|
|
public ProxyResult swicthDemo(String token, long projectCode, String tenantCode) { |
|
|
|
|
|
|
|
|
|
// get demo taskcode
|
|
|
|
|
List<Long> taskCodes = new ArrayList<>(); |
|
|
|
|
try { |
|
|
|
|
for (int i = 0; i < 4; i++) { |
|
|
|
|
taskCodes.add(CodeGenerateUtils.getInstance().genCode()); |
|
|
|
|
} |
|
|
|
|
} catch (CodeGenerateUtils.CodeGenerateException e) { |
|
|
|
|
logger.error("task code get error, ", e); |
|
|
|
|
} |
|
|
|
|
String taskCodeFirst = String.valueOf(taskCodes.get(0)).replaceAll("\\[|\\]", ""); |
|
|
|
|
String taskCodeSecond = String.valueOf(taskCodes.get(1)).replaceAll("\\[|\\]", ""); |
|
|
|
|
String taskCodeThird = String.valueOf(taskCodes.get(2)).replaceAll("\\[|\\]", ""); |
|
|
|
|
String taskCodeFourth = String.valueOf(taskCodes.get(3)).replaceAll("\\[|\\]", ""); |
|
|
|
|
|
|
|
|
|
ProcessDefinitionLog processDefinitionLog = new ProcessDefinitionLog(); |
|
|
|
|
processDefinitionLog.setName("demo_switch"); |
|
|
|
|
processDefinitionLog.setDescription("Determine which task to perform based on conditions"); |
|
|
|
|
processDefinitionLog.setGlobalParams(DemoContants.SWITCH_GLOBAL_PARAMS); |
|
|
|
|
processDefinitionLog.setLocations(null); |
|
|
|
|
processDefinitionLog.setTimeout(0); |
|
|
|
|
|
|
|
|
|
List<ProcessTaskRelationLog> processTaskRelationLogs = new ArrayList<>(); |
|
|
|
|
for (int i = 0; i < 4; i++) { |
|
|
|
|
ProcessTaskRelationLog processTaskRelationLog = new ProcessTaskRelationLog(); |
|
|
|
|
processTaskRelationLog.setName(""); |
|
|
|
|
processTaskRelationLog.setConditionType(NONE); |
|
|
|
|
processTaskRelationLog.setConditionParams("{}"); |
|
|
|
|
processTaskRelationLogs.add(processTaskRelationLog); |
|
|
|
|
} |
|
|
|
|
ProcessTaskRelationLog processTaskRelationLogFirst = processTaskRelationLogs.get(0); |
|
|
|
|
processTaskRelationLogFirst.setPreTaskCode(0); |
|
|
|
|
processTaskRelationLogFirst.setPreTaskVersion(0); |
|
|
|
|
processTaskRelationLogFirst.setPostTaskCode(taskCodes.get(0)); |
|
|
|
|
processTaskRelationLogFirst.setPostTaskVersion(1); |
|
|
|
|
|
|
|
|
|
ProcessTaskRelationLog processTaskRelationLogSecond = processTaskRelationLogs.get(1); |
|
|
|
|
processTaskRelationLogSecond.setPreTaskCode(taskCodes.get(0)); |
|
|
|
|
processTaskRelationLogSecond.setPreTaskVersion(1); |
|
|
|
|
processTaskRelationLogSecond.setPostTaskCode(taskCodes.get(1)); |
|
|
|
|
processTaskRelationLogSecond.setPostTaskVersion(1); |
|
|
|
|
|
|
|
|
|
ProcessTaskRelationLog processTaskRelationLogThird = processTaskRelationLogs.get(2); |
|
|
|
|
processTaskRelationLogThird.setPreTaskCode(taskCodes.get(0)); |
|
|
|
|
processTaskRelationLogThird.setPreTaskVersion(1); |
|
|
|
|
processTaskRelationLogThird.setPostTaskCode(taskCodes.get(2)); |
|
|
|
|
processTaskRelationLogThird.setPostTaskVersion(1); |
|
|
|
|
|
|
|
|
|
ProcessTaskRelationLog processTaskRelationLogFourth = processTaskRelationLogs.get(3); |
|
|
|
|
processTaskRelationLogFourth.setPreTaskCode(taskCodes.get(0)); |
|
|
|
|
processTaskRelationLogFourth.setPreTaskVersion(1); |
|
|
|
|
processTaskRelationLogFourth.setPostTaskCode(taskCodes.get(3)); |
|
|
|
|
processTaskRelationLogFourth.setPostTaskVersion(1); |
|
|
|
|
String taskRelationJson = JSONUtils.toJsonString(processTaskRelationLogs); |
|
|
|
|
|
|
|
|
|
List<TaskDefinitionLog> taskDefinitionLogs = new ArrayList<>(); |
|
|
|
|
for (int i = 0; i < 4; i++) { |
|
|
|
|
TaskDefinitionLog taskDefinitionLog = new TaskDefinitionLog(); |
|
|
|
|
taskDefinitionLog.setFlag(YES); |
|
|
|
|
taskDefinitionLog.setDelayTime(0); |
|
|
|
|
taskDefinitionLog.setEnvironmentCode(-1); |
|
|
|
|
taskDefinitionLog.setFailRetryInterval(1); |
|
|
|
|
taskDefinitionLog.setFailRetryTimes(0); |
|
|
|
|
taskDefinitionLog.setTaskPriority(MEDIUM); |
|
|
|
|
taskDefinitionLog.setTimeout(0); |
|
|
|
|
taskDefinitionLog.setTimeoutFlag(TimeoutFlag.CLOSE); |
|
|
|
|
taskDefinitionLog.setTimeoutNotifyStrategy(null); |
|
|
|
|
taskDefinitionLog.setWorkerGroup("default"); |
|
|
|
|
taskDefinitionLogs.add(taskDefinitionLog); |
|
|
|
|
} |
|
|
|
|
TaskDefinitionLog taskDefinitionLogFirst = taskDefinitionLogs.get(0); |
|
|
|
|
taskDefinitionLogFirst.setCode(taskCodes.get(0)); |
|
|
|
|
taskDefinitionLogFirst.setName("switch node"); |
|
|
|
|
taskDefinitionLogFirst.setDescription( |
|
|
|
|
"The global parameter is to execute TaskA for A, and for B to execute TaskB, otherwise the default task is executed"); |
|
|
|
|
taskDefinitionLogFirst.setTaskParams( |
|
|
|
|
"{\"localParams\":[],\"rawScript\":\"\",\"resourceList\":[],\"switchResult\":{\"dependTaskList\":[{\"condition\":\"${switchValue} == \\\"A\\\"\",\"nextNode\":" |
|
|
|
|
+ taskCodeThird + "},{\"condition\":\"${switchValue} == \\\"B\\\"\",\"nextNode\":" |
|
|
|
|
+ taskCodeFourth + "}],\"nextNode\":" + taskCodeSecond + "}}"); |
|
|
|
|
taskDefinitionLogFirst.setTaskType("SWITCH"); |
|
|
|
|
|
|
|
|
|
TaskDefinitionLog taskDefinitionLogSecond = taskDefinitionLogs.get(1); |
|
|
|
|
taskDefinitionLogSecond.setCode(taskCodes.get(1)); |
|
|
|
|
taskDefinitionLogSecond.setName("default"); |
|
|
|
|
taskDefinitionLogSecond.setDescription("executed default task"); |
|
|
|
|
taskDefinitionLogSecond |
|
|
|
|
.setTaskParams("{\"localParams\":[],\"rawScript\":\"echo \\\"default\\\"\",\"resourceList\":[]}"); |
|
|
|
|
taskDefinitionLogSecond.setTaskType("SHELL"); |
|
|
|
|
|
|
|
|
|
TaskDefinitionLog taskDefinitionLogThird = taskDefinitionLogs.get(2); |
|
|
|
|
taskDefinitionLogThird.setCode(taskCodes.get(2)); |
|
|
|
|
taskDefinitionLogThird.setName("TaskA"); |
|
|
|
|
taskDefinitionLogThird.setDescription("execute TaskA"); |
|
|
|
|
taskDefinitionLogThird |
|
|
|
|
.setTaskParams("{\"localParams\":[],\"rawScript\":\"echo \\\"TaskA\\\"\",\"resourceList\":[]}"); |
|
|
|
|
taskDefinitionLogThird.setTaskType("SHELL"); |
|
|
|
|
|
|
|
|
|
TaskDefinitionLog taskDefinitionLogFourth = taskDefinitionLogs.get(3); |
|
|
|
|
taskDefinitionLogFourth.setCode(taskCodes.get(3)); |
|
|
|
|
taskDefinitionLogFourth.setName("TaskB"); |
|
|
|
|
taskDefinitionLogFourth.setDescription("execute TaskB"); |
|
|
|
|
taskDefinitionLogFourth |
|
|
|
|
.setTaskParams("{\"localParams\":[],\"rawScript\":\"echo \\\"TaskB\\\"\",\"resourceList\":[]}"); |
|
|
|
|
taskDefinitionLogFourth.setTaskType("SHELL"); |
|
|
|
|
String taskDefinitionJson = JSONUtils.toJsonString(taskDefinitionLogs); |
|
|
|
|
|
|
|
|
|
ProxyResult ProxyResult = proxyProcessDefinitionController.createProcessDefinition(token, projectCode, |
|
|
|
|
processDefinitionLog.getName(), |
|
|
|
|
processDefinitionLog.getDescription(), |
|
|
|
|
processDefinitionLog.getGlobalParams(), |
|
|
|
|
processDefinitionLog.getLocations(), |
|
|
|
|
processDefinitionLog.getTimeout(), |
|
|
|
|
tenantCode, |
|
|
|
|
taskRelationJson, |
|
|
|
|
taskDefinitionJson, |
|
|
|
|
PARALLEL); |
|
|
|
|
return ProxyResult; |
|
|
|
|
} |
|
|
|
|
public ProxyResult shellDemo(String token, long projectCode, String tenantCode) { |
|
|
|
|
|
|
|
|
|
// get demo taskcode
|
|
|
|
|
List<Long> taskCodes = new ArrayList<>(); |
|
|
|
|
try { |
|
|
|
|
for (int i = 0; i < 3; i++) { |
|
|
|
|
taskCodes.add(CodeGenerateUtils.getInstance().genCode()); |
|
|
|
|
} |
|
|
|
|
} catch (CodeGenerateUtils.CodeGenerateException e) { |
|
|
|
|
logger.error("task code get error, ", e); |
|
|
|
|
} |
|
|
|
|
String taskCodeFirst = String.valueOf(taskCodes.get(0)).replaceAll("\\[|\\]", ""); |
|
|
|
|
String taskCodeSecond = String.valueOf(taskCodes.get(1)).replaceAll("\\[|\\]", ""); |
|
|
|
|
String taskCodeThird = String.valueOf(taskCodes.get(2)).replaceAll("\\[|\\]", ""); |
|
|
|
|
|
|
|
|
|
ProcessDefinitionLog processDefinitionLog = new ProcessDefinitionLog(); |
|
|
|
|
processDefinitionLog.setName("demo_shell"); |
|
|
|
|
processDefinitionLog.setDescription("Production, processing and sales of a series of processes"); |
|
|
|
|
processDefinitionLog.setGlobalParams(DemoContants.SHELL_GLOBAL_PARAMS); |
|
|
|
|
processDefinitionLog.setLocations(null); |
|
|
|
|
processDefinitionLog.setTimeout(0); |
|
|
|
|
|
|
|
|
|
List<ProcessTaskRelationLog> processTaskRelationLogs = new ArrayList<>(); |
|
|
|
|
for (int i = 0; i < 3; i++) { |
|
|
|
|
ProcessTaskRelationLog processTaskRelationLog = new ProcessTaskRelationLog(); |
|
|
|
|
processTaskRelationLog.setName(""); |
|
|
|
|
processTaskRelationLog.setConditionType(NONE); |
|
|
|
|
processTaskRelationLog.setConditionParams("{}"); |
|
|
|
|
processTaskRelationLogs.add(processTaskRelationLog); |
|
|
|
|
} |
|
|
|
|
ProcessTaskRelationLog processTaskRelationLogFirst = processTaskRelationLogs.get(0); |
|
|
|
|
processTaskRelationLogFirst.setPreTaskCode(0); |
|
|
|
|
processTaskRelationLogFirst.setPreTaskVersion(0); |
|
|
|
|
processTaskRelationLogFirst.setPostTaskCode(taskCodes.get(0)); |
|
|
|
|
processTaskRelationLogFirst.setPostTaskVersion(1); |
|
|
|
|
|
|
|
|
|
ProcessTaskRelationLog processTaskRelationLogSecond = processTaskRelationLogs.get(1); |
|
|
|
|
processTaskRelationLogSecond.setPreTaskCode(taskCodes.get(0)); |
|
|
|
|
processTaskRelationLogSecond.setPreTaskVersion(1); |
|
|
|
|
processTaskRelationLogSecond.setPostTaskCode(taskCodes.get(1)); |
|
|
|
|
processTaskRelationLogSecond.setPostTaskVersion(1); |
|
|
|
|
|
|
|
|
|
ProcessTaskRelationLog processTaskRelationLogThird = processTaskRelationLogs.get(2); |
|
|
|
|
processTaskRelationLogThird.setPreTaskCode(taskCodes.get(1)); |
|
|
|
|
processTaskRelationLogThird.setPreTaskVersion(1); |
|
|
|
|
processTaskRelationLogThird.setPostTaskCode(taskCodes.get(2)); |
|
|
|
|
processTaskRelationLogThird.setPostTaskVersion(1); |
|
|
|
|
String taskRelationJson = JSONUtils.toJsonString(processTaskRelationLogs); |
|
|
|
|
|
|
|
|
|
List<TaskDefinitionLog> taskDefinitionLogs = new ArrayList<>(); |
|
|
|
|
for (int i = 0; i < 3; i++) { |
|
|
|
|
TaskDefinitionLog taskDefinitionLog = new TaskDefinitionLog(); |
|
|
|
|
taskDefinitionLog.setFlag(YES); |
|
|
|
|
taskDefinitionLog.setDelayTime(0); |
|
|
|
|
taskDefinitionLog.setEnvironmentCode(-1); |
|
|
|
|
taskDefinitionLog.setFailRetryInterval(1); |
|
|
|
|
taskDefinitionLog.setFailRetryTimes(0); |
|
|
|
|
taskDefinitionLog.setTaskPriority(MEDIUM); |
|
|
|
|
taskDefinitionLog.setTimeout(0); |
|
|
|
|
taskDefinitionLog.setTimeoutFlag(TimeoutFlag.CLOSE); |
|
|
|
|
taskDefinitionLog.setTimeoutNotifyStrategy(null); |
|
|
|
|
taskDefinitionLog.setWorkerGroup("default"); |
|
|
|
|
taskDefinitionLog.setTaskType("SHELL"); |
|
|
|
|
taskDefinitionLogs.add(taskDefinitionLog); |
|
|
|
|
} |
|
|
|
|
TaskDefinitionLog taskDefinitionLogFirst = taskDefinitionLogs.get(0); |
|
|
|
|
taskDefinitionLogFirst.setCode(taskCodes.get(0)); |
|
|
|
|
taskDefinitionLogFirst.setName("001"); |
|
|
|
|
taskDefinitionLogFirst.setDescription("Make production order"); |
|
|
|
|
taskDefinitionLogFirst |
|
|
|
|
.setTaskParams("{\"localParams\":[],\"rawScript\":\"echo \\\"start\\\"\",\"resourceList\":[]}"); |
|
|
|
|
|
|
|
|
|
TaskDefinitionLog taskDefinitionLogSecond = taskDefinitionLogs.get(1); |
|
|
|
|
taskDefinitionLogSecond.setCode(taskCodes.get(1)); |
|
|
|
|
taskDefinitionLogSecond.setName("002"); |
|
|
|
|
taskDefinitionLogSecond.setDescription("Get Information Processing"); |
|
|
|
|
taskDefinitionLogSecond |
|
|
|
|
.setTaskParams("{\"localParams\":[],\"rawScript\":\"echo ${resources}\",\"resourceList\":[]}"); |
|
|
|
|
|
|
|
|
|
TaskDefinitionLog taskDefinitionLogThird = taskDefinitionLogs.get(2); |
|
|
|
|
taskDefinitionLogThird.setCode(taskCodes.get(2)); |
|
|
|
|
taskDefinitionLogThird.setName("003"); |
|
|
|
|
taskDefinitionLogThird.setDescription("Sell after completion"); |
|
|
|
|
taskDefinitionLogThird |
|
|
|
|
.setTaskParams("{\"localParams\":[],\"rawScript\":\"echo \\\"end\\\"\",\"resourceList\":[]}"); |
|
|
|
|
String taskDefinitionJson = JSONUtils.toJsonString(taskDefinitionLogs); |
|
|
|
|
|
|
|
|
|
ProxyResult ProxyResult = proxyProcessDefinitionController.createProcessDefinition(token, projectCode, |
|
|
|
|
processDefinitionLog.getName(), |
|
|
|
|
processDefinitionLog.getDescription(), |
|
|
|
|
processDefinitionLog.getGlobalParams(), |
|
|
|
|
processDefinitionLog.getLocations(), |
|
|
|
|
processDefinitionLog.getTimeout(), |
|
|
|
|
tenantCode, |
|
|
|
|
taskRelationJson, |
|
|
|
|
taskDefinitionJson, |
|
|
|
|
PARALLEL); |
|
|
|
|
return ProxyResult; |
|
|
|
|
} |
|
|
|
|
public ProxyResult subProcessDemo(String token, long projectCode, String tenantCode, String subProcessCode) { |
|
|
|
|
|
|
|
|
|
// get demo taskcode
|
|
|
|
|
List<Long> taskCodes = new ArrayList<>(); |
|
|
|
|
try { |
|
|
|
|
for (int i = 0; i < 1; i++) { |
|
|
|
|
taskCodes.add(CodeGenerateUtils.getInstance().genCode()); |
|
|
|
|
} |
|
|
|
|
} catch (CodeGenerateUtils.CodeGenerateException e) { |
|
|
|
|
logger.error("task code get error, ", e); |
|
|
|
|
} |
|
|
|
|
String taskCode = String.valueOf(taskCodes.get(0)).replaceAll("\\[|\\]", ""); |
|
|
|
|
|
|
|
|
|
ProcessDefinitionLog processDefinitionLog = new ProcessDefinitionLog(); |
|
|
|
|
processDefinitionLog.setName("demo_sub_process"); |
|
|
|
|
processDefinitionLog.setDescription("Start the production line"); |
|
|
|
|
processDefinitionLog.setGlobalParams("[]"); |
|
|
|
|
processDefinitionLog.setLocations(null); |
|
|
|
|
processDefinitionLog.setTimeout(0); |
|
|
|
|
|
|
|
|
|
List<ProcessTaskRelationLog> processTaskRelationLogs = new ArrayList<>(); |
|
|
|
|
for (int i = 0; i < 1; i++) { |
|
|
|
|
ProcessTaskRelationLog processTaskRelationLog = new ProcessTaskRelationLog(); |
|
|
|
|
processTaskRelationLog.setName(""); |
|
|
|
|
processTaskRelationLog.setConditionType(NONE); |
|
|
|
|
processTaskRelationLog.setConditionParams("{}"); |
|
|
|
|
processTaskRelationLogs.add(processTaskRelationLog); |
|
|
|
|
} |
|
|
|
|
ProcessTaskRelationLog processTaskRelationLogFirst = processTaskRelationLogs.get(0); |
|
|
|
|
processTaskRelationLogFirst.setPreTaskCode(0); |
|
|
|
|
processTaskRelationLogFirst.setPreTaskVersion(0); |
|
|
|
|
processTaskRelationLogFirst.setPostTaskCode(taskCodes.get(0)); |
|
|
|
|
processTaskRelationLogFirst.setPostTaskVersion(1); |
|
|
|
|
|
|
|
|
|
String taskRelationJson = JSONUtils.toJsonString(processTaskRelationLogs); |
|
|
|
|
|
|
|
|
|
List<TaskDefinitionLog> taskDefinitionLogs = new ArrayList<>(); |
|
|
|
|
for (int i = 0; i < 1; i++) { |
|
|
|
|
TaskDefinitionLog taskDefinitionLog = new TaskDefinitionLog(); |
|
|
|
|
taskDefinitionLog.setFlag(YES); |
|
|
|
|
taskDefinitionLog.setDelayTime(0); |
|
|
|
|
taskDefinitionLog.setEnvironmentCode(-1); |
|
|
|
|
taskDefinitionLog.setFailRetryInterval(1); |
|
|
|
|
taskDefinitionLog.setFailRetryTimes(0); |
|
|
|
|
taskDefinitionLog.setTaskPriority(MEDIUM); |
|
|
|
|
taskDefinitionLog.setTimeout(0); |
|
|
|
|
taskDefinitionLog.setTimeoutFlag(TimeoutFlag.CLOSE); |
|
|
|
|
taskDefinitionLog.setTimeoutNotifyStrategy(null); |
|
|
|
|
taskDefinitionLog.setWorkerGroup("default"); |
|
|
|
|
taskDefinitionLog.setTaskType("SUB_PROCESS"); |
|
|
|
|
taskDefinitionLogs.add(taskDefinitionLog); |
|
|
|
|
} |
|
|
|
|
TaskDefinitionLog taskDefinitionLogFirst = taskDefinitionLogs.get(0); |
|
|
|
|
taskDefinitionLogFirst.setCode(taskCodes.get(0)); |
|
|
|
|
taskDefinitionLogFirst.setName("subprocess node"); |
|
|
|
|
taskDefinitionLogFirst.setDescription("Enter the demo_shell subnode"); |
|
|
|
|
taskDefinitionLogFirst.setTaskParams( |
|
|
|
|
"{\"localParams\":[],\"resourceList\":[],\"processDefinitionCode\":" + subProcessCode + "}"); |
|
|
|
|
|
|
|
|
|
String taskDefinitionJson = JSONUtils.toJsonString(taskDefinitionLogs); |
|
|
|
|
|
|
|
|
|
ProxyResult ProxyResult = proxyProcessDefinitionController.createProcessDefinition(token, projectCode, |
|
|
|
|
processDefinitionLog.getName(), |
|
|
|
|
processDefinitionLog.getDescription(), |
|
|
|
|
processDefinitionLog.getGlobalParams(), |
|
|
|
|
processDefinitionLog.getLocations(), |
|
|
|
|
processDefinitionLog.getTimeout(), |
|
|
|
|
tenantCode, |
|
|
|
|
taskRelationJson, |
|
|
|
|
taskDefinitionJson, |
|
|
|
|
PARALLEL); |
|
|
|
|
return ProxyResult; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |