You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by si...@apache.org on 2019/01/06 20:46:55 UTC

[pulsar] branch master updated: [Pulsar-Client] Add minor Schema fixes (#3313)

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

sijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new 9e68dda  [Pulsar-Client] Add minor Schema fixes (#3313)
9e68dda is described below

commit 9e68dda47e96c8d4211390464c9a3ff753b7c5b9
Author: Eren Avsarogullari <er...@gmail.com>
AuthorDate: Sun Jan 6 20:46:50 2019 +0000

    [Pulsar-Client] Add minor Schema fixes (#3313)
    
    ### Motivation
    This PR aims to cover some of minor `Schema` fixes.
    
    ### Modifications
    1- `SchemaSerializationException` already extends `RuntimeException` so `RuntimeException` wraps look redundant.
    2- Fixes variable name
    3- Fixes redundant line breaks
    
    ### Test
    1- Adding a new UT for `SchemaSerializationException` case on `JSONSchema.decode()` function
---
 .../apache/pulsar/client/impl/schema/AutoProduceBytesSchema.java | 1 -
 .../java/org/apache/pulsar/client/impl/schema/JSONSchema.java    | 7 +++----
 .../pulsar/client/impl/schema/generic/GenericJsonSchema.java     | 4 ++--
 .../org/apache/pulsar/client/impl/schema/JSONSchemaTest.java     | 9 ++++++---
 .../main/java/org/apache/pulsar/common/schema/SchemaInfo.java    | 1 -
 5 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/AutoProduceBytesSchema.java b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/AutoProduceBytesSchema.java
index 517d53a..6e634c8 100644
--- a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/AutoProduceBytesSchema.java
+++ b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/AutoProduceBytesSchema.java
@@ -18,7 +18,6 @@
  */
 package org.apache.pulsar.client.impl.schema;
 
-
 import static com.google.common.base.Preconditions.checkState;
 
 import org.apache.pulsar.client.api.Schema;
diff --git a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/JSONSchema.java b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/JSONSchema.java
index a6e9b05..dbcc489 100644
--- a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/JSONSchema.java
+++ b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/JSONSchema.java
@@ -69,7 +69,6 @@ public class JSONSchema<T> implements Schema<T>{
 
     @Override
     public byte[] encode(T message) throws SchemaSerializationException {
-
         try {
             return objectMapper.writeValueAsBytes(message);
         } catch (JsonProcessingException e) {
@@ -82,7 +81,7 @@ public class JSONSchema<T> implements Schema<T>{
         try {
             return objectMapper.readValue(bytes, this.pojo);
         } catch (IOException e) {
-            throw new RuntimeException(new SchemaSerializationException(e));
+            throw new SchemaSerializationException(e);
         }
     }
 
@@ -102,12 +101,12 @@ public class JSONSchema<T> implements Schema<T>{
         try {
             ObjectMapper objectMapper = new ObjectMapper();
             JsonSchemaGenerator schemaGen = new JsonSchemaGenerator(objectMapper);
-            JsonSchema jsonBackwardsCompatibileSchema = schemaGen.generateSchema(pojo);
+            JsonSchema jsonBackwardsCompatibleSchema = schemaGen.generateSchema(pojo);
             backwardsCompatibleSchemaInfo = new SchemaInfo();
             backwardsCompatibleSchemaInfo.setName("");
             backwardsCompatibleSchemaInfo.setProperties(properties);
             backwardsCompatibleSchemaInfo.setType(SchemaType.JSON);
-            backwardsCompatibleSchemaInfo.setSchema(objectMapper.writeValueAsBytes(jsonBackwardsCompatibileSchema));
+            backwardsCompatibleSchemaInfo.setSchema(objectMapper.writeValueAsBytes(jsonBackwardsCompatibleSchema));
         } catch (JsonProcessingException ex) {
             throw new RuntimeException(ex);
         }
diff --git a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/generic/GenericJsonSchema.java b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/generic/GenericJsonSchema.java
index d0f2b54..a82c6c0 100644
--- a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/generic/GenericJsonSchema.java
+++ b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/schema/generic/GenericJsonSchema.java
@@ -47,7 +47,7 @@ class GenericJsonSchema extends GenericSchema {
         try {
             return objectMapper.writeValueAsBytes(gjr.getJsonNode().toString());
         } catch (IOException ioe) {
-            throw new RuntimeException(new SchemaSerializationException(ioe));
+            throw new SchemaSerializationException(ioe);
         }
     }
 
@@ -57,7 +57,7 @@ class GenericJsonSchema extends GenericSchema {
             JsonNode jn = objectMapper.readTree(new String(bytes, UTF_8));
             return new GenericJsonRecord(fields, jn);
         } catch (IOException ioe) {
-            throw new RuntimeException(new SchemaSerializationException(ioe));
+            throw new SchemaSerializationException(ioe);
         }
     }
 }
diff --git a/pulsar-client/src/test/java/org/apache/pulsar/client/impl/schema/JSONSchemaTest.java b/pulsar-client/src/test/java/org/apache/pulsar/client/impl/schema/JSONSchemaTest.java
index 1177983..9184faa 100644
--- a/pulsar-client/src/test/java/org/apache/pulsar/client/impl/schema/JSONSchemaTest.java
+++ b/pulsar-client/src/test/java/org/apache/pulsar/client/impl/schema/JSONSchemaTest.java
@@ -23,6 +23,7 @@ import java.util.List;
 
 import lombok.extern.slf4j.Slf4j;
 import org.apache.avro.Schema;
+import org.apache.pulsar.client.api.SchemaSerializationException;
 import org.apache.pulsar.client.impl.schema.JSONSchema;
 import org.apache.pulsar.client.impl.schema.SchemaTestUtils.Bar;
 import org.apache.pulsar.client.impl.schema.SchemaTestUtils.DerivedFoo;
@@ -117,7 +118,6 @@ public class JSONSchemaTest {
 
     @Test
     public void testCorrectPolymorphism() {
-
         Bar bar = new Bar();
         bar.setField1(true);
 
@@ -160,8 +160,11 @@ public class JSONSchemaTest {
         JSONSchema<SchemaTestUtils.DerivedDerivedFoo> derivedDerivedJsonSchema
                 = JSONSchema.of(SchemaTestUtils.DerivedDerivedFoo.class);
         Assert.assertEquals(derivedDerivedJsonSchema.decode(derivedDerivedJsonSchema.encode(derivedDerivedFoo)), derivedDerivedFoo);
+    }
 
-
-
+    @Test(expectedExceptions = SchemaSerializationException.class)
+    public void testDecodeWithInvalidContent() {
+        JSONSchema<Foo> jsonSchema = JSONSchema.of(Foo.class);
+        jsonSchema.decode(new byte[0]);
     }
 }
diff --git a/pulsar-common/src/main/java/org/apache/pulsar/common/schema/SchemaInfo.java b/pulsar-common/src/main/java/org/apache/pulsar/common/schema/SchemaInfo.java
index 279b628..c369a30 100644
--- a/pulsar-common/src/main/java/org/apache/pulsar/common/schema/SchemaInfo.java
+++ b/pulsar-common/src/main/java/org/apache/pulsar/common/schema/SchemaInfo.java
@@ -41,7 +41,6 @@ public class SchemaInfo {
     @EqualsAndHashCode.Exclude
     private String name;
 
-
     /**
      * The schema data in AVRO JSON format
      */