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 101a138 Fix next token and update list api param (#64)
101a138 is described below
commit 101a1386f958a5a72d1f92f0e593f32d47e80fcc
Author: zhaohai <[email protected]>
AuthorDate: Tue Mar 28 15:58:07 2023 +0800
Fix next token and update list api param (#64)
add private network param check
---
.../api/controller/ApiDestinationController.java | 3 +-
.../api/controller/ConnectionController.java | 3 --
.../apidestination/ListApiDestinationsRequest.java | 4 +++
.../api/dto/connection/ConnectionResponse.java | 3 --
.../ApiDestinationDTOControllerTest.java | 2 +-
.../mybatis/mapper/EventApiDestinationMapper.java | 2 +-
.../MybatisApiDestinationRepository.java | 4 +--
.../mybatis/converter/ConnectConverter.java | 1 -
.../connect/mybatis/dataobject/ConnectionDO.java | 2 --
.../mybatis/EventApiDestinationMapper.xml | 3 +-
.../resources/mybatis/EventConnectionMapper.xml | 8 ++---
.../rocketmq/eventbridge/tools/NextTokenUtil.java | 37 ++++++----------------
.../apidestination/ApiDestinationService.java | 7 ++--
.../domain/model/bus/EventBusService.java | 3 +-
.../domain/model/connection/ConnectionDTO.java | 2 --
.../domain/model/connection/ConnectionService.java | 5 +--
.../domain/model/rule/EventRuleService.java | 3 +-
.../domain/model/source/EventSourceService.java | 3 +-
.../domain/model/source/EventTypeService.java | 3 +-
.../repository/ApiDestinationRepository.java | 2 +-
.../domain/service/ApiDestinationServiceTest.java | 13 ++++++--
21 files changed, 50 insertions(+), 63 deletions(-)
diff --git
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/controller/ApiDestinationController.java
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/controller/ApiDestinationController.java
index 0f99001..d0164bd 100644
---
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/controller/ApiDestinationController.java
+++
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/controller/ApiDestinationController.java
@@ -171,7 +171,8 @@ public class ApiDestinationController {
listApiDestinationsRequest.checkMaxResultsAndNextToken();
final PaginationResult<List<ApiDestinationDTO>>
listPaginationResult
=
apiDestinationService.listApiDestinations(accountAPI.getResourceOwnerAccountId(ctx),
- listApiDestinationsRequest.getApiDestinationNamePrefix(),
listApiDestinationsRequest.getNextToken(),
+ listApiDestinationsRequest.getApiDestinationNamePrefix(),
+ listApiDestinationsRequest.getConnectionNamePrefix(),
listApiDestinationsRequest.getNextToken(),
listApiDestinationsRequest.getMaxResults());
List<ApiDestinationsResponse> apiDestinationsResponses =
Lists.newArrayList();
listPaginationResult.getData()
diff --git
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/controller/ConnectionController.java
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/controller/ConnectionController.java
index e08fb49..b9be923 100644
---
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/controller/ConnectionController.java
+++
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/controller/ConnectionController.java
@@ -147,7 +147,6 @@ public class ConnectionController {
ConnectionResponse connectionResponse = new
ConnectionResponse();
BeanUtils.copyProperties(connectionDTO,
connectionResponse);
connectionResponse.setGmtCreate(connectionDTO.getGmtCreate().getTime());
-
connectionResponse.setApiDestinationName(connectionDTO.getApiDestinationName());
connectionResponse.setId(connectionDTO.getId());
connectionResponses.add(dataMasking(connectionResponse));
});
@@ -171,7 +170,6 @@ public class ConnectionController {
ConnectionResponse connectionResponse = new
ConnectionResponse();
BeanUtils.copyProperties(connectionDTO,
connectionResponse);
connectionResponse.setGmtCreate(connectionDTO.getGmtCreate().getTime());
-
connectionResponse.setApiDestinationName(connectionDTO.getApiDestinationName());
connectionResponse.setId(connectionDTO.getId());
connectionResponses.add(connectionResponse);
});
@@ -202,7 +200,6 @@ public class ConnectionController {
ConnectionResponse connectionResponse = new
ConnectionResponse();
BeanUtils.copyProperties(connectionDTO,
connectionResponse);
connectionResponse.setGmtCreate(connectionDTO.getGmtCreate().getTime());
-
connectionResponse.setApiDestinationName(connectionDTO.getApiDestinationName());
connectionResponse.setId(connectionDTO.getId());
connectionResponses.add(dataMasking(connectionResponse));
});
diff --git
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/ListApiDestinationsRequest.java
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/ListApiDestinationsRequest.java
index a2a9a7d..a6b48de 100644
---
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/ListApiDestinationsRequest.java
+++
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/apidestination/ListApiDestinationsRequest.java
@@ -33,6 +33,10 @@ public class ListApiDestinationsRequest extends BaseResponse
{
@SerializedName("ApiDestinationNamePrefix")
private String apiDestinationNamePrefix;
+ @SerializedName("ConnectionNamePrefix")
+ private String connectionNamePrefix;
+
+
@Min(value = 0, message = "The limit size of page is invalid, which must
greater than 0 and less than [{0}].")
@SerializedName("MaxResults")
private Integer maxResults;
diff --git
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/ConnectionResponse.java
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/ConnectionResponse.java
index 6d34fd3..2642b81 100644
---
a/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/ConnectionResponse.java
+++
b/adapter/api/src/main/java/org/apache/rocketmq/eventbridge/adapter/api/dto/connection/ConnectionResponse.java
@@ -45,9 +45,6 @@ public class ConnectionResponse extends BaseDTO {
@SerializedName("GmtCreate")
private Long gmtCreate;
- @SerializedName("ApiDestinationName")
- private String apiDestinationName;
-
@SerializedName("Id")
private Integer id;
diff --git
a/adapter/api/src/test/java/org/apache/rocketmq/eventbridge/adapter/api/controller/ApiDestinationDTOControllerTest.java
b/adapter/api/src/test/java/org/apache/rocketmq/eventbridge/adapter/api/controller/ApiDestinationDTOControllerTest.java
index bdfc870..f8a3b98 100644
---
a/adapter/api/src/test/java/org/apache/rocketmq/eventbridge/adapter/api/controller/ApiDestinationDTOControllerTest.java
+++
b/adapter/api/src/test/java/org/apache/rocketmq/eventbridge/adapter/api/controller/ApiDestinationDTOControllerTest.java
@@ -172,7 +172,7 @@ public class ApiDestinationDTOControllerTest {
result.setData(apiDestinationDTOList);
result.setTotal(9);
result.setNextToken("0");
- Mockito.when(apiDestinationService.listApiDestinations(any(), any(),
any(), anyInt()))
+ Mockito.when(apiDestinationService.listApiDestinations(any(), any(),
any(), any(), anyInt()))
.thenReturn(result);
ListApiDestinationsRequest listApiDestinationsRequest = new
ListApiDestinationsRequest();
listApiDestinationsRequest.setApiDestinationNamePrefix(UUID.randomUUID()
diff --git
a/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/apidestination/mybatis/mapper/EventApiDestinationMapper.java
b/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/apidestination/mybatis/mapper/EventApiDestinationMapper.java
index 6b55b4e..7dff8e9 100644
---
a/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/apidestination/mybatis/mapper/EventApiDestinationMapper.java
+++
b/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/apidestination/mybatis/mapper/EventApiDestinationMapper.java
@@ -62,7 +62,7 @@ public interface EventApiDestinationMapper {
* @mbggenerated
*/
List<ApiDestinationDO> listApiDestinations(@Param("accountId") String
accountId, @Param("name") String name,
- @Param("nextToken") int nextToken, @Param("maxResults") int
maxResults);
+ @Param("connectionName") String
connectionName, @Param("nextToken") int nextToken, @Param("maxResults") int
maxResults);
/**
* Select by account and name
diff --git
a/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/apidestination/mybatis/repository/MybatisApiDestinationRepository.java
b/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/apidestination/mybatis/repository/MybatisApiDestinationRepository.java
index bc189ab..129d754 100644
---
a/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/apidestination/mybatis/repository/MybatisApiDestinationRepository.java
+++
b/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/apidestination/mybatis/repository/MybatisApiDestinationRepository.java
@@ -62,9 +62,9 @@ public class MybatisApiDestinationRepository implements
ApiDestinationRepository
}
@Override
- public List<ApiDestinationDTO> listApiDestinations(String accountId,
String apiDestinationName, String nextToken,
+ public List<ApiDestinationDTO> listApiDestinations(String accountId,
String apiDestinationName, String connectionName, String nextToken,
int maxResults) {
- return
ApiDestinationConverter.doListCoverterDtoList(eventApiDestinationMapper.listApiDestinations(accountId,
apiDestinationName, Integer.parseInt(nextToken), maxResults));
+ return
ApiDestinationConverter.doListCoverterDtoList(eventApiDestinationMapper.listApiDestinations(accountId,
apiDestinationName, connectionName, Integer.parseInt(nextToken), maxResults));
}
@Override
diff --git
a/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/connect/mybatis/converter/ConnectConverter.java
b/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/connect/mybatis/converter/ConnectConverter.java
index ed6c0c2..57731b1 100644
---
a/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/connect/mybatis/converter/ConnectConverter.java
+++
b/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/connect/mybatis/converter/ConnectConverter.java
@@ -40,7 +40,6 @@ public class ConnectConverter {
connectionDTO.setNetworkParameters(new
Gson().fromJson(connectionDO.getNetworkParameters(), NetworkParameters.class));
connectionDTO.setGmtCreate(connectionDO.getGmtCreate());
connectionDTO.setId(connectionDO.getId());
-
connectionDTO.setApiDestinationName(connectionDO.getApiDestinationName());
return connectionDTO;
}
diff --git
a/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/connect/mybatis/dataobject/ConnectionDO.java
b/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/connect/mybatis/dataobject/ConnectionDO.java
index 6659e72..c0f9344 100644
---
a/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/connect/mybatis/dataobject/ConnectionDO.java
+++
b/adapter/persistence/src/main/java/org/apache/rocketmq/eventbridge/adapter/persistence/connect/mybatis/dataobject/ConnectionDO.java
@@ -108,7 +108,5 @@ public class ConnectionDO implements Serializable {
*/
private Date gmtModify;
- private String apiDestinationName;
-
private Integer id;
}
diff --git
a/adapter/persistence/src/main/resources/mybatis/EventApiDestinationMapper.xml
b/adapter/persistence/src/main/resources/mybatis/EventApiDestinationMapper.xml
index 25b17ea..e403654 100644
---
a/adapter/persistence/src/main/resources/mybatis/EventApiDestinationMapper.xml
+++
b/adapter/persistence/src/main/resources/mybatis/EventApiDestinationMapper.xml
@@ -63,7 +63,7 @@
from event_api_destination
where id = #{id,jdbcType=INTEGER}
</select>
- <select id="listApiDestinations" resultMap="ResultMapWithBLOBs"
parameterType="java.lang.Integer">
+ <select id="listApiDestinations" resultMap="ResultMapWithBLOBs"
parameterType="java.util.Map">
select
<include refid="Base_Column_List"/>
,
@@ -72,6 +72,7 @@
<where>
<if test="accountId != null and accountId != ''">account_id =
#{accountId}</if>
<if test="name != null and name != ''">and name like
concat('%',#{name},'%')</if>
+ <if test="connectionName != null and connectionName != ''">and
connection_name like concat('%',#{connectionName},'%')</if>
</where>
order by gmt_modify desc LIMIT #{nextToken} , #{maxResults}
</select>
diff --git
a/adapter/persistence/src/main/resources/mybatis/EventConnectionMapper.xml
b/adapter/persistence/src/main/resources/mybatis/EventConnectionMapper.xml
index 604a065..cfac191 100644
--- a/adapter/persistence/src/main/resources/mybatis/EventConnectionMapper.xml
+++ b/adapter/persistence/src/main/resources/mybatis/EventConnectionMapper.xml
@@ -82,10 +82,8 @@
select
ec.id, ec.account_id, ec.name, ec.authorization_type, ec.network_type,
ec.description, ec.gmt_create,
ec.gmt_modify,
- ec.auth_parameters, ec.network_parameters, ead.name as
apiDestinationName
+ ec.auth_parameters, ec.network_parameters
from event_connection ec
- left join event_api_destination ead
- on ec.name = ead.connection_name
<where>
<if test="accountId != null and accountId != ''">ec.account_id =
#{accountId}</if>
<if test="name != null and name != ''">and ec.name like
concat('%',#{name},'%')</if>
@@ -96,10 +94,8 @@
select
ec.id, ec.account_id, ec.name, ec.authorization_type, ec.network_type,
ec.description, ec.gmt_create,
ec.gmt_modify,
- ec.auth_parameters, ec.network_parameters, ead.name as
apiDestinationName
+ ec.auth_parameters, ec.network_parameters
from event_connection ec
- left join event_api_destination ead
- on ec.name = ead.connection_name
<where>
<if test="accountId != null and accountId != ''">ec.account_id =
#{accountId}</if>
<if test="name != null and name != ''">and ec.name =
#{name,jdbcType=VARCHAR}</if>
diff --git
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionDTO.java
b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/NextTokenUtil.java
similarity index 50%
copy from
domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionDTO.java
copy to
common/src/main/java/org/apache/rocketmq/eventbridge/tools/NextTokenUtil.java
index 7875879..804cc5e 100644
---
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionDTO.java
+++
b/common/src/main/java/org/apache/rocketmq/eventbridge/tools/NextTokenUtil.java
@@ -15,34 +15,15 @@
* limitations under the License.
*/
-package org.apache.rocketmq.eventbridge.domain.model.connection;
+package org.apache.rocketmq.eventbridge.tools;
-import java.io.Serializable;
-import java.util.Date;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.ToString;
-import
org.apache.rocketmq.eventbridge.domain.model.connection.parameter.AuthParameters;
-import
org.apache.rocketmq.eventbridge.domain.model.connection.parameter.NetworkParameters;
+public class NextTokenUtil {
-@Getter
-@Setter
-@ToString
-public class ConnectionDTO implements Serializable {
-
- private static final long serialVersionUID = 7351924623576926203L;
- private Integer id;
- private String accountId;
-
- private String connectionName;
-
- private String description;
-
- private NetworkParameters networkParameters;
-
- private AuthParameters authParameters;
-
- private Date gmtCreate;
-
- private String apiDestinationName;
+ public static String findNextToken(int totalSize, int skipIdx, int limit) {
+ if (skipIdx + limit < totalSize) {
+ return String.valueOf(skipIdx + limit);
+ } else {
+ return null;
+ }
+ }
}
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 19fad7f..9b87181 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
@@ -28,6 +28,7 @@ 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;
import org.apache.rocketmq.eventbridge.exception.EventBridgeException;
+import org.apache.rocketmq.eventbridge.tools.NextTokenUtil;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
@@ -108,13 +109,13 @@ public class ApiDestinationService extends
AbstractResourceService {
return apiDestinationRepository.deleteApiDestination(accountId,
apiDestinationName);
}
- public PaginationResult<List<ApiDestinationDTO>>
listApiDestinations(String accountId, String apiDestinationName, String
nextToken,
+ public PaginationResult<List<ApiDestinationDTO>>
listApiDestinations(String accountId, String apiDestinationName, String
connectionName, String nextToken,
Integer maxResults) {
- final List<ApiDestinationDTO> apiDestinationDTOS =
apiDestinationRepository.listApiDestinations(accountId, apiDestinationName,
nextToken, maxResults);
+ final List<ApiDestinationDTO> apiDestinationDTOS =
apiDestinationRepository.listApiDestinations(accountId, apiDestinationName,
connectionName, nextToken, maxResults);
PaginationResult<List<ApiDestinationDTO>> result = new
PaginationResult();
result.setData(apiDestinationDTOS);
result.setTotal(this.getApiDestinationCount(accountId));
- result.setNextToken(String.valueOf(Integer.parseInt(nextToken) +
maxResults));
+
result.setNextToken(NextTokenUtil.findNextToken(this.getApiDestinationCount(accountId),
Integer.parseInt(nextToken), maxResults));
return result;
}
diff --git
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/bus/EventBusService.java
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/bus/EventBusService.java
index eadea4f..56c0a32 100644
---
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/bus/EventBusService.java
+++
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/bus/EventBusService.java
@@ -23,6 +23,7 @@ import
org.apache.rocketmq.eventbridge.domain.model.PaginationResult;
import org.apache.rocketmq.eventbridge.domain.repository.EventBusRepository;
import org.apache.rocketmq.eventbridge.domain.repository.EventDataRepository;
import org.apache.rocketmq.eventbridge.exception.EventBridgeException;
+import org.apache.rocketmq.eventbridge.tools.NextTokenUtil;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -84,7 +85,7 @@ public class EventBusService extends AbstractResourceService {
PaginationResult<List<EventBus>> result = new PaginationResult();
result.setData(eventBuses);
result.setTotal(total);
- result.setNextToken(String.valueOf(Integer.parseInt(nextToken) +
maxResults));
+ result.setNextToken(NextTokenUtil.findNextToken(total,
Integer.parseInt(nextToken), maxResults));
return result;
}
diff --git
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionDTO.java
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionDTO.java
index 7875879..4bb08ec 100644
---
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionDTO.java
+++
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionDTO.java
@@ -43,6 +43,4 @@ public class ConnectionDTO implements Serializable {
private AuthParameters authParameters;
private Date gmtCreate;
-
- private String apiDestinationName;
}
diff --git
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionService.java
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionService.java
index 54aae47..86d317b 100644
---
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionService.java
+++
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/connection/ConnectionService.java
@@ -42,6 +42,7 @@ import
org.apache.rocketmq.eventbridge.domain.repository.ConnectionRepository;
import org.apache.rocketmq.eventbridge.domain.rpc.NetworkServiceAPI;
import org.apache.rocketmq.eventbridge.domain.rpc.SecretManagerAPI;
import org.apache.rocketmq.eventbridge.exception.EventBridgeException;
+import org.apache.rocketmq.eventbridge.tools.NextTokenUtil;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
@@ -264,7 +265,7 @@ public class ConnectionService extends
AbstractResourceService {
public List<ConnectionDTO> getConnection(String accountId, String
connectionName) {
final List<ConnectionDTO> connectionDTO =
connectionRepository.getConnection(accountId, connectionName);
- if (connectionDTO == null) {
+ if (CollectionUtils.isEmpty(connectionDTO)) {
throw new
EventBridgeException(EventBridgeErrorCode.ConnectionNotExist, connectionName);
}
return connectionDTO;
@@ -279,7 +280,7 @@ public class ConnectionService extends
AbstractResourceService {
PaginationResult<List<ConnectionDTO>> result = new PaginationResult();
result.setData(connectionDTOS);
result.setTotal(this.getConnectionCount(accountId));
- result.setNextToken(String.valueOf(Integer.parseInt(nextToken) +
maxResults));
+
result.setNextToken(NextTokenUtil.findNextToken(this.getConnectionCount(accountId),
Integer.parseInt(nextToken), maxResults));
return result;
}
diff --git
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/rule/EventRuleService.java
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/rule/EventRuleService.java
index c6017fc..0fa52db 100644
---
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/rule/EventRuleService.java
+++
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/rule/EventRuleService.java
@@ -24,6 +24,7 @@ import
org.apache.rocketmq.eventbridge.domain.model.PaginationResult;
import org.apache.rocketmq.eventbridge.domain.model.bus.EventBusService;
import org.apache.rocketmq.eventbridge.domain.repository.EventRuleRepository;
import org.apache.rocketmq.eventbridge.exception.EventBridgeException;
+import org.apache.rocketmq.eventbridge.tools.NextTokenUtil;
import org.apache.rocketmq.eventbridge.tools.pattern.PatternEvaluatorBuilder;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.stereotype.Service;
@@ -103,7 +104,7 @@ public class EventRuleService extends
AbstractResourceService {
PaginationResult<List<EventRule>> result = new PaginationResult();
result.setData(eventRules);
result.setTotal(this.getEventRulesCount(accountId, eventBusName));
- result.setNextToken(String.valueOf(Integer.parseInt(nextToken) +
maxResults));
+
result.setNextToken(NextTokenUtil.findNextToken(this.getEventRulesCount(accountId,
eventBusName), Integer.parseInt(nextToken), maxResults));
return result;
}
diff --git
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/source/EventSourceService.java
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/source/EventSourceService.java
index 465dcfd..fea663a 100644
---
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/source/EventSourceService.java
+++
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/source/EventSourceService.java
@@ -26,6 +26,7 @@ import
org.apache.rocketmq.eventbridge.domain.model.PaginationResult;
import org.apache.rocketmq.eventbridge.domain.model.bus.EventBusService;
import org.apache.rocketmq.eventbridge.domain.repository.EventSourceRepository;
import org.apache.rocketmq.eventbridge.exception.EventBridgeException;
+import org.apache.rocketmq.eventbridge.tools.NextTokenUtil;
import org.springframework.dao.DuplicateKeyException;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -104,7 +105,7 @@ public class EventSourceService extends
AbstractResourceService {
PaginationResult<List<EventSource>> result = new PaginationResult();
result.setData(eventSources);
result.setTotal(this.getEventSourceCount(accountId, eventBusName));
- result.setNextToken(String.valueOf(Integer.parseInt(nextToken) +
maxResults));
+
result.setNextToken(NextTokenUtil.findNextToken(this.getEventSourceCount(accountId,
eventBusName), Integer.parseInt(nextToken), maxResults));
return result;
}
diff --git
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/source/EventTypeService.java
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/source/EventTypeService.java
index 0fc585f..e751d02 100644
---
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/source/EventTypeService.java
+++
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/model/source/EventTypeService.java
@@ -19,6 +19,7 @@ package org.apache.rocketmq.eventbridge.domain.model.source;
import java.util.List;
import org.apache.rocketmq.eventbridge.domain.model.PaginationResult;
import org.apache.rocketmq.eventbridge.domain.repository.EventTypeRepository;
+import org.apache.rocketmq.eventbridge.tools.NextTokenUtil;
import org.springframework.stereotype.Service;
@Service
@@ -40,7 +41,7 @@ public class EventTypeService {
PaginationResult<List<EventType>> result = new PaginationResult();
result.setData(pageResult);
result.setTotal(this.getEventTypeCount(accountId, eventBusName,
eventSourceName));
- result.setNextToken(String.valueOf(Integer.parseInt(nextToken) +
maxResults));
+
result.setNextToken(NextTokenUtil.findNextToken(this.getEventTypeCount(accountId,
eventBusName, eventSourceName), Integer.parseInt(nextToken), maxResults));
return result;
}
diff --git
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/repository/ApiDestinationRepository.java
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/repository/ApiDestinationRepository.java
index f265340..ee52622 100644
---
a/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/repository/ApiDestinationRepository.java
+++
b/domain/src/main/java/org/apache/rocketmq/eventbridge/domain/repository/ApiDestinationRepository.java
@@ -30,7 +30,7 @@ public interface ApiDestinationRepository {
Boolean deleteApiDestination(String accountId, String apiDestinationName);
- List<ApiDestinationDTO> listApiDestinations(String accountId, String
apiDestinationName, String nextToken,
+ List<ApiDestinationDTO> listApiDestinations(String accountId, String
apiDestinationName, String connectionName, String nextToken,
int maxResults);
int getApiDestinationCount(String accountId);
diff --git
a/domain/src/test/java/org/apache/rocketmq/eventbridge/domain/service/ApiDestinationServiceTest.java
b/domain/src/test/java/org/apache/rocketmq/eventbridge/domain/service/ApiDestinationServiceTest.java
index 22918cc..e1fd234 100644
---
a/domain/src/test/java/org/apache/rocketmq/eventbridge/domain/service/ApiDestinationServiceTest.java
+++
b/domain/src/test/java/org/apache/rocketmq/eventbridge/domain/service/ApiDestinationServiceTest.java
@@ -23,6 +23,7 @@ import java.util.UUID;
import org.apache.rocketmq.eventbridge.domain.model.PaginationResult;
import
org.apache.rocketmq.eventbridge.domain.model.apidestination.ApiDestinationDTO;
import
org.apache.rocketmq.eventbridge.domain.model.apidestination.ApiDestinationService;
+import
org.apache.rocketmq.eventbridge.domain.model.apidestination.parameter.HttpApiParameters;
import org.apache.rocketmq.eventbridge.domain.model.quota.QuotaService;
import
org.apache.rocketmq.eventbridge.domain.repository.ApiDestinationRepository;
import org.junit.Assert;
@@ -55,7 +56,7 @@ public class ApiDestinationServiceTest {
ApiDestinationDTO apiDestinationDTO = new ApiDestinationDTO();
apiDestinationDTO.setName(UUID.randomUUID().toString());
Mockito.when(apiDestinationRepository.getApiDestinationCount(any())).thenReturn(8);
- Mockito.when(apiDestinationRepository.listApiDestinations(any(),
any(), any(), anyInt())).thenReturn(new ArrayList<>());
+ Mockito.when(apiDestinationRepository.listApiDestinations(any(),
any(), any(), any(), anyInt())).thenReturn(new ArrayList<>());
Mockito.when(quotaService.getTotalQuota(any(), any())).thenReturn(10);
}
@@ -65,6 +66,10 @@ public class ApiDestinationServiceTest {
ApiDestinationDTO eventApiDestinationDTO = new ApiDestinationDTO();
eventApiDestinationDTO.setName(UUID.randomUUID().toString());
eventApiDestinationDTO.setAccountId(UUID.randomUUID().toString());
+ HttpApiParameters httpApiParameters = new HttpApiParameters();
+ httpApiParameters.setMethod("POST");
+ httpApiParameters.setEndpoint("http://127.0.0.1:8001");
+ eventApiDestinationDTO.setApiParams(httpApiParameters);
final String apiDestination =
apiDestinationService.createApiDestination(eventApiDestinationDTO);
Assert.assertNotNull(apiDestination);
}
@@ -75,6 +80,10 @@ public class ApiDestinationServiceTest {
ApiDestinationDTO apiDestinationDTO = new ApiDestinationDTO();
apiDestinationDTO.setName(UUID.randomUUID().toString());
apiDestinationDTO.setAccountId(UUID.randomUUID().toString());
+ HttpApiParameters httpApiParameters = new HttpApiParameters();
+ httpApiParameters.setMethod("POST");
+ httpApiParameters.setEndpoint("http://127.0.0.1:8001");
+ apiDestinationDTO.setApiParams(httpApiParameters);
final Boolean aBoolean =
apiDestinationService.updateApiDestination(apiDestinationDTO);
Assert.assertTrue(aBoolean);
}
@@ -95,7 +104,7 @@ public class ApiDestinationServiceTest {
@Test
public void testListApiDestinations() {
- final PaginationResult<List<ApiDestinationDTO>> listPaginationResult =
apiDestinationService.listApiDestinations(UUID.randomUUID().toString(),
UUID.randomUUID().toString(), "0", 10);
+ final PaginationResult<List<ApiDestinationDTO>> listPaginationResult =
apiDestinationService.listApiDestinations(UUID.randomUUID().toString(),
UUID.randomUUID().toString(), UUID.randomUUID().toString(), "0", 10);
Assert.assertNotNull(listPaginationResult.getData());
}
}