类com.fasterxml.jackson.databind.deser.DefaultDeserializationContext源码实例Demo

下面列出了怎么用com.fasterxml.jackson.databind.deser.DefaultDeserializationContext的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: spring-analysis-note   文件: Jackson2Tokenizer.java
/**
 * Tokenize the given {@code Flux<DataBuffer>} into {@code Flux<TokenBuffer>}.
 * @param dataBuffers the source data buffers
 * @param jsonFactory the factory to use
 * @param objectMapper the current mapper instance
 * @param tokenizeArrayElements if {@code true} and the "top level" JSON object is
 * an array, each element is returned individually immediately after it is received
 * @return the resulting token buffers
 */
public static Flux<TokenBuffer> tokenize(Flux<DataBuffer> dataBuffers, JsonFactory jsonFactory,
		ObjectMapper objectMapper, boolean tokenizeArrayElements) {

	try {
		JsonParser parser = jsonFactory.createNonBlockingByteArrayParser();
		DeserializationContext context = objectMapper.getDeserializationContext();
		if (context instanceof DefaultDeserializationContext) {
			context = ((DefaultDeserializationContext) context).createInstance(
					objectMapper.getDeserializationConfig(), parser, objectMapper.getInjectableValues());
		}
		Jackson2Tokenizer tokenizer = new Jackson2Tokenizer(parser, context, tokenizeArrayElements);
		return dataBuffers.concatMapIterable(tokenizer::tokenize).concatWith(tokenizer.endOfInput());
	}
	catch (IOException ex) {
		return Flux.error(ex);
	}
}
 
源代码2 项目: icure-backend   文件: ObjectMapperProvider.java
@Override
public ObjectMapper getContext(Class<?> type) {
	// TypeResolver
	SimpleAbstractTypeResolver abstractTypeResolver = new SimpleAbstractTypeResolver();
	abstractTypeResolver.addMapping(List.class, ArrayList.class);
	abstractTypeResolver.addMapping(Set.class, HashSet.class);
	abstractTypeResolver.addMapping(Map.class, HashMap.class);

	// Serializer
	DefaultSerializerProvider serializerProvider = new DefaultSerializerProvider.Impl();

	// Deserializer
	DeserializerFactoryConfig deserializerFactoryConfig = new DeserializerFactoryConfig().withAbstractTypeResolver(abstractTypeResolver);
	BeanDeserializerFactory deserializerFactory = new BeanDeserializerFactory(deserializerFactoryConfig);
	DefaultDeserializationContext.Impl deserializationContext = new DefaultDeserializationContext.Impl(deserializerFactory);

	// ObjectMapper
	ObjectMapper objectMapper = new ObjectMapper(null, serializerProvider, deserializationContext);
	objectMapper = objectMapper.enableDefaultTypingAsProperty(ObjectMapper.DefaultTyping.OBJECT_AND_NON_CONCRETE, "type");
	objectMapper = objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
	objectMapper = objectMapper.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS);

	return objectMapper;
}
 
源代码3 项目: carbon-apimgt   文件: JsonSerializationTest.java
@Test
public void testDeserializePetStoreFile() throws Exception {
    String path =
            "src" + File.separator + "test" + File.separator + "resources" + File.separator + "swagger"
                    + File.separator + "Pet.json";
    JsonParser jsonParser = new JsonFactory().createParser(new File(path));
    ObjectMapper mapper = new ObjectMapper();
    JsonNode root = mapper.readTree(new File(path));
    JsonNode jsonNode = root;
    ObjectCodec objectCodec = Mockito.mock(ObjectCodec.class);
    Mockito.when(objectCodec.readTree(jsonParser)).thenReturn(jsonNode);
    jsonParser.setCodec(objectCodec);
    PropertyDeserializer propertyDeserializer = new PropertyDeserializer();
    DefaultDeserializationContext deserializationContext = Mockito.mock(DefaultDeserializationContext.class);
    Assert.assertNotNull(propertyDeserializer.propertyFromNode(jsonNode));
    propertyDeserializer.deserialize(jsonParser, deserializationContext);

    ObjectNode obj = Mockito.mock(ObjectNode.class);
    Mockito.when(obj.get("name")).thenReturn(jsonNode);
    Mockito.when(obj.get("namespace")).thenReturn(jsonNode);
    Mockito.when(obj.get("prefix")).thenReturn(jsonNode);
    Mockito.when(obj.get("attribute")).thenReturn(jsonNode);
    Mockito.when(obj.get("wrapped")).thenReturn(jsonNode);
    Mockito.when(obj.get("xml")).thenReturn(obj);
    Assert.assertNotNull(propertyDeserializer.getXml(obj));
}
 
