diff --git a/apollo-adminservice/pom.xml b/apollo-adminservice/pom.xml
index 4ceafc1460651296e9bf5417b154816ecb382aa1..07cd36e24ae35278ad00e6e0f8d24fc3527dccf2 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 4f60236a44a2035650b7af17deaffef1e7c95afc..8aef90b6b824eafc1770463ec4d78f8a65da14e2 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 4add63b740aecc2951726fab34737b8885665a89..52ff9cb4399e8909c5e7736b6ec52838cff64f77 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 f2375149aab55bbe40020b2e3c443cc3962559d2..8c4e298e074d8d8f84e468b109d8c5de77a947c6 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 aeb7b0643bf8d272330b81204c1d7765f3a77260..8e1a0a9c5262a4bc51871a716c707ce2dd177cb9 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 e8ee1da361b899a6404f1fc03e480c3e077aed27..86cf384c2278937fc26e4882fdcf78955503feb7 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();