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

rzo1 pushed a commit to branch STORM-3988
in repository https://gitbox.apache.org/repos/asf/storm.git

commit 4dd83d7b84affed2b3db2106f630e4773d285b1d
Author: Richard Zowalla <[email protected]>
AuthorDate: Thu Oct 19 09:09:27 2023 +0200

    STORM-3988 - Remove "storm-sql-mongodb"
---
 pom.xml                                            |   5 -
 sql/pom.xml                                        |   1 -
 sql/storm-sql-external/storm-sql-mongodb/pom.xml   |  93 ---------------
 .../sql/mongodb/MongoDataSourcesProvider.java      | 125 ---------------------
 ...rg.apache.storm.sql.runtime.DataSourcesProvider |  16 ---
 .../sql/mongodb/TestMongoDataSourcesProvider.java  |  57 ----------
 6 files changed, 297 deletions(-)

diff --git a/pom.xml b/pom.xml
index 3b3d2d31c..06fe85079 100644
--- a/pom.xml
+++ b/pom.xml
@@ -126,15 +126,10 @@
         <awaitility.version>3.1.0</awaitility.version>
         <hdrhistogram.version>2.1.10</hdrhistogram.version>
         <hamcrest.version>2.2</hamcrest.version>
-        <cassandra.version>2.1.7</cassandra.version>
         <elasticsearch.version>5.2.2</elasticsearch.version>
         <calcite.version>1.16.0</calcite.version>
-        <mongodb.version>3.2.0</mongodb.version>
-        <solr.version>5.2.1</solr.version>
-        <jpmml.version>1.0.22</jpmml.version>
         <jedis.version>2.9.0</jedis.version>
         <activemq.version>5.18.2</activemq.version>
-        <rocketmq.version>4.2.0</rocketmq.version>
 
         <jackson.version>2.15.2</jackson.version>
         <jackson.databind.version>2.15.2</jackson.databind.version>
diff --git a/sql/pom.xml b/sql/pom.xml
index a14665f4c..cfc181cc6 100644
--- a/sql/pom.xml
+++ b/sql/pom.xml
@@ -41,7 +41,6 @@
         <module>storm-sql-runtime</module>
         <module>storm-sql-external/storm-sql-kafka</module>
         <module>storm-sql-external/storm-sql-redis</module>
-        <module>storm-sql-external/storm-sql-mongodb</module>
         <module>storm-sql-external/storm-sql-hdfs</module>
     </modules>
 
diff --git a/sql/storm-sql-external/storm-sql-mongodb/pom.xml 
b/sql/storm-sql-external/storm-sql-mongodb/pom.xml
deleted file mode 100644
index 40bb72388..000000000
--- a/sql/storm-sql-external/storm-sql-mongodb/pom.xml
+++ /dev/null
@@ -1,93 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- 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.
--->
-<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";>
-    <modelVersion>4.0.0</modelVersion>
-
-    <parent>
-        <artifactId>storm</artifactId>
-        <groupId>org.apache.storm</groupId>
-        <version>2.6.0-SNAPSHOT</version>
-        <relativePath>../../../pom.xml</relativePath>
-    </parent>
-
-    <artifactId>storm-sql-mongodb</artifactId>
-
-    <developers>
-        <developer>
-            <id>vesense</id>
-            <name>Xin Wang</name>
-            <email>[email protected]</email>
-        </developer>
-    </developers>
-
-    <dependencies>
-        <dependency>
-            <groupId>org.apache.storm</groupId>
-            <artifactId>storm-client</artifactId>
-            <version>${project.version}</version>
-            <scope>${provided.scope}</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.storm</groupId>
-            <artifactId>storm-sql-runtime</artifactId>
-            <version>${project.version}</version>
-            <scope>${provided.scope}</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.storm</groupId>
-            <artifactId>storm-sql-runtime</artifactId>
-            <version>${project.version}</version>
-            <scope>test</scope>
-            <type>test-jar</type>
-        </dependency>
-        <dependency>
-            <groupId>org.apache.storm</groupId>
-            <artifactId>storm-mongodb</artifactId>
-            <version>${project.version}</version>
-            <scope>${provided.scope}</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.mockito</groupId>
-            <artifactId>mockito-core</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.hamcrest</groupId>
-            <artifactId>hamcrest</artifactId>
-        </dependency>
-    </dependencies>
-    <build>
-        <sourceDirectory>src/jvm</sourceDirectory>
-        <testSourceDirectory>src/test</testSourceDirectory>
-        <resources>
-            <resource>
-                <directory>${basedir}/src/resources</directory>
-            </resource>
-        </resources>
-        <plugins>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-checkstyle-plugin</artifactId>
-                <!--Note - the version would be inherited-->
-            </plugin>
-            <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-pmd-plugin</artifactId>
-            </plugin>
-        </plugins>
-    </build>
-</project>
diff --git 
a/sql/storm-sql-external/storm-sql-mongodb/src/jvm/org/apache/storm/sql/mongodb/MongoDataSourcesProvider.java
 
