Example usage for org.springframework.messaging MessageHeaders containsKey

List of usage examples for org.springframework.messaging MessageHeaders containsKey

Introduction

In this page you can find the example usage for org.springframework.messaging MessageHeaders containsKey.

Prototype

public boolean containsKey(Object key) 

Source Link

Usage

From source file:biz.c24.io.spring.integration.config.ValidatingHeaderEnricherTests.java

@Test
public void testValid() {
    Employee employee = new Employee();
    employee.setSalutation("Mr");
    employee.setFirstName("Andy");
    employee.setLastName("Acheson");
    employee.setJobTitle("Software Developer");

    template.convertAndSend(employee);// w ww  . j  av  a  2s . c om

    @SuppressWarnings("unchecked")
    Message<Employee> result = (Message<Employee>) outputChannel.receive(1);

    assertThat(result, is(not(nullValue())));

    MessageHeaders headers = result.getHeaders();
    assertThat(headers.containsKey(C24Headers.VALID), is(true));
    assertThat(headers.get(C24Headers.VALID, Boolean.class), is(true));

    assertThat(headers.containsKey(C24Headers.FAIL_EVENTS), is(true));
    assertThat(headers.get(C24Headers.FAIL_EVENTS, Collection.class).size(), is(0));

    assertThat(headers.containsKey(C24Headers.PASS_EVENTS), is(true));
    assertThat(headers.get(C24Headers.PASS_EVENTS, Collection.class).size(), is(greaterThan(0)));

}

From source file:biz.c24.io.spring.integration.config.ValidatingHeaderEnricherTests.java

@Test
public void testInvalid() {
    Employee employee = new Employee();
    employee.setSalutation("Mr");
    // Invalid as first char not capitalised
    employee.setFirstName("andy");
    employee.setLastName("Acheson");
    // Invalid as no job title
    //employee.setJobTitle("Software Developer");

    template.convertAndSend(employee);/*from  w w w.  jav  a2  s  .co  m*/

    @SuppressWarnings("unchecked")
    Message<Employee> result = (Message<Employee>) outputChannel.receive(1);

    assertThat(result, is(not(nullValue())));

    MessageHeaders headers = result.getHeaders();
    assertThat(headers.containsKey(C24Headers.VALID), is(true));
    assertThat(headers.get(C24Headers.VALID, Boolean.class), is(false));

    assertThat(headers.containsKey(C24Headers.FAIL_EVENTS), is(true));
    assertThat(headers.get(C24Headers.FAIL_EVENTS, Collection.class).size(), is(2));

    assertThat(headers.containsKey(C24Headers.PASS_EVENTS), is(true));
    assertThat(headers.get(C24Headers.PASS_EVENTS, Collection.class).size(), is(greaterThan(0)));

}

From source file:org.springframework.cloud.stream.app.log.sink.LogSinkApplicationTests.java

private void testMessage(Message<byte[]> message, String expectedPayload) {
    assertNotNull(this.sink.input());
    assertEquals(LoggingHandler.Level.WARN, this.logSinkHandler.getLevel());
    Log logger = TestUtils.getPropertyValue(this.logSinkHandler, "messageLogger", Log.class);
    assertEquals("foo", TestUtils.getPropertyValue(logger, "logger.name"));
    logger = spy(logger);/* w  ww  .  j  a  va 2s .co  m*/
    new DirectFieldAccessor(this.logSinkHandler).setPropertyValue("messageLogger", logger);
    this.sink.input().send(message);
    ArgumentCaptor<Object> captor = ArgumentCaptor.forClass(Object.class);
    verify(logger).warn(captor.capture());
    assertEquals(expectedPayload.toUpperCase(), captor.getValue());
    this.logSinkHandler.setLogExpressionString("#this");
    this.sink.input().send(message);
    verify(logger, times(2)).warn(captor.capture());

    Message captorMessage = (Message) captor.getAllValues().get(2);
    assertEquals("Unexpected payload value", expectedPayload, captorMessage.getPayload());

    MessageHeaders messageHeaders = captorMessage.getHeaders();
    assertEquals("Unexpected number of headers", 3, messageHeaders.size());

    String[] headers = { "contentType" };

    for (String header : headers) {
        assertTrue("Missing " + header + " header", messageHeaders.containsKey(header));
        assertEquals("Header " + header + " does not match", messageHeaders.get(header),
                message.getHeaders().get(header));
    }
}

From source file:org.springframework.cloud.stream.app.tasklaunchrequest.DataFlowTaskLaunchRequestAutoConfiguration.java

private MessageBuilder<?> adjustHeaders(MessageBuilder<?> builder, MessageHeaders messageHeaders) {
    builder.setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.APPLICATION_JSON);
    if (messageHeaders.containsKey(TaskLaunchRequestContext.HEADER_NAME)) {
        builder.removeHeader(TaskLaunchRequestContext.HEADER_NAME);
    }/*from  w w  w  .  ja  va 2  s  . co  m*/
    return builder;
}

From source file:org.springframework.integration.dsl.test.xml.XmlTests.java

@Test
public void testHeaderEnricher() {
    QueueChannel replyChannel = new QueueChannel();

    Message<String> message = MessageBuilder
            .withPayload("<root><elementOne>1</elementOne><elementTwo>2</elementTwo></root>")
            .setReplyChannel(replyChannel).build();

    try {/*from   ww w . jav  a2s.c o  m*/
        this.xpathHeaderEnricherInput.send(message);
        fail("Expected MessageDispatchingException");
    } catch (Exception e) {
        assertThat(e, instanceOf(MessageDeliveryException.class));
        assertThat(e.getCause(), instanceOf(MessageDispatchingException.class));
        assertThat(e.getMessage(), containsString("Dispatcher has no subscribers"));
    }

    this.controlBusFlowInput.send(new GenericMessage<>("@xpathHeaderEnricher.start()"));
    this.xpathHeaderEnricherInput.send(message);

    Message<?> result = replyChannel.receive(2000);
    assertNotNull(result);
    MessageHeaders headers = result.getHeaders();
    assertEquals("1", headers.get("one"));
    assertEquals("2", headers.get("two"));
    assertThat(headers.getReplyChannel(), instanceOf(String.class));
    assertFalse(headers.containsKey("foo"));
}

From source file:org.springframework.integration.support.MessageBuilder.java

private boolean containsReadOnly(MessageHeaders headers) {
    if (!ObjectUtils.isEmpty(this.readOnlyHeaders)) {
        for (String readOnly : this.readOnlyHeaders) {
            if (headers.containsKey(readOnly)) {
                return true;
            }//from w  w  w.  j  a  va 2s  .  c  om
        }
    }
    return false;
}