Skip to content

Commit 866f0cc

Browse files
authored
KAFKA-16339: [3/4 KStream#transformValues] Remove Deprecated "transformer" methods and classes (#17266)
Reviewers: Matthias J. Sax <[email protected]>
1 parent be4ea80 commit 866f0cc

File tree

13 files changed

+53
-1181
lines changed

13 files changed

+53
-1181
lines changed

streams/src/main/java/org/apache/kafka/streams/kstream/KStream.java

+26-485
Large diffs are not rendered by default.

streams/src/main/java/org/apache/kafka/streams/kstream/TransformerSupplier.java

-1
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@
3535
* @see Transformer
3636
* @see ValueTransformer
3737
* @see ValueTransformerSupplier
38-
* @see KStream#transformValues(ValueTransformerSupplier, String...)
3938
* @deprecated Since 4.0. Use {@link org.apache.kafka.streams.processor.api.ProcessorSupplier api.ProcessorSupplier} instead.
4039
*/
4140
@Deprecated

streams/src/main/java/org/apache/kafka/streams/kstream/ValueTransformer.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -44,8 +44,7 @@
4444
* @param <VR> transformed value type
4545
* @see ValueTransformerSupplier
4646
* @see ValueTransformerWithKeySupplier
47-
* @see KStream#transformValues(ValueTransformerSupplier, String...)
48-
* @see KStream#transformValues(ValueTransformerWithKeySupplier, String...)
47+
* @see KTable#transformValues(ValueTransformerWithKeySupplier, Materialized, String...)
4948
* @see Transformer
5049
* @deprecated Since 4.0. Use {@link FixedKeyProcessor} instead.
5150
*/
@@ -77,7 +76,7 @@ public interface ValueTransformer<V, VR> {
7776

7877
/**
7978
* Transform the given value to a new value.
80-
* Additionally, any {@link StateStore} that is {@link KStream#transformValues(ValueTransformerSupplier, String...)
79+
* Additionally, any {@link StateStore} that is {@link KTable#transformValues(ValueTransformerWithKeySupplier, String...)
8180
* attached} to this operator can be accessed and modified arbitrarily (cf.
8281
* {@link ProcessorContext#getStateStore(String)}).
8382
* <p>

streams/src/main/java/org/apache/kafka/streams/kstream/ValueTransformerSupplier.java

-2
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,6 @@
3131
* @see ValueTransformer
3232
* @see ValueTransformerWithKey
3333
* @see ValueTransformerWithKeySupplier
34-
* @see KStream#transformValues(ValueTransformerSupplier, String...)
35-
* @see KStream#transformValues(ValueTransformerWithKeySupplier, String...)
3634
* @see Transformer
3735
* @see TransformerSupplier
3836
* @deprecated Since 4.0. Use {@link FixedKeyProcessorSupplier} instead.

streams/src/main/java/org/apache/kafka/streams/kstream/ValueTransformerWithKey.java

+2-3
Original file line numberDiff line numberDiff line change
@@ -47,8 +47,7 @@
4747
* @param <VR> transformed value type
4848
* @see ValueTransformer
4949
* @see ValueTransformerWithKeySupplier
50-
* @see KStream#transformValues(ValueTransformerSupplier, String...)
51-
* @see KStream#transformValues(ValueTransformerWithKeySupplier, String...)
50+
* @see KTable#transformValues(ValueTransformerWithKeySupplier, String...)
5251
* @see Transformer
5352
*/
5453

@@ -77,7 +76,7 @@ public interface ValueTransformerWithKey<K, V, VR> {
7776

7877
/**
7978
* Transform the given [key and] value to a new value.
80-
* Additionally, any {@link StateStore} that is {@link KStream#transformValues(ValueTransformerWithKeySupplier, String...)
79+
* Additionally, any {@link StateStore} that is {@link KTable#transformValues(ValueTransformerWithKeySupplier, Named, String...)
8180
* attached} to this operator can be accessed and modified arbitrarily (cf.
8281
* {@link ProcessorContext#getStateStore(String)}).
8382
* <p>

streams/src/main/java/org/apache/kafka/streams/kstream/ValueTransformerWithKeySupplier.java

-2
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,6 @@
3232
* @param <VR> transformed value type
3333
* @see ValueTransformer
3434
* @see ValueTransformerWithKey
35-
* @see KStream#transformValues(ValueTransformerSupplier, String...)
36-
* @see KStream#transformValues(ValueTransformerWithKeySupplier, String...)
3735
* @see Transformer
3836
* @see TransformerSupplier
3937
*/

streams/src/main/java/org/apache/kafka/streams/kstream/internals/KStreamImpl.java

-73
Original file line numberDiff line numberDiff line change
@@ -121,8 +121,6 @@ public class KStreamImpl<K, V> extends AbstractStream<K, V> implements KStream<K
121121

122122
private static final String KEY_SELECT_NAME = "KSTREAM-KEY-SELECT-";
123123

124-
private static final String TRANSFORM_NAME = "KSTREAM-TRANSFORM-";
125-
126124
private static final String TRANSFORMVALUES_NAME = "KSTREAM-TRANSFORMVALUES-";
127125

128126
private static final String FOREACH_NAME = "KSTREAM-FOREACH-";
@@ -1209,77 +1207,6 @@ private <VO, VR> KStream<K, VR> doStreamTableJoin(final KTable<K, VO> table,
12091207
builder);
12101208
}
12111209

1212-
@Override
1213-
@Deprecated
1214-
public <VR> KStream<K, VR> transformValues(final org.apache.kafka.streams.kstream.ValueTransformerSupplier<? super V, ? extends VR> valueTransformerSupplier,
1215-
final String... stateStoreNames) {
1216-
Objects.requireNonNull(valueTransformerSupplier, "valueTransformerSupplier can't be null");
1217-
return doTransformValues(
1218-
toValueTransformerWithKeySupplier(valueTransformerSupplier),
1219-
NamedInternal.empty(),
1220-
stateStoreNames);
1221-
}
1222-
1223-
@Override
1224-
@Deprecated
1225-
public <VR> KStream<K, VR> transformValues(final org.apache.kafka.streams.kstream.ValueTransformerSupplier<? super V, ? extends VR> valueTransformerSupplier,
1226-
final Named named,
1227-
final String... stateStoreNames) {
1228-
Objects.requireNonNull(valueTransformerSupplier, "valueTransformerSupplier can't be null");
1229-
Objects.requireNonNull(named, "named can't be null");
1230-
return doTransformValues(
1231-
toValueTransformerWithKeySupplier(valueTransformerSupplier),
1232-
new NamedInternal(named),
1233-
stateStoreNames);
1234-
}
1235-
1236-
@Override
1237-
@Deprecated
1238-
public <VR> KStream<K, VR> transformValues(final ValueTransformerWithKeySupplier<? super K, ? super V, ? extends VR> valueTransformerSupplier,
1239-
final String... stateStoreNames) {
1240-
Objects.requireNonNull(valueTransformerSupplier, "valueTransformerSupplier can't be null");
1241-
return doTransformValues(valueTransformerSupplier, NamedInternal.empty(), stateStoreNames);
1242-
}
1243-
1244-
@Override
1245-
@Deprecated
1246-
public <VR> KStream<K, VR> transformValues(final ValueTransformerWithKeySupplier<? super K, ? super V, ? extends VR> valueTransformerSupplier,
1247-
final Named named,
1248-
final String... stateStoreNames) {
1249-
Objects.requireNonNull(valueTransformerSupplier, "valueTransformerSupplier can't be null");
1250-
Objects.requireNonNull(named, "named can't be null");
1251-
return doTransformValues(valueTransformerSupplier, new NamedInternal(named), stateStoreNames);
1252-
}
1253-
1254-
private <VR> KStream<K, VR> doTransformValues(final ValueTransformerWithKeySupplier<? super K, ? super V, ? extends VR> valueTransformerWithKeySupplier,
1255-
final NamedInternal named,
1256-
final String... stateStoreNames) {
1257-
Objects.requireNonNull(stateStoreNames, "stateStoreNames can't be a null array");
1258-
for (final String stateStoreName : stateStoreNames) {
1259-
Objects.requireNonNull(stateStoreName, "stateStoreNames can't contain `null` as store name");
1260-
}
1261-
ApiUtils.checkSupplier(valueTransformerWithKeySupplier);
1262-
1263-
final String name = named.orElseGenerateWithPrefix(builder, TRANSFORMVALUES_NAME);
1264-
final StatefulProcessorNode<? super K, ? super V> transformNode = new StatefulProcessorNode<>(
1265-
name,
1266-
new ProcessorParameters<>(new KStreamTransformValues<>(valueTransformerWithKeySupplier), name),
1267-
stateStoreNames);
1268-
transformNode.setValueChangingOperation(true);
1269-
1270-
builder.addGraphNode(graphNode, transformNode);
1271-
1272-
// cannot inherit value serde
1273-
return new KStreamImpl<>(
1274-
name,
1275-
keySerde,
1276-
null,
1277-
subTopologySourceNodes,
1278-
repartitionRequired,
1279-
transformNode,
1280-
builder);
1281-
}
1282-
12831210
@Override
12841211
@Deprecated
12851212
public <VR> KStream<K, VR> flatTransformValues(final org.apache.kafka.streams.kstream.ValueTransformerSupplier<? super V, Iterable<VR>> valueTransformerSupplier,

streams/src/main/java/org/apache/kafka/streams/kstream/internals/KStreamTransformValues.java

-74
This file was deleted.

streams/src/main/java/org/apache/kafka/streams/processor/ConnectedStoreProvider.java

+2-4
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import org.apache.kafka.streams.kstream.KStream;
2121
import org.apache.kafka.streams.kstream.Named;
2222
import org.apache.kafka.streams.kstream.ValueTransformerWithKeySupplier;
23+
import org.apache.kafka.streams.processor.api.FixedKeyProcessorSupplier;
2324
import org.apache.kafka.streams.state.StoreBuilder;
2425

2526
import java.util.Set;
@@ -91,10 +92,7 @@
9192
* @see Topology#addProcessor(String, org.apache.kafka.streams.processor.api.ProcessorSupplier, String...)
9293
* @see KStream#process(org.apache.kafka.streams.processor.api.ProcessorSupplier, String...)
9394
* @see KStream#process(org.apache.kafka.streams.processor.api.ProcessorSupplier, Named, String...)
94-
* @see KStream#transformValues(org.apache.kafka.streams.kstream.ValueTransformerSupplier, String...)
95-
* @see KStream#transformValues(org.apache.kafka.streams.kstream.ValueTransformerSupplier, Named, String...)
96-
* @see KStream#transformValues(ValueTransformerWithKeySupplier, String...)
97-
* @see KStream#transformValues(ValueTransformerWithKeySupplier, Named, String...)
95+
* @see KStream#processValues(FixedKeyProcessorSupplier, String...)
9896
* @see KStream#flatTransformValues(org.apache.kafka.streams.kstream.ValueTransformerSupplier, String...)
9997
* @see KStream#flatTransformValues(org.apache.kafka.streams.kstream.ValueTransformerSupplier, Named, String...)
10098
* @see KStream#flatTransformValues(ValueTransformerWithKeySupplier, String...)

streams/src/test/java/org/apache/kafka/streams/StreamsBuilderTest.java

-18
Original file line numberDiff line numberDiff line change
@@ -845,24 +845,6 @@ public void shouldUseSpecifiedNameForForEachOperation() {
845845
assertNamesForOperation(topology, "KSTREAM-SOURCE-0000000000", STREAM_OPERATION_NAME);
846846
}
847847

848-
@Test
849-
@SuppressWarnings("deprecation")
850-
public void shouldUseSpecifiedNameForTransformValues() {
851-
builder.stream(STREAM_TOPIC).transformValues(() -> new NoopValueTransformer<>(), Named.as(STREAM_OPERATION_NAME));
852-
builder.build();
853-
final ProcessorTopology topology = builder.internalTopologyBuilder.rewriteTopology(new StreamsConfig(props)).buildTopology();
854-
assertNamesForOperation(topology, "KSTREAM-SOURCE-0000000000", STREAM_OPERATION_NAME);
855-
}
856-
857-
@Test
858-
@SuppressWarnings("deprecation")
859-
public void shouldUseSpecifiedNameForTransformValuesWithKey() {
860-
builder.stream(STREAM_TOPIC).transformValues(() -> new NoopValueTransformerWithKey<>(), Named.as(STREAM_OPERATION_NAME));
861-
builder.build();
862-
final ProcessorTopology topology = builder.internalTopologyBuilder.rewriteTopology(new StreamsConfig(props)).buildTopology();
863-
assertNamesForOperation(topology, "KSTREAM-SOURCE-0000000000", STREAM_OPERATION_NAME);
864-
}
865-
866848
@Test
867849
public void shouldUseSpecifiedNameForSplitOperation() {
868850
builder.stream(STREAM_TOPIC)

0 commit comments

Comments
 (0)