源代码4 项目: carbon-apimgt   文件: JsonSerializationTest.java
@Test
public void testDeserializeModel() throws Exception {
    String path =
            "src" + File.separator + "test" + File.separator + "resources" + File.separator + "swagger"
                    + File.separator + "ModelTest.json";
    JsonParser jsonParser = new JsonFactory().createParser(new File(path));
    ObjectMapper mapper = new ObjectMapper();
    JsonNode root = mapper.readTree(new File(path));
    JsonNode jsonNode = root;
    ObjectCodec objectCodec = Mockito.mock(ObjectCodec.class);
    Mockito.when(objectCodec.readTree(jsonParser)).thenReturn(jsonNode);
    jsonParser.setCodec(objectCodec);
    ModelDeserializer modelDeserializer = new ModelDeserializer();
    DefaultDeserializationContext deserializationContext = Mockito.mock(DefaultDeserializationContext.class);
    Assert.assertNotNull(modelDeserializer.deserialize(jsonParser, deserializationContext));
}
 
源代码5 项目: carbon-apimgt   文件: JsonSerializationTest.java
@Test
public void testDeserializeSecurityDef() throws Exception {
    String path =
            "src" + File.separator + "test" + File.separator + "resources" + File.separator + "swagger"
                    + File.separator + "Security.json";
    JsonParser jsonParser = new JsonFactory().createParser(new File(path));
    ObjectMapper mapper = new ObjectMapper();
    JsonNode root = mapper.readTree(new File(path));
    JsonNode jsonNode = root;
    ObjectCodec objectCodec = Mockito.mock(ObjectCodec.class);
    Mockito.when(objectCodec.readTree(jsonParser)).thenReturn(jsonNode);
    jsonParser.setCodec(objectCodec);
    SecurityDefinitionDeserializer securityDefinitionDeserializer = new SecurityDefinitionDeserializer();
    DefaultDeserializationContext deserializationContext = Mockito.mock(DefaultDeserializationContext.class);
    try {
        securityDefinitionDeserializer.deserialize(jsonParser, deserializationContext);
    } catch (JsonProcessingException e) {
        Assert.assertFalse(true);
    }
}
 
源代码6 项目: carbon-apimgt   文件: JsonSerializationTest.java
@Test
public void testResponse() throws Exception {
    String path =
            "src" + File.separator + "test" + File.separator + "resources" + File.separator + "swagger"
                    + File.separator + "ModelTest.json";
    JsonParser jsonParser = new JsonFactory().createParser(new File(path));
    ObjectMapper mapper = new ObjectMapper();
    JsonNode root = mapper.readTree(new File(path));
    JsonNode jsonNode = root;
    ObjectCodec objectCodec = Mockito.mock(ObjectCodec.class);
    Mockito.when(objectCodec.readTree(jsonParser)).thenReturn(jsonNode);
    jsonParser.setCodec(objectCodec);
    DefaultDeserializationContext deserializationContext = Mockito.mock(DefaultDeserializationContext.class);
    ResponseDeserializer responseDeserializer = new ResponseDeserializer();
    try {
        responseDeserializer.deserialize(jsonParser, deserializationContext);
    } catch (JsonProcessingException e) {
        Assert.assertFalse(true);
    }
}
 
