You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@rocketmq.apache.org by sh...@apache.org on 2023/04/10 11:50:52 UTC
[rocketmq-eventbridge] branch main updated: add connection check
This is an automated email from the ASF dual-hosted git repository.
shenlin pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/rocketmq-eventbridge.git
The following commit(s) were added to refs/heads/main by this push:
new b506031 add connection check
b506031 is described below
commit b506031bb78c01c23b5607e2b185dfb73c8597d4
Author: zh378814 <wb...@alibaba-inc.com>
AuthorDate: Mon Apr 10 18:15:59 2023 +0800
add connection check
---
.../domain/model/apidestination/ApiDestinationService.java | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/apidestination/ApiDestinationService.java b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/apidestination/ApiDestinationService.java
index 9b87181..94f2931 100644
--- a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/apidestination/ApiDestinationService.java
+++ b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/apidestination/ApiDestinationService.java
@@ -24,6 +24,7 @@ import org.apache.rocketmq.eventbridge.domain.common.EventBridgeConstants;
import org.apache.rocketmq.eventbridge.domain.common.exception.EventBridgeErrorCode;
import org.apache.rocketmq.eventbridge.domain.model.AbstractResourceService;
import org.apache.rocketmq.eventbridge.domain.model.PaginationResult;
+import org.apache.rocketmq.eventbridge.domain.model.connection.ConnectionService;
import org.apache.rocketmq.eventbridge.domain.model.quota.QuotaService;
import org.apache.rocketmq.eventbridge.domain.model.apidestination.parameter.HttpApiParameters;
import org.apache.rocketmq.eventbridge.domain.repository.ApiDestinationRepository;
@@ -43,11 +44,14 @@ public class ApiDestinationService extends AbstractResourceService {
private final ApiDestinationRepository apiDestinationRepository;
+ private final ConnectionService connectionService;
+
private final QuotaService quotaService;
- public ApiDestinationService(ApiDestinationRepository apiDestinationRepository, QuotaService quotaService) {
+ public ApiDestinationService(ApiDestinationRepository apiDestinationRepository, QuotaService quotaService, ConnectionService connectionService) {
this.apiDestinationRepository = apiDestinationRepository;
this.quotaService = quotaService;
+ this.connectionService = connectionService;
}
@Transactional(rollbackFor = Exception.class, propagation = Propagation.REQUIRED)
@@ -58,6 +62,7 @@ public class ApiDestinationService extends AbstractResourceService {
super.checkQuota(this.getApiDestinationCount(eventApiDestinationDTO.getAccountId()), quotaService.getTotalQuota(eventApiDestinationDTO.getAccountId(), TotalQuotaEnum.API_DESTINATION_COUNT),
ApiDestinationCountExceedLimit);
checkHttpApiParameters(eventApiDestinationDTO.getApiParams());
+ checkConnection(eventApiDestinationDTO);
final Boolean apiDestination = apiDestinationRepository.createApiDestination(eventApiDestinationDTO);
if (apiDestination) {
return eventApiDestinationDTO.getName();
@@ -65,6 +70,10 @@ public class ApiDestinationService extends AbstractResourceService {
return null;
}
+ private void checkConnection(ApiDestinationDTO eventApiDestinationDTO) {
+ connectionService.getConnection(eventApiDestinationDTO.getAccountId(), eventApiDestinationDTO.getConnectionName());
+ }
+
private void checkHttpApiParameters(HttpApiParameters httpApiParameters) {
if (httpApiParameters == null) {
throw new EventBridgeException(EventBridgeErrorCode.HttpApiParametersIsNull);
@@ -87,6 +96,7 @@ public class ApiDestinationService extends AbstractResourceService {
throw new EventBridgeException(EventBridgeErrorCode.ApiDestinationNotExist, apiDestinationDTO.getName());
}
checkHttpApiParameters(apiDestinationDTO.getApiParams());
+ checkConnection(apiDestinationDTO);
return apiDestinationRepository.updateApiDestination(apiDestinationDTO);
}