Skip to content

Commit

Permalink
#268 Fix Build Consumer, MessageWrapper and Supplier when Kafka Bindi…
Browse files Browse the repository at this point in the history
…ngs (#276)
  • Loading branch information
jemacineiras committed Aug 30, 2023
1 parent a50bb7e commit 8e2c9bf
Show file tree
Hide file tree
Showing 11 changed files with 115 additions and 26 deletions.
16 changes: 13 additions & 3 deletions multiapi-engine/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

<groupId>com.sngular</groupId>
<artifactId>multiapi-engine</artifactId>
<version>4.9.11</version>
<version>4.9.12</version>
<packaging>jar</packaging>

<properties>
Expand All @@ -19,7 +19,7 @@
<assertj-core.version>3.24.2</assertj-core.version>
<junit-jupiter-engine.version>5.9.2</junit-jupiter-engine.version>
<swagger-core.version>2.2.9</swagger-core.version>
<maven-surefire-plugin.version>3.0.0-M5</maven-surefire-plugin.version>
<maven-surefire-plugin.version>3.0.0</maven-surefire-plugin.version>

</properties>

Expand Down Expand Up @@ -178,7 +178,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.1.2</version>
<version>3.3.0</version>
<configuration>
<configLocation>../checkstyle.xml</configLocation>
</configuration>
Expand All @@ -199,6 +199,16 @@
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.11.0</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>3.3.1</version>
</plugin>
</plugins>
</build>
</project>
Original file line number Diff line number Diff line change
Expand Up @@ -539,11 +539,13 @@ private static Set<SchemaFieldObject> processMap(
final Set<SchemaFieldObject> fieldObjectArrayList = new HashSet<>();

if (TypeConstants.OBJECT.equalsIgnoreCase(ApiTool.getType(schema)) && ApiTool.hasProperties(schema)) {
ApiTool.getProperties(schema).forEachRemaining(processProperties(totalSchemas, compositedSchemas, fieldObjectArrayList, specFile, schema, antiLoopList, baseDir));
ApiTool.getProperties(schema).forEachRemaining(
processProperties(totalSchemas, compositedSchemas, fieldObjectArrayList, specFile, schema, antiLoopList, baseDir));
}

if (ApiTool.hasAdditionalProperties(schema)) {
fieldObjectArrayList.addAll(processAdditionalProperties(fieldName, schema, specFile, totalSchemas, compositedSchemas, antiLoopList, ADDITIONAL_PROPERTIES, baseDir));
fieldObjectArrayList.addAll(processAdditionalProperties(fieldName, schema, specFile, totalSchemas, compositedSchemas,
antiLoopList, ADDITIONAL_PROPERTIES, baseDir));
}

return fieldObjectArrayList;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import ${method.keyClassNamespace}.${method.keyClassName};
</#if>
</#list>
import ${subscribePackage}.MessageWrapper;
import org.springframework.kafka.support.KafkaHeaders;
import org.springframework.messaging.Message;

@Configuration
Expand All @@ -30,9 +31,9 @@ public class ${subscribeClassName?cap_first} {
@Bean
public Consumer<Message<${method.className}<#if subscribeEntitiesSuffix?has_content>${subscribeEntitiesSuffix}</#if>>> ${method.operationId?uncap_first}() {
return value -> {
final var messageWrapper = MessageWrapper.<${method.className}<#if subscribeEntitiesSuffix?has_content>${subscribeEntitiesSuffix}</#if>, ${method.keyClassName}>builder().payload(value.getPayload()).key(value.getKey()).build();
final var messageWrapper = MessageWrapper.<${method.className}<#if subscribeEntitiesSuffix?has_content>${subscribeEntitiesSuffix}</#if>, ${method.keyClassName}>builder().payload(value.getPayload()).key(value.getHeaders().get(KafkaHeaders.MESSAGE_KEY)).build();
${method.operationId?uncap_first}.${method.operationId?uncap_first}(messageWrapper);
}
};
}

</#list>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ public class MessageWrapper<T, Y> {

private Y key;

public MessageWrapper(final Y key, final T payload) {
private MessageWrapper(final Y key, final T payload) {
this.payload = payload;
this.key = key;
}
Expand All @@ -27,4 +27,28 @@ public class MessageWrapper<T, Y> {
this.key = key;
}

public static MessageWrapperBuilder builder() {
return new MessageWrapperBuilder();
}

public static class MessageWrapperBuilder<T, Y> {

private T payload;

private Y key;

public MessageWrapperBuilder payload(final T payload) {
this.payload = payload;
return this;
}

public MessageWrapperBuilder key(final Y key) {
this.key = key;
return this;
}

public MessageWrapper build() {
return new MessageWrapper(key, payload);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import ${method.classNamespace}.${method.className}<#if supplierEntitiesSuffix?h
import ${method.keyClassNamespace}.${method.keyClassName};
</#if></#list>
import ${wrapperPackage}.MessageWrapper;
import org.springframework.kafka.support.KafkaHeaders;
import org.springframework.messaging.Message;
import org.springframework.messaging.support.MessageBuilder;

Expand All @@ -30,7 +31,7 @@ public class ${supplierClassName?cap_first} {
@Bean
public Supplier<Message<${method.className}<#if supplierEntitiesSuffix?has_content>${supplierEntitiesSuffix}</#if>>> ${method.operationId?uncap_first}() {
final var messageWrapper = ${method.operationId?uncap_first}.${method.operationId?uncap_first}();
return () -> MessageBuilder.withPayload((${method.className}<#if supplierEntitiesSuffix?has_content>${supplierEntitiesSuffix}</#if>) messageWrapper.getPayload()).setHeader("key", (${method.keyClassName}) messageWrapper.getKey()).build();
return () -> MessageBuilder.withPayload((${method.className}<#if supplierEntitiesSuffix?has_content>${supplierEntitiesSuffix}</#if>) messageWrapper.getPayload()).setHeader(KafkaHeaders.MESSAGE_KEY, (${method.keyClassName}) messageWrapper.getKey()).build();
}

</#list>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import org.springframework.context.annotation.Configuration;
import com.sngular.scsplugin.filegenerationwithkafkabindings.model.event.schemas.CreateOrderMapper;
import com.sngular.scsplugin.filegenerationwithkafkabindings.model.event.producer.MessageWrapper;
import org.springframework.kafka.support.KafkaHeaders;
import org.springframework.messaging.Message;
import org.springframework.messaging.support.MessageBuilder;

Expand All @@ -21,7 +22,7 @@ protected Producer(final ISubscribeOperationFileGenerationWithKafkaBindings subs
@Bean
public Supplier<Message<CreateOrderMapper>> subscribeOperationFileGenerationWithKafkaBindings() {
final var messageWrapper = subscribeOperationFileGenerationWithKafkaBindings.subscribeOperationFileGenerationWithKafkaBindings();
return () -> MessageBuilder.withPayload((CreateOrderMapper) messageWrapper.getPayload()).setHeader("key", (String) messageWrapper.getKey()).build();
return () -> MessageBuilder.withPayload((CreateOrderMapper) messageWrapper.getPayload()).setHeader(KafkaHeaders.MESSAGE_KEY, (String) messageWrapper.getKey()).build();
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
import org.springframework.context.annotation.Configuration;
import com.sngular.scsplugin.filegenerationwithkafkabindings.model.event.messages.OrderCreatedDTO;
import com.sngular.scsplugin.filegenerationwithkafkabindings.model.event.consumer.MessageWrapper;
import org.springframework.kafka.support.KafkaHeaders;
import org.springframework.messaging.Message;

@Configuration
Expand All @@ -20,9 +21,9 @@ protected TestClassName(final IPublishOperationFileGenerationWithKafkaBindings p
@Bean
public Consumer<Message<OrderCreatedDTO>> publishOperationFileGenerationWithKafkaBindings() {
return value -> {
final var messageWrapper = MessageWrapper.<OrderCreatedDTO, String>builder().payload(value.getPayload()).key(value.getKey()).build();
final var messageWrapper = MessageWrapper.<OrderCreatedDTO, String>builder().payload(value.getPayload()).key(value.getHeaders().get(KafkaHeaders.MESSAGE_KEY)).build();
publishOperationFileGenerationWithKafkaBindings.publishOperationFileGenerationWithKafkaBindings(messageWrapper);
}
};
}


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ public class MessageWrapper<T, Y> {

private Y key;

public MessageWrapper(final Y key, final T payload) {
private MessageWrapper(final Y key, final T payload) {
this.payload = payload;
this.key = key;
}
Expand All @@ -27,4 +27,28 @@ public void setKey(Y key) {
this.key = key;
}

public static MessageWrapperBuilder builder() {
return new MessageWrapperBuilder();
}

public static class MessageWrapperBuilder<T, Y> {

private T payload;

private Y key;

public MessageWrapperBuilder payload(final T payload) {
this.payload = payload;
return this;
}

public MessageWrapperBuilder key(final Y key) {
this.key = key;
return this;
}

public MessageWrapper build() {
return new MessageWrapper(key, payload);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ public class MessageWrapper<T, Y> {

private Y key;

public MessageWrapper(final Y key, final T payload) {
private MessageWrapper(final Y key, final T payload) {
this.payload = payload;
this.key = key;
}
Expand All @@ -27,4 +27,28 @@ public void setKey(Y key) {
this.key = key;
}

public static MessageWrapperBuilder builder() {
return new MessageWrapperBuilder();
}

public static class MessageWrapperBuilder<T, Y> {

private T payload;

private Y key;

public MessageWrapperBuilder payload(final T payload) {
this.payload = payload;
return this;
}

public MessageWrapperBuilder key(final Y key) {
this.key = key;
return this;
}

public MessageWrapper build() {
return new MessageWrapper(key, payload);
}
}
}
8 changes: 4 additions & 4 deletions scs-multiapi-gradle-plugin/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ repositories {
}

group = 'com.sngular'
version = '4.9.11'
version = '4.9.12'

def SCSMultiApiPluginGroupId = group
def SCSMultiApiPluginVersion = version
Expand All @@ -30,8 +30,8 @@ dependencies {
shadow localGroovy()
shadow gradleApi()

implementation 'com.sngular:multiapi-engine:4.9.11'
testImplementation 'org.assertj:assertj-core:3.23.1'
implementation 'com.sngular:multiapi-engine:4.9.12'
testImplementation 'org.assertj:assertj-core:3.24.2'
testImplementation 'com.puppycrawl.tools:checkstyle:10.9.1'
}

Expand Down Expand Up @@ -98,7 +98,7 @@ testing {

integrationTest(JvmTestSuite) {
dependencies {
implementation 'com.sngular:scs-multiapi-gradle-plugin:4.9.11'
implementation 'com.sngular:scs-multiapi-gradle-plugin:4.9.12'
implementation 'org.assertj:assertj-core:3.24.2'
}

Expand Down
17 changes: 9 additions & 8 deletions scs-multiapi-maven-plugin/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

<groupId>com.sngular</groupId>
<artifactId>scs-multiapi-maven-plugin</artifactId>
<version>4.9.11</version>
<version>4.9.12</version>
<packaging>maven-plugin</packaging>

<name>AsyncApi - OpenApi Code Generator Maven Plugin</name>
Expand Down Expand Up @@ -213,9 +213,9 @@
<maven-plugin-annotations.version>3.6.4</maven-plugin-annotations.version>
<maven-project.version>2.2.1</maven-project.version>
<maven-core.version>3.9.1</maven-core.version>
<maven-plugin-plugin.version>3.8.2</maven-plugin-plugin.version>
<maven-plugin-plugin.version>3.9.0</maven-plugin-plugin.version>
<maven-source-plugin.version>3.2.1</maven-source-plugin.version>
<maven-javadoc-plugin.version>3.4.1</maven-javadoc-plugin.version>
<maven-javadoc-plugin.version>3.5.0</maven-javadoc-plugin.version>
<maven-surefire-plugin.version>3.0.0</maven-surefire-plugin.version>
<sortpom-maven-plugin.version>3.2.1</sortpom-maven-plugin.version>
<itf.version>0.12.0</itf.version>
Expand All @@ -233,7 +233,7 @@
<dependency>
<groupId>com.sngular</groupId>
<artifactId>multiapi-engine</artifactId>
<version>4.9.11</version>
<version>4.9.12</version>
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
Expand Down Expand Up @@ -347,7 +347,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.1.2</version>
<version>3.3.0</version>
<configuration>
<encoding>UTF-8</encoding>
<consoleOutput>true</consoleOutput>
Expand Down Expand Up @@ -388,7 +388,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-failsafe-plugin</artifactId>
<version>3.0.0</version>
<version>3.1.2</version>
<configuration>
<systemProperties>
<maven.version>${maven.version}</maven.version>
Expand All @@ -414,7 +414,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.4.1</version>
<version>3.5.0</version>
<configuration>
<minimizeJar>false</minimizeJar>
<createDependencyReducedPom>true</createDependencyReducedPom>
Expand Down Expand Up @@ -484,6 +484,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-checkstyle-plugin</artifactId>
<version>3.3.0</version>
<configuration>
<configLocation>../checkstyle.xml</configLocation>
</configuration>
Expand All @@ -505,7 +506,7 @@
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-gpg-plugin</artifactId>
<version>3.0.1</version>
<version>3.1.0</version>
<executions>
<execution>
<id>sign-artifacts</id>
Expand Down

0 comments on commit 8e2c9bf

Please sign in to comment.