源代码7 项目: pinpoint   文件: ObjectMapperIT.java
@Test
public void testConstructor() throws Exception {
    ObjectMapper mapper1 = new ObjectMapper();
    ObjectMapper mapper2 = new ObjectMapper(new JsonFactory());

    PluginTestVerifier verifier = PluginTestVerifierHolder.getInstance();
    verifier.printCache();

    Constructor<?> omConstructor = ObjectMapper.class.getConstructor(JsonFactory.class, DefaultSerializerProvider.class, DefaultDeserializationContext.class);
    Constructor<?> omConstructor1 = ObjectMapper.class.getConstructor();
    Constructor<?> omConstructor2 = ObjectMapper.class.getConstructor(JsonFactory.class);
    verifier.verifyTrace(event(SERVICE_TYPE, omConstructor));
    verifier.verifyTrace(event(SERVICE_TYPE, omConstructor1));
    verifier.verifyTrace(event(SERVICE_TYPE, omConstructor));
    verifier.verifyTrace(event(SERVICE_TYPE, omConstructor2));

    verifier.verifyTraceCount(0);
}
 
源代码8 项目: pinpoint   文件: ObjectMapperJDK7IT.java
@Test
public void testConstructor() throws Exception {
    ObjectMapper mapper1 = new ObjectMapper();
    ObjectMapper mapper2 = new ObjectMapper(new JsonFactory());

    PluginTestVerifier verifier = PluginTestVerifierHolder.getInstance();
    verifier.printCache();

    Constructor<?> omConstructor = ObjectMapper.class.getConstructor(JsonFactory.class, DefaultSerializerProvider.class, DefaultDeserializationContext.class);
    Constructor<?> omConstructor1 = ObjectMapper.class.getConstructor();
    Constructor<?> omConstructor2 = ObjectMapper.class.getConstructor(JsonFactory.class);
    verifier.verifyTrace(event(SERVICE_TYPE, omConstructor));
    verifier.verifyTrace(event(SERVICE_TYPE, omConstructor1));
    verifier.verifyTrace(event(SERVICE_TYPE, omConstructor));
    verifier.verifyTrace(event(SERVICE_TYPE, omConstructor2));

    verifier.verifyTraceCount(0);
}
 
private StrictObjectMapper(BlockAllocator allocator)
{
    super(JSON_FACTORY);
    _serializerFactory = SERIALIZER_FACTORY;

    ImmutableMap<Class<?>, JsonDeserializer<?>> desers = ImmutableMap.of(
            FederationRequest.class, createRequestDeserializer(allocator),
            FederationResponse.class, createResponseDeserializer(allocator),
            LambdaFunctionException.class, new LambdaFunctionExceptionSerDe.Deserializer());
    SimpleDeserializers deserializers = new SimpleDeserializers(desers);
    DeserializerFactoryConfig dConfig = new DeserializerFactoryConfig().withAdditionalDeserializers(deserializers);
    _deserializationContext = new DefaultDeserializationContext.Impl(new StrictDeserializerFactory(dConfig));
    // required by LambdaInvokerFactory
    disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
}
 
源代码10 项目: Flink-CEPplus   文件: AWSUtil.java
/**
 * Set all prefixed properties on {@link ClientConfiguration}.
 * @param config
 * @param configProps
 */
public static void setAwsClientConfigProperties(ClientConfiguration config,
												Properties configProps) {

	Map<String, Object> awsConfigProperties = new HashMap<>();
	for (Map.Entry<Object, Object> entry : configProps.entrySet()) {
		String key = (String) entry.getKey();
		if (key.startsWith(AWS_CLIENT_CONFIG_PREFIX)) {
			awsConfigProperties.put(key.substring(AWS_CLIENT_CONFIG_PREFIX.length()), entry.getValue());
		}
	}
	// Jackson does not like the following properties
	String[] ignorableProperties = {"secureRandom"};
	BeanDeserializerModifier modifier = new BeanDeserializerModifierForIgnorables(
		ClientConfiguration.class, ignorableProperties);
	DeserializerFactory factory = BeanDeserializerFactory.instance.withDeserializerModifier(
		modifier);
	ObjectMapper mapper = new ObjectMapper(null, null,
		new DefaultDeserializationContext.Impl(factory));

	JsonNode propTree = mapper.convertValue(awsConfigProperties, JsonNode.class);
	try {
		mapper.readerForUpdating(config).readValue(propTree);
	} catch (IOException ex) {
		throw new RuntimeException(ex);
	}
}
 
