Rename functional-samples -> function-samples

This commit is contained in:
Ilayaperumal Gopinathan
2020-07-21 13:24:13 +05:30
parent 08b58a3b27
commit abc583c8f4
63 changed files with 1 additions and 1 deletions

View File

@@ -0,0 +1,76 @@
/*
* Copyright 2019 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.cloud.dataflow.samples.source;
import java.util.function.Function;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Import;
import org.springframework.messaging.Message;
import org.springframework.messaging.MessageHeaders;
import org.springframework.messaging.support.MessageBuilder;
@SpringBootApplication
@Import({ org.springframework.cloud.fn.supplier.http.HttpSupplierConfiguration.class })
public class HttpIngest {
@Bean
public Function<Message<?>, Message<?>> byteArrayToLong() {
return message -> {
if (message.getPayload() instanceof byte[]) {
MessageHeaders headers = message.getHeaders();
String contentType = headers.containsKey("contentType") ?
headers.get("contentType").toString() :
"application/json";
if (contentType.contains("text") || contentType.contains("json") || contentType
.contains("x-spring-tuple")) {
message = MessageBuilder
.withPayload(Long.valueOf(new String((byte[]) ((byte[]) message.getPayload()))))
.copyHeaders(message.getHeaders()).build();
}
}
return message;
};
}
@Bean
public Function<Message<?>, Message<?>> byteArrayToString() {
return message -> {
if (message.getPayload() instanceof byte[]) {
MessageHeaders headers = message.getHeaders();
String contentType = headers.containsKey("contentType") ?
headers.get("contentType").toString() :
"application/json";
if (contentType.contains("text") || contentType.contains("json") || contentType
.contains("x-spring-tuple")) {
message = MessageBuilder
.withPayload(new String((byte[]) ((byte[]) message.getPayload())))
.copyHeaders(message.getHeaders()).build();
}
}
return message;
};
}
public static void main(String[] args) {
SpringApplication.run(HttpIngest.class, args);
}
}

View File

@@ -0,0 +1,4 @@
configuration-properties.classes=org.springframework.cloud.fn.supplier.http.HttpSupplierProperties,\
org.springframework.cloud.fn.supplier.http.HttpSupplierProperties$Cors
configuration-properties.names=server.port
configuration-properties.outbound-ports=regions

View File

@@ -0,0 +1,19 @@
#
#
#spring.cloud.stream.function.definition=httpSupplier
#
#
#spring.cloud.stream.function.bindings.httpSupplier-out-0=output
#
#
#spring.main.web-application-type=reactive
#spring.cloud.streamapp.security.enabled=false
#spring.cloud.streamapp.security.csrf-enabled=false
#
#http.mapped-request-headers=username
#spring.cloud.stream.bindings.output.destination=click-stream.clicks-ingest
#spring.cloud.stream.kafka.bindings.output.producer.messageKeyExpression=headers['username']
#spring.cloud.stream.kafka.binder.configuration.key.serializer=org.apache.kafka.common.serialization.StringSerializer
#spring.cloud.stream.kafka.binder.configuration.value.serializer=org.apache.kafka.common.serialization.StringSerializer
#
#

View File

@@ -0,0 +1,19 @@
spring.main.web-application-type: reactive
spring.cloud.streamapp.security.enabled: false
spring.cloud.streamapp.security.csrf-enabled: false
http.mapped-request-headers: username
spring.cloud.stream.bindings.regions.producer:
useNativeEncoding: true
spring.cloud.stream.kafka.bindings.regions.producer:
messageKeyExpression: headers['username']
spring.cloud.stream.kafka.binder.configuration.key:
serializer: org.apache.kafka.common.serialization.StringSerializer
spring.cloud.stream.kafka.binder.configuration.value:
serializer: org.apache.kafka.common.serialization.StringSerializer
spring.cloud.stream.function.definition: httpSupplier|byteArrayToString
spring.cloud.stream.function.bindings.httpSupplier|byteArrayToString-out-0: regions