/** * {@inheritDoc} */ @Override public Message setContent(Object content) { return getMessage().setContent(content); }
/** * {@inheritDoc} */ @Override public Message setContent(Object content) { return getMessage().setContent(content); }
@Override public ReferenceInvocation invoke(Object content) throws Exception { _inMessage.setContent(content); return invoke(); }
@Override public ReferenceInvocation invoke(Object content) throws Exception { _inMessage.setContent(content); return invoke(); }
/** * {@inheritDoc} */ @Override public org.switchyard.Message compose(MappedRecordBindingData source, Exchange exchange) throws Exception { final org.switchyard.Message message = exchange.createMessage(); getContextMapper().mapFrom(source, exchange.getContext(message)); Map<Object,Object> m = new HashMap<Object,Object>(); m.putAll(source.getRecord()); message.setContent(m); return message; }
@Override public Message transform(Message message) { try { Object result = _mapper.readValue(message.getContent(Reader.class), _clazz); if (_clazz.isInstance(result)) { message.setContent(result); return message; } else { throw TransformMessages.MESSAGES.transformationResultWrongType(result.getClass().toString()); } } catch (JsonParseException e) { throw TransformMessages.MESSAGES.unexpectedJSONParseException(e); } catch (JsonMappingException e) { throw TransformMessages.MESSAGES.unexpectedJSONMappingException(e); } catch (IOException e) { throw TransformMessages.MESSAGES.unexpectedIOExceptionCheckTransformer(e); } } }
/** * {@inheritDoc} */ @Override public org.switchyard.Message compose(IndexedRecordBindingData source, Exchange exchange) throws Exception { final org.switchyard.Message message = exchange.createMessage(); getContextMapper().mapFrom(source, exchange.getContext(message)); List<Object> l = new ArrayList<Object>(); l.addAll(source.getRecord()); message.setContent(l); return message; }
/** * {@inheritDoc} */ @Override public Message compose(StreamableRecordBindingData source, Exchange exchange) throws Exception { final org.switchyard.Message message = exchange.createMessage(); getContextMapper().mapFrom(source, exchange.getContext(message)); ByteArrayOutputStream baos = new ByteArrayOutputStream(); source.getRecord().write(baos); message.setContent(new ByteArrayInputStream(baos.toByteArray())); return message; }
@Override public void handleMessage(Exchange exchange) throws HandlerException { Message fault = exchange.createMessage(); fault.setContent(new Exception("testFaultTransformSequence")); exchange.sendFault(fault); } };
@Test public void testContent() throws Exception { final String message = "Hello There!"; _message.setContent(message); Assert.assertEquals(message, _message.getContent()); // the following tests to make sure casting to same type works String content = _message.getContent(String.class); Assert.assertEquals(message, content); }
@Override public org.switchyard.Message compose(JMSBindingData source, Exchange exchange) throws Exception { org.switchyard.Message msg = super.compose(source, exchange); msg.setContent(msg.getContent(String.class) + "test"); return msg; }
/** * {@inheritDoc} */ @Override public Message compose(HttpBindingData source, Exchange exchange) throws Exception { final Message message = exchange.createMessage(); getContextMapper().mapFrom(source, exchange.getContext(message)); QName msgType = getMessageType(exchange); message.setContent(source.getBody()); Object content; if ((msgType != null) && (QNameUtil.isJavaMessageType(msgType))) { // Hack - the getContent() call triggers a conversion from native content type and the result is set as the new body message.setContent(message.getContent(QNameUtil.toJavaMessageType(msgType))); } return message; }
/** * {@inheritDoc} */ @Override public Message compose(HttpBindingData source, Exchange exchange) throws Exception { final Message message = exchange.createMessage(); getContextMapper().mapFrom(source, exchange.getContext(message)); QName msgType = getMessageType(exchange); message.setContent(source.getBody()); Object content; if ((msgType != null) && (QNameUtil.isJavaMessageType(msgType))) { // Hack - the getContent() call triggers a conversion from native content type and the result is set as the new body message.setContent(message.getContent(QNameUtil.toJavaMessageType(msgType))); } return message; }
public void handleMessage(Exchange exchange) { Assert.assertEquals( exchange.getMessage().getContent(), inMsgContent); Message outMsg = exchange.createMessage(); outMsg.setContent(outMsgContent); try { exchange.send(outMsg); } catch (Exception ex) { Assert.fail(ex.toString()); } } };
/** * {@inheritDoc} */ @Override public Message compose(RESTEasyBindingData source, Exchange exchange) throws Exception { final Message message = exchange.createMessage(); getContextMapper().mapFrom(source, exchange.getContext(message)); Object content = null; if (source.getParameters().length > 0) { content = source.getParameters()[0]; } message.setContent(content); return message; }
@Override public JMSBindingData decompose(Exchange exchange, JMSBindingData target) throws Exception { exchange.getMessage().setContent(exchange.getMessage().getContent(String.class)+"test"); return super.decompose(exchange, target); }
/** * {@inheritDoc} */ @Override public Message compose(RESTEasyBindingData source, Exchange exchange) throws Exception { final Message message = exchange.createMessage(); getContextMapper().mapFrom(source, exchange.getContext(message)); Object content = null; if (source.getParameters().length > 0) { content = source.getParameters()[0]; } message.setContent(content); if (source.getParameters().length > 1) { RestEasyLogger.ROOT_LOGGER.defaultRESTEasyMessageComposerDoesnTHandleMultipleInputParameters(); } return message; }
@Test public void testStreamContent() throws Exception { String contentAsString = "abc-InputStream-xyz"; MockHandler provider = new MockHandler(); _domain.getTransformerRegistry().addTransformer(new StreamTransformer()); ServiceReference service = _domain.createInOnlyService(new QName("StreamTest"), provider); InputStream contentAsStream = new ByteArrayInputStream(contentAsString.getBytes()); Exchange ex = service.createExchange(); Message msg = ex.createMessage(); msg.setContent(contentAsStream); ex.send(msg); Message rcvdMsg = provider.getMessages().poll().getMessage(); Assert.assertTrue(rcvdMsg.getContent(InputStream.class).available() > 0); }
@Test public void testReaderContent() throws Exception { String contentAsString = "abc-Reader-xyz"; MockHandler provider = new MockHandler(); _domain.getTransformerRegistry().addTransformer(new ReaderTransformer()); ServiceReference service = _domain.createInOnlyService(new QName("ReaderTest"), provider); StringReader contentAsReader = new StringReader(contentAsString); Exchange ex = service.createExchange(); Message msg = ex.createMessage(); msg.setContent(contentAsReader); ex.send(msg); Message rcvdMsg = provider.getMessages().poll().getMessage(); Assert.assertTrue(rcvdMsg.getContent(Reader.class).read() != -1); } }
/** * Send an IN_ONLY message to the target Service. * @param messagePayload The message payload. * @throws InvocationFaultException if the message exchange produces a fault */ public void sendInOnly(Object messagePayload) throws InvocationFaultException { ExchangeHandlerProxy exchangeHandlerProxy = _exchangeHandlerProxy; ResponseCatcher responseCatcher = null; if (exchangeHandlerProxy == null) { responseCatcher = new ResponseCatcher(); exchangeHandlerProxy = createHandlerProxy(responseCatcher); } Exchange exchange = createExchange(ExchangePattern.IN_ONLY, exchangeHandlerProxy._exchangeHandlerProxy); Message message = exchange.createMessage().setContent(messagePayload); setProperties(exchange, message); addAttachments(message); exchange.send(message); if (exchange.getState().equals(ExchangeState.FAULT)) { throw new InvocationFaultException(exchange.getMessage()); } }