From 5ebe366ee3aa9a7292d9dd1a1401fa16e28ee09c Mon Sep 17 00:00:00 2001 From: Yiming Liu Date: Fri, 15 Apr 2016 14:22:08 +0800 Subject: [PATCH] Ingore empty item when build release --- apollo-adminservice/pom.xml | 5 ++++ .../apollo/biz/service/ReleaseService.java | 4 +++ .../apollo/portal/api/AdminServiceAPI.java | 2 +- .../portal/controller/ConfigController.java | 4 +-- .../apollo/portal/service/ConfigService.java | 28 ++++++++++--------- .../service/txtresolver/PropertyResolver.java | 2 +- 6 files changed, 27 insertions(+), 18 deletions(-) diff --git a/apollo-adminservice/pom.xml b/apollo-adminservice/pom.xml index 4ceafc146..07cd36e24 100644 --- a/apollo-adminservice/pom.xml +++ b/apollo-adminservice/pom.xml @@ -64,6 +64,11 @@ + + com.h2database + h2 + test + diff --git a/apollo-biz/src/main/java/com/ctrip/apollo/biz/service/ReleaseService.java b/apollo-biz/src/main/java/com/ctrip/apollo/biz/service/ReleaseService.java index 4f60236a4..8aef90b6b 100644 --- a/apollo-biz/src/main/java/com/ctrip/apollo/biz/service/ReleaseService.java +++ b/apollo-biz/src/main/java/com/ctrip/apollo/biz/service/ReleaseService.java @@ -15,6 +15,7 @@ import com.ctrip.apollo.biz.repository.ItemRepository; import com.ctrip.apollo.biz.repository.NamespaceRepository; import com.ctrip.apollo.biz.repository.ReleaseRepository; import com.ctrip.apollo.core.exception.NotFoundException; +import com.ctrip.apollo.core.utils.StringUtils; import com.google.gson.Gson; /** @@ -50,6 +51,9 @@ public class ReleaseService { List items = itemRepository.findByNamespaceIdOrderByLineNumAsc(namespace.getId()); Map configurations = new HashMap(); for (Item item : items) { + if (StringUtils.isEmpty(item.getKey())) { + continue; + } configurations.put(item.getKey(), item.getValue()); } diff --git a/apollo-portal/src/main/java/com/ctrip/apollo/portal/api/AdminServiceAPI.java b/apollo-portal/src/main/java/com/ctrip/apollo/portal/api/AdminServiceAPI.java index 4add63b74..52ff9cb43 100644 --- a/apollo-portal/src/main/java/com/ctrip/apollo/portal/api/AdminServiceAPI.java +++ b/apollo-portal/src/main/java/com/ctrip/apollo/portal/api/AdminServiceAPI.java @@ -76,7 +76,7 @@ public class AdminServiceAPI { public List findItems(String appId, Env env, String clusterName, String namespace) { if (StringUtils.isContainEmpty(appId, clusterName, namespace)) { - return Collections.EMPTY_LIST; + return Collections.emptyList(); } return Arrays.asList(restTemplate.getForObject(getAdminServiceHost(env) + String diff --git a/apollo-portal/src/main/java/com/ctrip/apollo/portal/controller/ConfigController.java b/apollo-portal/src/main/java/com/ctrip/apollo/portal/controller/ConfigController.java index f2375149a..8c4e298e0 100644 --- a/apollo-portal/src/main/java/com/ctrip/apollo/portal/controller/ConfigController.java +++ b/apollo-portal/src/main/java/com/ctrip/apollo/portal/controller/ConfigController.java @@ -11,7 +11,6 @@ import com.ctrip.apollo.portal.entity.form.NamespaceReleaseModel; import com.ctrip.apollo.portal.service.ConfigService; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; @@ -39,7 +38,7 @@ public class ConfigController { @RequestMapping(value = "/apps/{appId}/env/{env}/clusters/{clusterName}/namespaces/{namespaceName}/items", method = RequestMethod.PUT, consumes = { "application/json"}) - public ResponseEntity modifyItems(@PathVariable String appId, @PathVariable String env, + public void modifyItems(@PathVariable String appId, @PathVariable String env, @PathVariable String clusterName, @PathVariable String namespaceName, @RequestBody NamespaceTextModel model) { @@ -56,7 +55,6 @@ public class ConfigController { } configService.updateConfigItemByText(model); - return ResponseEntity.ok().build(); } @RequestMapping(value = "/apps/{appId}/env/{env}/clusters/{clusterName}/namespaces/{namespaceName}/release", method = RequestMethod.POST, consumes = { diff --git a/apollo-portal/src/main/java/com/ctrip/apollo/portal/service/ConfigService.java b/apollo-portal/src/main/java/com/ctrip/apollo/portal/service/ConfigService.java index aeb7b0643..8e1a0a9c5 100644 --- a/apollo-portal/src/main/java/com/ctrip/apollo/portal/service/ConfigService.java +++ b/apollo-portal/src/main/java/com/ctrip/apollo/portal/service/ConfigService.java @@ -1,6 +1,5 @@ package com.ctrip.apollo.portal.service; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -47,6 +46,7 @@ public class ConfigService { /** * load cluster all namespace info with items + * * @param appId * @param env * @param clusterName @@ -56,7 +56,7 @@ public class ConfigService { List namespaces = groupAPI.findGroupsByAppAndCluster(appId, env, clusterName); if (namespaces == null || namespaces.size() == 0) { - return Collections.EMPTY_LIST; + return Collections.emptyList(); } List namespaceVOs = new LinkedList<>(); @@ -67,8 +67,8 @@ public class ConfigService { namespaceVO = parseNamespace(appId, env, clusterName, namespace); namespaceVOs.add(namespaceVO); } catch (Exception e) { - logger.error("parse namespace error. app id:{}, env:{}, clusterName:{}, namespace:{}", appId, env, clusterName, - namespace.getNamespaceName(), e); + logger.error("parse namespace error. app id:{}, env:{}, clusterName:{}, namespace:{}", + appId, env, clusterName, namespace.getNamespaceName(), e); return namespaceVOs; } } @@ -76,8 +76,8 @@ public class ConfigService { return namespaceVOs; } + @SuppressWarnings("unchecked") private NamespaceVO parseNamespace(String appId, Env env, String clusterName, NamespaceDTO namespace) { - NamespaceVO namespaceVO = new NamespaceVO(); namespaceVO.setNamespace(namespace); @@ -133,7 +133,8 @@ public class ConfigService { /** * parse config text and update config items - * @return parse result + * + * @return parse result */ public void updateConfigItemByText(NamespaceTextModel model) { String appId = model.getAppId(); @@ -143,8 +144,8 @@ public class ConfigService { long namespaceId = model.getNamespaceId(); String configText = model.getConfigText(); - ItemChangeSets changeSets = - resolver.resolve(namespaceId, configText, itemAPI.findItems(appId, env, clusterName, namespaceName)); + ItemChangeSets changeSets = resolver.resolve(namespaceId, configText, + itemAPI.findItems(appId, env, clusterName, namespaceName)); try { changeSets.setModifyBy(model.getModifyBy()); enrichChangeSetBaseInfo(changeSets); @@ -155,18 +156,19 @@ public class ConfigService { } - private void enrichChangeSetBaseInfo(ItemChangeSets changeSets){ - for (ItemDTO item: changeSets.getCreateItems()){ + private void enrichChangeSetBaseInfo(ItemChangeSets changeSets) { + for (ItemDTO item : changeSets.getCreateItems()) { item.setDataChangeCreatedTime(new Date()); } } /** * createRelease config items + * * @return */ - public ReleaseDTO createRelease(NamespaceReleaseModel model){ - return releaseAPI.release(model.getAppId(), model.getEnv(), model.getClusterName(), model.getNamespaceName(), - model.getReleaseBy(), model.getReleaseComment()); + public ReleaseDTO createRelease(NamespaceReleaseModel model) { + return releaseAPI.release(model.getAppId(), model.getEnv(), model.getClusterName(), + model.getNamespaceName(), model.getReleaseBy(), model.getReleaseComment()); } } diff --git a/apollo-portal/src/main/java/com/ctrip/apollo/portal/service/txtresolver/PropertyResolver.java b/apollo-portal/src/main/java/com/ctrip/apollo/portal/service/txtresolver/PropertyResolver.java index e8ee1da36..86cf384c2 100644 --- a/apollo-portal/src/main/java/com/ctrip/apollo/portal/service/txtresolver/PropertyResolver.java +++ b/apollo-portal/src/main/java/com/ctrip/apollo/portal/service/txtresolver/PropertyResolver.java @@ -45,7 +45,7 @@ public class PropertyResolver implements ConfigTextResolver { } ItemChangeSets changeSets = new ItemChangeSets(); - Map newLineNumMapItem = new HashMap();//use for delete blank and comment item + Map newLineNumMapItem = new HashMap();//use for delete blank and comment item int lineCounter = 1; for (String newItem : newItems) { newItem = newItem.trim(); -- GitLab