Skip to content

Commit 9f32935

Browse files
committed
fix: create new methods in BindingFactory instead of changing the existing ones, move bean ref logic to KafkaBeanRefHelper, implement BindingContext for passing Method and Class context to factories
1 parent 4033a98 commit 9f32935

File tree

9 files changed

+9
-51
lines changed

9 files changed

+9
-51
lines changed

springwolf-core/src/main/java/io/github/springwolf/core/asyncapi/scanners/bindings/BindingFactory.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,19 +11,22 @@
1111
import java.util.Map;
1212

1313
public interface BindingFactory<T> {
14-
@Deprecated // maintainer note: replaced by #getChannelId(T, BindingContext)
14+
15+
// maintainer note: replaced by #getChannelId(T, BindingContext)
1516
default String getChannelId(T annotation) {
1617
return ReferenceUtil.toValidId(getChannelName(annotation));
1718
}
1819

19-
@Deprecated // maintainer note: replaced by #getChannelName(T, BindingContext)
20+
// maintainer note: replaced by #getChannelName(T, BindingContext)
2021
String getChannelName(T annotation);
2122

2223
default String getChannelId(T annotation, BindingContext bindingContext) {
23-
return ReferenceUtil.toValidId(getChannelName(annotation, bindingContext));
24+
return getChannelId(annotation);
2425
}
2526

26-
String getChannelName(T annotation, BindingContext bindingContext);
27+
default String getChannelName(T annotation, BindingContext bindingContext) {
28+
return getChannelName(annotation);
29+
}
2730

2831
Map<String, ChannelBinding> buildChannelBinding(T annotation);
2932

springwolf-core/src/test/java/io/github/springwolf/core/asyncapi/scanners/channels/annotations/SpringAnnotationClassLevelChannelsScannerIntegrationTest.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import io.github.springwolf.core.asyncapi.components.examples.walkers.DefaultSchemaWalker;
2020
import io.github.springwolf.core.asyncapi.components.examples.walkers.json.ExampleJsonValueGenerator;
2121
import io.github.springwolf.core.asyncapi.scanners.bindings.BindingFactory;
22-
import io.github.springwolf.core.asyncapi.scanners.bindings.common.BindingContext;
2322
import io.github.springwolf.core.asyncapi.scanners.common.channel.SpringAnnotationChannelService;
2423
import io.github.springwolf.core.asyncapi.scanners.common.headers.AsyncHeadersNotDocumented;
2524
import io.github.springwolf.core.asyncapi.scanners.common.headers.HeaderClassExtractor;
@@ -296,11 +295,6 @@ public String getChannelName(TestClassListener annotation) {
296295
return CHANNEL;
297296
}
298297

299-
@Override
300-
public String getChannelName(TestClassListener annotation, BindingContext bindingContext) {
301-
return CHANNEL;
302-
}
303-
304298
@Override
305299
public Map<String, ChannelBinding> buildChannelBinding(TestClassListener annotation) {
306300
return defaultChannelBinding;

springwolf-core/src/test/java/io/github/springwolf/core/asyncapi/scanners/channels/annotations/SpringAnnotationMethodLevelChannelsScannerIntegrationTest.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
import io.github.springwolf.core.asyncapi.components.examples.walkers.DefaultSchemaWalker;
2020
import io.github.springwolf.core.asyncapi.components.examples.walkers.json.ExampleJsonValueGenerator;
2121
import io.github.springwolf.core.asyncapi.scanners.bindings.BindingFactory;
22-
import io.github.springwolf.core.asyncapi.scanners.bindings.common.BindingContext;
2322
import io.github.springwolf.core.asyncapi.scanners.common.channel.SpringAnnotationChannelService;
2423
import io.github.springwolf.core.asyncapi.scanners.common.headers.AsyncHeadersNotDocumented;
2524
import io.github.springwolf.core.asyncapi.scanners.common.headers.HeaderClassExtractor;
@@ -316,11 +315,6 @@ public String getChannelName(TestChannelListener annotation) {
316315
return CHANNEL;
317316
}
318317

319-
@Override
320-
public String getChannelName(TestChannelListener annotation, BindingContext bindingContext) {
321-
return CHANNEL;
322-
}
323-
324318
@Override
325319
public Map<String, ChannelBinding> buildChannelBinding(TestChannelListener annotation) {
326320
return defaultChannelBinding;

springwolf-examples/springwolf-kafka-example/src/main/java/io/github/springwolf/examples/kafka/consumers/ExampleBeanRefKafkaListener.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,9 @@
1919
@Slf4j
2020
public class ExampleBeanRefKafkaListener {
2121

22+
@SuppressWarnings("unused")
2223
public final String TOPIC_NAME = "example-topic-from-bean-ref";
24+
2325
private final AnotherProducer anotherProducer;
2426

2527
@KafkaListener(topics = "#{myListener.TOPIC_NAME}", beanRef = "myListener")

springwolf-plugins/springwolf-amqp-plugin/src/main/java/io/github/springwolf/plugins/amqp/asyncapi/scanners/bindings/AmqpBindingFactory.java

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import io.github.springwolf.asyncapi.v3.bindings.OperationBinding;
77
import io.github.springwolf.asyncapi.v3.model.schema.SchemaObject;
88
import io.github.springwolf.core.asyncapi.scanners.bindings.BindingFactory;
9-
import io.github.springwolf.core.asyncapi.scanners.bindings.common.BindingContext;
109
import org.springframework.amqp.core.Binding;
1110
import org.springframework.amqp.core.Exchange;
1211
import org.springframework.amqp.core.Queue;
@@ -39,16 +38,6 @@ public String getChannelId(RabbitListener annotation) {
3938
return RabbitListenerUtil.getChannelId(annotation, stringValueResolver);
4039
}
4140

42-
@Override
43-
public String getChannelId(RabbitListener annotation, BindingContext bindingContext) {
44-
return BindingFactory.super.getChannelId(annotation, bindingContext);
45-
}
46-
47-
@Override
48-
public String getChannelName(RabbitListener annotation, BindingContext bindingContext) {
49-
return RabbitListenerUtil.getChannelName(annotation, stringValueResolver);
50-
}
51-
5241
@Override
5342
public Map<String, ChannelBinding> buildChannelBinding(RabbitListener annotation) {
5443
return RabbitListenerUtil.buildChannelBinding(annotation, stringValueResolver, context);

springwolf-plugins/springwolf-sqs-plugin/src/main/java/io/github/springwolf/plugins/sqs/asyncapi/scanners/bindings/SqsBindingFactory.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import io.github.springwolf.asyncapi.v3.bindings.OperationBinding;
88
import io.github.springwolf.asyncapi.v3.model.schema.SchemaObject;
99
import io.github.springwolf.core.asyncapi.scanners.bindings.BindingFactory;
10-
import io.github.springwolf.core.asyncapi.scanners.bindings.common.BindingContext;
1110
import lombok.RequiredArgsConstructor;
1211
import org.springframework.util.StringValueResolver;
1312

@@ -22,11 +21,6 @@ public String getChannelName(SqsListener annotation) {
2221
return SqsListenerUtil.getChannelName(annotation, stringValueResolver);
2322
}
2423

25-
@Override
26-
public String getChannelName(SqsListener annotation, BindingContext bindingContext) {
27-
return SqsListenerUtil.getChannelName(annotation, stringValueResolver);
28-
}
29-
3024
@Override
3125
public Map<String, ChannelBinding> buildChannelBinding(SqsListener annotation) {
3226
return SqsListenerUtil.buildChannelBinding(annotation, stringValueResolver);

springwolf-plugins/springwolf-stomp-plugin/src/main/java/io/github/springwolf/plugins/stomp/asyncapi/scanners/bindings/StompBindingMessageMappingFactory.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import io.github.springwolf.asyncapi.v3.bindings.OperationBinding;
77
import io.github.springwolf.asyncapi.v3.model.schema.SchemaObject;
88
import io.github.springwolf.core.asyncapi.scanners.bindings.BindingFactory;
9-
import io.github.springwolf.core.asyncapi.scanners.bindings.common.BindingContext;
109
import io.github.springwolf.plugins.stomp.asyncapi.scanners.common.MessageMappingUtil;
1110
import io.github.springwolf.plugins.stomp.configuration.properties.SpringwolfStompConfigProperties;
1211
import lombok.RequiredArgsConstructor;
@@ -25,11 +24,6 @@ public String getChannelName(MessageMapping annotation) {
2524
return properties.getEndpoint().getApp() + MessageMappingUtil.getChannelName(annotation, stringValueResolver);
2625
}
2726

28-
@Override
29-
public String getChannelName(MessageMapping annotation, BindingContext bindingContext) {
30-
return properties.getEndpoint().getApp() + MessageMappingUtil.getChannelName(annotation, stringValueResolver);
31-
}
32-
3327
@Override
3428
public Map<String, ChannelBinding> buildChannelBinding(MessageMapping annotation) {
3529
return MessageMappingUtil.buildChannelBinding();

springwolf-plugins/springwolf-stomp-plugin/src/main/java/io/github/springwolf/plugins/stomp/asyncapi/scanners/bindings/StompBindingSendToFactory.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import io.github.springwolf.asyncapi.v3.bindings.OperationBinding;
77
import io.github.springwolf.asyncapi.v3.model.schema.SchemaObject;
88
import io.github.springwolf.core.asyncapi.scanners.bindings.BindingFactory;
9-
import io.github.springwolf.core.asyncapi.scanners.bindings.common.BindingContext;
109
import io.github.springwolf.plugins.stomp.asyncapi.scanners.common.SendToUtil;
1110
import io.github.springwolf.plugins.stomp.configuration.properties.SpringwolfStompConfigProperties;
1211
import lombok.RequiredArgsConstructor;
@@ -25,11 +24,6 @@ public String getChannelName(SendTo annotation) {
2524
return properties.getEndpoint().getApp() + SendToUtil.getChannelName(annotation, stringValueResolver);
2625
}
2726

28-
@Override
29-
public String getChannelName(SendTo annotation, BindingContext bindingContext) {
30-
return properties.getEndpoint().getApp() + SendToUtil.getChannelName(annotation, stringValueResolver);
31-
}
32-
3327
@Override
3428
public Map<String, ChannelBinding> buildChannelBinding(SendTo annotation) {
3529
return SendToUtil.buildChannelBinding();

springwolf-plugins/springwolf-stomp-plugin/src/main/java/io/github/springwolf/plugins/stomp/asyncapi/scanners/bindings/StompBindingSendToUserFactory.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
import io.github.springwolf.asyncapi.v3.bindings.OperationBinding;
77
import io.github.springwolf.asyncapi.v3.model.schema.SchemaObject;
88
import io.github.springwolf.core.asyncapi.scanners.bindings.BindingFactory;
9-
import io.github.springwolf.core.asyncapi.scanners.bindings.common.BindingContext;
109
import io.github.springwolf.plugins.stomp.asyncapi.scanners.common.SendToUserUtil;
1110
import io.github.springwolf.plugins.stomp.asyncapi.scanners.common.SendToUtil;
1211
import io.github.springwolf.plugins.stomp.configuration.properties.SpringwolfStompConfigProperties;
@@ -26,11 +25,6 @@ public String getChannelName(SendToUser annotation) {
2625
return properties.getEndpoint().getUser() + SendToUserUtil.getChannelName(annotation, stringValueResolver);
2726
}
2827

29-
@Override
30-
public String getChannelName(SendToUser annotation, BindingContext bindingContext) {
31-
return properties.getEndpoint().getUser() + SendToUserUtil.getChannelName(annotation, stringValueResolver);
32-
}
33-
3428
@Override
3529
public Map<String, ChannelBinding> buildChannelBinding(SendToUser annotation) {
3630
return SendToUserUtil.buildChannelBinding();

0 commit comments

Comments
 (0)