@Test public void testExtraction() throws Exception { Message<?> received = messageCollector.forChannel(source.output()).poll(10, TimeUnit.SECONDS); assertNotNull(received); assertThat(received.getPayload(), Matchers.instanceOf(String.class)); CollectionLikeType valueType = TypeFactory.defaultInstance() .constructCollectionLikeType(List.class, Map.class); List<Map<?, ?>> payload = this.objectMapper.readValue((String) received.getPayload(), valueType); assertEquals(3, payload.size()); assertEquals(1, payload.get(0).get("ID")); assertEquals("John", payload.get(2).get("NAME")); }
@Test public void testExtraction() throws Exception { Message<?> received = messageCollector.forChannel(source.output()).poll(10, TimeUnit.SECONDS); assertNotNull(received); assertThat(received.getPayload(), Matchers.instanceOf(String.class)); CollectionLikeType valueType = TypeFactory.defaultInstance() .constructCollectionLikeType(List.class, Map.class); List<Map<?, ?>> payload = this.objectMapper.readValue((String) received.getPayload(), valueType); assertEquals(2, payload.size()); assertEquals(1, payload.get(0).get("ID")); assertEquals(2, payload.get(1).get("ID")); received = messageCollector.forChannel(source.output()).poll(10, TimeUnit.SECONDS); assertNotNull(received); payload = this.objectMapper.readValue((String) received.getPayload(), valueType); assertEquals(1, payload.size()); assertEquals(3, payload.get(0).get("ID")); }
@Override public JsonSerializer<?> findCollectionLikeSerializer(SerializationConfig config, CollectionLikeType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) { Class<?> raw = type.getRawClass(); if (raw == CharSeq.class) { return new CharSeqSerializer(type); } if (Seq.class.isAssignableFrom(raw)) { return new ArraySerializer<>(type); } if (Set.class.isAssignableFrom(raw)) { return new ArraySerializer<>(type); } if (PriorityQueue.class.isAssignableFrom(raw)) { return new ArraySerializer<>(type); } return super.findCollectionLikeSerializer(config, type, beanDesc, elementTypeSerializer, elementValueSerializer); }
@Override public JsonDeserializer<?> findCollectionLikeDeserializer(CollectionLikeType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) throws JsonMappingException { Class<?> raw = type.getRawClass(); if (raw == CharSeq.class) { return new CharSeqDeserializer(type); } if (Seq.class.isAssignableFrom(raw)) { return new SeqDeserializer(type, settings.deserializeNullAsEmptyCollection()); } if (Set.class.isAssignableFrom(raw)) { return new SetDeserializer(type, settings.deserializeNullAsEmptyCollection()); } if (PriorityQueue.class.isAssignableFrom(raw)) { return new PriorityQueueDeserializer(type, settings.deserializeNullAsEmptyCollection()); } return super.findCollectionLikeDeserializer(type, config, beanDesc, elementTypeDeserializer, elementDeserializer); }
public JsonDeserializer<?> createCollectionLikeDeserializer(DeserializationContext paramDeserializationContext, CollectionLikeType paramCollectionLikeType, BeanDescription paramBeanDescription) { JavaType localJavaType = paramCollectionLikeType.getContentType(); JsonDeserializer localJsonDeserializer1 = (JsonDeserializer)localJavaType.getValueHandler(); DeserializationConfig localDeserializationConfig = paramDeserializationContext.getConfig(); TypeDeserializer localTypeDeserializer1 = (TypeDeserializer)localJavaType.getTypeHandler(); TypeDeserializer localTypeDeserializer2 = localTypeDeserializer1; if (localTypeDeserializer1 == null) localTypeDeserializer2 = findTypeDeserializer(localDeserializationConfig, localJavaType); JsonDeserializer localJsonDeserializer2 = _findCustomCollectionLikeDeserializer(paramCollectionLikeType, localDeserializationConfig, paramBeanDescription, localTypeDeserializer2, localJsonDeserializer1); JsonDeserializer localJsonDeserializer3 = localJsonDeserializer2; if ((localJsonDeserializer2 != null) && (this._factoryConfig.hasDeserializerModifiers())) { Iterator localIterator = this._factoryConfig.deserializerModifiers().iterator(); while (localIterator.hasNext()) localJsonDeserializer3 = ((BeanDeserializerModifier)localIterator.next()).modifyCollectionLikeDeserializer(localDeserializationConfig, paramCollectionLikeType, paramBeanDescription, localJsonDeserializer3); } return localJsonDeserializer3; }
protected Serialized fromSerializedString(String json) throws Exception { ObjectMapper mapper = new ObjectMapper(); mapper.registerModule(new JacksonReladomoModule()); mapper.enable(SerializationFeature.INDENT_OUTPUT); CollectionLikeType customClassCollection = mapper.getTypeFactory().constructCollectionLikeType(Serialized.class, Order.class); return (Serialized)mapper.readValue(json, customClassCollection); }
protected JsonDeserializer<?> _findCustomCollectionLikeDeserializer(CollectionLikeType paramCollectionLikeType, DeserializationConfig paramDeserializationConfig, BeanDescription paramBeanDescription, TypeDeserializer paramTypeDeserializer, JsonDeserializer<?> paramJsonDeserializer) { Iterator localIterator = this._factoryConfig.deserializers().iterator(); while (localIterator.hasNext()) { JsonDeserializer localJsonDeserializer = ((Deserializers)localIterator.next()).findCollectionLikeDeserializer(paramCollectionLikeType, paramDeserializationConfig, paramBeanDescription, paramTypeDeserializer, paramJsonDeserializer); if (localJsonDeserializer != null) return localJsonDeserializer; } return null; }
protected final JsonDeserializer<?> _createDeserializer2(DeserializationContext paramDeserializationContext, DeserializerFactory paramDeserializerFactory, JavaType paramJavaType, BeanDescription paramBeanDescription) { DeserializationConfig localDeserializationConfig = paramDeserializationContext.getConfig(); if (paramJavaType.isEnumType()) return paramDeserializerFactory.createEnumDeserializer(paramDeserializationContext, paramJavaType, paramBeanDescription); if (paramJavaType.isContainerType()) { if (paramJavaType.isArrayType()) return paramDeserializerFactory.createArrayDeserializer(paramDeserializationContext, (ArrayType)paramJavaType, paramBeanDescription); if (paramJavaType.isMapLikeType()) { MapLikeType localMapLikeType = (MapLikeType)paramJavaType; if (localMapLikeType.isTrueMapType()) return paramDeserializerFactory.createMapDeserializer(paramDeserializationContext, (MapType)localMapLikeType, paramBeanDescription); return paramDeserializerFactory.createMapLikeDeserializer(paramDeserializationContext, localMapLikeType, paramBeanDescription); } if (paramJavaType.isCollectionLikeType()) { JsonFormat.Value localValue = paramBeanDescription.findExpectedFormat(null); if ((localValue == null) || (localValue.getShape() != JsonFormat.Shape.OBJECT)) { CollectionLikeType localCollectionLikeType = (CollectionLikeType)paramJavaType; if (localCollectionLikeType.isTrueCollectionType()) return paramDeserializerFactory.createCollectionDeserializer(paramDeserializationContext, (CollectionType)localCollectionLikeType, paramBeanDescription); return paramDeserializerFactory.createCollectionLikeDeserializer(paramDeserializationContext, localCollectionLikeType, paramBeanDescription); } } } if (JsonNode.class.isAssignableFrom(paramJavaType.getRawClass())) return paramDeserializerFactory.createTreeDeserializer(localDeserializationConfig, paramJavaType, paramBeanDescription); return paramDeserializerFactory.createBeanDeserializer(paramDeserializationContext, paramJavaType, paramBeanDescription); }
@Test public void testGetSlots() throws JsonParseException, JsonMappingException, MeekanApiException, IOException { long meetingTime = 1406729316L; List<String> options = Arrays.asList(String.valueOf(meetingTime)); int durationInMinutes = 60; MeetingParam meeting = new MeetingParam().setAccountId(accountId).setDurationInMinutes(durationInMinutes).setMeetingName("test meeting") .setOptions(options); ApiRequestResponse createMeeting = meekanApi.createMeeting(accountId, meeting); TestUtils.checkResponse(createMeeting); Collection<String> idsOfAccounts = Arrays.asList(email); Collection<String> invitees = TestUtils.getIdentifierToAccount(meekanApi, idsOfAccounts).values(); List<SerializablePair<Long, Long>> frames = Arrays.asList(new SerializablePair<Long, Long>(meetingTime, meetingTime + (durationInMinutes * 100))); ApiRequestResponse slotsResponse = meekanApi.getSlots(invitees, 1, accountId, frames, "Asia/Jerusalem", "", "", null, false); TestUtils.checkResponse(slotsResponse); CollectionLikeType constructCollectionLikeType = Utils.getJSONObjectMapper().getTypeFactory() .constructCollectionType(ArrayList.class, Slot.class); List<Slot> slots = Utils.getJSONObjectMapper().readValue(slotsResponse.getResponse().get("data").toString(), constructCollectionLikeType); Assert.assertEquals(74680, (long) (slots.get(0).getRank())); Assert.assertEquals(accountId, String.valueOf(slots.get(slots.size() - 1).getNot_available().get(0))); int numberOfNotAvailableSlots = 0; for (Slot slot : slots) { if (slot.getNot_available().size() > 0) { numberOfNotAvailableSlots++; } } Assert.assertEquals(durationInMinutes / 5, numberOfNotAvailableSlots); }
@Override public JsonDeserializer<?> findCollectionLikeDeserializer(CollectionLikeType type, DeserializationConfig config, BeanDescription beanDesc, TypeDeserializer elementTypeDeserializer, JsonDeserializer<?> elementDeserializer) { return forJavaType(type); }
@Override JavaType emulatedJavaType(JavaType type, TypeFactory typeFactory) { CollectionLikeType collectionLikeType = (CollectionLikeType) type; return typeFactory.constructCollectionType(ArrayList.class, collectionLikeType.getContentType()); }
public JsonSerializer<?> modifyCollectionLikeSerializer(SerializationConfig paramSerializationConfig, CollectionLikeType paramCollectionLikeType, BeanDescription paramBeanDescription, JsonSerializer<?> paramJsonSerializer) { return paramJsonSerializer; }
protected JsonSerializer<?> buildContainerSerializer(SerializerProvider paramSerializerProvider, JavaType paramJavaType, BeanDescription paramBeanDescription, boolean paramBoolean) { SerializationConfig localSerializationConfig = paramSerializerProvider.getConfig(); if ((!paramBoolean) && (paramJavaType.useStaticType()) && ((!paramJavaType.isContainerType()) || (paramJavaType.getContentType().getRawClass() != Object.class))) paramBoolean = true; TypeSerializer localTypeSerializer = createTypeSerializer(localSerializationConfig, paramJavaType.getContentType()); if (localTypeSerializer != null) paramBoolean = false; JsonSerializer localJsonSerializer1 = _findContentSerializer(paramSerializerProvider, paramBeanDescription.getClassInfo()); if (paramJavaType.isMapLikeType()) { MapLikeType localMapLikeType1 = (MapLikeType)paramJavaType; JsonSerializer localJsonSerializer4 = _findKeySerializer(paramSerializerProvider, paramBeanDescription.getClassInfo()); if (localMapLikeType1.isTrueMapType()) return buildMapSerializer(localSerializationConfig, (MapType)localMapLikeType1, paramBeanDescription, paramBoolean, localJsonSerializer4, localTypeSerializer, localJsonSerializer1); Iterator localIterator3 = customSerializers().iterator(); while (localIterator3.hasNext()) { Serializers localSerializers = (Serializers)localIterator3.next(); MapLikeType localMapLikeType2 = (MapLikeType)paramJavaType; JsonSerializer localJsonSerializer5 = localSerializers.findMapLikeSerializer(localSerializationConfig, localMapLikeType2, paramBeanDescription, localJsonSerializer4, localTypeSerializer, localJsonSerializer1); JsonSerializer localJsonSerializer6 = localJsonSerializer5; if (localJsonSerializer5 != null) { if (this._factoryConfig.hasSerializerModifiers()) { Iterator localIterator4 = this._factoryConfig.serializerModifiers().iterator(); while (localIterator4.hasNext()) localJsonSerializer6 = ((BeanSerializerModifier)localIterator4.next()).modifyMapLikeSerializer(localSerializationConfig, localMapLikeType2, paramBeanDescription, localJsonSerializer6); } return localJsonSerializer6; } } return null; } if (paramJavaType.isCollectionLikeType()) { CollectionLikeType localCollectionLikeType1 = (CollectionLikeType)paramJavaType; if (localCollectionLikeType1.isTrueCollectionType()) return buildCollectionSerializer(localSerializationConfig, (CollectionType)localCollectionLikeType1, paramBeanDescription, paramBoolean, localTypeSerializer, localJsonSerializer1); CollectionLikeType localCollectionLikeType2 = (CollectionLikeType)paramJavaType; Iterator localIterator1 = customSerializers().iterator(); while (localIterator1.hasNext()) { JsonSerializer localJsonSerializer2 = ((Serializers)localIterator1.next()).findCollectionLikeSerializer(localSerializationConfig, localCollectionLikeType2, paramBeanDescription, localTypeSerializer, localJsonSerializer1); JsonSerializer localJsonSerializer3 = localJsonSerializer2; if (localJsonSerializer2 != null) { if (this._factoryConfig.hasSerializerModifiers()) { Iterator localIterator2 = this._factoryConfig.serializerModifiers().iterator(); while (localIterator2.hasNext()) localJsonSerializer3 = ((BeanSerializerModifier)localIterator2.next()).modifyCollectionLikeSerializer(localSerializationConfig, localCollectionLikeType2, paramBeanDescription, localJsonSerializer3); } return localJsonSerializer3; } } return null; } if (paramJavaType.isArrayType()) return buildArraySerializer(localSerializationConfig, (ArrayType)paramJavaType, paramBeanDescription, paramBoolean, localTypeSerializer, localJsonSerializer1); return null; }
public JsonSerializer<?> findCollectionLikeSerializer(SerializationConfig paramSerializationConfig, CollectionLikeType paramCollectionLikeType, BeanDescription paramBeanDescription, TypeSerializer paramTypeSerializer, JsonSerializer<Object> paramJsonSerializer) { return null; }
public JsonSerializer<?> findCollectionLikeSerializer(SerializationConfig paramSerializationConfig, CollectionLikeType paramCollectionLikeType, BeanDescription paramBeanDescription, TypeSerializer paramTypeSerializer, JsonSerializer<Object> paramJsonSerializer) { return findSerializer(paramSerializationConfig, paramCollectionLikeType, paramBeanDescription); }
public JsonDeserializer<?> findCollectionLikeDeserializer(CollectionLikeType paramCollectionLikeType, DeserializationConfig paramDeserializationConfig, BeanDescription paramBeanDescription, TypeDeserializer paramTypeDeserializer, JsonDeserializer<?> paramJsonDeserializer) { if (this._classMappings == null) return null; return (JsonDeserializer)this._classMappings.get(new ClassKey(paramCollectionLikeType.getRawClass())); }
public JsonDeserializer<?> findCollectionLikeDeserializer(CollectionLikeType paramCollectionLikeType, DeserializationConfig paramDeserializationConfig, BeanDescription paramBeanDescription, TypeDeserializer paramTypeDeserializer, JsonDeserializer<?> paramJsonDeserializer) { return null; }
public JsonDeserializer<?> modifyCollectionLikeDeserializer(DeserializationConfig paramDeserializationConfig, CollectionLikeType paramCollectionLikeType, BeanDescription paramBeanDescription, JsonDeserializer<?> paramJsonDeserializer) { return paramJsonDeserializer; }
@Override public JsonSerializer<?> findCollectionLikeSerializer(SerializationConfig config, CollectionLikeType type, BeanDescription beanDesc, TypeSerializer elementTypeSerializer, JsonSerializer<Object> elementValueSerializer) { return findSerializer(config, type, beanDesc); }
public abstract JsonSerializer<?> findCollectionLikeSerializer(SerializationConfig paramSerializationConfig, CollectionLikeType paramCollectionLikeType, BeanDescription paramBeanDescription, TypeSerializer paramTypeSerializer, JsonSerializer<Object> paramJsonSerializer);
public abstract JsonDeserializer<?> createCollectionLikeDeserializer(DeserializationContext paramDeserializationContext, CollectionLikeType paramCollectionLikeType, BeanDescription paramBeanDescription);
public abstract JsonDeserializer<?> findCollectionLikeDeserializer(CollectionLikeType paramCollectionLikeType, DeserializationConfig paramDeserializationConfig, BeanDescription paramBeanDescription, TypeDeserializer paramTypeDeserializer, JsonDeserializer<?> paramJsonDeserializer);