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

huitong pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/rocketmq-schema-registry.git


The following commit(s) were added to refs/heads/main by this push:
     new f4bfd7d  skip validate for json
     new 0f60dd7  Merge pull request #77 from MatrixHB/remove_validate
f4bfd7d is described below

commit f4bfd7db7072616ad99726a91e1557605c85b2c4
Author: huitong <[email protected]>
AuthorDate: Mon Jan 30 16:44:53 2023 +0800

    skip validate for json
---
 .../schema/registry/client/NormalSchemaRegistryClient.java         | 1 +
 .../schema/registry/core/compatibility/CompatibilityChecker.java   | 2 ++
 .../rocketmq/schema/registry/core/service/SchemaServiceImpl.java   | 7 ++++++-
 3 files changed, 9 insertions(+), 1 deletion(-)

diff --git 
a/client/src/main/java/org/apache/rocketmq/schema/registry/client/NormalSchemaRegistryClient.java
 
b/client/src/main/java/org/apache/rocketmq/schema/registry/client/NormalSchemaRegistryClient.java
index 966441e..ad9ee26 100644
--- 
a/client/src/main/java/org/apache/rocketmq/schema/registry/client/NormalSchemaRegistryClient.java
+++ 
b/client/src/main/java/org/apache/rocketmq/schema/registry/client/NormalSchemaRegistryClient.java
@@ -124,6 +124,7 @@ public class NormalSchemaRegistryClient implements 
SchemaRegistryClient {
         return restService.getAllTenants(cluster);
     }
 
+    @Override
     public GetSchemaResponse getSchemaByRecordId(String cluster, String 
tenant, String subject,
         long recordId) throws RestClientException, IOException {
         return restService.getSchemaByRecordId(cluster, tenant, subject, 
recordId);
diff --git 
a/core/src/main/java/org/apache/rocketmq/schema/registry/core/compatibility/CompatibilityChecker.java
 
b/core/src/main/java/org/apache/rocketmq/schema/registry/core/compatibility/CompatibilityChecker.java
index 20062d3..a6bf1d2 100644
--- 
a/core/src/main/java/org/apache/rocketmq/schema/registry/core/compatibility/CompatibilityChecker.java
+++ 
b/core/src/main/java/org/apache/rocketmq/schema/registry/core/compatibility/CompatibilityChecker.java
@@ -28,6 +28,8 @@ public class CompatibilityChecker {
         switch (schemaType) {
             case AVRO:
                 return SCHEMA_VALIDATOR_AVRO;
+            case JSON:
+                return null;
             default:
                 throw new SchemaCompatibilityException("Unsupported schema 
type: " + schemaType);
         }
diff --git 
a/core/src/main/java/org/apache/rocketmq/schema/registry/core/service/SchemaServiceImpl.java
 
b/core/src/main/java/org/apache/rocketmq/schema/registry/core/service/SchemaServiceImpl.java
index 89b7e65..c5f2c1d 100644
--- 
a/core/src/main/java/org/apache/rocketmq/schema/registry/core/service/SchemaServiceImpl.java
+++ 
b/core/src/main/java/org/apache/rocketmq/schema/registry/core/service/SchemaServiceImpl.java
@@ -50,6 +50,7 @@ import 
org.apache.rocketmq.schema.registry.common.utils.CommonUtil;
 import org.apache.rocketmq.schema.registry.common.utils.IdGenerator;
 import org.apache.rocketmq.schema.registry.common.utils.StorageUtil;
 import 
org.apache.rocketmq.schema.registry.core.compatibility.CompatibilityChecker;
+import org.apache.rocketmq.schema.registry.core.compatibility.SchemaValidator;
 import org.apache.rocketmq.schema.registry.core.dependency.DependencyService;
 
 @Slf4j
@@ -180,7 +181,10 @@ public class SchemaServiceImpl implements 
SchemaService<SchemaDto> {
         }
 
         // check compatibility
-        
CompatibilityChecker.getValidator(update.getMeta().getType()).validate(update, 
current);
+        SchemaValidator validator = 
CompatibilityChecker.getValidator(update.getMeta().getType());
+        if (validator != null) {
+            validator.validate(update, current);
+        }
 
         if (config.isUploadEnabled()) {
             Dependency dependency = dependencyService.compile(update);
@@ -300,6 +304,7 @@ public class SchemaServiceImpl implements 
SchemaService<SchemaDto> {
         return tenants;
     }
 
+    @Override
     public GetSchemaResponse getTargetSchema(QualifiedName qualifiedName) {
         final RequestContext requestContext = 
RequestContextManager.getContext();
         log.info("get request context: " + requestContext);

Reply via email to