GH-422, GH-606 Fix attributes generatioin
This commit is contained in:
@@ -286,7 +286,7 @@ public final class CloudEventMessageUtils {
|
||||
}
|
||||
}
|
||||
|
||||
public static Map<String, Object> generateDefaultCloudEventHeaders(Message<?> inputMessage, Object result, String applicationName) {
|
||||
public static CloudEventAttributes generateAttributes(Message<?> inputMessage, Object result, String applicationName) {
|
||||
CloudEventAttributes attributes = new CloudEventAttributes(inputMessage.getHeaders(), CloudEventMessageUtils.determinePrefixToUse(inputMessage));
|
||||
if (attributes.isValidCloudEvent()) {
|
||||
return attributes
|
||||
@@ -295,6 +295,6 @@ public final class CloudEventMessageUtils {
|
||||
.setType(result.getClass().getName())
|
||||
.setSource(applicationName);
|
||||
}
|
||||
return Collections.emptyMap();
|
||||
return new CloudEventAttributes(Collections.emptyMap());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -19,7 +19,6 @@ package org.springframework.cloud.function.context.catalog;
|
||||
import java.lang.reflect.Method;
|
||||
import java.lang.reflect.Type;
|
||||
import java.util.Arrays;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.function.BiFunction;
|
||||
import java.util.function.Consumer;
|
||||
@@ -168,14 +167,14 @@ public class BeanFactoryAwareFunctionRegistry extends SimpleFunctionRegistry imp
|
||||
@Override
|
||||
public Message<?> apply(Message<?> inputMessage, Object invocationResult) {
|
||||
// TODO: Factor it out! Cloud Events specific code
|
||||
Map<String, Object> generatedCeHeaders = CloudEventMessageUtils
|
||||
.generateDefaultCloudEventHeaders(inputMessage, invocationResult, getApplicationName());
|
||||
CloudEventAttributes attributes = new CloudEventAttributes(generatedCeHeaders);
|
||||
CloudEventAttributes generatedCeHeaders = CloudEventMessageUtils
|
||||
.generateAttributes(inputMessage, invocationResult, getApplicationName());
|
||||
CloudEventAttributes attributes = new CloudEventAttributes(generatedCeHeaders, CloudEventMessageUtils.determinePrefixToUse(inputMessage));
|
||||
if (cloudEventAtttributesProvider != null) {
|
||||
cloudEventAtttributesProvider.generateDefaultCloudEventHeaders(attributes);
|
||||
}
|
||||
Message message = MessageBuilder.withPayload(invocationResult)
|
||||
.copyHeaders(generatedCeHeaders)
|
||||
.copyHeaders(attributes)
|
||||
.build();
|
||||
|
||||
return message;
|
||||
|
||||
Reference in New Issue
Block a user