源代码11 项目: flink   文件: AWSUtil.java
/**
 * Set all prefixed properties on {@link ClientConfiguration}.
 * @param config
 * @param configProps
 */
public static void setAwsClientConfigProperties(ClientConfiguration config,
												Properties configProps) {

	Map<String, Object> awsConfigProperties = new HashMap<>();
	for (Map.Entry<Object, Object> entry : configProps.entrySet()) {
		String key = (String) entry.getKey();
		if (key.startsWith(AWS_CLIENT_CONFIG_PREFIX)) {
			awsConfigProperties.put(key.substring(AWS_CLIENT_CONFIG_PREFIX.length()), entry.getValue());
		}
	}
	// Jackson does not like the following properties
	String[] ignorableProperties = {"secureRandom"};
	BeanDeserializerModifier modifier = new BeanDeserializerModifierForIgnorables(
		ClientConfiguration.class, ignorableProperties);
	DeserializerFactory factory = BeanDeserializerFactory.instance.withDeserializerModifier(
		modifier);
	ObjectMapper mapper = new ObjectMapper(null, null,
		new DefaultDeserializationContext.Impl(factory));

	JsonNode propTree = mapper.convertValue(awsConfigProperties, JsonNode.class);
	try {
		mapper.readerForUpdating(config).readValue(propTree);
	} catch (IOException ex) {
		throw new RuntimeException(ex);
	}
}
 
源代码12 项目: flink   文件: AWSUtil.java
/**
 * Set all prefixed properties on {@link ClientConfiguration}.
 * @param config
 * @param configProps
 */
public static void setAwsClientConfigProperties(ClientConfiguration config,
												Properties configProps) {

	Map<String, Object> awsConfigProperties = new HashMap<>();
	for (Map.Entry<Object, Object> entry : configProps.entrySet()) {
		String key = (String) entry.getKey();
		if (key.startsWith(AWS_CLIENT_CONFIG_PREFIX)) {
			awsConfigProperties.put(key.substring(AWS_CLIENT_CONFIG_PREFIX.length()), entry.getValue());
		}
	}
	// Jackson does not like the following properties
	String[] ignorableProperties = {"secureRandom"};
	BeanDeserializerModifier modifier = new BeanDeserializerModifierForIgnorables(
		ClientConfiguration.class, ignorableProperties);
	DeserializerFactory factory = BeanDeserializerFactory.instance.withDeserializerModifier(
		modifier);
	ObjectMapper mapper = new ObjectMapper(null, null,
		new DefaultDeserializationContext.Impl(factory));

	JsonNode propTree = mapper.convertValue(awsConfigProperties, JsonNode.class);
	try {
		mapper.readerForUpdating(config).readValue(propTree);
	} catch (IOException ex) {
		throw new RuntimeException(ex);
	}
}
 
源代码13 项目: carbon-apimgt   文件: JsonSerializationTest.java
@Test
public void testDeserializeArrays() throws Exception {
    String path =
            "src" + File.separator + "test" + File.separator + "resources" + File.separator + "swagger"
                    + File.separator + "Pet.json";
    JsonParser jsonParser = new JsonFactory().createParser(new File(path));
    ObjectMapper mapper = new ObjectMapper();
    String array = "\"indicators\": {\n" +
            "                \"type\": \"array\",\n" +
            "                \"items\": {\n" +
            "                    \"$ref\": \"#/definitions/Indicator\"\n" +
            "                }\n" +
            "            }";
    JsonNode jsonNode = mapper.readTree(array);
    ObjectCodec objectCodec = Mockito.mock(ObjectCodec.class);
    Mockito.when(objectCodec.readTree(jsonParser)).thenReturn(jsonNode);
    jsonParser.setCodec(objectCodec);
    PropertyDeserializer propertyDeserializer = new PropertyDeserializer();
    DefaultDeserializationContext deserializationContext = Mockito.mock(DefaultDeserializationContext.class);
    try {
        propertyDeserializer.propertyFromNode(jsonNode);
        propertyDeserializer.deserialize(jsonParser, deserializationContext);
        propertyDeserializer.getXml(jsonNode);
    } catch (JsonProcessingException e) {
        Assert.assertFalse(true);
    }
}
 
