@Test public void testFromMessageSimplyReturnsMessageAsIsIfSuppliedWithMessage() throws JMSException { Message message = mock(Message.class); SimpleMessageConverter converter = new SimpleMessageConverter(); Object msg = converter.fromMessage(message); assertSame(message, msg); }
@Test public void testStringConversion() throws JMSException { Session session = mock(Session.class); TextMessage message = mock(TextMessage.class); String content = "test"; given(session.createTextMessage(content)).willReturn(message); given(message.getText()).willReturn(content); SimpleMessageConverter converter = new SimpleMessageConverter(); Message msg = converter.toMessage(content, session); assertEquals(content, converter.fromMessage(msg)); }
@Test public void testSerializableConversion() throws JMSException { Session session = mock(Session.class); ObjectMessage message = mock(ObjectMessage.class); Integer content = new Integer(5); given(session.createObjectMessage(content)).willReturn(message); given(message.getObject()).willReturn(content); SimpleMessageConverter converter = new SimpleMessageConverter(); Message msg = converter.toMessage(content, session); assertEquals(content, converter.fromMessage(msg)); }
@Test public void testMapConversion() throws JMSException { Session session = mock(Session.class); MapMessage message = mock(MapMessage.class); Map<String, String> content = new HashMap<>(2); content.put("key1", "value1"); content.put("key2", "value2"); given(session.createMapMessage()).willReturn(message); given(message.getMapNames()).willReturn(Collections.enumeration(content.keySet())); given(message.getObject("key1")).willReturn("value1"); given(message.getObject("key2")).willReturn("value2"); SimpleMessageConverter converter = new SimpleMessageConverter(); Message msg = converter.toMessage(content, session); assertEquals(content, converter.fromMessage(msg)); verify(message).setObject("key1", "value1"); verify(message).setObject("key2", "value2"); }
@Test public void testByteArrayConversion() throws JMSException { Session session = mock(Session.class); BytesMessage message = mock(BytesMessage.class); byte[] content = "test".getBytes(); final ByteArrayInputStream byteArrayInputStream = new ByteArrayInputStream(content); given(session.createBytesMessage()).willReturn(message); given(message.getBodyLength()).willReturn((long) content.length); given(message.readBytes(any(byte[].class))).willAnswer(new Answer<Integer>() { @Override public Integer answer(InvocationOnMock invocation) throws Throwable { return byteArrayInputStream.read((byte[]) invocation.getArguments()[0]); } }); SimpleMessageConverter converter = new SimpleMessageConverter(); Message msg = converter.toMessage(content, session); assertEquals(content.length, ((byte[]) converter.fromMessage(msg)).length); verify(message).writeBytes(content); }
private Object extractPayload(Message jmsMessage) { try { return converter.fromMessage(jmsMessage); } catch (Exception e) { e.printStackTrace(); fail(); } return null; } }
private Object extractPayload(Message jmsMessage) { try { return converter.fromMessage(jmsMessage); } catch (Exception e) { e.printStackTrace(); fail(); } return null; } }
@Override public List<MeasurementSet> receiveMeasurementSets(String nrtCollectionTaskId) { List<MeasurementSet> result = new ArrayList<MeasurementSet>(); m_jmsTemplate.setReceiveTimeout(125); Message message = m_jmsTemplate.receive(nrtCollectionTaskId); while (message != null) { MeasurementSet measurementSet; try { measurementSet = (MeasurementSet) simpleMessageConverter.fromMessage(message); result.add(measurementSet); } catch (JMSException ex) { logger.error("Error receiving messages", ex); return result; } catch (MessageConversionException ex) { logger.error("Error converting messages", ex); return result; } message = m_jmsTemplate.receive(nrtCollectionTaskId); } return result; }
@Override public List<MeasurementSet> receiveMeasurementSets(String nrtCollectionTaskId) { List<MeasurementSet> result = new ArrayList<MeasurementSet>(); m_jmsTemplate.setReceiveTimeout(125); Message message = m_jmsTemplate.receive(nrtCollectionTaskId); while (message != null) { MeasurementSet measurementSet; try { measurementSet = (MeasurementSet) simpleMessageConverter.fromMessage(message); result.add(measurementSet); } catch (JMSException ex) { logger.error("Error receiving messages", ex); return result; } catch (MessageConversionException ex) { logger.error("Error converting messages", ex); return result; } message = m_jmsTemplate.receive(nrtCollectionTaskId); } return result; }
CollectionJob collectionJob = (CollectionJob) simpleMessageConverter.fromMessage(message);