Commit f26e2467 authored by simon's avatar simon
Browse files

Using Jackson instead of Fastjson

parent 48735a8b
Loading
Loading
Loading
Loading
+1 −4
Original line number Diff line number Diff line
@@ -16,13 +16,10 @@
 */
package org.apache.dolphinscheduler.alert.utils;

import com.alibaba.fastjson.JSON;
import org.apache.http.client.config.RequestConfig;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.CloseableHttpClient;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
@@ -67,7 +64,7 @@ public class DingTalkUtilsTest {
//            logger.info(PropertyUtils.getString(Constants.DINGTALK_WEBHOOK));
//           String rsp = DingTalkUtils.sendDingTalkMsg(msgTosend, Constants.UTF_8);
//           logger.info("send msg result:{}",rsp);
//            String errmsg = JSON.parseObject(rsp).getString("errmsg");
//            String errmsg = JSONUtils.parseObject(rsp).getString("errmsg");
//            Assert.assertEquals("ok", errmsg);
//        }  catch (Exception e) {
//            e.printStackTrace();
+4 −6
Original line number Diff line number Diff line
@@ -16,14 +16,12 @@
 */
package org.apache.dolphinscheduler.alert.utils;

import com.alibaba.fastjson.JSON;
import org.apache.dolphinscheduler.common.enums.AlertType;
import org.apache.dolphinscheduler.common.enums.ShowType;
import org.apache.dolphinscheduler.dao.entity.Alert;
import org.apache.dolphinscheduler.plugin.model.AlertData;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mockito;
@@ -207,7 +205,7 @@ public class EnterpriseWeChatUtilsTest {
//            String msg = EnterpriseWeChatUtils.makeTeamSendMsg(partyId, agentId, "hello world");
//            String resp = EnterpriseWeChatUtils.sendEnterpriseWeChat("utf-8", msg, token);
//
//            String errmsg = JSON.parseObject(resp).getString("errmsg");
//            String errmsg = JSONUtils.parseObject(resp).getString("errmsg");
//            Assert.assertEquals("ok",errmsg);
//        } catch (IOException e) {
//            e.printStackTrace();
@@ -222,7 +220,7 @@ public class EnterpriseWeChatUtilsTest {
//            String msg = EnterpriseWeChatUtils.makeTeamSendMsg(listPartyId, agentId, "hello world");
//            String resp = EnterpriseWeChatUtils.sendEnterpriseWeChat("utf-8", msg, token);
//
//            String errmsg = JSON.parseObject(resp).getString("errmsg");
//            String errmsg = JSONUtils.parseObject(resp).getString("errmsg");
//            Assert.assertEquals("ok",errmsg);
//        } catch (IOException e) {
//            e.printStackTrace();
@@ -249,7 +247,7 @@ public class EnterpriseWeChatUtilsTest {
//
//            String resp = EnterpriseWeChatUtils.sendEnterpriseWeChat("utf-8", msg, token);
//
//            String errmsg = JSON.parseObject(resp).getString("errmsg");
//            String errmsg = JSONUtils.parseObject(resp).getString("errmsg");
//            Assert.assertEquals("ok",errmsg);
//        } catch (IOException e) {
//            e.printStackTrace();
@@ -264,7 +262,7 @@ public class EnterpriseWeChatUtilsTest {
//            String msg = EnterpriseWeChatUtils.makeUserSendMsg(listUserId, agentId, "hello world");
//            String resp = EnterpriseWeChatUtils.sendEnterpriseWeChat("utf-8", msg, token);
//
//            String errmsg = JSON.parseObject(resp).getString("errmsg");
//            String errmsg = JSONUtils.parseObject(resp).getString("errmsg");
//            Assert.assertEquals("ok",errmsg);
//        } catch (IOException e) {
//            e.printStackTrace();
+2 −12
Original line number Diff line number Diff line
package org.apache.dolphinscheduler.api.dto.resources;

import com.alibaba.fastjson.annotation.JSONField;
import com.alibaba.fastjson.annotation.JSONType;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
import org.apache.dolphinscheduler.common.enums.ResourceType;

import java.util.ArrayList;
@@ -26,7 +25,7 @@ import java.util.List;
/**
 * resource component
 */
@JSONType(orders={"id","pid","name","fullName","description","isDirctory","children","type"})
@JsonPropertyOrder({"id","pid","name","fullName","description","isDirctory","children","type"})
public abstract class ResourceComponent {
    public ResourceComponent() {
    }
@@ -46,17 +45,14 @@ public abstract class ResourceComponent {
    /**
     * id
     */
    @JSONField(ordinal = 1)
    protected int id;
    /**
     * parent id
     */
    @JSONField(ordinal = 2)
    protected int pid;
    /**
     * name
     */
    @JSONField(ordinal = 3)
    protected String name;
    /**
     * current directory
@@ -65,32 +61,26 @@ public abstract class ResourceComponent {
    /**
     * full name
     */
    @JSONField(ordinal = 4)
    protected String fullName;
    /**
     * description
     */
    @JSONField(ordinal = 5)
    protected String description;
    /**
     * is directory
     */
    @JSONField(ordinal = 6)
    protected boolean isDirctory;
    /**
     * id value
     */
    @JSONField(ordinal = 7)
    protected String idValue;
    /**
     * resoruce type
     */
    @JSONField(ordinal = 8)
    protected ResourceType type;
    /**
     * children
     */
    @JSONField(ordinal = 8)
    protected List<ResourceComponent> children = new ArrayList<>();

    /**
+16 −19
Original line number Diff line number Diff line
@@ -16,11 +16,9 @@
 */
package org.apache.dolphinscheduler.api.service;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.databind.node.ObjectNode;
import org.apache.commons.lang.StringUtils;
import org.apache.dolphinscheduler.api.enums.Status;
import org.apache.dolphinscheduler.api.utils.PageInfo;
@@ -161,15 +159,15 @@ public class DataSourceService extends BaseService{
            return result;
        }
        //check password,if the password is not updated, set to the old password.
        JSONObject paramObject = JSON.parseObject(parameter);
        String password = paramObject.getString(Constants.PASSWORD);
        ObjectNode paramObject = JSONUtils.parseObject(parameter);
        String password = paramObject.path(Constants.PASSWORD).asText();
        if (StringUtils.isBlank(password)) {
            String oldConnectionParams = dataSource.getConnectionParams();
            JSONObject oldParams = JSON.parseObject(oldConnectionParams);
            paramObject.put(Constants.PASSWORD, oldParams.getString(Constants.PASSWORD));
            ObjectNode oldParams = JSONUtils.parseObject(oldConnectionParams);
            paramObject.put(Constants.PASSWORD, oldParams.path(Constants.PASSWORD).asText());
        }
        // connectionParams json
        String connectionParams = paramObject.toJSONString();
        String connectionParams = JSONUtils.toJsonString(paramObject);

        Boolean isConnection = checkConnection(type, connectionParams);
        if (!isConnection) {
@@ -315,7 +313,7 @@ public class DataSourceService extends BaseService{
        for (DataSource dataSource : dataSourceList) {

            String connectionParams  = dataSource.getConnectionParams();
            JSONObject  object = JSON.parseObject(connectionParams);
            ObjectNode  object = JSONUtils.parseObject(connectionParams);
            object.put(Constants.PASSWORD, Constants.XXXXXX);
            dataSource.setConnectionParams(JSONUtils.toJsonString(object));

@@ -379,11 +377,11 @@ public class DataSourceService extends BaseService{
        try {
            switch (dbType) {
                case POSTGRESQL:
                    datasource = JSON.parseObject(parameter, PostgreDataSource.class);
                    datasource = JSONUtils.parseObject(parameter, PostgreDataSource.class);
                    Class.forName(Constants.ORG_POSTGRESQL_DRIVER);
                    break;
                case MYSQL:
                    datasource = JSON.parseObject(parameter, MySQLDataSource.class);
                    datasource = JSONUtils.parseObject(parameter, MySQLDataSource.class);
                    Class.forName(Constants.COM_MYSQL_JDBC_DRIVER);
                    break;
                case HIVE:
@@ -398,26 +396,26 @@ public class DataSourceService extends BaseService{
                                    getString(org.apache.dolphinscheduler.common.Constants.LOGIN_USER_KEY_TAB_PATH));
                    }
                    if (dbType == DbType.HIVE){
                        datasource = JSON.parseObject(parameter, HiveDataSource.class);
                        datasource = JSONUtils.parseObject(parameter, HiveDataSource.class);
                    }else if (dbType == DbType.SPARK){
                        datasource = JSON.parseObject(parameter, SparkDataSource.class);
                        datasource = JSONUtils.parseObject(parameter, SparkDataSource.class);
                    }
                    Class.forName(Constants.ORG_APACHE_HIVE_JDBC_HIVE_DRIVER);
                    break;
                case CLICKHOUSE:
                    datasource = JSON.parseObject(parameter, ClickHouseDataSource.class);
                    datasource = JSONUtils.parseObject(parameter, ClickHouseDataSource.class);
                    Class.forName(Constants.COM_CLICKHOUSE_JDBC_DRIVER);
                    break;
                case ORACLE:
                    datasource = JSON.parseObject(parameter, OracleDataSource.class);
                    datasource = JSONUtils.parseObject(parameter, OracleDataSource.class);
                    Class.forName(Constants.COM_ORACLE_JDBC_DRIVER);
                    break;
                case SQLSERVER:
                    datasource = JSON.parseObject(parameter, SQLServerDataSource.class);
                    datasource = JSONUtils.parseObject(parameter, SQLServerDataSource.class);
                    Class.forName(Constants.COM_SQLSERVER_JDBC_DRIVER);
                    break;
                case DB2:
                    datasource = JSON.parseObject(parameter, DB2ServerDataSource.class);
                    datasource = JSONUtils.parseObject(parameter, DB2ServerDataSource.class);
                    Class.forName(Constants.COM_DB2_JDBC_DRIVER);
                    break;
                default:
@@ -526,8 +524,7 @@ public class DataSourceService extends BaseService{
            parameterMap.put(Constants.PRINCIPAL,principal);
        }
        if (other != null && !"".equals(other)) {
            LinkedHashMap<String, String> map = JSON.parseObject(other, new TypeReference<LinkedHashMap<String, String>>() {
            });
            LinkedHashMap<String, String> map = JSONUtils.parseObject(other, LinkedHashMap.class);
            if (map.size() > 0) {
                StringBuilder otherSb = new StringBuilder();
                for (Map.Entry<String, String> entry: map.entrySet()) {
+3 −4
Original line number Diff line number Diff line
@@ -16,7 +16,6 @@
 */
package org.apache.dolphinscheduler.api.service;

import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fasterxml.jackson.core.JsonProcessingException;
@@ -1340,9 +1339,9 @@ public class ProcessDefinitionService extends BaseDAGService {
                         */
                        if (taskInstance.getTaskType().equals(TaskType.SUB_PROCESS.name())) {
                            String taskJson = taskInstance.getTaskJson();
                            taskNode = JSON.parseObject(taskJson, TaskNode.class);
                            subProcessId = Integer.parseInt(JSON.parseObject(
                                    taskNode.getParams()).getString(CMDPARAM_SUB_PROCESS_DEFINE_ID));
                            taskNode = JSONUtils.parseObject(taskJson, TaskNode.class);
                            subProcessId = Integer.parseInt(JSONUtils.parseObject(
                                    taskNode.getParams()).path(CMDPARAM_SUB_PROCESS_DEFINE_ID).asText());
                        }
                        treeViewDto.getInstances().add(new Instance(taskInstance.getId(), taskInstance.getName(), taskInstance.getTaskType(), taskInstance.getState().toString()
                                , taskInstance.getStartTime(), taskInstance.getEndTime(), taskInstance.getHost(), DateUtils.format2Readable(endTime.getTime() - startTime.getTime()), subProcessId));
Loading