diff --git a/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/JsonParseException.java b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/JsonParseException.java new file mode 100644 index 00000000000..2f40c4d7317 --- /dev/null +++ b/gravitee-apim-definition/gravitee-apim-definition-jackson/src/main/java/io/gravitee/definition/jackson/datatype/JsonParseException.java @@ -0,0 +1,29 @@ +/* + * Copyright © 2015 The Gravitee team (http://gravitee.io) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package io.gravitee.definition.jackson.datatype; + +import com.fasterxml.jackson.core.JsonProcessingException; + +public class JsonParseException extends JsonProcessingException { + + public JsonParseException(String msg) { + super(msg); + } + + public JsonParseException(String msg, Throwable rootCause) { + super(msg, rootCause); + } +} 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..f54a2797d16 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 @@ -22,6 +22,7 @@ import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer; +import io.gravitee.definition.jackson.datatype.JsonParseException; import io.gravitee.definition.model.*; import io.gravitee.definition.model.Properties; import io.gravitee.definition.model.flow.Flow; @@ -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 new JsonParseException("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 new JsonParseException("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 new JsonParseException("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 new JsonParseException("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 new JsonParseException("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 new JsonParseException("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..e5ce06073ff 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.JsonNode; import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer; -import io.gravitee.definition.model.*; -import io.gravitee.definition.model.Properties; +import io.gravitee.definition.jackson.datatype.JsonParseException; 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 new JsonParseException("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..e73c019b3fc 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 @@ -21,6 +21,7 @@ import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer; +import io.gravitee.definition.jackson.datatype.JsonParseException; import io.gravitee.definition.model.Api; import io.gravitee.definition.model.HttpRequest; import io.gravitee.definition.model.HttpResponse; @@ -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 new JsonParseException("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..58a511f7da4 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 @@ -19,16 +19,19 @@ import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.DeserializationContext; 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.jackson.datatype.JsonParseException; 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 new JsonParseException("Endpoint name is required"); } JsonNode targetNode = node.get("target"); if (targetNode != null) { target = targetNode.asText(); } else { - throw ctxt.mappingException("Endpoint target is required"); + throw new JsonParseException("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..101865931c8 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,13 +16,13 @@ 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.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.jackson.datatype.JsonParseException; import io.gravitee.definition.model.*; import io.gravitee.definition.model.services.Services; import java.io.IOException; @@ -42,7 +42,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 +61,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 new JsonParseException("[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..462fcb78a4b 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 @@ -18,6 +18,7 @@ import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonNode; +import io.gravitee.definition.jackson.datatype.JsonParseException; 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 new JsonParseException("Key property is required"); } else { key = keyNode.asText(); } JsonNode valueNode = node.get("value"); if (valueNode == null) { - throw ctxt.mappingException("Value property is required"); + throw new JsonParseException("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..23af6e453f9 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 @@ -19,6 +19,7 @@ import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer; +import io.gravitee.definition.jackson.datatype.JsonParseException; import io.gravitee.definition.model.plugins.resources.Resource; import java.io.IOException; @@ -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 new JsonParseException("[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 new JsonParseException("[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 new JsonParseException("[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..812ba769962 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 @@ -16,9 +16,9 @@ package io.gravitee.definition.jackson.datatype.services.core.deser; import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonNode; +import io.gravitee.definition.jackson.datatype.JsonParseException; import io.gravitee.definition.model.services.schedule.ScheduledService; import java.io.IOException; import java.util.Arrays; @@ -36,8 +36,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 +53,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 new JsonParseException("[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 new JsonParseException("[scheduled-service] Unit is required"); } } else if (node.has("interval")) { // Ensure backward compatibility @@ -74,7 +73,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 new JsonParseException("[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..2035039b41c 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 @@ -16,10 +16,10 @@ package io.gravitee.definition.jackson.datatype.services.core.deser; import com.fasterxml.jackson.core.JsonParser; -import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer; +import io.gravitee.definition.jackson.datatype.JsonParseException; import io.gravitee.definition.model.Service; import java.io.IOException; @@ -44,7 +44,7 @@ public T deserialize(JsonParser jsonParser, DeserializationContext deserializati return service; } catch (Exception ex) { - throw deserializationContext.mappingException(ex.getMessage()); + throw new JsonParseException(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..274a05b1ec2 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 @@ -20,6 +20,7 @@ import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer; +import io.gravitee.definition.jackson.datatype.JsonParseException; import io.gravitee.definition.model.Service; import io.gravitee.definition.model.services.Services; import io.gravitee.definition.model.services.discovery.EndpointDiscoveryService; @@ -78,7 +79,7 @@ public Type getType() { } } } catch (IOException ioe) { - throw ctxt.mappingException(ioe.getMessage()); + throw new JsonParseException(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..6dcf8e95693 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 @@ -18,6 +18,7 @@ import com.fasterxml.jackson.core.JsonParser; import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonNode; +import io.gravitee.definition.jackson.datatype.JsonParseException; import io.gravitee.definition.jackson.datatype.services.core.deser.ServiceDeserializer; import io.gravitee.definition.jackson.datatype.services.discovery.EndpointDiscoveryProviderMapper; import io.gravitee.definition.model.services.discovery.EndpointDiscoveryService; @@ -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 new JsonParseException("[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..8cc40dce549 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,9 +16,9 @@ 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.JsonNode; +import io.gravitee.definition.jackson.datatype.JsonParseException; import io.gravitee.definition.jackson.datatype.services.core.deser.ScheduledServiceDeserializer; import io.gravitee.definition.model.services.dynamicproperty.DynamicPropertyProvider; import io.gravitee.definition.model.services.dynamicproperty.DynamicPropertyService; @@ -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 new JsonParseException("[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..cb3db8e3b3d 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 @@ -21,6 +21,7 @@ import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer; import io.gravitee.common.http.HttpHeader; import io.gravitee.common.http.HttpMethod; +import io.gravitee.definition.jackson.datatype.JsonParseException; import io.gravitee.definition.model.services.dynamicproperty.http.HttpDynamicPropertyProviderConfiguration; import java.io.IOException; import java.util.ArrayList; @@ -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 new JsonParseException("[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 new JsonParseException("[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..d7f6c723cb3 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,9 +16,9 @@ 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.JsonNode; +import io.gravitee.definition.jackson.datatype.JsonParseException; import io.gravitee.definition.jackson.datatype.services.core.deser.ScheduledServiceDeserializer; import io.gravitee.definition.model.services.healthcheck.HealthCheckRequest; import io.gravitee.definition.model.services.healthcheck.HealthCheckResponse; @@ -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 new JsonParseException("[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..34ad188b6cc 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 @@ -21,6 +21,7 @@ import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer; import io.gravitee.common.http.HttpHeader; import io.gravitee.common.http.HttpMethod; +import io.gravitee.definition.jackson.datatype.JsonParseException; import io.gravitee.definition.model.services.healthcheck.HealthCheckRequest; import java.io.IOException; import java.util.ArrayList; @@ -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 new JsonParseException("[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 new JsonParseException("[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..85ddc3bc4ea 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 @@ -19,6 +19,7 @@ import com.fasterxml.jackson.databind.DeserializationContext; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.deser.std.StdScalarDeserializer; +import io.gravitee.definition.jackson.datatype.JsonParseException; import io.gravitee.definition.model.services.healthcheck.HealthCheckRequest; import io.gravitee.definition.model.services.healthcheck.HealthCheckResponse; import io.gravitee.definition.model.services.healthcheck.HealthCheckStep; @@ -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 new JsonParseException("[health-check] Step request is required"); } final JsonNode responseNode = node.get("response");