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

ewencp pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/kafka.git


The following commit(s) were added to refs/heads/trunk by this push:
     new fab8b7e  KAFKA-7056: Moved Connect’s new numeric converters to runtime 
(KIP-305)
fab8b7e is described below

commit fab8b7e676bcaf4faf84d563ab48e3ebee61b4ab
Author: Randall Hauch <[email protected]>
AuthorDate: Fri Jun 15 14:52:28 2018 -0700

    KAFKA-7056: Moved Connect’s new numeric converters to runtime (KIP-305)
    
    KIP-305 added numeric converters to Connect, but these were added in 
Connect’s API module in the same package as the `StringConverter`. This commit 
moves them into the Runtime module and into the `converters` package where the 
`ByteArrayConverter` already lives. These numeric converters have not yet been 
included in a release, and so they can be moved without concern.
    
    All of Connect’s converters must be referenced in worker / connector 
configurations and are therefore part of the API, but otherwise do not need to 
be in the “api” module as they do not need to be instantiated or directly used 
by extensions. This change makes them more similar to and aligned with the 
`ByteArrayConverter`.
    
    It also gives us the opportunity to move them into the “api” module in the 
future (keeping the same package name), should we ever want or need to do so. 
However, if we were to start out with them in the “api” module, we would never 
be able to move them out into the “runtime” module, even if we kept the same 
package name. Therefore, moving them to “runtime” now gives us a bit more 
flexibility.
    
    This PR moves the unit tests for the numeric converters accordingly, and 
updates the `PluginsUtil` and `PluginUtilsTest` as well.
    
    Author: Randall Hauch <[email protected]>
    
    Reviewers: Konstantine Karantasis <[email protected]>, Ewen 
Cheslack-Postava <[email protected]>
    
    Closes #5222 from rhauch/kafka-7056
---
 .../org/apache/kafka/connect/converters}/DoubleConverter.java  |  4 +++-
 .../org/apache/kafka/connect/converters}/FloatConverter.java   |  4 +++-
 .../org/apache/kafka/connect/converters}/IntegerConverter.java |  4 +++-
 .../org/apache/kafka/connect/converters}/LongConverter.java    |  4 +++-
 .../org/apache/kafka/connect/converters}/NumberConverter.java  |  6 +++++-
 .../kafka/connect/converters}/NumberConverterConfig.java       |  3 ++-
 .../org/apache/kafka/connect/converters}/ShortConverter.java   |  4 +++-
 .../apache/kafka/connect/runtime/isolation/PluginUtils.java    |  5 -----
 .../apache/kafka/connect/converters}/DoubleConverterTest.java  |  2 +-
 .../apache/kafka/connect/converters}/FloatConverterTest.java   |  2 +-
 .../apache/kafka/connect/converters}/IntegerConverterTest.java |  2 +-
 .../apache/kafka/connect/converters}/LongConverterTest.java    |  2 +-
 .../apache/kafka/connect/converters}/NumberConverterTest.java  |  2 +-
 .../apache/kafka/connect/converters}/ShortConverterTest.java   |  2 +-
 .../kafka/connect/runtime/isolation/PluginUtilsTest.java       | 10 +++++-----
 15 files changed, 33 insertions(+), 23 deletions(-)

diff --git 
a/connect/api/src/main/java/org/apache/kafka/connect/storage/DoubleConverter.java
 
b/connect/runtime/src/main/java/org/apache/kafka/connect/converters/DoubleConverter.java
similarity index 91%
rename from 
connect/api/src/main/java/org/apache/kafka/connect/storage/DoubleConverter.java
rename to 
connect/runtime/src/main/java/org/apache/kafka/connect/converters/DoubleConverter.java
index 04019a7..684caa1 100644
--- 
a/connect/api/src/main/java/org/apache/kafka/connect/storage/DoubleConverter.java
+++ 
b/connect/runtime/src/main/java/org/apache/kafka/connect/converters/DoubleConverter.java
@@ -14,11 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.kafka.connect.storage;
+package org.apache.kafka.connect.converters;
 
 import org.apache.kafka.common.serialization.DoubleDeserializer;
 import org.apache.kafka.common.serialization.DoubleSerializer;
 import org.apache.kafka.connect.data.Schema;
