You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dolphinscheduler.apache.org by ki...@apache.org on 2020/12/04 03:29:43 UTC

[incubator-dolphinscheduler] branch alert_plugin_design updated: delete alert http plugin (#4152)

This is an automated email from the ASF dual-hosted git repository.

kirs pushed a commit to branch alert_plugin_design
in repository https://gitbox.apache.org/repos/asf/incubator-dolphinscheduler.git


The following commit(s) were added to refs/heads/alert_plugin_design by this push:
     new 3f85a4c  delete alert http plugin (#4152)
3f85a4c is described below

commit 3f85a4c1d4aa638c65f3261a7fd04f147e5532a3
Author: Kirs <ac...@163.com>
AuthorDate: Fri Dec 4 11:29:33 2020 +0800

    delete alert http plugin (#4152)
    
    delete alert http plugin (#4152)
    This part of the code was merged by mistake, so I need to delete it
---
 .../dolphinscheduler-alert-http/pom.xml            |  56 -------
 .../plugin/alert/http/HttpAlertChannel.java        |  42 -----
 .../plugin/alert/http/HttpAlertChannelFactory.java |  78 ----------
 .../plugin/alert/http/HttpAlertConstants.java      |  33 ----
 .../plugin/alert/http/HttpAlertPlugin.java         |  33 ----
 .../plugin/alert/http/HttpSender.java              | 170 ---------------------
 dolphinscheduler-alert-plugin/pom.xml              |   1 -
 7 files changed, 413 deletions(-)

diff --git a/dolphinscheduler-alert-plugin/dolphinscheduler-alert-http/pom.xml b/dolphinscheduler-alert-plugin/dolphinscheduler-alert-http/pom.xml
deleted file mode 100644
index 51cba27..0000000
--- a/dolphinscheduler-alert-plugin/dolphinscheduler-alert-http/pom.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
-    <parent>
-        <artifactId>dolphinscheduler-alert-plugin</artifactId>
-        <groupId>org.apache.dolphinscheduler</groupId>
-        <version>1.3.2-SNAPSHOT</version>
-    </parent>
-    <modelVersion>4.0.0</modelVersion>
-
-    <artifactId>dolphinscheduler-alert-http</artifactId>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.dolphinscheduler</groupId>
-            <artifactId>dolphinscheduler-spi</artifactId>
-            <scope>provided</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>com.google.guava</groupId>
-            <artifactId>guava</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>ch.qos.logback</groupId>
-            <artifactId>logback-classic</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>org.apache.httpcomponents</groupId>
-            <artifactId>httpclient</artifactId>
-        </dependency>
-
-        <dependency>
-            <groupId>com.fasterxml.jackson.core</groupId>
-            <artifactId>jackson-databind</artifactId>
-            <scope>provided</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>junit</groupId>
-            <artifactId>junit</artifactId>
-            <scope>test</scope>
-        </dependency>
-
-        <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-core</artifactId>
-            <type>jar</type>
-            <scope>test</scope>
-        </dependency>
-    </dependencies>
-
-</project>
\ No newline at end of file
diff --git a/dolphinscheduler-alert-plugin/dolphinscheduler-alert-http/src/main/java/org/apache/dolphinscheduler/plugin/alert/http/HttpAlertChannel.java b/dolphinscheduler-alert-plugin/dolphinscheduler-alert-http/src/main/java/org/apache/dolphinscheduler/plugin/alert/http/HttpAlertChannel.java
deleted file mode 100644
index 9707d76..0000000
--- a/dolphinscheduler-alert-plugin/dolphinscheduler-alert-http/src/main/java/org/apache/dolphinscheduler/plugin/alert/http/HttpAlertChannel.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.dolphinscheduler.plugin.alert.http;
-
-import org.apache.dolphinscheduler.spi.alert.AlertChannel;
-import org.apache.dolphinscheduler.spi.alert.AlertData;
-import org.apache.dolphinscheduler.spi.alert.AlertInfo;
-import org.apache.dolphinscheduler.spi.alert.AlertResult;
-import org.apache.dolphinscheduler.spi.params.PluginParamsTransfer;
-
-import java.util.Map;
-
-
-/**
- * http alert channel,use sms message to seed the alertInfo
- */
-public class HttpAlertChannel implements AlertChannel {
-    @Override
-    public AlertResult process(AlertInfo alertInfo) {
-
-        AlertData alertData = alertInfo.getAlertData();
-        String alertParams = alertInfo.getAlertParams();
-        Map<String, String> paramsMap = PluginParamsTransfer.getPluginParamsMap(alertParams);
-
-        return new HttpSender(paramsMap).send(alertData.getContent());
-    }
-}
diff --git a/dolphinscheduler-alert-plugin/dolphinscheduler-alert-http/src/main/java/org/apache/dolphinscheduler/plugin/alert/http/HttpAlertChannelFactory.java b/dolphinscheduler-alert-plugin/dolphinscheduler-alert-http/src/main/java/org/apache/dolphinscheduler/plugin/alert/http/HttpAlertChannelFactory.java
deleted file mode 100644
index 2e78056..0000000
--- a/dolphinscheduler-alert-plugin/dolphinscheduler-alert-http/src/main/java/org/apache/dolphinscheduler/plugin/alert/http/HttpAlertChannelFactory.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.dolphinscheduler.plugin.alert.http;
-
-import org.apache.dolphinscheduler.spi.alert.AlertChannel;
-import org.apache.dolphinscheduler.spi.alert.AlertChannelFactory;
-import org.apache.dolphinscheduler.spi.params.InputParam;
-import org.apache.dolphinscheduler.spi.params.base.PluginParams;
-import org.apache.dolphinscheduler.spi.params.base.Validate;
-
-import java.util.Arrays;
-import java.util.List;
-
-/**
- * http alert factory
- */
-public class HttpAlertChannelFactory implements AlertChannelFactory {
-    @Override
-    public String getName() {
-        return "http alert";
-    }
-
-    @Override
-    public List<PluginParams> getParams() {
-
-        InputParam url = InputParam.newBuilder(HttpAlertConstants.URL, HttpAlertConstants.URL)
-                .addValidate(Validate.newBuilder()
-                        .setRequired(true)
-                        .build())
-                .build();
-
-        InputParam headerParams = InputParam.newBuilder(HttpAlertConstants.HEADER_PARAMS, HttpAlertConstants.HEADER_PARAMS)
-                .addValidate(Validate.newBuilder()
-                        .setRequired(true)
-                        .build())
-                .build();
-
-        InputParam bodyParams = InputParam.newBuilder(HttpAlertConstants.BODY_PARAMS, HttpAlertConstants.BODY_PARAMS)
-                .addValidate(Validate.newBuilder()
-                        .setRequired(true)
-                        .build())
-                .build();
-
-        InputParam contentField = InputParam.newBuilder(HttpAlertConstants.CONTENT_FIELD, HttpAlertConstants.CONTENT_FIELD)
-                .addValidate(Validate.newBuilder()
-                        .setRequired(true)
-                        .build())
-                .build();
-
-        InputParam requestType = InputParam.newBuilder(HttpAlertConstants.REQUEST_TYPE, HttpAlertConstants.REQUEST_TYPE)
-                .addValidate(Validate.newBuilder()
-                        .setRequired(true)
-                        .build())
-                .build();
-
-        return Arrays.asList(url, requestType, headerParams, bodyParams, contentField);
-    }
-
-    @Override
-    public AlertChannel create() {
-        return  new HttpAlertChannel();
-    }
-}
diff --git a/dolphinscheduler-alert-plugin/dolphinscheduler-alert-http/src/main/java/org/apache/dolphinscheduler/plugin/alert/http/HttpAlertConstants.java b/dolphinscheduler-alert-plugin/dolphinscheduler-alert-http/src/main/java/org/apache/dolphinscheduler/plugin/alert/http/HttpAlertConstants.java
deleted file mode 100644
index 5f3b1c2..0000000
--- a/dolphinscheduler-alert-plugin/dolphinscheduler-alert-http/src/main/java/org/apache/dolphinscheduler/plugin/alert/http/HttpAlertConstants.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.dolphinscheduler.plugin.alert.http;
-
-public class HttpAlertConstants {
-
-
-    public static final String URL = "url";
-
-    public static final String HEADER_PARAMS = "headerParams";
-
-    public static final String BODY_PARAMS = "bodyParams";
-
-    public static final String CONTENT_FIELD = "contentField";
-
-    public static final String REQUEST_TYPE = "requestType";
-
-}
diff --git a/dolphinscheduler-alert-plugin/dolphinscheduler-alert-http/src/main/java/org/apache/dolphinscheduler/plugin/alert/http/HttpAlertPlugin.java b/dolphinscheduler-alert-plugin/dolphinscheduler-alert-http/src/main/java/org/apache/dolphinscheduler/plugin/alert/http/HttpAlertPlugin.java
deleted file mode 100644
index c3ab1a1..0000000
--- a/dolphinscheduler-alert-plugin/dolphinscheduler-alert-http/src/main/java/org/apache/dolphinscheduler/plugin/alert/http/HttpAlertPlugin.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.dolphinscheduler.plugin.alert.http;
-
-import com.google.common.collect.ImmutableList;
-import org.apache.dolphinscheduler.spi.DolphinSchedulerPlugin;
-import org.apache.dolphinscheduler.spi.alert.AlertChannelFactory;
-
-/**
- * http  alertPlugins
- */
-public class HttpAlertPlugin implements DolphinSchedulerPlugin {
-
-    @Override
-    public Iterable<AlertChannelFactory> getAlertChannelFactorys() {
-        return ImmutableList.of(new HttpAlertChannelFactory());
-    }
-}
diff --git a/dolphinscheduler-alert-plugin/dolphinscheduler-alert-http/src/main/java/org/apache/dolphinscheduler/plugin/alert/http/HttpSender.java b/dolphinscheduler-alert-plugin/dolphinscheduler-alert-http/src/main/java/org/apache/dolphinscheduler/plugin/alert/http/HttpSender.java
deleted file mode 100644
index eb71ec3..0000000
--- a/dolphinscheduler-alert-plugin/dolphinscheduler-alert-http/src/main/java/org/apache/dolphinscheduler/plugin/alert/http/HttpSender.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *    http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package org.apache.dolphinscheduler.plugin.alert.http;
-
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.apache.dolphinscheduler.spi.alert.AlertResult;
-import org.apache.dolphinscheduler.spi.utils.JSONUtils;
-import org.apache.dolphinscheduler.spi.utils.StringUtils;
-import org.apache.http.HttpEntity;
-import org.apache.http.client.methods.CloseableHttpResponse;
-import org.apache.http.client.methods.HttpGet;
-import org.apache.http.client.methods.HttpPost;
-import org.apache.http.client.methods.HttpRequestBase;
-import org.apache.http.entity.StringEntity;
-import org.apache.http.impl.client.CloseableHttpClient;
-import org.apache.http.impl.client.HttpClientBuilder;
-import org.apache.http.util.EntityUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- *http  send message
- */
-public class HttpSender {
-
-    public static final Logger logger = LoggerFactory.getLogger(HttpSender.class);
-
-    private String url;
-
-    private String headerParams;
-
-    private String bodyParams;
-
-    private String contentField;
-
-    private String requestType;
-
-    private  HttpRequestBase httpRequest;
-
-
-    private static final String URL_SPLICE_CHAR = "?";
-
-    /**
-     * request type post
-     */
-    private static final String REQUEST_TYPE_POST = "POST";
-
-    /**
-     * request type get
-     */
-    private static final String REQUEST_TYPE_GET = "GET";
-
-    private static  final String DEFAULT_CHARSET = "utf-8";
-
-    public HttpSender(Map<String, String> paramsMap){
-
-        url = paramsMap.get(HttpAlertConstants.URL);
-        headerParams = paramsMap.get(HttpAlertConstants.HEADER_PARAMS);
-        bodyParams = paramsMap.get(HttpAlertConstants.BODY_PARAMS);
-        contentField = paramsMap.get(HttpAlertConstants.CONTENT_FIELD);
-        requestType = paramsMap.get(HttpAlertConstants.REQUEST_TYPE);
-    }
-
-
-    public AlertResult send(String msg) {
-
-        AlertResult alertResult = new AlertResult();
-
-        getHttpRequest(msg);
-
-        if (httpRequest == null){
-            alertResult.setStatus("false");
-            alertResult.setMessage("Request types are not supported");
-            return alertResult;
-        }
-
-        try {
-            CloseableHttpClient httpClient = HttpClientBuilder.create().build();
-            CloseableHttpResponse response = httpClient.execute(httpRequest);
-            HttpEntity entity = response.getEntity();
-            String resp = EntityUtils.toString(entity, DEFAULT_CHARSET);
-            alertResult.setStatus("true");
-            alertResult.setMessage(resp);
-        }catch (Exception e) {
-            logger.error("send sms alert msg  exception : {}", e.getMessage());
-            alertResult.setStatus("false");
-            alertResult.setMessage("send http request  alert fail.");
-        }
-
-        return alertResult;
-    }
-
-    private void getHttpRequest(String msg){
-
-        if (REQUEST_TYPE_POST.equals(requestType)){
-            httpRequest =  new HttpPost(url);
-            //POST request add param in request body
-            setMsgInRequestBody(msg);
-        }else if (REQUEST_TYPE_GET.equals(requestType)){
-            //GET request add param in url
-            setMsgInUrl(msg);
-            httpRequest =  new HttpGet(url);
-        }
-        setHeader();
-    }
-
-    /**
-     * add msg param in url
-     * @param msg
-     */
-    private void setMsgInUrl(String msg) {
-
-        if (StringUtils.isNotBlank(contentField)){
-            String type = "&";
-            //check splice char is & or ?
-            if (!url.contains(URL_SPLICE_CHAR)){
-                type = URL_SPLICE_CHAR;
-            }
-            url = String.format("%s%s%s=%s", url, type, contentField, msg);
-        }
-    }
-
-
-    /**
-     * set header params
-     */
-    private void setHeader(){
-
-        if (httpRequest == null){
-            return;
-        }
-
-        HashMap<String,Object> map = JSONUtils.parseObject(headerParams, HashMap.class);
-        for (Map.Entry<String,Object> entry : map.entrySet()) {
-            httpRequest.setHeader(entry.getKey(), String.valueOf(entry.getValue()));
-        }
-    }
-
-    /**
-     *set body params
-     * @param msg
-     * @return
-     */
-    private String setMsgInRequestBody(String msg){
-        ObjectNode objectNode = JSONUtils.parseObject(bodyParams);
-        //set msg content field
-        objectNode.put(contentField,msg);
-        return objectNode.toString();
-    }
-
-
-}
diff --git a/dolphinscheduler-alert-plugin/pom.xml b/dolphinscheduler-alert-plugin/pom.xml
index 707f0ce..0f25f1f 100644
--- a/dolphinscheduler-alert-plugin/pom.xml
+++ b/dolphinscheduler-alert-plugin/pom.xml
@@ -34,7 +34,6 @@
         <module>dolphinscheduler-alert-wechat</module>
         <module>dolphinscheduler-alert-dingtalk</module>
         <module>dolphinscheduler-alert-script</module>
-        <module>dolphinscheduler-alert-http</module>
     </modules>