diff --git a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/api/deser/ApiDeserializer.java b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/api/deser/ApiDeserializer.java index e1f9398d64f..3fe37bf2f7f 100644 --- a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/api/deser/ApiDeserializer.java +++ b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/api/deser/ApiDeserializer.java @@ -20,6 +20,7 @@ import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer; import io.gravitee.definition.model.*; @@ -57,14 +58,14 @@ public T deserialize(JsonParser jp, DeserializationContext ctxt) throws IOExcept public T deserialize(JsonParser jp, DeserializationContext ctxt, T api, JsonNode node) throws IOException { JsonNode idNode = node.get("id"); if (idNode == null) { - throw ctxt.mappingException("ID property is required"); + throw JsonMappingException.from(ctxt, "ID property is required"); } else { api.setId(idNode.asText()); } JsonNode nameNode = node.get("name"); if (nameNode == null) { - throw ctxt.mappingException("Name property is required"); + throw JsonMappingException.from(ctxt, "Name property is required"); } else { api.setName(nameNode.asText()); } @@ -82,7 +83,7 @@ public T deserialize(JsonParser jp, DeserializationContext ctxt, T api, JsonNode api.setProxy(proxyNode.traverse(jp.getCodec()).readValueAs(Proxy.class)); } else { logger.error("A proxy property is required for {}", api.getName()); - throw ctxt.mappingException("A proxy property is required for " + api.getName()); + throw JsonMappingException.from(ctxt, "A proxy property is required for " + api.getName()); } JsonNode servicesNode = node.get("services"); @@ -114,7 +115,7 @@ public T deserialize(JsonParser jp, DeserializationContext ctxt, T api, JsonNode if (!api.getResources().contains(resource)) { api.getResources().add(resource); } else { - throw ctxt.mappingException("A resource already exists with name " + resource.getName()); + throw JsonMappingException.from(ctxt, "A resource already exists with name " + resource.getName()); } } catch (IOException e) { logger.error("An error occurred during api deserialization", e); @@ -130,7 +131,7 @@ public T deserialize(JsonParser jp, DeserializationContext ctxt, T api, JsonNode if (api.getDefinitionVersion() == DefinitionVersion.V1) { if (node.get("flows") != null) { - throw ctxt.mappingException("Flows are only available for definition >= 2.x.x "); + throw JsonMappingException.from(ctxt, "Flows are only available for definition >= 2.x.x "); } JsonNode pathsNode = node.get("paths"); @@ -153,7 +154,7 @@ public T deserialize(JsonParser jp, DeserializationContext ctxt, T api, JsonNode if (api.getDefinitionVersion() == DefinitionVersion.V2) { if (node.get("paths") != null) { - throw ctxt.mappingException("Paths are only available for definition 1.x.x "); + throw JsonMappingException.from(ctxt, "Paths are only available for definition 1.x.x "); } JsonNode flowsNode = node.get("flows"); diff --git a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/api/deser/ConsumerDeserializer.java b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/api/deser/ConsumerDeserializer.java index f729e4684c5..c0a8104da6c 100644 --- a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/api/deser/ConsumerDeserializer.java +++ b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/api/deser/ConsumerDeserializer.java @@ -15,24 +15,14 @@ */ package io.gravitee.definition.jackson.datatype.api.deser; -import static java.util.Comparator.reverseOrder; - import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer; -import io.gravitee.definition.model.*; -import io.gravitee.definition.model.Properties; import io.gravitee.definition.model.flow.Consumer; import io.gravitee.definition.model.flow.ConsumerType; -import io.gravitee.definition.model.flow.Flow; -import io.gravitee.definition.model.plugins.resources.Resource; -import io.gravitee.definition.model.services.Services; -import io.gravitee.definition.model.services.discovery.EndpointDiscoveryService; import java.io.IOException; -import java.util.*; -import java.util.regex.Pattern; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -58,7 +48,7 @@ public Consumer deserialize(JsonParser jp, DeserializationContext ctxt) throws I JsonNode consumerIdNode = node.get("consumerId"); if (consumerIdNode == null) { - throw ctxt.mappingException("Consumer ID property is required"); + throw JsonMappingException.from(ctxt, "Consumer ID property is required"); } else { consumer.setConsumerId(consumerIdNode.asText()); } diff --git a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/api/deser/DebugApiDeserializer.java b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/api/deser/DebugApiDeserializer.java index 6ff51b56661..50c648893c2 100644 --- a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/api/deser/DebugApiDeserializer.java +++ b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/api/deser/DebugApiDeserializer.java @@ -19,6 +19,7 @@ import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer; import io.gravitee.definition.model.Api; @@ -45,7 +46,7 @@ public DebugApiDeserializer(Class vc) { } @Override - public DebugApi deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { + public DebugApi deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { JsonNode node = jp.getCodec().readTree(jp); DebugApi debugApi = (DebugApi) this.base.deserialize(jp, ctxt, new DebugApi(), node); JsonNode requestNode = node.get("request"); @@ -53,7 +54,7 @@ public DebugApi deserialize(JsonParser jp, DeserializationContext ctxt) throws I debugApi.setRequest(requestNode.traverse(jp.getCodec()).readValueAs(HttpRequest.class)); } else { logger.error("A request property is required for {}", debugApi.getName()); - throw ctxt.mappingException("A request property is required for " + debugApi.getName()); + throw JsonMappingException.from(ctxt, "A request property is required for " + debugApi.getName()); } JsonNode responseNode = node.get("response"); diff --git a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/api/deser/EndpointDeserializer.java b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/api/deser/EndpointDeserializer.java index 5a98c51d31f..67367773809 100644 --- a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/api/deser/EndpointDeserializer.java +++ b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/api/deser/EndpointDeserializer.java @@ -18,17 +18,20 @@ import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonNode; -import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer; import com.fasterxml.jackson.databind.jsontype.TypeDeserializer; import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.ObjectNode; import io.gravitee.definition.jackson.datatype.GraviteeMapper; import io.gravitee.definition.model.Endpoint; -import io.gravitee.definition.model.ssl.pem.PEMTrustStore; import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.List; +import java.util.Map; /** * @author David BRASSELY (david.brassely at graviteesource.com) @@ -53,14 +56,14 @@ public Endpoint deserialize(JsonParser parser, DeserializationContext ctxt) thro if (nameNode != null) { name = nameNode.asText(); } else { - throw ctxt.mappingException("Endpoint name is required"); + throw JsonMappingException.from(ctxt, "Endpoint name is required"); } JsonNode targetNode = node.get("target"); if (targetNode != null) { target = targetNode.asText(); } else { - throw ctxt.mappingException("Endpoint target is required"); + throw JsonMappingException.from(ctxt, "Endpoint target is required"); } JsonNode typeNode = node.get("type"); diff --git a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/api/deser/EndpointGroupDeserializer.java b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/api/deser/EndpointGroupDeserializer.java index 4f89a414925..0f25530e6b1 100644 --- a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/api/deser/EndpointGroupDeserializer.java +++ b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/api/deser/EndpointGroupDeserializer.java @@ -16,17 +16,29 @@ package io.gravitee.definition.jackson.datatype.api.deser; import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer; import io.gravitee.common.http.HttpHeader; import io.gravitee.common.http.HttpHeaders; -import io.gravitee.definition.model.*; +import io.gravitee.definition.model.Endpoint; +import io.gravitee.definition.model.EndpointGroup; +import io.gravitee.definition.model.HttpClientOptions; +import io.gravitee.definition.model.HttpClientSslOptions; +import io.gravitee.definition.model.HttpProxy; +import io.gravitee.definition.model.LoadBalancer; import io.gravitee.definition.model.services.Services; import java.io.IOException; -import java.util.*; +import java.util.ArrayList; +import java.util.Collections; +import java.util.HashMap; +import java.util.LinkedHashSet; +import java.util.List; +import java.util.Map; +import java.util.Optional; +import java.util.Set; import java.util.stream.Collectors; /** @@ -42,7 +54,7 @@ public EndpointGroupDeserializer(Class vc) { } @Override - public EndpointGroup deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException, JsonProcessingException { + public EndpointGroup deserialize(JsonParser jp, DeserializationContext ctxt) throws IOException { JsonNode node = jp.getCodec().readTree(jp); final EndpointGroup group = new EndpointGroup(); @@ -61,7 +73,7 @@ public EndpointGroup deserialize(JsonParser jp, DeserializationContext ctxt) thr if (endpoint != null) { boolean added = endpoints.add(endpoint); if (!added) { - throw ctxt.mappingException("[api] API endpoint names must be unique"); + throw JsonMappingException.from(ctxt, "[api] API endpoint names must be unique"); } } } diff --git a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/api/deser/PropertyDeserializer.java b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/api/deser/PropertyDeserializer.java index ec72c7bb758..98e499401df 100644 --- a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/api/deser/PropertyDeserializer.java +++ b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/api/deser/PropertyDeserializer.java @@ -17,6 +17,7 @@ import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonNode; import io.gravitee.definition.model.Property; import java.io.IOException; @@ -40,14 +41,14 @@ public Property deserialize(JsonParser jp, DeserializationContext ctxt) throws I JsonNode keyNode = node.get("key"); if (keyNode == null) { - throw ctxt.mappingException("Key property is required"); + throw JsonMappingException.from(ctxt, "Key property is required"); } else { key = keyNode.asText(); } JsonNode valueNode = node.get("value"); if (valueNode == null) { - throw ctxt.mappingException("Value property is required"); + throw JsonMappingException.from(ctxt, "Value property is required"); } else { value = valueNode.asText(); } diff --git a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/plugins/resource/deser/ResourceDeserializer.java b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/plugins/resource/deser/ResourceDeserializer.java index ece6f0265e9..7b1eeb3cd8d 100644 --- a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/plugins/resource/deser/ResourceDeserializer.java +++ b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/plugins/resource/deser/ResourceDeserializer.java @@ -17,6 +17,7 @@ import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer; import io.gravitee.definition.model.plugins.resources.Resource; @@ -42,21 +43,21 @@ public Resource deserialize(JsonParser jp, DeserializationContext ctxt) throws I if (nameNode != null) { resource.setName(nameNode.asText()); } else { - throw ctxt.mappingException("[resource] Name is required"); + throw JsonMappingException.from(ctxt, "[resource] Name is required"); } final JsonNode typeNode = node.get("type"); if (typeNode != null) { resource.setType(typeNode.asText()); } else { - throw ctxt.mappingException("[resource] Type is required"); + throw JsonMappingException.from(ctxt, "[resource] Type is required"); } final JsonNode configurationNode = node.get("configuration"); if (configurationNode != null) { resource.setConfiguration(configurationNode.toString()); } else { - throw ctxt.mappingException("[resource] Configuration is required"); + throw JsonMappingException.from(ctxt, "[resource] Configuration is required"); } final JsonNode enabledNode = node.get("enabled"); diff --git a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/core/deser/ScheduledServiceDeserializer.java b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/core/deser/ScheduledServiceDeserializer.java index d884324f052..a79b270cc4a 100644 --- a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/core/deser/ScheduledServiceDeserializer.java +++ b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/core/deser/ScheduledServiceDeserializer.java @@ -18,6 +18,7 @@ import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonNode; import io.gravitee.definition.model.services.schedule.ScheduledService; import java.io.IOException; @@ -36,8 +37,7 @@ public ScheduledServiceDeserializer(Class vc) { } @Override - protected void deserialize(T service, JsonParser jsonParser, JsonNode node, DeserializationContext ctxt) - throws IOException, JsonProcessingException { + protected void deserialize(T service, JsonParser jsonParser, JsonNode node, DeserializationContext ctxt) throws IOException { super.deserialize(service, jsonParser, node, ctxt); final JsonNode scheduleNode = node.get("schedule"); @@ -54,14 +54,14 @@ protected void deserialize(T service, JsonParser jsonParser, JsonNode node, Dese if (rateNode != null) { rate = rateNode.asLong(); } else { - throw ctxt.mappingException("[scheduled-service] Rate is required"); + throw JsonMappingException.from(ctxt, "[scheduled-service] Rate is required"); } final JsonNode unitNode = triggerNode.get("unit"); if (unitNode != null) { unit = TimeUnit.valueOf(unitNode.asText().toUpperCase()); } else { - throw ctxt.mappingException("[scheduled-service] Unit is required"); + throw JsonMappingException.from(ctxt, "[scheduled-service] Unit is required"); } } else if (node.has("interval")) { // Ensure backward compatibility @@ -74,7 +74,7 @@ protected void deserialize(T service, JsonParser jsonParser, JsonNode node, Dese if (unitNode != null) { unit = TimeUnit.valueOf(unitNode.asText().toUpperCase()); } else { - throw ctxt.mappingException("[scheduled-service] Unit is required"); + throw JsonMappingException.from(ctxt, "[scheduled-service] Unit is required"); } } } diff --git a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/core/deser/ServiceDeserializer.java b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/core/deser/ServiceDeserializer.java index aa80a2f4156..ad9a898f124 100644 --- a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/core/deser/ServiceDeserializer.java +++ b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/core/deser/ServiceDeserializer.java @@ -18,6 +18,7 @@ import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer; import io.gravitee.definition.model.Service; @@ -44,7 +45,7 @@ public T deserialize(JsonParser jsonParser, DeserializationContext deserializati return service; } catch (Exception ex) { - throw deserializationContext.mappingException(ex.getMessage()); + throw JsonMappingException.from(deserializationContext, ex.getMessage()); } } diff --git a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/core/deser/ServicesDeserializer.java b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/core/deser/ServicesDeserializer.java index adcb720e8b8..28541399a04 100644 --- a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/core/deser/ServicesDeserializer.java +++ b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/core/deser/ServicesDeserializer.java @@ -18,6 +18,7 @@ import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer; import io.gravitee.definition.model.Service; @@ -27,7 +28,11 @@ import io.gravitee.definition.model.services.healthcheck.HealthCheckService; import java.io.IOException; import java.lang.reflect.Type; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import java.util.Map; /** * @author David BRASSELY (david.brassely at graviteesource.com) @@ -78,7 +83,7 @@ public Type getType() { } } } catch (IOException ioe) { - throw ctxt.mappingException(ioe.getMessage()); + throw JsonMappingException.from(ctxt, ioe.getMessage()); } } diff --git a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/discovery/deser/EndpointDiscoveryDeserializer.java b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/discovery/deser/EndpointDiscoveryDeserializer.java index f9d19472271..e2011f1e897 100644 --- a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/discovery/deser/EndpointDiscoveryDeserializer.java +++ b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/discovery/deser/EndpointDiscoveryDeserializer.java @@ -17,6 +17,7 @@ import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonNode; import io.gravitee.definition.jackson.datatype.services.core.deser.ServiceDeserializer; import io.gravitee.definition.jackson.datatype.services.discovery.EndpointDiscoveryProviderMapper; @@ -45,7 +46,7 @@ protected void deserialize(EndpointDiscoveryService service, JsonParser jsonPars String providerPlugin = EndpointDiscoveryProviderMapper.getProvider(provider); service.setProvider(providerPlugin); } else { - throw ctxt.mappingException("[endpoint-discovery] Provider is required"); + throw JsonMappingException.from(ctxt, "[endpoint-discovery] Provider is required"); } service.setConfiguration(node.get("configuration").toString()); diff --git a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/dynamicproperty/deser/DynamicPropertyDeserializer.java b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/dynamicproperty/deser/DynamicPropertyDeserializer.java index 5509db3ebf0..93d44c1cef4 100644 --- a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/dynamicproperty/deser/DynamicPropertyDeserializer.java +++ b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/dynamicproperty/deser/DynamicPropertyDeserializer.java @@ -16,8 +16,8 @@ package io.gravitee.definition.jackson.datatype.services.dynamicproperty.deser; import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonNode; import io.gravitee.definition.jackson.datatype.services.core.deser.ScheduledServiceDeserializer; import io.gravitee.definition.model.services.dynamicproperty.DynamicPropertyProvider; @@ -37,14 +37,14 @@ public DynamicPropertyDeserializer(Class vc) { @Override protected void deserialize(DynamicPropertyService service, JsonParser jsonParser, JsonNode node, DeserializationContext ctxt) - throws IOException, JsonProcessingException { + throws IOException { super.deserialize(service, jsonParser, node, ctxt); final JsonNode providerNode = node.get("provider"); if (providerNode != null) { service.setProvider(DynamicPropertyProvider.valueOf(providerNode.asText().toUpperCase())); } else { - throw ctxt.mappingException("[dynamic-property] Provider is required"); + throw JsonMappingException.from(ctxt, "[dynamic-property] Provider is required"); } final JsonNode configurationNode = node.get("configuration"); diff --git a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/dynamicproperty/deser/http/HttpDynamicPropertyProviderConfigurationDeserializer.java b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/dynamicproperty/deser/http/HttpDynamicPropertyProviderConfigurationDeserializer.java index a9966283c7f..fc815df7500 100644 --- a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/dynamicproperty/deser/http/HttpDynamicPropertyProviderConfigurationDeserializer.java +++ b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/dynamicproperty/deser/http/HttpDynamicPropertyProviderConfigurationDeserializer.java @@ -17,6 +17,7 @@ import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer; import io.gravitee.common.http.HttpHeader; @@ -46,14 +47,14 @@ public HttpDynamicPropertyProviderConfiguration deserialize(JsonParser jp, Deser if (urlNode != null) { configuration.setUrl(urlNode.asText()); } else { - throw ctxt.mappingException("[dynamic-property] [HTTP] URL is required"); + throw JsonMappingException.from(ctxt, "[dynamic-property] [HTTP] URL is required"); } final JsonNode specificationNode = node.get("specification"); if (specificationNode != null) { configuration.setSpecification(specificationNode.asText()); } else { - throw ctxt.mappingException("[dynamic-property] [HTTP] Specification is required"); + throw JsonMappingException.from(ctxt, "[dynamic-property] [HTTP] Specification is required"); } final JsonNode useSystemProxy = node.get("useSystemProxy"); diff --git a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/healthcheck/deser/HealthCheckDeserializer.java b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/healthcheck/deser/HealthCheckDeserializer.java index 096a162515b..59286157554 100644 --- a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/healthcheck/deser/HealthCheckDeserializer.java +++ b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/healthcheck/deser/HealthCheckDeserializer.java @@ -16,8 +16,8 @@ package io.gravitee.definition.jackson.datatype.services.healthcheck.deser; import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonNode; import io.gravitee.definition.jackson.datatype.services.core.deser.ScheduledServiceDeserializer; import io.gravitee.definition.model.services.healthcheck.HealthCheckRequest; @@ -40,8 +40,7 @@ public HealthCheckDeserializer(Class vc) { } @Override - protected void deserialize(T service, JsonParser jsonParser, JsonNode node, DeserializationContext ctxt) - throws IOException, JsonProcessingException { + protected void deserialize(T service, JsonParser jsonParser, JsonNode node, DeserializationContext ctxt) throws IOException { super.deserialize(service, jsonParser, node, ctxt); if (service.isEnabled()) { @@ -64,7 +63,7 @@ protected void deserialize(T service, JsonParser jsonParser, JsonNode node, Dese if (requestNode != null) { step.setRequest(requestNode.traverse(jsonParser.getCodec()).readValueAs(HealthCheckRequest.class)); } else { - throw ctxt.mappingException("[health-check] Request is required"); + throw JsonMappingException.from(ctxt, "[health-check] Request is required"); } final JsonNode expectationNode = node.get("expectation"); diff --git a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/healthcheck/deser/RequestDeserializer.java b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/healthcheck/deser/RequestDeserializer.java index e572052a86a..1a696c8a6d2 100644 --- a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/healthcheck/deser/RequestDeserializer.java +++ b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/healthcheck/deser/RequestDeserializer.java @@ -17,6 +17,7 @@ import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer; import io.gravitee.common.http.HttpHeader; @@ -51,7 +52,7 @@ public HealthCheckRequest deserialize(JsonParser jp, DeserializationContext ctxt if (uriNode != null) { request.setPath(uriNode.asText()); } else { - throw ctxt.mappingException("[healthcheck] URI is required"); + throw JsonMappingException.from(ctxt, "[healthcheck] URI is required"); } } @@ -59,7 +60,7 @@ public HealthCheckRequest deserialize(JsonParser jp, DeserializationContext ctxt if (methodNode != null) { request.setMethod(HttpMethod.valueOf(methodNode.asText().toUpperCase())); } else { - throw ctxt.mappingException("[healthcheck] Method is required"); + throw JsonMappingException.from(ctxt, "[healthcheck] Method is required"); } JsonNode bodyNode = node.get("body"); diff --git a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/healthcheck/deser/StepDeserializer.java b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/healthcheck/deser/StepDeserializer.java index 17b966f2102..617cdf1eb69 100644 --- a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/healthcheck/deser/StepDeserializer.java +++ b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/services/healthcheck/deser/StepDeserializer.java @@ -17,6 +17,7 @@ import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; +import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer; import io.gravitee.definition.model.services.healthcheck.HealthCheckRequest; @@ -45,7 +46,7 @@ public HealthCheckStep deserialize(JsonParser jsonParser, DeserializationContext if (requestNode != null) { step.setRequest(requestNode.traverse(jsonParser.getCodec()).readValueAs(HealthCheckRequest.class)); } else { - throw ctxt.mappingException("[health-check] Step request is required"); + throw JsonMappingException.from(ctxt, "[health-check] Step request is required"); } final JsonNode responseNode = node.get("response");