源代码14 项目: carbon-apimgt   文件: JsonSerializationTest.java
@Test
public void testDeserializeArray() throws Exception {
    String path =
            "src" + File.separator + "test" + File.separator + "resources" + File.separator + "swagger"
                    + File.separator + "Pet.json";
    JsonParser jsonParser = new JsonFactory().createParser(new File(path));
    ObjectMapper mapper = new ObjectMapper();
    String array = "{\n" +
            "   \"properties\": {\n" +
            "      \"type\": {\n" +
            "         \"type\": \"string\",\n" +
            "         \"default\": \"BBANDS\"\n" +
            "      },\n" +
            "      \"computeOn\": {\n" +
            "         \"type\": \"array\",\n" +
            "         \"items\": {\n" +
            "            \"type\": \"string\"\n" +
            "         },\n" +
            "         \"default\": [\n" +
            "            \"close\"\n" +
            "         ]\n" +
            "      },\n" +
            "      \"parameters\": {\n" +
            "         \"type\": \"object\",\n" +
            "         \"properties\": {\n" +
            "            \"timeperiod\": {\n" +
            "               \"type\": \"integer\",\n" +
            "               \"format\": \"int32\",\n" +
            "               \"default\": 5\n" +
            "            },\n" +
            "            \"nbdevup\": {\n" +
            "               \"type\": \"integer\",\n" +
            "               \"format\": \"int32\",\n" +
            "               \"default\": 2\n" +
            "            },\n" +
            "            \"nbdevdn\": {\n" +
            "               \"type\": \"integer\",\n" +
            "               \"format\": \"int32\",\n" +
            "               \"default\": 2\n" +
            "            },\n" +
            "            \"matype\": {\n" +
            "               \"type\": \"integer\",\n" +
            "               \"format\": \"int32\",\n" +
            "               \"default\": 0\n" +
            "            }\n" +
            "         }\n" +
            "      }\n" +
            "   }\n" +
            "}";
    JsonNode jsonNode = mapper.readTree(array);
    ObjectCodec objectCodec = Mockito.mock(ObjectCodec.class);
    Mockito.when(objectCodec.readTree(jsonParser)).thenReturn(jsonNode);
    jsonParser.setCodec(objectCodec);
    PropertyDeserializer propertyDeserializer = new PropertyDeserializer();
    DefaultDeserializationContext deserializationContext = Mockito.mock(DefaultDeserializationContext.class);
    Assert.assertNotNull(propertyDeserializer.propertyFromNode(jsonNode));
    propertyDeserializer.deserialize(jsonParser, deserializationContext);
    propertyDeserializer.getXml(jsonNode);
}
 
源代码15 项目: carbon-apimgt   文件: JsonSerializationTest.java
@Test
public void testDeserializePropertyFromNodeArray() throws Exception {
    String path =
            "src" + File.separator + "test" + File.separator + "resources" + File.separator + "swagger"
                    + File.separator + "Pet.json";
    JsonParser jsonParser = new JsonFactory().createParser(new File(path));
    ObjectMapper mapper = new ObjectMapper();
    String arrayJson = "{\"parameters\": [\n" +
            "{\n" +
            "  \"name\": \"petId\",\n" +
            "  \"in\": \"path\",\n" +
            "  \"description\": \"ID of pet to update\",\n" +
            "  \"required\": true,\n" +
            "  \"type\": \"integer\",\n" +
            "  \"format\": \"int64\"\n" +
            "},\n" +
            "{\n" +
            "\"name\": \"additionalMetadata\",\n" +
            "\"in\": \"formData\",\n" +
            "\"description\": \"Additional data to pass to server\",\n" +
            "\"required\": false,\n" +
            "\"type\": \"string\"\n" +
            "},\n" +
            "{\n" +
            "\"name\": \"file\",\n" +
            "\"in\": \"formData\",\n" +
            "\"description\": \"file to upload\",\n" +
            "\"required\": false,\n" +
            "\"type\": \"file\"\n" +
            "}\n" +
            "]}";
    JsonNode root = mapper.readTree(arrayJson.getBytes());
    JsonNode jsonNode = root;
    ObjectCodec objectCodec = Mockito.mock(ObjectCodec.class);
    Mockito.when(objectCodec.readTree(jsonParser)).thenReturn(jsonNode);
    jsonParser.setCodec(objectCodec);
    PropertyDeserializer propertyDeserializer = new PropertyDeserializer();
    DefaultDeserializationContext deserializationContext = Mockito.mock(DefaultDeserializationContext.class);
    try {
        propertyDeserializer.propertyFromNode(jsonNode);
        propertyDeserializer.deserialize(jsonParser, deserializationContext);
    } catch (JsonProcessingException e) {
        Assert.assertFalse(true);
    }
}
 
