This is an automated email from the ASF dual-hosted git repository.
hefengen pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shenyu.git
The following commit(s) were added to refs/heads/master by this push:
new 79b1ae31b9 Refact/bean utils (#5497)
79b1ae31b9 is described below
commit 79b1ae31b9438b777c0a9c87e5459ea7f00a8bf1
Author: aias00 <[email protected]>
AuthorDate: Mon Mar 18 16:32:00 2024 +0800
Refact/bean utils (#5497)
* Refact BeanUtils #5487
* Refact BeanUtils #5487
* Refact BeanUtils #5487
* Refact BeanUtils, replace null to Objects.isNull #5487
* Refact BeanUtils, fix error log usage #5487
* Refact BeanUtils, add unit test for AlertTransfer #5487
* Refact BeanUtils, rename methods for AlertTransfer #5487
---------
Co-authored-by: moremind <[email protected]>
---
.../shenyu/admin/aspect/DataPermissionAspect.java | 3 +-
.../shenyu/admin/exception/ExceptionHandlers.java | 2 +-
.../listener/AbstractDataChangedListener.java | 2 +-
.../shenyu/admin/model/bean/DocParameter.java | 20 +++
.../service/impl/AlertDispatchServiceImpl.java | 4 +-
.../service/impl/AlertReceiverServiceImpl.java | 18 +-
.../admin/service/impl/DiscoveryServiceImpl.java | 2 +-
.../admin/service/impl/MetaDataServiceImpl.java | 4 +-
.../service/impl/MockRequestRecordServiceImpl.java | 3 +-
.../service/impl/ProxySelectorServiceImpl.java | 4 +-
.../admin/service/impl/UpstreamCheckService.java | 2 +-
.../admin/service/manager/impl/DocManagerImpl.java | 2 +-
.../manager/impl/LoadServiceDocEntryImpl.java | 4 +-
.../manager/impl/PullSwaggerDocServiceImpl.java | 2 +-
.../service/manager/impl/SwaggerDocParser.java | 28 ++--
.../shenyu/admin/transfer/AlertTransfer.java | 120 ++++++++++++++
.../shenyu/admin/transfer/MetaDataTransfer.java | 23 +++
.../org/apache/shenyu/admin/utils/HttpUtils.java | 15 +-
.../listener/websocket/WebsocketCollectorTest.java | 3 +-
.../shenyu/admin/model/bean/DocParameterTest.java | 16 ++
.../shenyu/admin/transfer/AlertTransferTest.java | 168 +++++++++++++++++++
.../admin/transfer/MetaDataTransferTest.java | 182 +++++++++++++++++++++
.../plugin/base/fallback/FallbackHandler.java | 2 +-
.../sync/data/consul/ConsulSyncDataService.java | 4 +-
.../sync/data/polaris/PolarisSyncDataService.java | 4 +-
25 files changed, 579 insertions(+), 58 deletions(-)
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/aspect/DataPermissionAspect.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/aspect/DataPermissionAspect.java
index c5ad252267..04da3aa571 100644
---
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/aspect/DataPermissionAspect.java
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/aspect/DataPermissionAspect.java
@@ -31,6 +31,7 @@ import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.stereotype.Component;
import java.util.List;
+import java.util.Objects;
import java.util.stream.Stream;
import static
org.apache.shenyu.common.constant.AdminConstants.DATA_PERMISSION_RULE;
@@ -82,7 +83,7 @@ public class DataPermissionAspect {
private Object[] getFilterSQLData(final ProceedingJoinPoint point) {
DataPermission dataPermission = ((MethodSignature)
point.getSignature()).getMethod().getAnnotation(DataPermission.class);
Object[] args = point.getArgs();
- if (dataPermission == null || args == null) {
+ if (Objects.isNull(dataPermission) || Objects.isNull(args)) {
return args;
}
List<String> dataPermissionList =
dataPermissionService.getDataPermission(JwtUtils.getUserInfo().getUserId());
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/exception/ExceptionHandlers.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/exception/ExceptionHandlers.java
index fe17506abd..48cd9077bb 100644
---
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/exception/ExceptionHandlers.java
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/exception/ExceptionHandlers.java
@@ -123,7 +123,7 @@ public class ExceptionHandlers {
@ExceptionHandler(ShenyuException.class)
protected ShenyuAdminResult handleShenyuException(final ShenyuException
exception) {
- String message = exception.getCause() == null ? null :
exception.getCause().getMessage();
+ String message = Objects.isNull(exception.getCause()) ? null :
exception.getCause().getMessage();
if (!StringUtils.hasText(message)) {
message = exception.getMessage();
}
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/listener/AbstractDataChangedListener.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/listener/AbstractDataChangedListener.java
index a302e96049..c9158e7ba1 100644
---
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/listener/AbstractDataChangedListener.java
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/listener/AbstractDataChangedListener.java
@@ -270,7 +270,7 @@ public abstract class AbstractDataChangedListener
implements DataChangedListener
protected abstract void afterInitialize();
/**
- * if md5 is not the same as the original, then update lcoal cache.
+ * if md5 is not the same as the original, then update local cache.
*
* @param group ConfigGroupEnum
* @param <T> the type of class
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/model/bean/DocParameter.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/model/bean/DocParameter.java
index 17d85c5cbe..72f6b52963 100644
---
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/model/bean/DocParameter.java
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/model/bean/DocParameter.java
@@ -228,4 +228,24 @@ public class DocParameter {
public void setRefs(final List<DocParameter> refs) {
this.refs = refs;
}
+
+ /**
+ * copy DocParameter from source.
+ * @param source DocParameter
+ * @return DocParameter
+ */
+ public static DocParameter copy(final DocParameter source) {
+ DocParameter target = new DocParameter();
+ target.setId(source.getId());
+ target.setExample(source.getExample());
+ target.setDescription(source.getDescription());
+ target.setName(source.getName());
+ target.setModule(source.getModule());
+ target.setMaxLength(source.getMaxLength());
+ target.setRefs(source.getRefs());
+ target.setRequired(source.isRequired());
+ target.setType(source.getType());
+ target.setXExample(source.getXExample());
+ return target;
+ }
}
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/AlertDispatchServiceImpl.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/AlertDispatchServiceImpl.java
index 52faab64ec..dc52bed066 100644
---
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/AlertDispatchServiceImpl.java
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/AlertDispatchServiceImpl.java
@@ -92,7 +92,7 @@ public class AlertDispatchServiceImpl implements
AlertDispatchService, Disposabl
@Override
public boolean sendNoticeMsg(final AlertReceiverDTO receiver, final
AlarmContent alert) {
- if (receiver == null || receiver.getType() == null) {
+ if (Objects.isNull(receiver) || Objects.isNull(receiver.getType())) {
log.warn("DispatcherAlarm-sendNoticeMsg params is empty
alert:[{}], receiver:[{}]", alert, receiver);
return false;
}
@@ -164,7 +164,7 @@ public class AlertDispatchServiceImpl implements
AlertDispatchService, Disposabl
}
if (!CollectionUtils.isEmpty(item.getLabels())) {
return
item.getLabels().entrySet().stream().anyMatch(entry -> {
- if (alert.getLabels() == null ||
!alert.getLabels().containsKey(entry.getKey())) {
+ if (Objects.isNull(alert.getLabels()) ||
!alert.getLabels().containsKey(entry.getKey())) {
return false;
}
String labelValue =
alert.getLabels().get(entry.getKey());
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/AlertReceiverServiceImpl.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/AlertReceiverServiceImpl.java
index ff8c74837c..b1e43fffa7 100644
---
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/AlertReceiverServiceImpl.java
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/AlertReceiverServiceImpl.java
@@ -25,10 +25,10 @@ import org.apache.shenyu.admin.model.page.PageResultUtils;
import org.apache.shenyu.admin.model.query.AlertReceiverQuery;
import org.apache.shenyu.admin.service.AlertDispatchService;
import org.apache.shenyu.admin.service.AlertReceiverService;
+import org.apache.shenyu.admin.transfer.AlertTransfer;
import org.apache.shenyu.alert.model.AlertReceiverDTO;
import org.apache.shenyu.common.dto.AlarmContent;
import org.apache.shenyu.common.utils.UUIDUtils;
-import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -55,8 +55,7 @@ public class AlertReceiverServiceImpl implements
AlertReceiverService {
@Override
public void addReceiver(final AlertReceiverDTO alertReceiverDTO) {
- AlertReceiverDO receiverDO = new AlertReceiverDO();
- BeanUtils.copyProperties(alertReceiverDTO, receiverDO);
+ AlertReceiverDO receiverDO =
AlertTransfer.INSTANCE.mapToAlertReciverDO(alertReceiverDTO);
receiverDO.setId(UUIDUtils.getInstance().generateShortUuid());
Timestamp currentTime = new Timestamp(System.currentTimeMillis());
receiverDO.setDateCreated(currentTime);
@@ -73,8 +72,7 @@ public class AlertReceiverServiceImpl implements
AlertReceiverService {
@Override
public void updateReceiver(final AlertReceiverDTO alertReceiverDTO) {
- AlertReceiverDO receiverDO = new AlertReceiverDO();
- BeanUtils.copyProperties(alertReceiverDTO, receiverDO);
+ AlertReceiverDO receiverDO =
AlertTransfer.INSTANCE.mapToAlertReciverDO(alertReceiverDTO);
alertDispatchService.clearCache();
alertReceiverMapper.updateByPrimaryKey(receiverDO);
}
@@ -90,21 +88,15 @@ public class AlertReceiverServiceImpl implements
AlertReceiverService {
return PageResultUtils.result(receiverQuery.getPageParameter(),
() -> alertReceiverMapper.selectByQuery(receiverQuery)
.stream()
- .map(item -> {
- AlertReceiverDTO receiverDTO = new
AlertReceiverDTO();
- BeanUtils.copyProperties(item, receiverDTO);
- return receiverDTO;
- })
+ .map(AlertTransfer.INSTANCE::mapToAlertReceiverDTO)
.collect(Collectors.toList()));
}
@Override
public AlertReceiverDTO detail(final String id) {
- AlertReceiverDTO receiverDTO = new AlertReceiverDTO();
AlertReceiverDO receiverDO =
alertReceiverMapper.selectByPrimaryKey(id);
if (receiverDO != null) {
- BeanUtils.copyProperties(receiverDO, receiverDTO);
- return receiverDTO;
+ return AlertTransfer.INSTANCE.mapToAlertReceiverDTO(receiverDO);
} else {
return null;
}
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/DiscoveryServiceImpl.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/DiscoveryServiceImpl.java
index ce0115821a..069cfdfa55 100644
---
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/DiscoveryServiceImpl.java
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/DiscoveryServiceImpl.java
@@ -223,7 +223,7 @@ public class DiscoveryServiceImpl implements
DiscoveryService {
}
private DiscoveryVO update(final DiscoveryDTO discoveryDTO) {
- if (discoveryDTO == null || discoveryDTO.getId() == null) {
+ if (Objects.isNull(discoveryDTO) ||
Objects.isNull(discoveryDTO.getId())) {
return null;
}
Timestamp currentTime = new Timestamp(System.currentTimeMillis());
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/MetaDataServiceImpl.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/MetaDataServiceImpl.java
index c96885edbf..926919e215 100644
---
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/MetaDataServiceImpl.java
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/MetaDataServiceImpl.java
@@ -44,7 +44,6 @@ import org.apache.shenyu.common.utils.UUIDUtils;
import org.apache.shenyu.register.common.dto.MetaDataRegisterDTO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.springframework.beans.BeanUtils;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -259,8 +258,7 @@ public class MetaDataServiceImpl implements MetaDataService
{
final List<MetaDataDO> befores =
Optional.ofNullable(metaDataMapper.findByServiceNameAndMethod(
metaDataDO.getServiceName(),
null)).orElseGet(LinkedList::new);
for (MetaDataDO b : befores) {
- MetaDataDO update = new MetaDataDO();
- BeanUtils.copyProperties(b, update);
+ MetaDataDO update = MetaDataTransfer.INSTANCE.copy(b);
update.setRpcExt(metaDataDTO.getRpcExt());
if (metaDataMapper.update(update) > 0) {
publisher.onUpdated(update, b);
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/MockRequestRecordServiceImpl.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/MockRequestRecordServiceImpl.java
index 37dce12ef9..d9cb7e49cf 100644
---
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/MockRequestRecordServiceImpl.java
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/MockRequestRecordServiceImpl.java
@@ -31,6 +31,7 @@ import org.springframework.stereotype.Service;
import java.sql.Timestamp;
import java.util.List;
+import java.util.Objects;
import java.util.stream.Collectors;
/**
@@ -85,7 +86,7 @@ public class MockRequestRecordServiceImpl implements
MockRequestRecordService {
}
private int update(final MockRequestRecordDTO mockRequestRecordDTO) {
- if (mockRequestRecordDTO == null || mockRequestRecordDTO.getId() ==
null) {
+ if (Objects.isNull(mockRequestRecordDTO) ||
Objects.isNull(mockRequestRecordDTO.getId())) {
return 0;
}
Timestamp currentTime = new Timestamp(System.currentTimeMillis());
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/ProxySelectorServiceImpl.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/ProxySelectorServiceImpl.java
index d2ad56a3dc..d466914d35 100644
---
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/ProxySelectorServiceImpl.java
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/ProxySelectorServiceImpl.java
@@ -226,7 +226,7 @@ public class ProxySelectorServiceImpl implements
ProxySelectorService {
.dateCreated(currentTime)
.dateUpdated(currentTime)
.listenerNode(proxySelectorAddDTO.getListenerNode())
- .handler(proxySelectorAddDTO.getHandler() == null ? ""
: proxySelectorAddDTO.getHandler())
+
.handler(Objects.isNull(proxySelectorAddDTO.getHandler()) ? "" :
proxySelectorAddDTO.getHandler())
.props(proxySelectorAddDTO.getProps())
.build();
discoveryHandlerMapper.insertSelective(discoveryHandlerDO);
@@ -310,7 +310,7 @@ public class ProxySelectorServiceImpl implements
ProxySelectorService {
.dateCreated(currentTime)
.dateUpdated(currentTime)
.listenerNode(proxySelectorAddDTO.getListenerNode())
- .handler(proxySelectorAddDTO.getHandler() == null ? "" :
proxySelectorAddDTO.getHandler())
+ .handler(Objects.isNull(proxySelectorAddDTO.getHandler()) ? ""
: proxySelectorAddDTO.getHandler())
.props(proxySelectorAddDTO.getProps())
.build();
discoveryHandlerMapper.insertSelective(discoveryHandlerDO);
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/UpstreamCheckService.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/UpstreamCheckService.java
index c7e687bdf5..142cec04bb 100644
---
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/UpstreamCheckService.java
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/impl/UpstreamCheckService.java
@@ -326,7 +326,7 @@ public class UpstreamCheckService {
}
return null;
}, invokeExecutor).exceptionally(ex -> {
- LOG.error("An exception occurred during the check of url {}:
{}", commonUpstream.getUpstreamUrl(), ex);
+ LOG.error("An exception occurred during the check of url {}:
", commonUpstream.getUpstreamUrl(), ex);
return null;
}));
}
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/manager/impl/DocManagerImpl.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/manager/impl/DocManagerImpl.java
index f65904606a..96fb285cc2 100644
---
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/manager/impl/DocManagerImpl.java
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/manager/impl/DocManagerImpl.java
@@ -154,7 +154,7 @@ public class DocManagerImpl implements DocManager {
docInfo.setContextPath(contexPath);
return docInfo;
} catch (Exception e) {
- LOG.error("getDocInfo clusterName={} error={} ", clusterName, e);
+ LOG.error("getDocInfo clusterName={} error", clusterName, e);
return null;
}
}
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/manager/impl/LoadServiceDocEntryImpl.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/manager/impl/LoadServiceDocEntryImpl.java
index ab47269fe4..07dadf27a1 100755
---
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/manager/impl/LoadServiceDocEntryImpl.java
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/manager/impl/LoadServiceDocEntryImpl.java
@@ -156,7 +156,7 @@ public class LoadServiceDocEntryImpl implements
LoadServiceDocEntry {
return instance;
}).collect(Collectors.toList());
} catch (Exception e) {
- LOG.error("Error getting cluster instance list. contextPath={}
error={}", contextPath, e);
+ LOG.error("Error getting cluster instance list. contextPath={}
error", contextPath, e);
return Collections.emptyList();
}
}
@@ -241,7 +241,7 @@ public class LoadServiceDocEntryImpl implements
LoadServiceDocEntry {
return instance;
}).collect(Collectors.toList());
} catch (Exception e) {
- LOG.error("Error getting cluster instance list. contextPath={}
error={}", contextPath, e);
+ LOG.error("Error getting cluster instance list. contextPath={}
error", contextPath, e);
return Collections.emptyList();
}
}
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/manager/impl/PullSwaggerDocServiceImpl.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/manager/impl/PullSwaggerDocServiceImpl.java
index c9c4a31afb..58e2a73eb5 100644
---
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/manager/impl/PullSwaggerDocServiceImpl.java
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/manager/impl/PullSwaggerDocServiceImpl.java
@@ -114,7 +114,7 @@ public class PullSwaggerDocServiceImpl implements
PullSwaggerDocService {
);
tagExt.setRefreshTime(newRefreshTime);
} catch (Exception e) {
- LOG.error("add api document fail. clusterName={} url={} error={}",
instance.getClusterName(), url, e);
+ LOG.error("add api document fail. clusterName={} url={} error",
instance.getClusterName(), url, e);
} finally {
tagExt.setDocLock(null);
//Save the time of the last updated document and the newMd5 of
apidoc.
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/manager/impl/SwaggerDocParser.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/manager/impl/SwaggerDocParser.java
index 5d33b241cf..f7afed202e 100755
---
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/manager/impl/SwaggerDocParser.java
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/service/manager/impl/SwaggerDocParser.java
@@ -18,19 +18,8 @@
package org.apache.shenyu.admin.service.manager.impl;
import com.google.common.collect.Sets;
-import com.google.gson.JsonElement;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
-import java.util.Map;
-import java.util.Objects;
-import java.util.Optional;
-import java.util.Set;
-import java.util.stream.Collectors;
-
import com.google.gson.JsonArray;
+import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.reflect.TypeToken;
import org.apache.commons.collections4.CollectionUtils;
@@ -42,7 +31,17 @@ import org.apache.shenyu.admin.model.bean.DocModule;
import org.apache.shenyu.admin.model.bean.DocParameter;
import org.apache.shenyu.admin.service.manager.DocParser;
import org.apache.shenyu.common.utils.GsonUtils;
-import org.springframework.beans.BeanUtils;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import java.util.Set;
+import java.util.stream.Collectors;
/**
* Parse the JSON content of swagger.
@@ -206,8 +205,7 @@ public class SwaggerDocParser implements DocParser {
int index = name.indexOf('.');
String module = name.substring(0, index);
String newName = name.substring(index + 1);
- DocParameter ret = new DocParameter();
- BeanUtils.copyProperties(docParameter, ret);
+ DocParameter ret = DocParameter.copy(docParameter);
ret.setName(newName);
ret.setModule(module);
return ret;
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/transfer/AlertTransfer.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/transfer/AlertTransfer.java
new file mode 100644
index 0000000000..6e00fcbcd5
--- /dev/null
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/transfer/AlertTransfer.java
@@ -0,0 +1,120 @@
+/*
+ * 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.shenyu.admin.transfer;
+
+import org.apache.shenyu.admin.model.entity.AlertReceiverDO;
+import org.apache.shenyu.alert.model.AlertReceiverDTO;
+
+import java.util.Optional;
+
+/**
+ * The Alert transfer.
+ */
+public enum AlertTransfer {
+
+ /**
+ * The constant INSTANCE.
+ */
+ INSTANCE;
+
+ /**
+ * Map to entity alert receiver do.
+ *
+ * @param alertReceiverDTO the alert receiver dto
+ * @return the alert receiver do
+ */
+ public AlertReceiverDO mapToAlertReciverDO(final AlertReceiverDTO
alertReceiverDTO) {
+ return Optional.ofNullable(alertReceiverDTO)
+ .map(v -> {
+ AlertReceiverDO alertReceiverDO = new AlertReceiverDO();
+ alertReceiverDO.setId(alertReceiverDTO.getId());
+ alertReceiverDO.setName(alertReceiverDTO.getName());
+
alertReceiverDO.setAccessToken(alertReceiverDTO.getAccessToken());
+ alertReceiverDO.setAgentId(alertReceiverDTO.getAgentId());
+ alertReceiverDO.setCorpId(alertReceiverDTO.getCorpId());
+
alertReceiverDO.setAppSecret(alertReceiverDTO.getAppSecret());
+
alertReceiverDO.setDiscordBotToken(alertReceiverDTO.getDiscordBotToken());
+
alertReceiverDO.setDiscordChannelId(alertReceiverDTO.getDiscordChannelId());
+ alertReceiverDO.setEmail(alertReceiverDTO.getEmail());
+
alertReceiverDO.setWechatId(alertReceiverDTO.getWechatId());
+ alertReceiverDO.setEnable(alertReceiverDTO.isEnable());
+ alertReceiverDO.setHookUrl(alertReceiverDTO.getHookUrl());
+ alertReceiverDO.setType(alertReceiverDTO.getType());
+ alertReceiverDO.setLabels(alertReceiverDTO.getLabels());
+ alertReceiverDO.setLevels(alertReceiverDTO.getLevels());
+
alertReceiverDO.setTgUserId(alertReceiverDTO.getTgUserId());
+
alertReceiverDO.setTgBotToken(alertReceiverDTO.getTgBotToken());
+ alertReceiverDO.setSmnSk(alertReceiverDTO.getSmnSk());
+ alertReceiverDO.setSmnAk(alertReceiverDTO.getSmnAk());
+
alertReceiverDO.setSmnProjectId(alertReceiverDTO.getSmnProjectId());
+
alertReceiverDO.setSmnTopicUrn(alertReceiverDTO.getSmnTopicUrn());
+
alertReceiverDO.setSmnRegion(alertReceiverDTO.getSmnRegion());
+ alertReceiverDO.setPhone(alertReceiverDTO.getPhone());
+ alertReceiverDO.setMatchAll(alertReceiverDTO.isMatchAll());
+
alertReceiverDO.setSlackWebHookUrl(alertReceiverDTO.getSlackWebHookUrl());
+
alertReceiverDO.setDateCreated(alertReceiverDTO.getDateCreated());
+
alertReceiverDO.setDateUpdated(alertReceiverDTO.getDateUpdated());
+ return alertReceiverDO;
+ })
+ .orElse(null);
+ }
+
+ /**
+ * Map to alert receiver dto.
+ *
+ * @param alertReceiverDO the alert receiver do
+ * @return the alert receiver do
+ */
+ public AlertReceiverDTO mapToAlertReceiverDTO(final AlertReceiverDO
alertReceiverDO) {
+ return Optional.ofNullable(alertReceiverDO)
+ .map(v -> {
+ AlertReceiverDTO alertReceiverDTO = new AlertReceiverDTO();
+ alertReceiverDTO.setId(alertReceiverDO.getId());
+ alertReceiverDTO.setName(alertReceiverDO.getName());
+
alertReceiverDTO.setAccessToken(alertReceiverDO.getAccessToken());
+ alertReceiverDTO.setAgentId(alertReceiverDO.getAgentId());
+ alertReceiverDTO.setCorpId(alertReceiverDO.getCorpId());
+
alertReceiverDTO.setAppSecret(alertReceiverDO.getAppSecret());
+
alertReceiverDTO.setDiscordBotToken(alertReceiverDO.getDiscordBotToken());
+
alertReceiverDTO.setDiscordChannelId(alertReceiverDO.getDiscordChannelId());
+ alertReceiverDTO.setEmail(alertReceiverDO.getEmail());
+
alertReceiverDTO.setWechatId(alertReceiverDO.getWechatId());
+ alertReceiverDTO.setEnable(alertReceiverDO.isEnable());
+ alertReceiverDTO.setHookUrl(alertReceiverDO.getHookUrl());
+ alertReceiverDTO.setType(alertReceiverDO.getType());
+ alertReceiverDTO.setLabels(alertReceiverDO.getLabels());
+ alertReceiverDTO.setLevels(alertReceiverDO.getLevels());
+
alertReceiverDTO.setTgUserId(alertReceiverDO.getTgUserId());
+
alertReceiverDTO.setTgBotToken(alertReceiverDO.getTgBotToken());
+ alertReceiverDTO.setSmnSk(alertReceiverDO.getSmnSk());
+ alertReceiverDTO.setSmnAk(alertReceiverDO.getSmnAk());
+
alertReceiverDTO.setSmnProjectId(alertReceiverDO.getSmnProjectId());
+
alertReceiverDTO.setSmnTopicUrn(alertReceiverDO.getSmnTopicUrn());
+
alertReceiverDTO.setSmnRegion(alertReceiverDO.getSmnRegion());
+ alertReceiverDTO.setPhone(alertReceiverDO.getPhone());
+ alertReceiverDTO.setMatchAll(alertReceiverDO.isMatchAll());
+
alertReceiverDTO.setSlackWebHookUrl(alertReceiverDO.getSlackWebHookUrl());
+
alertReceiverDTO.setDateCreated(alertReceiverDO.getDateCreated());
+
alertReceiverDTO.setDateUpdated(alertReceiverDO.getDateUpdated());
+ return alertReceiverDTO;
+ })
+ .orElse(null);
+ }
+
+
+}
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/transfer/MetaDataTransfer.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/transfer/MetaDataTransfer.java
index e30982b75c..305c4ec5b6 100644
---
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/transfer/MetaDataTransfer.java
+++
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/transfer/MetaDataTransfer.java
@@ -83,6 +83,29 @@ public enum MetaDataTransfer {
.orElse(null);
}
+ /**
+ * COpy to entity meta data do.
+ *
+ * @param metaDataDO the meta data source do
+ * @return the meta data do
+ */
+ public MetaDataDO copy(final MetaDataDO metaDataDO) {
+ return Optional.ofNullable(metaDataDO)
+ .map(source -> MetaDataDO.builder()
+ .id(source.getId())
+ .appName(source.getAppName())
+ .path(source.getPath())
+ .pathDesc(source.getPathDesc())
+ .rpcType(source.getRpcType())
+ .serviceName(source.getServiceName())
+ .methodName(source.getMethodName())
+ .parameterTypes(source.getParameterTypes())
+ .rpcExt(source.getRpcExt())
+ .enabled(source.getEnabled())
+ .build())
+ .orElse(null);
+ }
+
/**
* Map to data meta data.
*
diff --git
a/shenyu-admin/src/main/java/org/apache/shenyu/admin/utils/HttpUtils.java
b/shenyu-admin/src/main/java/org/apache/shenyu/admin/utils/HttpUtils.java
index 56ffe68b52..681032ecf2 100644
--- a/shenyu-admin/src/main/java/org/apache/shenyu/admin/utils/HttpUtils.java
+++ b/shenyu-admin/src/main/java/org/apache/shenyu/admin/utils/HttpUtils.java
@@ -346,14 +346,15 @@ public class HttpUtils {
addHeader(requestBuilder, header);
Request request = requestBuilder.build();
- Response response = httpClient
- .newCall(request)
- .execute();
- if (response.isSuccessful()) {
- ResponseBody body = response.body();
- return body == null ? null : body.byteStream();
+ try (Response response = httpClient
+ .newCall(request)
+ .execute()) {
+ if (response.isSuccessful()) {
+ ResponseBody body = response.body();
+ return Objects.isNull(body) ? null : body.byteStream();
+ }
+ return null;
}
- return null;
}
/**
diff --git
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/listener/websocket/WebsocketCollectorTest.java
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/listener/websocket/WebsocketCollectorTest.java
index 3f5b460cd9..c0777fd123 100644
---
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/listener/websocket/WebsocketCollectorTest.java
+++
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/listener/websocket/WebsocketCollectorTest.java
@@ -39,6 +39,7 @@ import org.springframework.test.util.ReflectionTestUtils;
import javax.websocket.RemoteEndpoint;
import javax.websocket.Session;
import java.io.IOException;
+import java.util.Objects;
import java.util.Set;
import static org.junit.jupiter.api.Assertions.assertEquals;
@@ -153,7 +154,7 @@ public final class WebsocketCollectorTest {
private long getSessionSetSize() {
Set sessionSet = (Set)
ReflectionTestUtils.getField(WebsocketCollector.class, "SESSION_SET");
- return sessionSet == null ? -1 : sessionSet.size();
+ return Objects.isNull(sessionSet) ? -1 : sessionSet.size();
}
private Session getSession() {
diff --git
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/model/bean/DocParameterTest.java
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/model/bean/DocParameterTest.java
index fdc2563fbb..0d1f18bee4 100644
---
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/model/bean/DocParameterTest.java
+++
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/model/bean/DocParameterTest.java
@@ -67,4 +67,20 @@ public final class DocParameterTest {
final String example = docParameter.getExample();
assertEquals("shenyuXExample", docParameter.getExample());
}
+
+ @Test
+ public void testCopy() {
+ DocParameter copied = DocParameter.copy(docParameter);
+ assertEquals("shenyuDescription", copied.getDescription());
+ assertEquals(0, copied.getId().intValue());
+ assertEquals("shenyuMaxLength", copied.getMaxLength());
+ assertEquals("shenyuSetModule", copied.getModule());
+ assertEquals("shenyuName", copied.getName());
+ assertTrue(copied.isRequired());
+ assertEquals("shenyuType", copied.getType());
+ assertEquals("shenyuXExample", copied.getXExample());
+
+ copied.setRefs(Collections.singletonList(copied));
+ assertEquals(Collections.singletonList(copied), copied.getRefs());
+ }
}
diff --git
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/transfer/AlertTransferTest.java
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/transfer/AlertTransferTest.java
new file mode 100644
index 0000000000..49ab33059b
--- /dev/null
+++
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/transfer/AlertTransferTest.java
@@ -0,0 +1,168 @@
+/*
+ * 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.shenyu.admin.transfer;
+
+import com.google.common.collect.Lists;
+import com.google.common.collect.Maps;
+import org.apache.shenyu.admin.model.entity.AlertReceiverDO;
+import org.apache.shenyu.alert.model.AlertReceiverDTO;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import java.sql.Timestamp;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+
+/**
+ * test cast for {@link AlertTransfer}.
+ */
+public final class AlertTransferTest {
+
+ private AlertReceiverDTO alertReceiverDTO;
+
+ private AlertReceiverDO alertReceiverDO;
+
+ @BeforeEach
+ public void setUp() {
+ alertReceiverDTO = new AlertReceiverDTO();
+ alertReceiverDTO.setId("123");
+ alertReceiverDTO.setName("123");
+ alertReceiverDTO.setAccessToken("123");
+ alertReceiverDTO.setAgentId("123");
+ alertReceiverDTO.setCorpId("123");
+ alertReceiverDTO.setAppSecret("123");
+ alertReceiverDTO.setDiscordBotToken("123");
+ alertReceiverDTO.setDiscordChannelId("123");
+ alertReceiverDTO.setEmail("123");
+ alertReceiverDTO.setWechatId("123");
+ alertReceiverDTO.setEnable(true);
+ alertReceiverDTO.setHookUrl("123");
+ alertReceiverDTO.setType(Byte.valueOf("10"));
+ alertReceiverDTO.setLabels(Maps.newHashMap());
+ alertReceiverDTO.setLevels(Lists.newArrayList());
+ alertReceiverDTO.setTgUserId("123");
+ alertReceiverDTO.setTgBotToken("123");
+ alertReceiverDTO.setSmnSk("123");
+ alertReceiverDTO.setSmnAk("123");
+ alertReceiverDTO.setSmnProjectId("123");
+ alertReceiverDTO.setSmnTopicUrn("123");
+ alertReceiverDTO.setSmnRegion("123");
+ alertReceiverDTO.setPhone("123");
+ alertReceiverDTO.setMatchAll(true);
+ alertReceiverDTO.setSlackWebHookUrl("123");
+ Timestamp currentTime = new Timestamp(System.currentTimeMillis());
+ alertReceiverDTO.setDateCreated(currentTime);
+ alertReceiverDTO.setDateUpdated(currentTime);
+
+ alertReceiverDO = new AlertReceiverDO();
+ alertReceiverDO.setId("123");
+ alertReceiverDO.setName("123");
+ alertReceiverDO.setAccessToken("123");
+ alertReceiverDO.setAgentId("123");
+ alertReceiverDO.setCorpId("123");
+ alertReceiverDO.setAppSecret("123");
+ alertReceiverDO.setDiscordBotToken("123");
+ alertReceiverDO.setDiscordChannelId("123");
+ alertReceiverDO.setEmail("123");
+ alertReceiverDO.setWechatId("123");
+ alertReceiverDO.setEnable(true);
+ alertReceiverDO.setHookUrl("123");
+ alertReceiverDO.setType(Byte.valueOf("10"));
+ alertReceiverDO.setLabels(Maps.newHashMap());
+ alertReceiverDO.setLevels(Lists.newArrayList());
+ alertReceiverDO.setTgUserId("123");
+ alertReceiverDO.setTgBotToken("123");
+ alertReceiverDO.setSmnSk("123");
+ alertReceiverDO.setSmnAk("123");
+ alertReceiverDO.setSmnProjectId("123");
+ alertReceiverDO.setSmnTopicUrn("123");
+ alertReceiverDO.setSmnRegion("123");
+ alertReceiverDO.setPhone("123");
+ alertReceiverDO.setMatchAll(true);
+ alertReceiverDO.setSlackWebHookUrl("123");
+ alertReceiverDO.setDateCreated(currentTime);
+ alertReceiverDO.setDateUpdated(currentTime);
+ }
+
+ @Test
+ void testMapToEntity() {
+ AlertReceiverDO entity =
AlertTransfer.INSTANCE.mapToAlertReciverDO(alertReceiverDTO);
+ assertNotNull(entity);
+ assertEquals(entity.getId(), alertReceiverDTO.getId());
+ assertEquals(entity.getName(), alertReceiverDTO.getName());
+ assertEquals(entity.getAccessToken(),
alertReceiverDTO.getAccessToken());
+ assertEquals(entity.getAgentId(), alertReceiverDTO.getAgentId());
+ assertEquals(entity.getCorpId(), alertReceiverDTO.getCorpId());
+ assertEquals(entity.getAppSecret(), alertReceiverDTO.getAppSecret());
+ assertEquals(entity.getDiscordBotToken(),
alertReceiverDTO.getDiscordBotToken());
+ assertEquals(entity.getDiscordChannelId(),
alertReceiverDTO.getDiscordChannelId());
+ assertEquals(entity.getEmail(), alertReceiverDTO.getEmail());
+ assertEquals(entity.getWechatId(), alertReceiverDTO.getWechatId());
+ assertEquals(entity.isEnable(), alertReceiverDTO.isEnable());
+ assertEquals(entity.getHookUrl(), alertReceiverDTO.getHookUrl());
+ assertEquals(entity.getType(), alertReceiverDTO.getType());
+ assertEquals(entity.getLabels(), alertReceiverDTO.getLabels());
+ assertEquals(entity.getLevels(), alertReceiverDTO.getLevels());
+ assertEquals(entity.getTgUserId(), alertReceiverDTO.getTgUserId());
+ assertEquals(entity.getTgBotToken(), alertReceiverDTO.getTgBotToken());
+ assertEquals(entity.getSmnSk(), alertReceiverDTO.getSmnSk());
+ assertEquals(entity.getSmnAk(), alertReceiverDTO.getSmnAk());
+ assertEquals(entity.getSmnProjectId(),
alertReceiverDTO.getSmnProjectId());
+ assertEquals(entity.getSmnTopicUrn(),
alertReceiverDTO.getSmnTopicUrn());
+ assertEquals(entity.getSmnRegion(), alertReceiverDTO.getSmnRegion());
+ assertEquals(entity.getPhone(), alertReceiverDTO.getPhone());
+ assertEquals(entity.isMatchAll(), alertReceiverDTO.isMatchAll());
+ assertEquals(entity.getSlackWebHookUrl(),
alertReceiverDTO.getSlackWebHookUrl());
+ assertEquals(entity.getDateCreated(),
alertReceiverDTO.getDateCreated());
+ assertEquals(entity.getDateUpdated(),
alertReceiverDTO.getDateUpdated());
+ }
+
+ @Test
+ void testMapToDTO() {
+ AlertReceiverDTO dto =
AlertTransfer.INSTANCE.mapToAlertReceiverDTO(alertReceiverDO);
+ assertNotNull(dto);
+ assertEquals(dto.getId(), alertReceiverDO.getId());
+ assertEquals(dto.getName(), alertReceiverDO.getName());
+ assertEquals(dto.getAccessToken(), alertReceiverDO.getAccessToken());
+ assertEquals(dto.getAgentId(), alertReceiverDO.getAgentId());
+ assertEquals(dto.getCorpId(), alertReceiverDO.getCorpId());
+ assertEquals(dto.getAppSecret(), alertReceiverDO.getAppSecret());
+ assertEquals(dto.getDiscordBotToken(),
alertReceiverDO.getDiscordBotToken());
+ assertEquals(dto.getDiscordChannelId(),
alertReceiverDO.getDiscordChannelId());
+ assertEquals(dto.getEmail(), alertReceiverDO.getEmail());
+ assertEquals(dto.getWechatId(), alertReceiverDO.getWechatId());
+ assertEquals(dto.isEnable(), alertReceiverDO.isEnable());
+ assertEquals(dto.getHookUrl(), alertReceiverDO.getHookUrl());
+ assertEquals(dto.getType(), alertReceiverDO.getType());
+ assertEquals(dto.getLabels(), alertReceiverDO.getLabels());
+ assertEquals(dto.getLevels(), alertReceiverDO.getLevels());
+ assertEquals(dto.getTgUserId(), alertReceiverDO.getTgUserId());
+ assertEquals(dto.getTgBotToken(), alertReceiverDO.getTgBotToken());
+ assertEquals(dto.getSmnSk(), alertReceiverDO.getSmnSk());
+ assertEquals(dto.getSmnAk(), alertReceiverDO.getSmnAk());
+ assertEquals(dto.getSmnProjectId(), alertReceiverDO.getSmnProjectId());
+ assertEquals(dto.getSmnTopicUrn(), alertReceiverDO.getSmnTopicUrn());
+ assertEquals(dto.getSmnRegion(), alertReceiverDO.getSmnRegion());
+ assertEquals(dto.getPhone(), alertReceiverDO.getPhone());
+ assertEquals(dto.isMatchAll(), alertReceiverDO.isMatchAll());
+ assertEquals(dto.getSlackWebHookUrl(),
alertReceiverDO.getSlackWebHookUrl());
+ assertEquals(dto.getDateCreated(), alertReceiverDO.getDateCreated());
+ assertEquals(dto.getDateUpdated(), alertReceiverDO.getDateUpdated());
+ }
+}
diff --git
a/shenyu-admin/src/test/java/org/apache/shenyu/admin/transfer/MetaDataTransferTest.java
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/transfer/MetaDataTransferTest.java
new file mode 100644
index 0000000000..9f6c04b29e
--- /dev/null
+++
b/shenyu-admin/src/test/java/org/apache/shenyu/admin/transfer/MetaDataTransferTest.java
@@ -0,0 +1,182 @@
+/*
+ * 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.shenyu.admin.transfer;
+
+import org.apache.shenyu.admin.model.dto.MetaDataDTO;
+import org.apache.shenyu.admin.model.entity.MetaDataDO;
+import org.apache.shenyu.admin.model.vo.MetaDataVO;
+import org.apache.shenyu.common.dto.MetaData;
+import org.apache.shenyu.register.common.dto.MetaDataRegisterDTO;
+import org.junit.jupiter.api.BeforeEach;
+import org.junit.jupiter.api.Test;
+
+import java.util.Collections;
+import java.util.List;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNull;
+
+/**
+ * test cast for {@link MetaDataTransfer}.
+ */
+public final class MetaDataTransferTest {
+
+ private MetaDataDTO metaDataDTO;
+
+ private MetaDataRegisterDTO metaDataRegisterDTO;
+
+ @BeforeEach
+ public void setUp() {
+ metaDataDTO = new MetaDataDTO();
+ metaDataDTO.setId("id123");
+ metaDataDTO.setAppName("appName123");
+ metaDataDTO.setPath("/app");
+ metaDataDTO.setEnabled(true);
+ metaDataDTO.setMethodName("methodName123");
+ metaDataDTO.setContextPath("/http");
+ metaDataDTO.setParameterTypes("String");
+ metaDataDTO.setPathDesc("desc");
+ metaDataDTO.setRpcType("http");
+ metaDataDTO.setRpcExt("none");
+ metaDataDTO.setRuleName("ruleName123");
+ metaDataDTO.setServiceName("serviceName123");
+
+
+ metaDataRegisterDTO = new MetaDataRegisterDTO();
+ metaDataRegisterDTO.setAppName("appName123");
+ metaDataRegisterDTO.setPath("/app");
+ metaDataRegisterDTO.setEnabled(true);
+ metaDataRegisterDTO.setMethodName("methodName123");
+ metaDataRegisterDTO.setContextPath("/http");
+ metaDataRegisterDTO.setParameterTypes("String");
+ metaDataRegisterDTO.setPathDesc("desc");
+ metaDataRegisterDTO.setRpcType("http");
+ metaDataRegisterDTO.setRpcExt("none");
+ metaDataRegisterDTO.setRuleName("ruleName123");
+ metaDataRegisterDTO.setServiceName("serviceName123");
+ }
+
+ @Test
+ public void testMapToEntity() {
+ MetaDataDO metaDataDO =
MetaDataTransfer.INSTANCE.mapToEntity(metaDataDTO);
+ assertEquals("id123", metaDataDO.getId());
+ assertEquals("appName123", metaDataDO.getAppName());
+ assertEquals(true, metaDataDO.getEnabled());
+ assertEquals("methodName123", metaDataDO.getMethodName());
+ assertEquals("String", metaDataDO.getParameterTypes());
+ assertEquals("desc", metaDataDO.getPathDesc());
+ assertEquals("http", metaDataDO.getRpcType());
+ assertEquals("none", metaDataDO.getRpcExt());
+ assertEquals("serviceName123", metaDataDO.getServiceName());
+ }
+
+ @Test
+ public void testMapRegisterDTOToEntity() {
+ MetaDataDO metaDataDO =
MetaDataTransfer.INSTANCE.mapRegisterDTOToEntity(metaDataRegisterDTO);
+ assertNull(null, metaDataDO.getId());
+ assertEquals("appName123", metaDataDO.getAppName());
+ assertEquals(true, metaDataDO.getEnabled());
+ assertEquals("methodName123", metaDataDO.getMethodName());
+ assertEquals("String", metaDataDO.getParameterTypes());
+ assertEquals("desc", metaDataDO.getPathDesc());
+ assertEquals("http", metaDataDO.getRpcType());
+ assertEquals("none", metaDataDO.getRpcExt());
+ assertEquals("serviceName123", metaDataDO.getServiceName());
+ }
+
+ @Test
+ public void testCopy() {
+ MetaDataDO metaDataDO =
MetaDataTransfer.INSTANCE.mapToEntity(metaDataDTO);
+ MetaDataDO copied = MetaDataTransfer.INSTANCE.copy(metaDataDO);
+ assertEquals("id123", copied.getId());
+ assertEquals("appName123", copied.getAppName());
+ assertEquals(true, copied.getEnabled());
+ assertEquals("methodName123", copied.getMethodName());
+ assertEquals("String", copied.getParameterTypes());
+ assertEquals("desc", copied.getPathDesc());
+ assertEquals("http", copied.getRpcType());
+ assertEquals("none", copied.getRpcExt());
+ assertEquals("serviceName123", copied.getServiceName());
+ }
+
+ @Test
+ public void testMapToData() {
+ MetaDataDO metaDataDO =
MetaDataTransfer.INSTANCE.mapToEntity(metaDataDTO);
+ MetaData metaData = MetaDataTransfer.INSTANCE.mapToData(metaDataDO);
+ assertEquals("id123", metaData.getId());
+ assertEquals("appName123", metaData.getAppName());
+ assertEquals(true, metaData.getEnabled());
+ assertEquals("methodName123", metaData.getMethodName());
+ assertEquals("String", metaData.getParameterTypes());
+ assertEquals("http", metaData.getRpcType());
+ assertEquals("none", metaData.getRpcExt());
+ assertEquals("serviceName123", metaData.getServiceName());
+ }
+
+ @Test
+ public void testMapToDataAll() {
+ MetaDataDO metaDataDO =
MetaDataTransfer.INSTANCE.mapToEntity(metaDataDTO);
+ List<MetaDataDO> metaDataDOList =
Collections.singletonList(metaDataDO);
+ List<MetaData> metaDataList =
MetaDataTransfer.INSTANCE.mapToDataAll(metaDataDOList);
+
+ assertEquals(metaDataDOList.size(), metaDataList.size());
+
+ MetaData metaData = metaDataList.get(0);
+ assertEquals("id123", metaData.getId());
+ assertEquals("appName123", metaData.getAppName());
+ assertEquals(true, metaData.getEnabled());
+ assertEquals("methodName123", metaData.getMethodName());
+ assertEquals("String", metaData.getParameterTypes());
+ assertEquals("http", metaData.getRpcType());
+ assertEquals("none", metaData.getRpcExt());
+ assertEquals("serviceName123", metaData.getServiceName());
+ }
+
+ @Test
+ public void testMapToVO() {
+ MetaDataDO metaDataDO =
MetaDataTransfer.INSTANCE.mapToEntity(metaDataDTO);
+ MetaDataVO metaDataVO = MetaDataTransfer.INSTANCE.mapToVO(metaDataDO);
+ assertEquals("id123", metaDataVO.getId());
+ assertEquals("appName123", metaDataVO.getAppName());
+ assertEquals(true, metaDataVO.getEnabled());
+ assertEquals("methodName123", metaDataVO.getMethodName());
+ assertEquals("String", metaDataVO.getParameterTypes());
+ assertEquals("desc", metaDataVO.getPathDesc());
+ assertEquals("http", metaDataVO.getRpcType());
+ assertEquals("none", metaDataVO.getRpcExt());
+ assertEquals("serviceName123", metaDataVO.getServiceName());
+ }
+
+ @Test
+ public void testMapToVOList() {
+ MetaDataDO metaDataDO =
MetaDataTransfer.INSTANCE.mapToEntity(metaDataDTO);
+ List<MetaDataDO> metaDataDOList =
Collections.singletonList(metaDataDO);
+ List<MetaDataVO> metaDataVOList =
MetaDataTransfer.INSTANCE.mapToVOList(metaDataDOList);
+ assertEquals(metaDataDOList.size(), metaDataVOList.size());
+ MetaDataVO metaDataVO = metaDataVOList.get(0);
+ assertEquals("id123", metaDataVO.getId());
+ assertEquals("appName123", metaDataVO.getAppName());
+ assertEquals(true, metaDataVO.getEnabled());
+ assertEquals("methodName123", metaDataVO.getMethodName());
+ assertEquals("String", metaDataVO.getParameterTypes());
+ assertEquals("desc", metaDataVO.getPathDesc());
+ assertEquals("http", metaDataVO.getRpcType());
+ assertEquals("none", metaDataVO.getRpcExt());
+ assertEquals("serviceName123", metaDataVO.getServiceName());
+ }
+}
diff --git
a/shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/fallback/FallbackHandler.java
b/shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/fallback/FallbackHandler.java
index a70e254ee9..5d4aeabd4e 100644
---
a/shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/fallback/FallbackHandler.java
+++
b/shenyu-plugin/shenyu-plugin-base/src/main/java/org/apache/shenyu/plugin/base/fallback/FallbackHandler.java
@@ -71,7 +71,7 @@ public interface FallbackHandler {
ServerHttpRequest request = exchange.getRequest();
// avoid redirect loop, return error.
boolean isSameUri;
- if (!Objects.isNull(uri.getScheme())) {
+ if (Objects.nonNull(uri.getScheme())) {
isSameUri = request.getURI().toString().equals(uri.toString());
} else {
String uriStr = UriUtils.repairData(uri.toString());
diff --git
a/shenyu-sync-data-center/shenyu-sync-data-consul/src/main/java/org/apache/shenyu/sync/data/consul/ConsulSyncDataService.java
b/shenyu-sync-data-center/shenyu-sync-data-consul/src/main/java/org/apache/shenyu/sync/data/consul/ConsulSyncDataService.java
index 6e7730b4bc..8e94ae93c9 100644
---
a/shenyu-sync-data-center/shenyu-sync-data-consul/src/main/java/org/apache/shenyu/sync/data/consul/ConsulSyncDataService.java
+++
b/shenyu-sync-data-center/shenyu-sync-data-consul/src/main/java/org/apache/shenyu/sync/data/consul/ConsulSyncDataService.java
@@ -152,10 +152,10 @@ public class ConsulSyncDataService extends
AbstractPathDataSyncService {
//data has not changed
return;
}
- if (!Objects.isNull(lastDatas)) {
+ if (Objects.nonNull(lastDatas)) {
final ConsulData consulData = lastDatas.stream()
.filter(lastData ->
data.getKey().equals(lastData.getConsulKey())).findFirst().orElse(null);
- if (!Objects.isNull(consulData) &&
!StringUtils.isBlank(consulData.getConsulDataMd5())
+ if (Objects.nonNull(consulData) &&
!StringUtils.isBlank(consulData.getConsulDataMd5())
&&
consulData.getConsulDataMd5().equals(DigestUtils.md5Hex(data.getValue()))) {
return;
}
diff --git
a/shenyu-sync-data-center/shenyu-sync-data-polaris/src/main/java/org/apache/shenyu/sync/data/polaris/PolarisSyncDataService.java
b/shenyu-sync-data-center/shenyu-sync-data-polaris/src/main/java/org/apache/shenyu/sync/data/polaris/PolarisSyncDataService.java
index 1830e35590..dc14eb9df3 100644
---
a/shenyu-sync-data-center/shenyu-sync-data-polaris/src/main/java/org/apache/shenyu/sync/data/polaris/PolarisSyncDataService.java
+++
b/shenyu-sync-data-center/shenyu-sync-data-polaris/src/main/java/org/apache/shenyu/sync/data/polaris/PolarisSyncDataService.java
@@ -101,7 +101,7 @@ public class PolarisSyncDataService extends
AbstractNodeDataSyncService implemen
@Override
protected void doRemoveListener(final String removeKey) {
final ConfigFileChangeListener configFileChangeListener =
watchCache.get(removeKey);
- if (!Objects.isNull(configFileChangeListener)) {
+ if (Objects.nonNull(configFileChangeListener)) {
final ConfigFile configFile =
configFileService.getConfigFile(polarisConfig.getNamespace(),
polarisConfig.getFileGroup(), removeKey);
configFile.removeChangeListener(configFileChangeListener);
}
@@ -110,7 +110,7 @@ public class PolarisSyncDataService extends
AbstractNodeDataSyncService implemen
@Override
public void close() {
watchCache.forEach((key, configFileChangeListener) -> {
- if (!Objects.isNull(configFileChangeListener)) {
+ if (Objects.nonNull(configFileChangeListener)) {
final ConfigFile configFile =
configFileService.getConfigFile(polarisConfig.getNamespace(),
polarisConfig.getFileGroup(), key);
configFile.removeChangeListener(configFileChangeListener);
}