|
@@ -1,5 +1,14 @@
|
|
package com.ctrip.framework.apollo.openapi.util;
|
|
package com.ctrip.framework.apollo.openapi.util;
|
|
|
|
|
|
|
|
+import java.lang.reflect.Type;
|
|
|
|
+import java.util.Collections;
|
|
|
|
+import java.util.LinkedList;
|
|
|
|
+import java.util.List;
|
|
|
|
+import java.util.Map;
|
|
|
|
+import java.util.Set;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
|
+import com.ctrip.framework.apollo.common.dto.ClusterDTO;
|
|
import com.ctrip.framework.apollo.common.dto.GrayReleaseRuleDTO;
|
|
import com.ctrip.framework.apollo.common.dto.GrayReleaseRuleDTO;
|
|
import com.ctrip.framework.apollo.common.dto.GrayReleaseRuleItemDTO;
|
|
import com.ctrip.framework.apollo.common.dto.GrayReleaseRuleItemDTO;
|
|
import com.ctrip.framework.apollo.common.dto.ItemDTO;
|
|
import com.ctrip.framework.apollo.common.dto.ItemDTO;
|
|
@@ -10,6 +19,7 @@ import com.ctrip.framework.apollo.common.entity.AppNamespace;
|
|
import com.ctrip.framework.apollo.common.utils.BeanUtils;
|
|
import com.ctrip.framework.apollo.common.utils.BeanUtils;
|
|
import com.ctrip.framework.apollo.openapi.dto.OpenAppDTO;
|
|
import com.ctrip.framework.apollo.openapi.dto.OpenAppDTO;
|
|
import com.ctrip.framework.apollo.openapi.dto.OpenAppNamespaceDTO;
|
|
import com.ctrip.framework.apollo.openapi.dto.OpenAppNamespaceDTO;
|
|
|
|
+import com.ctrip.framework.apollo.openapi.dto.OpenClusterDTO;
|
|
import com.ctrip.framework.apollo.openapi.dto.OpenGrayReleaseRuleDTO;
|
|
import com.ctrip.framework.apollo.openapi.dto.OpenGrayReleaseRuleDTO;
|
|
import com.ctrip.framework.apollo.openapi.dto.OpenGrayReleaseRuleItemDTO;
|
|
import com.ctrip.framework.apollo.openapi.dto.OpenGrayReleaseRuleItemDTO;
|
|
import com.ctrip.framework.apollo.openapi.dto.OpenItemDTO;
|
|
import com.ctrip.framework.apollo.openapi.dto.OpenItemDTO;
|
|
@@ -21,21 +31,11 @@ import com.ctrip.framework.apollo.portal.entity.bo.NamespaceBO;
|
|
import com.google.common.base.Preconditions;
|
|
import com.google.common.base.Preconditions;
|
|
import com.google.common.reflect.TypeToken;
|
|
import com.google.common.reflect.TypeToken;
|
|
import com.google.gson.Gson;
|
|
import com.google.gson.Gson;
|
|
-import org.springframework.util.CollectionUtils;
|
|
|
|
-
|
|
|
|
-import java.lang.reflect.Type;
|
|
|
|
-import java.util.Collections;
|
|
|
|
-import java.util.LinkedList;
|
|
|
|
-import java.util.List;
|
|
|
|
-import java.util.Map;
|
|
|
|
-import java.util.Set;
|
|
|
|
-import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
public class OpenApiBeanUtils {
|
|
public class OpenApiBeanUtils {
|
|
|
|
|
|
private static Gson gson = new Gson();
|
|
private static Gson gson = new Gson();
|
|
- private static Type type = new TypeToken<Map<String, String>>() {
|
|
|
|
- }.getType();
|
|
|
|
|
|
+ private static Type type = new TypeToken<Map<String, String>>() {}.getType();
|
|
|
|
|
|
public static OpenItemDTO transformFromItemDTO(ItemDTO item) {
|
|
public static OpenItemDTO transformFromItemDTO(ItemDTO item) {
|
|
Preconditions.checkArgument(item != null);
|
|
Preconditions.checkArgument(item != null);
|
|
@@ -71,28 +71,28 @@ public class OpenApiBeanUtils {
|
|
public static OpenNamespaceDTO transformFromNamespaceBO(NamespaceBO namespaceBO) {
|
|
public static OpenNamespaceDTO transformFromNamespaceBO(NamespaceBO namespaceBO) {
|
|
Preconditions.checkArgument(namespaceBO != null);
|
|
Preconditions.checkArgument(namespaceBO != null);
|
|
|
|
|
|
- OpenNamespaceDTO openNamespaceDTO = BeanUtils.transform(OpenNamespaceDTO.class, namespaceBO
|
|
|
|
- .getBaseInfo());
|
|
|
|
|
|
+ OpenNamespaceDTO openNamespaceDTO =
|
|
|
|
+ BeanUtils.transform(OpenNamespaceDTO.class, namespaceBO.getBaseInfo());
|
|
|
|
|
|
- //app namespace info
|
|
|
|
|
|
+ // app namespace info
|
|
openNamespaceDTO.setFormat(namespaceBO.getFormat());
|
|
openNamespaceDTO.setFormat(namespaceBO.getFormat());
|
|
openNamespaceDTO.setComment(namespaceBO.getComment());
|
|
openNamespaceDTO.setComment(namespaceBO.getComment());
|
|
openNamespaceDTO.setPublic(namespaceBO.isPublic());
|
|
openNamespaceDTO.setPublic(namespaceBO.isPublic());
|
|
|
|
|
|
- //items
|
|
|
|
|
|
+ // items
|
|
List<OpenItemDTO> items = new LinkedList<>();
|
|
List<OpenItemDTO> items = new LinkedList<>();
|
|
List<ItemBO> itemBOs = namespaceBO.getItems();
|
|
List<ItemBO> itemBOs = namespaceBO.getItems();
|
|
if (!CollectionUtils.isEmpty(itemBOs)) {
|
|
if (!CollectionUtils.isEmpty(itemBOs)) {
|
|
- items.addAll(itemBOs.stream().map(itemBO -> transformFromItemDTO(itemBO.getItem())).collect
|
|
|
|
- (Collectors.toList()));
|
|
|
|
|
|
+ items.addAll(itemBOs.stream().map(itemBO -> transformFromItemDTO(itemBO.getItem()))
|
|
|
|
+ .collect(Collectors.toList()));
|
|
}
|
|
}
|
|
openNamespaceDTO.setItems(items);
|
|
openNamespaceDTO.setItems(items);
|
|
return openNamespaceDTO;
|
|
return openNamespaceDTO;
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- public static List<OpenNamespaceDTO> batchTransformFromNamespaceBOs(List<NamespaceBO>
|
|
|
|
- namespaceBOs) {
|
|
|
|
|
|
+ public static List<OpenNamespaceDTO> batchTransformFromNamespaceBOs(
|
|
|
|
+ List<NamespaceBO> namespaceBOs) {
|
|
if (CollectionUtils.isEmpty(namespaceBOs)) {
|
|
if (CollectionUtils.isEmpty(namespaceBOs)) {
|
|
return Collections.emptyList();
|
|
return Collections.emptyList();
|
|
}
|
|
}
|
|
@@ -105,8 +105,7 @@ public class OpenApiBeanUtils {
|
|
}
|
|
}
|
|
|
|
|
|
public static OpenNamespaceLockDTO transformFromNamespaceLockDTO(String namespaceName,
|
|
public static OpenNamespaceLockDTO transformFromNamespaceLockDTO(String namespaceName,
|
|
- NamespaceLockDTO
|
|
|
|
- namespaceLock) {
|
|
|
|
|
|
+ NamespaceLockDTO namespaceLock) {
|
|
OpenNamespaceLockDTO lock = new OpenNamespaceLockDTO();
|
|
OpenNamespaceLockDTO lock = new OpenNamespaceLockDTO();
|
|
|
|
|
|
lock.setNamespaceName(namespaceName);
|
|
lock.setNamespaceName(namespaceName);
|
|
@@ -121,13 +120,15 @@ public class OpenApiBeanUtils {
|
|
return lock;
|
|
return lock;
|
|
}
|
|
}
|
|
|
|
|
|
- public static OpenGrayReleaseRuleDTO transformFromGrayReleaseRuleDTO(GrayReleaseRuleDTO grayReleaseRuleDTO){
|
|
|
|
|
|
+ public static OpenGrayReleaseRuleDTO transformFromGrayReleaseRuleDTO(
|
|
|
|
+ GrayReleaseRuleDTO grayReleaseRuleDTO) {
|
|
Preconditions.checkArgument(grayReleaseRuleDTO != null);
|
|
Preconditions.checkArgument(grayReleaseRuleDTO != null);
|
|
|
|
|
|
return BeanUtils.transform(OpenGrayReleaseRuleDTO.class, grayReleaseRuleDTO);
|
|
return BeanUtils.transform(OpenGrayReleaseRuleDTO.class, grayReleaseRuleDTO);
|
|
}
|
|
}
|
|
|
|
|
|
- public static GrayReleaseRuleDTO transformToGrayReleaseRuleDTO(OpenGrayReleaseRuleDTO openGrayReleaseRuleDTO){
|
|
|
|
|
|
+ public static GrayReleaseRuleDTO transformToGrayReleaseRuleDTO(
|
|
|
|
+ OpenGrayReleaseRuleDTO openGrayReleaseRuleDTO) {
|
|
Preconditions.checkArgument(openGrayReleaseRuleDTO != null);
|
|
Preconditions.checkArgument(openGrayReleaseRuleDTO != null);
|
|
|
|
|
|
String appId = openGrayReleaseRuleDTO.getAppId();
|
|
String appId = openGrayReleaseRuleDTO.getAppId();
|
|
@@ -135,10 +136,12 @@ public class OpenApiBeanUtils {
|
|
String clusterName = openGrayReleaseRuleDTO.getClusterName();
|
|
String clusterName = openGrayReleaseRuleDTO.getClusterName();
|
|
String namespaceName = openGrayReleaseRuleDTO.getNamespaceName();
|
|
String namespaceName = openGrayReleaseRuleDTO.getNamespaceName();
|
|
|
|
|
|
- GrayReleaseRuleDTO grayReleaseRuleDTO = new GrayReleaseRuleDTO(appId,clusterName,namespaceName,branchName);
|
|
|
|
|
|
+ GrayReleaseRuleDTO grayReleaseRuleDTO =
|
|
|
|
+ new GrayReleaseRuleDTO(appId, clusterName, namespaceName, branchName);
|
|
|
|
|
|
- Set<OpenGrayReleaseRuleItemDTO> openGrayReleaseRuleItemDTOSet = openGrayReleaseRuleDTO.getRuleItems();
|
|
|
|
- openGrayReleaseRuleItemDTOSet.forEach(openGrayReleaseRuleItemDTO ->{
|
|
|
|
|
|
+ Set<OpenGrayReleaseRuleItemDTO> openGrayReleaseRuleItemDTOSet =
|
|
|
|
+ openGrayReleaseRuleDTO.getRuleItems();
|
|
|
|
+ openGrayReleaseRuleItemDTOSet.forEach(openGrayReleaseRuleItemDTO -> {
|
|
String clientAppId = openGrayReleaseRuleItemDTO.getClientAppId();
|
|
String clientAppId = openGrayReleaseRuleItemDTO.getClientAppId();
|
|
Set<String> clientIpList = openGrayReleaseRuleItemDTO.getClientIpList();
|
|
Set<String> clientIpList = openGrayReleaseRuleItemDTO.getClientIpList();
|
|
GrayReleaseRuleItemDTO ruleItem = new GrayReleaseRuleItemDTO(clientAppId, clientIpList);
|
|
GrayReleaseRuleItemDTO ruleItem = new GrayReleaseRuleItemDTO(clientAppId, clientIpList);
|
|
@@ -152,9 +155,7 @@ public class OpenApiBeanUtils {
|
|
if (CollectionUtils.isEmpty(apps)) {
|
|
if (CollectionUtils.isEmpty(apps)) {
|
|
return Collections.emptyList();
|
|
return Collections.emptyList();
|
|
}
|
|
}
|
|
- return apps.stream()
|
|
|
|
- .map(OpenApiBeanUtils::transformFromApp)
|
|
|
|
- .collect(Collectors.toList());
|
|
|
|
|
|
+ return apps.stream().map(OpenApiBeanUtils::transformFromApp).collect(Collectors.toList());
|
|
}
|
|
}
|
|
|
|
|
|
public static OpenAppDTO transformFromApp(final App app) {
|
|
public static OpenAppDTO transformFromApp(final App app) {
|
|
@@ -162,4 +163,14 @@ public class OpenApiBeanUtils {
|
|
|
|
|
|
return BeanUtils.transform(OpenAppDTO.class, app);
|
|
return BeanUtils.transform(OpenAppDTO.class, app);
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ public static OpenClusterDTO transformFromClusterDTO(ClusterDTO Cluster) {
|
|
|
|
+ Preconditions.checkArgument(Cluster != null);
|
|
|
|
+ return BeanUtils.transform(OpenClusterDTO.class, Cluster);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ public static ClusterDTO transformToClusterDTO(OpenClusterDTO openClusterDTO) {
|
|
|
|
+ Preconditions.checkArgument(openClusterDTO != null);
|
|
|
|
+ return BeanUtils.transform(ClusterDTO.class, openClusterDTO);
|
|
|
|
+ }
|
|
}
|
|
}
|