b/sql/storm-sql-external/storm-sql-mongodb/src/jvm/org/apache/storm/sql/mongodb/MongoDataSourcesProvider.java
deleted file mode 100644
index 827cbdb2e..000000000
--- 
a/sql/storm-sql-external/storm-sql-mongodb/src/jvm/org/apache/storm/sql/mongodb/MongoDataSourcesProvider.java
+++ /dev/null
@@ -1,125 +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
- * <p>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p>
- * 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.storm.sql.mongodb;
-
-import com.google.common.base.Preconditions;
-
-import java.net.URI;
-import java.util.List;
-import java.util.Properties;
-
-import org.apache.storm.mongodb.bolt.MongoInsertBolt;
-import org.apache.storm.mongodb.common.mapper.MongoMapper;
-import org.apache.storm.sql.runtime.DataSourcesProvider;
-import org.apache.storm.sql.runtime.FieldInfo;
-import org.apache.storm.sql.runtime.IOutputSerializer;
-import org.apache.storm.sql.runtime.ISqlStreamsDataSource;
-import org.apache.storm.sql.runtime.utils.FieldInfoUtils;
-import org.apache.storm.sql.runtime.utils.SerdeUtils;
-import org.apache.storm.topology.IRichBolt;
-import org.apache.storm.topology.IRichSpout;
-import org.apache.storm.tuple.ITuple;
-import org.apache.storm.tuple.Values;
-
-import org.bson.Document;
-
-/**
- * Create a MongoDB sink based on the URI and properties. The URI has the 
format of
- * 
mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]].
- * The properties are in JSON format which specifies the name of the MongoDB 
collection and etc.
- */
-public class MongoDataSourcesProvider implements DataSourcesProvider {
-    public static final String SCHEME_NAME = "mongodb";
-    public static final String VALUE_SERIALIZED_FIELD = "ser.field";
-    public static final String TRIDENT_VALUE_SERIALIZED_FIELD = 
"trident.ser.field";
-    public static final String DEFAULT_VALUE_SERIALIZED_FIELD = 
"tridentSerField";
-    public static final String COLLECTION_NAME = "collection.name";
-
-    private static class MongoStreamsDataSource implements 
ISqlStreamsDataSource {
-        private final String url;
-        private final Properties props;
-        private final IOutputSerializer serializer;
-
-        private MongoStreamsDataSource(String url, Properties props, 
IOutputSerializer serializer) {
-            this.url = url;
-            this.props = props;
-            this.serializer = serializer;
-        }
-
-        @Override
-        public IRichSpout getProducer() {
-            throw new UnsupportedOperationException(this.getClass().getName() 
+ " doesn't provide Producer");
-        }
-
-        @Override
-        public IRichBolt getConsumer() {
-            Preconditions.checkArgument(!props.isEmpty(), "Writable MongoDB 
must contain collection config");
-            String serField;
-            if (props.contains(VALUE_SERIALIZED_FIELD)) {
-                serField = props.getProperty(VALUE_SERIALIZED_FIELD);
-            } else if (props.contains(TRIDENT_VALUE_SERIALIZED_FIELD)) {
-                // backward compatibility
-                serField = props.getProperty(TRIDENT_VALUE_SERIALIZED_FIELD);
-            } else {
-                serField = DEFAULT_VALUE_SERIALIZED_FIELD;
-            }
-
-            MongoMapper mapper = new SqlMongoMapper(serField, serializer);
-            return new MongoInsertBolt(url, 
props.getProperty(COLLECTION_NAME), mapper);
-        }
-    }
-
-    private static class SqlMongoMapper implements MongoMapper {
-        private final String serField;
-        private final IOutputSerializer serializer;
-
-        private SqlMongoMapper(String serField, IOutputSerializer serializer) {
-            this.serField = serField;
-            this.serializer = serializer;
-        }
-
-        @Override
-        public Document toDocument(ITuple tuple) {
-            Document document = new Document();
-            Values values = (Values) tuple.getValue(1);
-            byte[] array = serializer.write(values, null).array();
-            document.append(serField, array);
-            return document;
-        }
-
-        @Override
-        public Document toDocumentByKeys(List<Object> keys) {
-            return null;
-        }
-    }
-
-    @Override
-    public String scheme() {
-        return SCHEME_NAME;
-    }
-
-    @Override
-    public ISqlStreamsDataSource constructStreams(URI uri, String 
inputFormatClass, String outputFormatClass,
-                                                  Properties properties, 
List<FieldInfo> fields) {
-        List<String> fieldNames = FieldInfoUtils.getFieldNames(fields);
-        IOutputSerializer serializer = 
SerdeUtils.getSerializer(outputFormatClass, properties, fieldNames);
-        return new MongoStreamsDataSource(uri.toString(), properties, 
serializer);
-    }
-
-}
diff --git 
a/sql/storm-sql-external/storm-sql-mongodb/src/resources/META-INF/services/org.apache.storm.sql.runtime.DataSourcesProvider
 
b/sql/storm-sql-external/storm-sql-mongodb/src/resources/META-INF/services/org.apache.storm.sql.runtime.DataSourcesProvider
deleted file mode 100644
index e46d794b7..000000000
--- 
a/sql/storm-sql-external/storm-sql-mongodb/src/resources/META-INF/services/org.apache.storm.sql.runtime.DataSourcesProvider
+++ /dev/null
@@ -1,16 +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.
-
-org.apache.storm.sql.mongodb.MongoDataSourcesProvider
\ No newline at end of file
diff --git 
a/sql/storm-sql-external/storm-sql-mongodb/src/test/org/apache/storm/sql/mongodb/TestMongoDataSourcesProvider.java
 
b/sql/storm-sql-external/storm-sql-mongodb/src/test/org/apache/storm/sql/mongodb/TestMongoDataSourcesProvider.java
deleted file mode 100644
index d6c730985..000000000
--- 
a/sql/storm-sql-external/storm-sql-mongodb/src/test/org/apache/storm/sql/mongodb/TestMongoDataSourcesProvider.java
+++ /dev/null
@@ -1,57 +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
- * <p>
- * http://www.apache.org/licenses/LICENSE-2.0
- * <p>
- * 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.storm.sql.mongodb;
-
-import java.net.URI;
-import java.util.List;
-import java.util.Properties;
-
-import com.google.common.collect.ImmutableList;
-import org.apache.storm.mongodb.bolt.MongoInsertBolt;
-import org.apache.storm.sql.runtime.DataSourcesRegistry;
-import org.apache.storm.sql.runtime.FieldInfo;
-import org.apache.storm.sql.runtime.ISqlStreamsDataSource;
-import org.apache.storm.topology.IRichBolt;
-import org.junit.jupiter.api.Test;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-
-public class TestMongoDataSourcesProvider {
-
-    private static final List<FieldInfo> FIELDS = ImmutableList.of(
-        new FieldInfo("ID", int.class, true),
-        new FieldInfo("val", String.class, false));
-    private static final Properties TBL_PROPERTIES = new Properties();
-
-    static {
-        TBL_PROPERTIES.put("collection.name", "collection1");
-        TBL_PROPERTIES.put("ser.field", "serField");
-    }
-
-    @SuppressWarnings("unchecked")
-    @Test
-    public void testMongoSink() throws Exception {
-        ISqlStreamsDataSource ds = 
DataSourcesRegistry.constructStreamsDataSource(
-            URI.create("mongodb://127.0.0.1:27017/test"), null, null, 
TBL_PROPERTIES, FIELDS);
-        assertNotNull(ds);
-
-        IRichBolt consumer = ds.getConsumer();
-        assertEquals(MongoInsertBolt.class, consumer.getClass());
-    }
-}

Reply via email to