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
*/