@Bean public Jackson2XmlMessageConverter xmlConverter() { Jackson2XmlMessageConverter jackson2XmlMessageConverter = new Jackson2XmlMessageConverter(); DefaultJackson2JavaTypeMapper mapper = Mockito.spy(TestUtils.getPropertyValue(jackson2XmlMessageConverter, "javaTypeMapper", DefaultJackson2JavaTypeMapper.class)); new DirectFieldAccessor(jackson2XmlMessageConverter).setPropertyValue("javaTypeMapper", mapper); return jackson2XmlMessageConverter; }
@Test public void simpleTradeOverrideMapper() { XmlMapper mapper = new XmlMapper(); mapper.setSerializerFactory(BeanSerializerFactory.instance); converter = new Jackson2XmlMessageConverter(mapper); ((DefaultJackson2JavaTypeMapper) this.converter.getJavaTypeMapper()) .setTrustedPackages(TRUSTED_PACKAGE); Message message = converter.toMessage(trade, new MessageProperties()); SimpleTrade marshalledTrade = (SimpleTrade) converter.fromMessage(message); assertThat(trade).isEqualTo(marshalledTrade); }
@Test public void testDefaultType() { byte[] bytes = "<root><name>foo</name></root>".getBytes(); MessageProperties messageProperties = new MessageProperties(); messageProperties.setContentType("application/xml"); Message message = new Message(bytes, messageProperties); Jackson2XmlMessageConverter converter = new Jackson2XmlMessageConverter(); DefaultClassMapper classMapper = new DefaultClassMapper(); classMapper.setDefaultType(Foo.class); converter.setClassMapper(classMapper); Object foo = converter.fromMessage(message); assertThat(foo).isInstanceOf(Foo.class); }
@Before public void before() { converter = new Jackson2XmlMessageConverter(TRUSTED_PACKAGE); trade = new SimpleTrade(); trade.setAccountName("Acct1"); trade.setBuyRequest(true); trade.setOrderType("Market"); trade.setPrice(new BigDecimal(103.30)); trade.setQuantity(100); trade.setRequestId("R123"); trade.setTicker("VMW"); trade.setUserName("Joe Trader"); }