Example usage for org.springframework.integration.support MessageBuilder withPayload

List of usage examples for org.springframework.integration.support MessageBuilder withPayload

Introduction

In this page you can find the example usage for org.springframework.integration.support MessageBuilder withPayload.

Prototype

public static <T> MessageBuilder<T> withPayload(T payload) 

Source Link

Document

Create a builder for a new Message instance with the provided payload.

Usage

From source file:org.springframework.integration.zip.Zip2FileTests.java

@Test
public void zipBytesWithExplicitFileName() throws IOException, InterruptedException {

    input.send(MessageBuilder.withPayload("Zip me up.".getBytes())
            .setHeader(FileHeaders.FILENAME, "zipString.zip").build());

    Assert.assertTrue(this.workDir.list().length == 1);
    Assert.assertEquals("zipString.zip", this.workDir.listFiles()[0].getName());
}

From source file:org.springframework.integration.zip.Zip2FileTests.java

@Test
public void zipFile() throws IOException, InterruptedException {

    final File fileToCompress = testFolder.newFile();
    FileUtils.writeStringToFile(fileToCompress, "hello world");

    input.send(MessageBuilder.withPayload(fileToCompress).build());

    Assert.assertTrue(this.workDir.list().length == 1);
    Assert.assertEquals(fileToCompress.getName() + ".zip", this.workDir.listFiles()[0].getName());
}

From source file:org.springframework.integration.zip.Zip2FileTests.java

@Test
public void zipIterableWithMultipleStrings() throws IOException, InterruptedException {

    String stringToCompress1 = "String1";
    String stringToCompress2 = "String2";
    String stringToCompress3 = "String3";
    String stringToCompress4 = "String4";

    final List<String> stringsToCompress = new ArrayList<String>(4);

    stringsToCompress.add(stringToCompress1);
    stringsToCompress.add(stringToCompress2);
    stringsToCompress.add(stringToCompress3);
    stringsToCompress.add(stringToCompress4);

    input.send(MessageBuilder.withPayload(stringsToCompress)
            .setHeader(FileHeaders.FILENAME, "zipWith4Strings.zip").build());

    Assert.assertTrue(this.workDir.list().length == 1);
    Assert.assertEquals("zipWith4Strings.zip", this.workDir.listFiles()[0].getName());
}

From source file:org.springframework.integration.zip.Zip2FileTests.java

@Test
public void zipIterableWithDifferentTypes() throws IOException, InterruptedException {

    String stringToCompress = "String1";
    byte[] bytesToCompress = "String2".getBytes();
    final File fileToCompress = testFolder.newFile();
    FileUtils.writeStringToFile(fileToCompress, "hello world");

    final List<Object> objectsToCompress = new ArrayList<Object>(3);

    objectsToCompress.add(stringToCompress);
    objectsToCompress.add(bytesToCompress);
    objectsToCompress.add(fileToCompress);

    input.send(MessageBuilder.withPayload(objectsToCompress)
            .setHeader(FileHeaders.FILENAME, "objects-to-compress.zip").build());

    Assert.assertTrue(this.workDir.list().length == 1);
    Assert.assertEquals("objects-to-compress.zip", this.workDir.listFiles()[0].getName());
}

From source file:org.springframework.xd.dirt.integration.bus.MessageBusSupport.java

protected final Message<?> serializePayloadIfNecessary(Message<?> message, MimeType to) {
    Object originalPayload = message.getPayload();
    Object originalContentType = message.getHeaders().get(MessageHeaders.CONTENT_TYPE);
    Object contentType = originalContentType;
    if (to.equals(ALL)) {
        return message;
    } else if (to.equals(APPLICATION_OCTET_STREAM)) {
        //Pass content type as String since some transport adapters will exclude CONTENT_TYPE Header otherwise
        contentType = JavaClassMimeTypeConversion.mimeTypeFromObject(originalPayload).toString();
        Object payload = serializePayloadIfNecessary(originalPayload);
        MessageBuilder<Object> messageBuilder = MessageBuilder.withPayload(payload)
                .copyHeaders(message.getHeaders()).setHeader(MessageHeaders.CONTENT_TYPE, contentType);
        if (originalContentType != null) {
            messageBuilder.setHeader(XdHeaders.XD_ORIGINAL_CONTENT_TYPE, originalContentType);
        }/*from  w w  w.  j a v  a  2s.  co m*/
        return messageBuilder.build();
    } else {
        throw new IllegalArgumentException("'to' can only be 'ALL' or 'APPLICATION_OCTET_STREAM'");
    }
}

