Explorar o código

fix jackson bug

knightliao %!s(int64=9) %!d(string=hai) anos
pai
achega
d6f4dd525a

+ 5 - 0
disconf-web/pom.xml

@@ -252,6 +252,11 @@
             <artifactId>jackson-databind</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>org.codehaus.jackson</groupId>
+            <artifactId>jackson-mapper-asl</artifactId>
+        </dependency>
+
         <dependency>
             <groupId>commons-fileupload</groupId>
             <artifactId>commons-fileupload</artifactId>

+ 5 - 6
disconf-web/src/main/java/com/baidu/disconf/web/service/config/service/impl/ConfigMgrImpl.java

@@ -38,7 +38,6 @@ import com.baidu.disconf.web.service.env.service.EnvMgr;
 import com.baidu.disconf.web.service.zookeeper.dto.ZkDisconfData;
 import com.baidu.disconf.web.service.zookeeper.dto.ZkDisconfData.ZkDisconfDataItem;
 import com.baidu.disconf.web.service.zookeeper.service.ZkDeployMgr;
-import com.baidu.disconf.web.utils.CodeUtils;
 import com.baidu.disconf.web.utils.DiffUtils;
 import com.baidu.disconf.web.utils.MyStringUtils;
 import com.baidu.dsp.common.constant.DataFormatConstants;
@@ -263,7 +262,7 @@ public class ConfigMgrImpl implements ConfigMgr {
         confListVo.setModifyTime(config.getUpdateTime().substring(0, 12));
         confListVo.setKey(config.getName());
         // StringEscapeUtils.escapeHtml escape
-        confListVo.setValue(CodeUtils.unicodeToUtf8(config.getValue()));
+        confListVo.setValue(config.getValue());
         confListVo.setVersion(config.getVersion());
         confListVo.setType(DisConfigTypeEnum.getByType(config.getType()).getModelName());
         confListVo.setTypeId(config.getType());
@@ -416,8 +415,8 @@ public class ConfigMgrImpl implements ConfigMgr {
         //
         // 配置数据库的值 encode to db
         //
-        configDao.updateValue(configId, CodeUtils.utf8ToUnicode(value));
-        configHistoryMgr.createOne(configId, oldValue, CodeUtils.utf8ToUnicode(value));
+        configDao.updateValue(configId, value);
+        configHistoryMgr.createOne(configId, oldValue, value);
 
         //
         // 发送邮件通知
@@ -426,7 +425,7 @@ public class ConfigMgrImpl implements ConfigMgr {
 
         if (applicationPropertyConfig.isEmailMonitorOn() == true) {
             boolean isSendSuccess = logMailBean.sendHtmlEmail(toEmails,
-                    " config update", DiffUtils.getDiff(CodeUtils.unicodeToUtf8(oldValue),
+                    " config update", DiffUtils.getDiff(oldValue,
                             value,
                             config.toString(),
                             getConfigUrlHtml(config)));
@@ -512,7 +511,7 @@ public class ConfigMgrImpl implements ConfigMgr {
         config.setName(confNewForm.getKey());
         config.setType(disConfigTypeEnum.getType());
         config.setVersion(confNewForm.getVersion());
-        config.setValue(CodeUtils.utf8ToUnicode(confNewForm.getValue()));
+        config.setValue(confNewForm.getValue());
         config.setStatus(Constants.STATUS_NORMAL);
 
         // 时间

+ 4 - 1
disconf-web/src/test/java/com/baidu/disconf/web/test/utils/CodeUtilsTestCase.java

@@ -14,7 +14,10 @@ public class CodeUtilsTestCase {
     public void unicodeToUtf8Test() {
 
         String code =
-            CodeUtils.unicodeToUtf8("syserror.paramtype=\\u8bf7\\u6c42\\u53c2\\u6570\\u89e3\\u6790\\u9519" + "\\u8bef");
+                CodeUtils.unicodeToUtf8(
+                        "syserror.paramtype=\\u8bf7\\u6c42\\u53c2\\u6570\\u89e3\\u6790\\u9519" + "\\u8bef");
+
+        System.out.println(code);
 
         Assert.assertEquals("syserror.paramtype=请求参数解析错误", code);
     }

+ 6 - 0
pom.xml

@@ -222,6 +222,12 @@
                 <version>2.6.0</version>
             </dependency>
 
+            <dependency>
+                <groupId>org.codehaus.jackson</groupId>
+                <artifactId>jackson-mapper-asl</artifactId>
+                <version>1.9.13</version>
+            </dependency>
+
             <dependency>
                 <groupId>org.freemarker</groupId>
                 <artifactId>freemarker</artifactId>