zhongjiajie commented on code in PR #14164:
URL:
https://github.com/apache/dolphinscheduler/pull/14164#discussion_r1199885852
##########
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java:
##########
@@ -3054,4 +3055,31 @@ public void deleteOtherRelation(Project project,
Map<String, Object> result, Pro
}
+ /**
+ * batch release process definitions based on codes and releaseState.
+ *
+ * @param loginUser login user
+ * @param projectCode project code
+ * @param codes process definition code list
+ * @param releaseState releaseState
+ * @return Result of the batch release process definitions.
+ */
+ @Override
+ @Transactional
+ public Map<String, Object> batchReleaseProcessDefinitionsByCodes(User
loginUser, long projectCode, String codes,
+
ReleaseState releaseState) {
+ Map<String, Object> result = new HashMap<>();
+ if (StringUtils.isEmpty(codes)) {
+ log.error("Parameter processDefinitionCodes is empty, projectCode
is {}.", projectCode);
Review Comment:
how about use info or warn as log level?
##########
dolphinscheduler-api/src/main/java/org/apache/dolphinscheduler/api/service/impl/ProcessDefinitionServiceImpl.java:
##########
@@ -3054,4 +3055,31 @@ public void deleteOtherRelation(Project project,
Map<String, Object> result, Pro
}
+ /**
+ * batch release process definitions based on codes and releaseState.
+ *
+ * @param loginUser login user
+ * @param projectCode project code
+ * @param codes process definition code list
+ * @param releaseState releaseState
+ * @return Result of the batch release process definitions.
+ */
+ @Override
+ @Transactional
+ public Map<String, Object> batchReleaseProcessDefinitionsByCodes(User
loginUser, long projectCode, String codes,
+
ReleaseState releaseState) {
+ Map<String, Object> result = new HashMap<>();
+ if (StringUtils.isEmpty(codes)) {
+ log.error("Parameter processDefinitionCodes is empty, projectCode
is {}.", projectCode);
+ putMsg(result, Status.PROCESS_DEFINITION_CODES_IS_EMPTY);
+ return result;
+ }
+
+ Set<Long> definitionCodes =
Lists.newArrayList(codes.split(Constants.COMMA)).stream().map(Long::parseLong)
+ .collect(Collectors.toSet());
+ for (Long definitionCode : definitionCodes) {
+ result = releaseProcessDefinition(loginUser, projectCode,
definitionCode, releaseState);
Review Comment:
It will only get the latest result in method `releaseProcessDefinition`, but
I think we want to get all result info from batch release, are we?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]