From source file:org.springframework.xd.dirt.integration.bus.MessageBusSupport.java

protected final Message<?> deserializePayloadIfNecessary(Message<?> message) {
    Message<?> messageToSend = message;
    Object originalPayload = message.getPayload();
    MimeType contentType = contentTypeResolver.resolve(message.getHeaders());
    Object payload = deserializePayload(originalPayload, contentType);
    if (payload != null) {
        MessageBuilder<Object> transformed = MessageBuilder.withPayload(payload)
                .copyHeaders(message.getHeaders());
        Object originalContentType = message.getHeaders().get(XdHeaders.XD_ORIGINAL_CONTENT_TYPE);
        transformed.setHeader(MessageHeaders.CONTENT_TYPE, originalContentType);
        transformed.setHeader(XdHeaders.XD_ORIGINAL_CONTENT_TYPE, null);
        messageToSend = transformed.build();
    }/*from  www.  j  ava2 s .c o  m*/
    return messageToSend;
}

From source file:org.springframework.xd.dirt.integration.bus.rabbit.RabbitMessageBusTests.java

@Test
public void testSendAndReceiveBad() throws Exception {
    MessageBus messageBus = getMessageBus();
    DirectChannel moduleOutputChannel = new DirectChannel();
    DirectChannel moduleInputChannel = new DirectChannel();
    messageBus.bindProducer("bad.0", moduleOutputChannel, null);
    messageBus.bindConsumer("bad.0", moduleInputChannel, null);
    Message<?> message = MessageBuilder.withPayload("bad").setHeader(MessageHeaders.CONTENT_TYPE, "foo/bar")
            .build();/*from   ww  w  . j a  va 2  s.c  o  m*/
    final CountDownLatch latch = new CountDownLatch(3);
    moduleInputChannel.subscribe(new MessageHandler() {

        @Override
        public void handleMessage(Message<?> message) throws MessagingException {
            latch.countDown();
            throw new RuntimeException("bad");
        }
    });
    moduleOutputChannel.send(message);
    assertTrue(latch.await(10, TimeUnit.SECONDS));
    messageBus.unbindConsumers("bad.0");
    messageBus.unbindProducers("bad.0");
}

From source file:org.springframework.xd.dirt.plugins.job.JobPlugin.java

public void launch(Module module, Map<String, String> parameters) {
    MessageChannel inputChannel = module.getComponent(JOB_LAUNCH_REQUEST_CHANNEL, MessageChannel.class);
    String payloadJSON = (parameters != null && parameters.get(JOB_PARAMETERS_KEY) != null)
            ? parameters.get(JOB_PARAMETERS_KEY)
            : "";
    Message<?> message = MessageBuilder.withPayload(payloadJSON).build();
    inputChannel.send(message);// w w  w .j a v  a2s  .c om
}

From source file:org.springframework.xd.dirt.plugins.job.support.listener.SimpleXdSkipListener.java

@Override
public void onSkipInRead(Throwable t) {
    if (logger.isDebugEnabled()) {
        logger.debug("Executing onSkipInRead: " + t.getMessage(), t);
    }/*from w  ww. j  a  v  a 2s .c  o  m*/
    Message<String> message = MessageBuilder.withPayload("Skipped when reading.")
            .setHeader(BatchJobHeaders.BATCH_EXCEPTION, t).build();
    publish(message);
}

From source file:org.springframework.yarn.integration.ip.mind.MindIntegrationRawTests.java

@Test
public void testVanillaChannels() throws Exception {
    log.info("randomTestPort=" + randomTestPort);
    waitPort();//from   www.  java 2 s . c  o m

    assertNotNull(socketSupport);

    SimpleTestRequest req = new SimpleTestRequest();
    ObjectMapper objectMapper = new ObjectMapper();

    String content = objectMapper.writeValueAsString(req);

    Map<String, String> headers = new HashMap<String, String>();
    headers.put("type", "SimpleTestRequest");
    MindRpcMessageHolder holder = new MindRpcMessageHolder(headers, content);
    clientRequestChannel.send(MessageBuilder.withPayload(holder).build());

    Message<?> receive = clientResponseChannel.receive();
    holder = (MindRpcMessageHolder) receive.getPayload();
    String contentRes = new String(holder.getContent());
    assertNotNull(contentRes);
}