+import org.apache.kafka.connect.storage.Converter;
+import org.apache.kafka.connect.storage.HeaderConverter;
 
 /**
  * {@link Converter} and {@link HeaderConverter} implementation that only 
supports serializing to and deserializing from double values.
diff --git 
a/connect/api/src/main/java/org/apache/kafka/connect/storage/FloatConverter.java
 
b/connect/runtime/src/main/java/org/apache/kafka/connect/converters/FloatConverter.java
similarity index 91%
rename from 
connect/api/src/main/java/org/apache/kafka/connect/storage/FloatConverter.java
rename to 
connect/runtime/src/main/java/org/apache/kafka/connect/converters/FloatConverter.java
index 16bf0e0..3f92b96 100644
--- 
a/connect/api/src/main/java/org/apache/kafka/connect/storage/FloatConverter.java
+++ 
b/connect/runtime/src/main/java/org/apache/kafka/connect/converters/FloatConverter.java
@@ -14,11 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.kafka.connect.storage;
+package org.apache.kafka.connect.converters;
 
 import org.apache.kafka.common.serialization.FloatDeserializer;
 import org.apache.kafka.common.serialization.FloatSerializer;
 import org.apache.kafka.connect.data.Schema;
+import org.apache.kafka.connect.storage.Converter;
+import org.apache.kafka.connect.storage.HeaderConverter;
 
 /**
  * {@link Converter} and {@link HeaderConverter} implementation that only 
supports serializing to and deserializing from float values.
diff --git 
a/connect/api/src/main/java/org/apache/kafka/connect/storage/IntegerConverter.java
 
b/connect/runtime/src/main/java/org/apache/kafka/connect/converters/IntegerConverter.java
similarity index 91%
rename from 
connect/api/src/main/java/org/apache/kafka/connect/storage/IntegerConverter.java
rename to 
connect/runtime/src/main/java/org/apache/kafka/connect/converters/IntegerConverter.java
index 6f3c78a..f5388ce 100644
--- 
a/connect/api/src/main/java/org/apache/kafka/connect/storage/IntegerConverter.java
+++ 
b/connect/runtime/src/main/java/org/apache/kafka/connect/converters/IntegerConverter.java
@@ -14,11 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.kafka.connect.storage;
+package org.apache.kafka.connect.converters;
 
 import org.apache.kafka.common.serialization.IntegerDeserializer;
 import org.apache.kafka.common.serialization.IntegerSerializer;
 import org.apache.kafka.connect.data.Schema;
+import org.apache.kafka.connect.storage.Converter;
+import org.apache.kafka.connect.storage.HeaderConverter;
 
 /**
  * {@link Converter} and {@link HeaderConverter} implementation that only 
supports serializing to and deserializing from integer values.
diff --git 
a/connect/api/src/main/java/org/apache/kafka/connect/storage/LongConverter.java 
b/connect/runtime/src/main/java/org/apache/kafka/connect/converters/LongConverter.java
similarity index 91%
rename from 
connect/api/src/main/java/org/apache/kafka/connect/storage/LongConverter.java
rename to 
connect/runtime/src/main/java/org/apache/kafka/connect/converters/LongConverter.java
index 600c304..f91f4fa 100644
--- 
a/connect/api/src/main/java/org/apache/kafka/connect/storage/LongConverter.java
+++ 
b/connect/runtime/src/main/java/org/apache/kafka/connect/converters/LongConverter.java
@@ -14,11 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.kafka.connect.storage;
+package org.apache.kafka.connect.converters;
 
 import org.apache.kafka.common.serialization.LongDeserializer;
 import org.apache.kafka.common.serialization.LongSerializer;
 import org.apache.kafka.connect.data.Schema;
+import org.apache.kafka.connect.storage.Converter;
+import org.apache.kafka.connect.storage.HeaderConverter;
 
 /**
  * {@link Converter} and {@link HeaderConverter} implementation that only 
supports serializing to and deserializing from long values.
diff --git 
a/connect/api/src/main/java/org/apache/kafka/connect/storage/NumberConverter.java
 
b/connect/runtime/src/main/java/org/apache/kafka/connect/converters/NumberConverter.java
similarity index 94%
rename from 
connect/api/src/main/java/org/apache/kafka/connect/storage/NumberConverter.java
rename to 
connect/runtime/src/main/java/org/apache/kafka/connect/converters/NumberConverter.java
index 9180444..131a097 100644
--- 
a/connect/api/src/main/java/org/apache/kafka/connect/storage/NumberConverter.java
+++ 
b/connect/runtime/src/main/java/org/apache/kafka/connect/converters/NumberConverter.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.kafka.connect.storage;
+package org.apache.kafka.connect.converters;
 
 import org.apache.kafka.common.config.ConfigDef;
 import org.apache.kafka.common.errors.SerializationException;
@@ -23,6 +23,10 @@ import org.apache.kafka.common.serialization.Serializer;
 import org.apache.kafka.connect.data.Schema;
 import org.apache.kafka.connect.data.SchemaAndValue;
 import org.apache.kafka.connect.errors.DataException;
+import org.apache.kafka.connect.storage.Converter;
+import org.apache.kafka.connect.storage.ConverterType;
+import org.apache.kafka.connect.storage.HeaderConverter;
+import org.apache.kafka.connect.storage.StringConverterConfig;
 
 import java.io.IOException;
 import java.util.HashMap;
diff --git 
a/connect/api/src/main/java/org/apache/kafka/connect/storage/NumberConverterConfig.java
 
b/connect/runtime/src/main/java/org/apache/kafka/connect/converters/NumberConverterConfig.java
similarity index 93%
rename from 
connect/api/src/main/java/org/apache/kafka/connect/storage/NumberConverterConfig.java
rename to 
connect/runtime/src/main/java/org/apache/kafka/connect/converters/NumberConverterConfig.java
index 2f7019d..49ad986 100644
--- 
a/connect/api/src/main/java/org/apache/kafka/connect/storage/NumberConverterConfig.java
+++ 
b/connect/runtime/src/main/java/org/apache/kafka/connect/converters/NumberConverterConfig.java
@@ -14,9 +14,10 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.kafka.connect.storage;
+package org.apache.kafka.connect.converters;
 
 import org.apache.kafka.common.config.ConfigDef;
+import org.apache.kafka.connect.storage.ConverterConfig;
 
 import java.util.Map;
 
diff --git 
a/connect/api/src/main/java/org/apache/kafka/connect/storage/ShortConverter.java
 
b/connect/runtime/src/main/java/org/apache/kafka/connect/converters/ShortConverter.java
similarity index 91%
rename from 
connect/api/src/main/java/org/apache/kafka/connect/storage/ShortConverter.java
rename to 
connect/runtime/src/main/java/org/apache/kafka/connect/converters/ShortConverter.java
index 9a769ff..1c455b1 100644
--- 
a/connect/api/src/main/java/org/apache/kafka/connect/storage/ShortConverter.java
+++ 
b/connect/runtime/src/main/java/org/apache/kafka/connect/converters/ShortConverter.java
@@ -14,11 +14,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.kafka.connect.storage;
+package org.apache.kafka.connect.converters;
 
 import org.apache.kafka.common.serialization.ShortDeserializer;
 import org.apache.kafka.common.serialization.ShortSerializer;
 import org.apache.kafka.connect.data.Schema;
+import org.apache.kafka.connect.storage.Converter;
+import org.apache.kafka.connect.storage.HeaderConverter;
 
 /**
  * {@link Converter} and {@link HeaderConverter} implementation that only 
supports serializing to and deserializing from short values.
diff --git 
a/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/isolation/PluginUtils.java
 
b/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/isolation/PluginUtils.java
index 7468220..9c4151b 100644
--- 
a/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/isolation/PluginUtils.java
+++ 
b/connect/runtime/src/main/java/org/apache/kafka/connect/runtime/isolation/PluginUtils.java
@@ -127,11 +127,6 @@ public class PluginUtils {
             + "|json\\..*"
             + "|file\\..*"
             + "|converters\\..*"
-            + "|storage\\.DoubleConverter"
-            + "|storage\\.FloatConverter"
-            + "|storage\\.IntegerConverter"
-            + "|storage\\.LongConverter"
-            + "|storage\\.ShortConverter"
             + "|storage\\.StringConverter"
             + 
"|rest\\.basic\\.auth\\.extension\\.BasicAuthSecurityRestExtension"
             + ")"
diff --git 
a/connect/api/src/test/java/org/apache/kafka/connect/storage/DoubleConverterTest.java
 
b/connect/runtime/src/test/java/org/apache/kafka/connect/converters/DoubleConverterTest.java
similarity index 97%
rename from 
connect/api/src/test/java/org/apache/kafka/connect/storage/DoubleConverterTest.java
rename to 
connect/runtime/src/test/java/org/apache/kafka/connect/converters/DoubleConverterTest.java
index 1744083..acc3dde 100644
--- 
a/connect/api/src/test/java/org/apache/kafka/connect/storage/DoubleConverterTest.java
+++ 
b/connect/runtime/src/test/java/org/apache/kafka/connect/converters/DoubleConverterTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.kafka.connect.storage;
+package org.apache.kafka.connect.converters;
 
 import org.apache.kafka.common.serialization.DoubleSerializer;
 import org.apache.kafka.common.serialization.Serializer;
diff --git 
a/connect/api/src/test/java/org/apache/kafka/connect/storage/FloatConverterTest.java
 
b/connect/runtime/src/test/java/org/apache/kafka/connect/converters/FloatConverterTest.java
similarity index 97%
rename from 
connect/api/src/test/java/org/apache/kafka/connect/storage/FloatConverterTest.java
rename to 
connect/runtime/src/test/java/org/apache/kafka/connect/converters/FloatConverterTest.java
index 57a1860..e95ff56 100644
--- 
a/connect/api/src/test/java/org/apache/kafka/connect/storage/FloatConverterTest.java
+++ 
b/connect/runtime/src/test/java/org/apache/kafka/connect/converters/FloatConverterTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.kafka.connect.storage;
+package org.apache.kafka.connect.converters;
 
 import org.apache.kafka.common.serialization.FloatSerializer;
 import org.apache.kafka.common.serialization.Serializer;
diff --git 
a/connect/api/src/test/java/org/apache/kafka/connect/storage/IntegerConverterTest.java
 
b/connect/runtime/src/test/java/org/apache/kafka/connect/converters/IntegerConverterTest.java
similarity index 97%
rename from 
connect/api/src/test/java/org/apache/kafka/connect/storage/IntegerConverterTest.java
rename to 
connect/runtime/src/test/java/org/apache/kafka/connect/converters/IntegerConverterTest.java
index 33fbe60..0c9ed28 100644
--- 
a/connect/api/src/test/java/org/apache/kafka/connect/storage/IntegerConverterTest.java
+++ 
b/connect/runtime/src/test/java/org/apache/kafka/connect/converters/IntegerConverterTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.kafka.connect.storage;
+package org.apache.kafka.connect.converters;
 
 import org.apache.kafka.common.serialization.IntegerSerializer;
 import org.apache.kafka.common.serialization.Serializer;
diff --git 
a/connect/api/src/test/java/org/apache/kafka/connect/storage/LongConverterTest.java
 
b/connect/runtime/src/test/java/org/apache/kafka/connect/converters/LongConverterTest.java
similarity index 97%
rename from 
connect/api/src/test/java/org/apache/kafka/connect/storage/LongConverterTest.java
rename to 
connect/runtime/src/test/java/org/apache/kafka/connect/converters/LongConverterTest.java
index 8f41bb5..35d26b7 100644
--- 
a/connect/api/src/test/java/org/apache/kafka/connect/storage/LongConverterTest.java
+++ 
b/connect/runtime/src/test/java/org/apache/kafka/connect/converters/LongConverterTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.kafka.connect.storage;
+package org.apache.kafka.connect.converters;
 
 import org.apache.kafka.common.serialization.LongSerializer;
 import org.apache.kafka.common.serialization.Serializer;
diff --git 
a/connect/api/src/test/java/org/apache/kafka/connect/storage/NumberConverterTest.java
 
b/connect/runtime/src/test/java/org/apache/kafka/connect/converters/NumberConverterTest.java
similarity index 98%
rename from 
connect/api/src/test/java/org/apache/kafka/connect/storage/NumberConverterTest.java
rename to 
connect/runtime/src/test/java/org/apache/kafka/connect/converters/NumberConverterTest.java
index 2936a71..2bd0732 100644
--- 
a/connect/api/src/test/java/org/apache/kafka/connect/storage/NumberConverterTest.java
+++ 
b/connect/runtime/src/test/java/org/apache/kafka/connect/converters/NumberConverterTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.kafka.connect.storage;
+package org.apache.kafka.connect.converters;
 
 import org.apache.kafka.common.serialization.Serializer;
 import org.apache.kafka.connect.data.Schema;
diff --git 
a/connect/api/src/test/java/org/apache/kafka/connect/storage/ShortConverterTest.java
 
b/connect/runtime/src/test/java/org/apache/kafka/connect/converters/ShortConverterTest.java
similarity index 97%
rename from 
connect/api/src/test/java/org/apache/kafka/connect/storage/ShortConverterTest.java
rename to 
connect/runtime/src/test/java/org/apache/kafka/connect/converters/ShortConverterTest.java
index 871f398..d1237c9 100644
--- 
a/connect/api/src/test/java/org/apache/kafka/connect/storage/ShortConverterTest.java
+++ 
b/connect/runtime/src/test/java/org/apache/kafka/connect/converters/ShortConverterTest.java
@@ -14,7 +14,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package org.apache.kafka.connect.storage;
+package org.apache.kafka.connect.converters;
 
 import org.apache.kafka.common.serialization.Serializer;
 import org.apache.kafka.common.serialization.ShortSerializer;
diff --git 
a/connect/runtime/src/test/java/org/apache/kafka/connect/runtime/isolation/PluginUtilsTest.java
 
b/connect/runtime/src/test/java/org/apache/kafka/connect/runtime/isolation/PluginUtilsTest.java
index a17520f..216e3ce 100644
--- 
a/connect/runtime/src/test/java/org/apache/kafka/connect/runtime/isolation/PluginUtilsTest.java
+++ 
b/connect/runtime/src/test/java/org/apache/kafka/connect/runtime/isolation/PluginUtilsTest.java
@@ -147,19 +147,19 @@ public class PluginUtilsTest {
                 "org.apache.kafka.connect.converters.ByteArrayConverter")
         );
         assertTrue(PluginUtils.shouldLoadInIsolation(
-                "org.apache.kafka.connect.storage.DoubleConverter")
+                "org.apache.kafka.connect.converters.DoubleConverter")
         );
         assertTrue(PluginUtils.shouldLoadInIsolation(
-                "org.apache.kafka.connect.storage.FloatConverter")
+                "org.apache.kafka.connect.converters.FloatConverter")
         );
         assertTrue(PluginUtils.shouldLoadInIsolation(
-                "org.apache.kafka.connect.storage.IntegerConverter")
+                "org.apache.kafka.connect.converters.IntegerConverter")
         );
         assertTrue(PluginUtils.shouldLoadInIsolation(
-                "org.apache.kafka.connect.storage.LongConverter")
+                "org.apache.kafka.connect.converters.LongConverter")
         );
         assertTrue(PluginUtils.shouldLoadInIsolation(
-                "org.apache.kafka.connect.storage.ShortConverter")
+                "org.apache.kafka.connect.converters.ShortConverter")
         );
         assertTrue(PluginUtils.shouldLoadInIsolation(
                 "org.apache.kafka.connect.storage.StringConverter")

-- 
To stop receiving notification emails like this one, please contact
[email protected].

Reply via email to