Skip to content

Commit

Permalink
Partitioner and ProducerInterceptor converted to listeners (#226)
Browse files Browse the repository at this point in the history
* #225: configuration file and command-line update

* Added description file

* #225: converted Partitioner and ProducerInterceptor into listeners
  • Loading branch information
masesdevelopers authored Sep 1, 2023
1 parent f18d677 commit adcf638
Show file tree
Hide file tree
Showing 9 changed files with 545 additions and 344 deletions.
220 changes: 220 additions & 0 deletions src/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,220 @@
## Generated classes

The command used to build the classes is the following:

```cmd
MASES.JNetReflector.exe -TraceLevel 0 -OriginRootPath .\jars -DestinationRootPath .\src\net\KNet\Generated -DestinationJavaListenerPath .\src\java\knet\src\main\java -ConfigurationFile .\src\configuration.json
```

The configuration is:

```json
{
"JavaListenerBasePackage": "org.mases.knet.generated",
"OnlyPropertiesForGetterSetter": true,
"DisableInterfaceMethodGeneration": true,
"CreateInterfaceInheritance": true,
"JarList": [
"kafka_2.13-3.5.1.jar",
"kafka-clients-3.5.1.jar",
"kafka-streams-3.5.1.jar",
"kafka-tools-3.5.1.jar",
"connect-api-3.5.1.jar",
"connect-basic-auth-extension-3.5.1.jar",
"connect-json-3.5.1.jar",
"connect-mirror-3.5.1.jar",
"connect-mirror-client-3.5.1.jar",
"connect-runtime-3.5.1.jar",
"connect-transforms-3.5.1.jar"
],
"OriginJavadocJARVersionAndUrls": [
{
"Version": 8,
"Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka_2.13/3.5.1/"
},
{
"Version": 8,
"Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka-clients/3.5.1/"
},
{
"Version": 8,
"Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka-streams/3.5.1/"
},
{
"Version": 8,
"Url": "https://www.javadoc.io/doc/org.apache.kafka/kafka-tools/3.5.1/"
},
{
"Version": 8,
"Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-api/3.5.1/"
},
{
"Version": 8,
"Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-basic-auth-extension/3.5.1/"
},
{
"Version": 8,
"Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-json/3.5.1/"
},
{
"Version": 8,
"Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-mirror/3.5.1/"
},
{
"Version": 8,
"Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-mirror-client/3.5.1/"
},
{
"Version": 8,
"Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-runtime/3.5.1/"
},
{
"Version": 8,
"Url": "https://www.javadoc.io/doc/org.apache.kafka/connect-transforms/3.5.1/"
}
],
"NamespacesToAvoid": [
"scala",
"joptsimple",
"org.rocksdb",
"com.typesafe",
"com.fasterxml",
"javax.ws.rs",
"kafka.api",
"kafka.cluster",
"kafka.common",
"kafka.consumer",
"kafka.controller",
"kafka.coordinator",
"kafka.internals",
"kafka.log",
"kafka.message",
"kafka.metrics",
"kafka.migration",
"kafka.network",
"kafka.raft",
"kafka.security",
"kafka.serializer",
"kafka.server",
"kafka.tools",
"kafka.utils",
"kafka.zk",
"kafka.zookeeper",
"net.sourceforge",
"org.apache.kafka.clients.admin.internals",
"org.apache.kafka.clients.consumer.internals",
"org.apache.kafka.clients.producer.internals",
"org.apache.kafka.common.config.internals",
"org.apache.kafka.common.feature",
"org.apache.kafka.common.header.internals",
"org.apache.kafka.common.internals",
"org.apache.kafka.common.message",
"org.apache.kafka.common.metrics.internals",
"org.apache.kafka.common.network",
"org.apache.kafka.common.protocol",
"org.apache.kafka.common.requests",
"org.apache.kafka.common.security.kerberos",
"org.apache.kafka.common.security.oauthbearer.internals",
"org.apache.kafka.common.security.scram.internals",
"org.apache.kafka.common.security.token.delegation.internals",
"org.apache.kafka.connect.connector.policy",
"org.apache.kafka.connect.mirror.rest",
"org.apache.kafka.connect.runtime",
"org.apache.kafka.connect.storage",
"org.apache.kafka.connect.tools",
"org.apache.kafka.server",
"org.apache.kafka.streams.internals",
"org.apache.kafka.streams.processor.internals",
"org.apache.kafka.streams.state.internals",
"org.apache.kafka.streams.kstream.internals",
"org.apache.kafka.streams.query.internals",
"org.apache.zookeeper.client",
"org.eclipse.jetty",
"org.glassfish",
"org.slf4j"
],
"ClassesToBeListener": [
"org.apache.kafka.clients.consumer.OffsetCommitCallback",
"org.apache.kafka.clients.consumer.ConsumerInterceptor",
"org.apache.kafka.clients.consumer.ConsumerPartitionAssignor",
"org.apache.kafka.clients.producer.Callback",
"org.apache.kafka.clients.producer.Partitioner",
"org.apache.kafka.clients.producer.ProducerInterceptor",
"org.apache.kafka.common.config.ConfigChangeCallback",
"org.apache.kafka.common.metrics.MetricsReporter",
"org.apache.kafka.common.serialization.Deserializer",
"org.apache.kafka.common.serialization.Serializer",
"org.apache.kafka.streams.KafkaClientSupplier",
"org.apache.kafka.streams.errors.StreamsUncaughtExceptionHandler",
"org.apache.kafka.streams.kstream.Aggregator",
"org.apache.kafka.streams.kstream.ForeachAction",
"org.apache.kafka.streams.kstream.Predicate",
"org.apache.kafka.streams.kstream.Reducer",
"org.apache.kafka.streams.kstream.Merger",
"org.apache.kafka.streams.kstream.Initializer",
"org.apache.kafka.streams.kstream.KeyValueMapper",
"org.apache.kafka.streams.kstream.Transformer",
"org.apache.kafka.streams.kstream.ValueJoiner",
"org.apache.kafka.streams.kstream.ValueJoinerWithKey",
"org.apache.kafka.streams.kstream.ValueMapper",
"org.apache.kafka.streams.kstream.ValueMapperWithKey",
"org.apache.kafka.streams.kstream.ValueTransformer",
"org.apache.kafka.streams.kstream.ValueTransformerWithKey",
"org.apache.kafka.streams.processor.BatchingStateRestoreCallback",
"org.apache.kafka.streams.processor.StateRestoreCallback",
"org.apache.kafka.streams.processor.TimestampExtractor",
"org.apache.kafka.streams.processor.TopicNameExtractor",
"org.apache.kafka.streams.processor.StreamPartitioner",
"org.apache.kafka.streams.processor.api.FixedKeyProcessor",
"org.apache.kafka.streams.processor.api.Processor"
],
"ClassesToAvoid": [
"kafka.Kafka",
"kafka.admin.ElectionTypeConverter",
"kafka.admin.PatternTypeConverter",
"kafka.admin.ZkSecurityMigrator$ZkSecurityMigratorOptions",
"org.apache.kafka.clients.ClientRequest",
"org.apache.kafka.clients.FetchSessionHandler",
"org.apache.kafka.clients.KafkaClient",
"org.apache.kafka.clients.NetworkClient",
"org.apache.kafka.common.serialization.VoidSerializer",
"org.apache.kafka.common.utils.Bytes$ByteArrayComparator",
"org.apache.kafka.common.utils.ImplicitLinkedHashCollection",
"org.apache.kafka.common.utils.ImplicitLinkedHashMultiCollection",
"org.apache.kafka.common.utils.Java",
"org.apache.kafka.common.metrics.stats.SampledStat$Sample",
"org.apache.kafka.common.record.AbstractRecords",
"org.apache.kafka.common.record.BaseRecords",
"org.apache.kafka.common.record.CompressionRatioEstimator",
"org.apache.kafka.common.record.ConvertedRecords",
"org.apache.kafka.common.record.DefaultRecord",
"org.apache.kafka.common.record.DefaultRecordsSend",
"org.apache.kafka.common.record.EndTransactionMarker",
"org.apache.kafka.common.record.FileRecords",
"org.apache.kafka.common.record.LazyDownConversionRecordsSend",
"org.apache.kafka.common.record.MemoryRecords",
"org.apache.kafka.common.record.PartialDefaultRecord",
"org.apache.kafka.common.record.Records",
"org.apache.kafka.common.record.RecordsSend",
"org.apache.kafka.connect.cli.AbstractConnectCli",
"org.apache.kafka.connect.rest.ConnectRestExtensionContext",
"org.apache.kafka.connect.rest.ConnectRestExtension",
"org.apache.kafka.connect.storage.HeaderConverter",
"org.apache.kafka.connect.storage.SimpleHeaderConverter",
"org.apache.kafka.connect.util.SharedTopicAdmin",
"org.apache.kafka.streams.kstream.NamedOperation",
"org.apache.kafka.streams.kstream.TransformerSupplier",
"org.apache.kafka.streams.kstream.ValueMapperWithKeySupplier",
"org.apache.kafka.streams.kstream.ValueTransformerSupplier",
"org.apache.kafka.streams.kstream.ValueTransformerWithKeySupplier",
"org.apache.kafka.streams.processor.api.FixedKeyProcessorSupplier",
"org.apache.kafka.streams.processor.api.ProcessorSupplier",
"org.apache.kafka.tools.ClientCompatibilityTest$ClientCompatibilityTestDeserializer",
"org.apache.kafka.tools.ConsumerPerformance$ConsumerPerfRebListener",
"org.apache.kafka.tools.VerifiableConsumer$RecordData",
"org.apache.kafka.tools.VerifiableConsumer$RecordsConsumed",
"org.apache.zookeeper.ZooKeeperMainWithTlsSupportForKafka",
"org.apache.zookeeper.server.quorum.QuorumPeerMain"
]
}
```
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,8 @@
"org.apache.kafka.clients.consumer.ConsumerInterceptor",
"org.apache.kafka.clients.consumer.ConsumerPartitionAssignor",
"org.apache.kafka.clients.producer.Callback",
"org.apache.kafka.clients.producer.Partitioner",
"org.apache.kafka.clients.producer.ProducerInterceptor",
"org.apache.kafka.common.config.ConfigChangeCallback",
"org.apache.kafka.common.metrics.MetricsReporter",
"org.apache.kafka.common.serialization.Deserializer",
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/*
* Copyright 2023 MASES s.r.l.
*
* 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
*
* http://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.
*
* Refer to LICENSE for more information.
*/

/*
* This file is generated by MASES.JNetReflector (ver. 2.0.1.0)
*/

package org.mases.knet.generated.org.apache.kafka.clients.producer;

public final class Partitioner extends org.mases.jcobridge.JCListener implements org.apache.kafka.clients.producer.Partitioner {
public Partitioner(String key) throws org.mases.jcobridge.JCNativeException {
super(key);
}

//@Override
public int partition(java.lang.String arg0, java.lang.Object arg1, byte[] arg2, java.lang.Object arg3, byte[] arg4, org.apache.kafka.common.Cluster arg5) {
raiseEvent("partition", arg0, arg1, arg2, arg3, arg4, arg5); Object retVal = getReturnData(); return (int)retVal;
}
//@Override
public void close() {
raiseEvent("close");
}
//@Override
public void configure(java.util.Map arg0) {
raiseEvent("configure", arg0);
}
//@Override
public void onNewBatch(java.lang.String arg0, org.apache.kafka.common.Cluster arg1, int arg2) {
raiseEvent("onNewBatch", arg0, arg1, arg2);
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/*
* Copyright 2023 MASES s.r.l.
*
* 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
*
* http://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.
*
* Refer to LICENSE for more information.
*/

/*
* This file is generated by MASES.JNetReflector (ver. 2.0.1.0)
*/

package org.mases.knet.generated.org.apache.kafka.clients.producer;

public final class ProducerInterceptor extends org.mases.jcobridge.JCListener implements org.apache.kafka.clients.producer.ProducerInterceptor {
public ProducerInterceptor(String key) throws org.mases.jcobridge.JCNativeException {
super(key);
}

//@Override
public org.apache.kafka.clients.producer.ProducerRecord onSend(org.apache.kafka.clients.producer.ProducerRecord arg0) {
raiseEvent("onSend", arg0); Object retVal = getReturnData(); return (org.apache.kafka.clients.producer.ProducerRecord)retVal;
}
//@Override
public void close() {
raiseEvent("close");
}
//@Override
public void onAcknowledgement(org.apache.kafka.clients.producer.RecordMetadata arg0, java.lang.Exception arg1) {
raiseEvent("onAcknowledgement", arg0, arg1);
}
//@Override
public void configure(java.util.Map arg0) {
raiseEvent("configure", arg0);
}

}
Loading

0 comments on commit adcf638

Please sign in to comment.