源代码16 项目: carbon-apimgt   文件: JsonSerializationTest.java
@Test
public void testDeserializeParameter() throws Exception {
    String path =
            "src" + File.separator + "test" + File.separator + "resources" + File.separator + "swagger"
                    + File.separator + "Parameter.json";
    String headerNode = "{\n" +
            "      \"name\": \"api_key\",\n" +
            "      \"in\": \"header\",\n" +
            "      \"description\": \"\",\n" +
            "      \"required\": false,\n" +
            "      \"type\": \"string\"\n" +
            "    }";
    String queryNode = "{\n" +
            "      \"name\": \"api_key\",\n" +
            "      \"in\": \"query\",\n" +
            "      \"description\": \"\",\n" +
            "      \"required\": false,\n" +
            "      \"type\": \"string\"\n" +
            "    }";
    String bodyNode = "{\n" +
            "      \"name\": \"api_key\",\n" +
            "      \"in\": \"body\",\n" +
            "      \"description\": \"\",\n" +
            "      \"required\": false,\n" +
            "      \"type\": \"string\"\n" +
            "    }";
    String cookieNode = "{\n" +
            "      \"name\": \"api_key\",\n" +
            "      \"in\": \"cookie\",\n" +
            "      \"description\": \"\",\n" +
            "      \"required\": false,\n" +
            "      \"type\": \"string\"\n" +
            "    }";
    String pathNode = "{\n" +
            "      \"name\": \"api_key\",\n" +
            "      \"in\": \"path\",\n" +
            "      \"description\": \"\",\n" +
            "      \"required\": false,\n" +
            "      \"type\": \"string\"\n" +
            "    }";
    String formDataNode = "{\n" +
            "      \"name\": \"api_key\",\n" +
            "      \"in\": \"formData\",\n" +
            "      \"description\": \"\",\n" +
            "      \"required\": false,\n" +
            "      \"type\": \"string\"\n" +
            "    }";
    Map<String, String> stringMap = new HashMap<String, String>();
    stringMap.put("Header", headerNode);
    stringMap.put("Body", bodyNode);
    stringMap.put("Path", pathNode);
    stringMap.put("FormData", formDataNode);
    stringMap.put("Cookie", cookieNode);
    stringMap.put("Query", queryNode);

    for (String nodeString : stringMap.values()) {
        JsonParser jsonParser = new JsonFactory().createParser(new File(path));
        ObjectMapper mapper = new ObjectMapper();
        JsonNode root = mapper.readTree(nodeString.getBytes());
        JsonNode jsonNode = root;
        ObjectCodec objectCodec = Mockito.mock(ObjectCodec.class);
        Mockito.when(objectCodec.readTree(jsonParser)).thenReturn(jsonNode);
        jsonParser.setCodec(objectCodec);
        ParameterDeserializer parameterDeserializer = new ParameterDeserializer();
        DefaultDeserializationContext deserializationContext = Mockito.mock(DefaultDeserializationContext.class);
        try {
            parameterDeserializer.deserialize(jsonParser, deserializationContext);
        } catch (JsonProcessingException e) {
            Assert.assertFalse(true);
        }
    }
}
 
源代码17 项目: lams   文件: ObjectReader.java
/**
 * Internal helper method called to create an instance of {@link DeserializationContext}
 * for deserializing a single root value.
 * Can be overridden if a custom context is needed.
 */
protected DefaultDeserializationContext createDeserializationContext(JsonParser p) {
    return _context.createInstance(_config, p, _injectableValues);
}
 
 类方法
 同包方法