Skip to content

Commit b2ecce7

Browse files
Optimize CodeParser.
1 parent ece3a69 commit b2ecce7

File tree

1 file changed

+22
-2
lines changed
  • dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/src/main/java/com/webank/wedatasphere/dss/linkis/node/execution/parser

1 file changed

+22
-2
lines changed

dss-orchestrator/orchestrators/dss-workflow/dss-linkis-node-execution/src/main/java/com/webank/wedatasphere/dss/linkis/node/execution/parser/CodeParser.java

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@
2828
import org.apache.linkis.filesystem.WorkspaceClientFactory;
2929
import org.apache.linkis.filesystem.request.WorkspaceClient;
3030
import org.apache.linkis.filesystem.response.ScriptFromBMLResponse;
31+
import org.apache.linkis.protocol.utils.TaskUtils;
3132

3233
import java.util.HashMap;
3334
import java.util.List;
@@ -78,8 +79,27 @@ protected void getAndSetCode(BMLResource bmlResource, LinkisJob linkisAppConnJo
7879
linkisAppConnJob.setCode(executionCode);
7980
}
8081
if (executionParams.get("params") != null && executionParams.get("params") instanceof Map) {
81-
if (linkisAppConnJob.getParams() != null) {
82-
linkisAppConnJob.getParams().putAll( (Map<String, Object>)executionParams.get("params"));
82+
Map<String, Object> params = (Map<String, Object>) executionParams.get("params");
83+
if (!params.isEmpty()) {
84+
linkisAppConnJob.getLogObj().info("add params from external resources: " + params);
85+
// 为防止第三方传回 {"runtime":{},"startup":{},"variable":{},"special":{}},将原params已有的runtime、startup等属性的map覆盖为空
86+
// 因此以下一个个去确认
87+
Map<String, Object> runtimeMap = TaskUtils.getRuntimeMap(params);
88+
if(!runtimeMap.isEmpty()) {
89+
TaskUtils.addRuntimeMap(linkisAppConnJob.getParams(), runtimeMap);
90+
}
91+
Map<String, Object> specialMap = TaskUtils.getSpecialMap(params);
92+
if(!specialMap.isEmpty()) {
93+
TaskUtils.addSpecialMap(linkisAppConnJob.getParams(), specialMap);
94+
}
95+
Map<String, Object> startupMap = TaskUtils.getStartupMap(params);
96+
if(!startupMap.isEmpty()) {
97+
TaskUtils.addStartupMap(linkisAppConnJob.getParams(), startupMap);
98+
}
99+
Map<String, Object> variableMap = TaskUtils.getVariableMap(params);
100+
if(!variableMap.isEmpty()) {
101+
TaskUtils.addVariableMap(linkisAppConnJob.getParams(), variableMap);
102+
}
83103
}
84104
}
85105
dealExecutionParams(linkisAppConnJob, executionParams);

0 commit comments

Comments
 (0)