You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by ji...@apache.org on 2023/07/17 12:08:22 UTC
[camel-quarkus] 04/12: Fixed version conflict + substitution in json-validator
This is an automated email from the ASF dual-hosted git repository.
jiriondrusek pushed a commit to branch camel-main
in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
commit 2b034d18cab4690d80660398ac010dd03fac94f1
Author: JiriOndrusek <on...@gmail.com>
AuthorDate: Wed Jul 12 14:51:26 2023 +0200
Fixed version conflict + substitution in json-validator
---
.../graal/JsonValidatorSubstitutions.java | 39 +++++++---------------
1 file changed, 12 insertions(+), 27 deletions(-)
diff --git a/extensions/json-validator/runtime/src/main/java/org/apache/camel/quarkus/component/json/validator/graal/JsonValidatorSubstitutions.java b/extensions/json-validator/runtime/src/main/java/org/apache/camel/quarkus/component/json/validator/graal/JsonValidatorSubstitutions.java
index 82518ba3fd..5237dc65a3 100644
--- a/extensions/json-validator/runtime/src/main/java/org/apache/camel/quarkus/component/json/validator/graal/JsonValidatorSubstitutions.java
+++ b/extensions/json-validator/runtime/src/main/java/org/apache/camel/quarkus/component/json/validator/graal/JsonValidatorSubstitutions.java
@@ -19,16 +19,10 @@ package org.apache.camel.quarkus.component.json.validator.graal;
import java.lang.reflect.Constructor;
import java.util.function.BooleanSupplier;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.networknt.schema.JsonSchema;
-import com.networknt.schema.JsonValidator;
-import com.networknt.schema.PatternValidator;
import com.networknt.schema.ValidationContext;
-import com.oracle.svm.core.annotate.Alias;
-import com.oracle.svm.core.annotate.Delete;
+import com.networknt.schema.regex.RegularExpression;
import com.oracle.svm.core.annotate.Substitute;
import com.oracle.svm.core.annotate.TargetClass;
-import com.oracle.svm.core.annotate.TargetElement;
/**
* Removes references to PatternValidatorEcma262Deletion, which requires optional org.jruby.joni:joni
@@ -36,36 +30,27 @@ import com.oracle.svm.core.annotate.TargetElement;
public class JsonValidatorSubstitutions {
}
-@TargetClass(value = PatternValidator.class, onlyWith = IsJoniAbsent.class)
-final class PatternValidatorSubstitutions {
- @Alias
- private JsonValidator delegate;
- @Alias
- private ValidationContext validationContext;
+@TargetClass(value = RegularExpression.class, onlyWith = IsJoniAbsent.class)
+@Substitute
+interface RegularExpressionSubstitutions {
+ @Substitute
+ boolean matches(String value);
@Substitute
- @TargetElement(name = TargetElement.CONSTRUCTOR_NAME)
- public PatternValidatorSubstitutions(String schemaPath, JsonNode schemaNode, JsonSchema parentSchema,
- ValidationContext validationContext) {
+ static RegularExpression compile(String regex, ValidationContext validationContext) {
+ if (null == regex)
+ return s -> true;
try {
- Class<?> clazz = Class.forName("com.networknt.schema.PatternValidator$PatternValidatorJava");
- Constructor<?> constructor = clazz.getDeclaredConstructor(String.class, JsonNode.class, JsonSchema.class,
- ValidationContext.class);
+ Class<?> clazz = Class.forName("com.networknt.schema.regex.JDKRegularExpression");
+ Constructor<?> constructor = clazz.getDeclaredConstructor(String.class);
- this.validationContext = validationContext;
- this.delegate = (JsonValidator) constructor.newInstance(schemaPath, schemaNode, parentSchema,
- validationContext);
+ return (RegularExpression) constructor.newInstance(regex);
} catch (Exception e) {
throw new RuntimeException(e);
}
}
}
-@TargetClass(className = "com.networknt.schema.PatternValidator$PatternValidatorEcma262", onlyWith = IsJoniAbsent.class)
-@Delete
-final class PatternValidatorEcma262Deletion {
-}
-
final class IsJoniAbsent implements BooleanSupplier {
@Override
public boolean getAsBoolean() {