diff --git a/build.gradle b/build.gradle index 1e388cb9665b43e004a1854248acc04e1cda387c..069918449a3f2e23c15b4705f150e30fa3053413 100644 --- a/build.gradle +++ b/build.gradle @@ -79,8 +79,9 @@ configure(useCaseApplications) { configure(useCaseGenerators) { dependencies { // These dependencies are used internally, and not exposed to consumers on their own compile classpath. - implementation('org.industrial-devops:titan-ccp-common:0.1.0-SNAPSHOT') { changing = true } - implementation('org.industrial-devops:titan-ccp-common-kafka:0.1.0-SNAPSHOT') { changing = true } + //implementation('org.industrial-devops:titan-ccp-common:0.0.4-SNAPSHOT') { changing = true } + //implementation('org.industrial-devops:titan-ccp-common-kafka:0.1.0-SNAPSHOT') { changing = true } + implementation 'com.google.guava:guava:1.14' implementation 'com.google.guava:guava:24.1-jre' implementation 'org.jctools:jctools-core:2.1.1' implementation 'org.slf4j:slf4j-simple:1.7.25' @@ -98,8 +99,8 @@ configure(commonProjects) { dependencies { // These dependencies are used internally, and not exposed to consumers on their own compile classpath. implementation 'org.slf4j:slf4j-simple:1.7.25' - implementation('org.industrial-devops:titan-ccp-common:0.1.0-SNAPSHOT') { changing = true } - implementation('org.industrial-devops:titan-ccp-common-kafka:0.1.0-SNAPSHOT') { changing = true } + implementation('org.industrial-devops:titan-ccp-common:0.0.4-SNAPSHOT') { changing = true } + //implementation('org.industrial-devops:titan-ccp-common-kafka:0.1.0-SNAPSHOT') { changing = true } // Use JUnit test framework testImplementation 'junit:junit:4.12' diff --git a/uc1-workload-generator/src/main/java/theodolite/uc1/workloadgenerator/LoadGenerator.java b/uc1-workload-generator/src/main/java/theodolite/uc1/workloadgenerator/LoadGenerator.java index a7b27dfdb25760f0b96c930c9705c2eed0402442..0e2c12f661f564fd47d722ee8b74df9d49babbb8 100644 --- a/uc1-workload-generator/src/main/java/theodolite/uc1/workloadgenerator/LoadGenerator.java +++ b/uc1-workload-generator/src/main/java/theodolite/uc1/workloadgenerator/LoadGenerator.java @@ -13,7 +13,7 @@ import theodolite.commons.workloadgeneration.dimensions.KeySpace; import theodolite.commons.workloadgeneration.generators.KafkaWorkloadGenerator; import theodolite.commons.workloadgeneration.generators.KafkaWorkloadGeneratorBuilder; import theodolite.commons.workloadgeneration.misc.ZooKeeper; -import titan.ccp.model.records.ActivePowerRecord; +import titan.ccp.models.records.ActivePowerRecord; /** * Load Generator for UC1. diff --git a/uc2-workload-generator/src/main/java/theodolite/uc2/workloadgenerator/LoadGenerator.java b/uc2-workload-generator/src/main/java/theodolite/uc2/workloadgenerator/LoadGenerator.java index 3eb3e8d25b1f1aa6f302673727b8457a744fb503..35dc0e7befae3d2c16015a8998925b006d53ff82 100644 --- a/uc2-workload-generator/src/main/java/theodolite/uc2/workloadgenerator/LoadGenerator.java +++ b/uc2-workload-generator/src/main/java/theodolite/uc2/workloadgenerator/LoadGenerator.java @@ -14,8 +14,8 @@ import theodolite.commons.workloadgeneration.generators.KafkaWorkloadGenerator; import theodolite.commons.workloadgeneration.generators.KafkaWorkloadGeneratorBuilder; import theodolite.commons.workloadgeneration.misc.ZooKeeper; import titan.ccp.configuration.events.Event; -import titan.ccp.model.records.ActivePowerRecord; import titan.ccp.model.sensorregistry.SensorRegistry; +import titan.ccp.models.records.ActivePowerRecord; /** * The {@code LoadGenerator} creates a load in Kafka. diff --git a/uc3-workload-generator/src/main/java/theodolite/uc3/workloadgenerator/LoadGenerator.java b/uc3-workload-generator/src/main/java/theodolite/uc3/workloadgenerator/LoadGenerator.java index 85f6a94036c53b48973ba2200212fc8e5dfd663d..039d6db220b044fc9f31e0951e7d8082aea53f15 100644 --- a/uc3-workload-generator/src/main/java/theodolite/uc3/workloadgenerator/LoadGenerator.java +++ b/uc3-workload-generator/src/main/java/theodolite/uc3/workloadgenerator/LoadGenerator.java @@ -13,7 +13,8 @@ import theodolite.commons.workloadgeneration.dimensions.KeySpace; import theodolite.commons.workloadgeneration.generators.KafkaWorkloadGenerator; import theodolite.commons.workloadgeneration.generators.KafkaWorkloadGeneratorBuilder; import theodolite.commons.workloadgeneration.misc.ZooKeeper; -import titan.ccp.model.records.ActivePowerRecord; +import titan.ccp.models.records.ActivePowerRecord; + /** * The {@code LoadGenerator} creates a load in Kafka. diff --git a/uc4-workload-generator/src/main/java/theodolite/uc4/workloadgenerator/LoadGenerator.java b/uc4-workload-generator/src/main/java/theodolite/uc4/workloadgenerator/LoadGenerator.java index ff551e7ef423633137d122dfed7d6e03d362e7ff..ef87ac6372d03e191b9dc985b881498601b90582 100644 --- a/uc4-workload-generator/src/main/java/theodolite/uc4/workloadgenerator/LoadGenerator.java +++ b/uc4-workload-generator/src/main/java/theodolite/uc4/workloadgenerator/LoadGenerator.java @@ -13,7 +13,7 @@ import theodolite.commons.workloadgeneration.dimensions.KeySpace; import theodolite.commons.workloadgeneration.generators.KafkaWorkloadGenerator; import theodolite.commons.workloadgeneration.generators.KafkaWorkloadGeneratorBuilder; import theodolite.commons.workloadgeneration.misc.ZooKeeper; -import titan.ccp.model.records.ActivePowerRecord; +import titan.ccp.models.records.ActivePowerRecord; /** * The {@code LoadGenerator} creates a load in Kafka. diff --git a/workload-generator-commons/src/main/java/theodolite/commons/workloadgeneration/communication/kafka/KafkaRecordSender.java b/workload-generator-commons/src/main/java/theodolite/commons/workloadgeneration/communication/kafka/KafkaRecordSender.java index 33818b51084ce33a564d6f30cefb26b481d0a859..210d01f7a2080bdeb36b582b08e72c7848c9fef9 100644 --- a/workload-generator-commons/src/main/java/theodolite/commons/workloadgeneration/communication/kafka/KafkaRecordSender.java +++ b/workload-generator-commons/src/main/java/theodolite/commons/workloadgeneration/communication/kafka/KafkaRecordSender.java @@ -2,7 +2,7 @@ package theodolite.commons.workloadgeneration.communication.kafka; import java.util.Properties; import java.util.function.Function; -import org.apache.avro.specific.SpecificRecord; +import kieker.common.record.IMonitoringRecord; import org.apache.kafka.clients.producer.KafkaProducer; import org.apache.kafka.clients.producer.Producer; import org.apache.kafka.clients.producer.ProducerRecord; @@ -10,14 +10,14 @@ import org.apache.kafka.common.serialization.StringSerializer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import theodolite.commons.workloadgeneration.functions.Transport; -import titan.ccp.common.kafka.avro.SchemaRegistryAvroSerdeFactory; +import titan.ccp.common.kieker.kafka.IMonitoringRecordSerde; /** * Sends monitoring records to Kafka. * * @param <T> {@link IMonitoringRecord} to send */ -public class KafkaRecordSender<T extends SpecificRecord> implements Transport<T> { +public class KafkaRecordSender<T extends IMonitoringRecord> implements Transport<T> { private static final Logger LOGGER = LoggerFactory.getLogger(KafkaRecordSender.class); @@ -45,10 +45,8 @@ public class KafkaRecordSender<T extends SpecificRecord> implements Transport<T> // properties.put("linger.ms", this.lingerMs); // properties.put("buffer.memory", this.bufferMemory); - final SchemaRegistryAvroSerdeFactory avroSerdeFactory = - new SchemaRegistryAvroSerdeFactory(builder.schemaRegistryUrl); this.producer = new KafkaProducer<>(properties, new StringSerializer(), - avroSerdeFactory.<T>forKeys().serializer()); + IMonitoringRecordSerde.serializer()); } /** @@ -56,7 +54,7 @@ public class KafkaRecordSender<T extends SpecificRecord> implements Transport<T> * * @param <T> Type of the records that should later be send. */ - public static class Builder<T extends SpecificRecord> { + public static class Builder<T extends IMonitoringRecord> { private final String bootstrapServers; private final String topic; diff --git a/workload-generator-commons/src/main/java/theodolite/commons/workloadgeneration/generators/KafkaWorkloadGenerator.java b/workload-generator-commons/src/main/java/theodolite/commons/workloadgeneration/generators/KafkaWorkloadGenerator.java index 944cec6a2dffed886f06fad1e36c9d35375fe15c..9cce7e56390a2f5076e4030b25b1697db2179dae 100644 --- a/workload-generator-commons/src/main/java/theodolite/commons/workloadgeneration/generators/KafkaWorkloadGenerator.java +++ b/workload-generator-commons/src/main/java/theodolite/commons/workloadgeneration/generators/KafkaWorkloadGenerator.java @@ -1,7 +1,7 @@ package theodolite.commons.workloadgeneration.generators; import java.time.Duration; -import org.apache.avro.specific.SpecificRecord; +import kieker.common.record.IMonitoringRecord; import theodolite.commons.workloadgeneration.communication.kafka.KafkaRecordSender; import theodolite.commons.workloadgeneration.dimensions.KeySpace; import theodolite.commons.workloadgeneration.functions.BeforeAction; @@ -13,7 +13,7 @@ import theodolite.commons.workloadgeneration.misc.ZooKeeper; * * @param <T> The type of records the workload generator is dedicated for. */ -public class KafkaWorkloadGenerator<T extends SpecificRecord> +public class KafkaWorkloadGenerator<T extends IMonitoringRecord> extends AbstractWorkloadGenerator<T> { private final KafkaRecordSender<T> recordSender; diff --git a/workload-generator-commons/src/main/java/theodolite/commons/workloadgeneration/generators/KafkaWorkloadGeneratorBuilder.java b/workload-generator-commons/src/main/java/theodolite/commons/workloadgeneration/generators/KafkaWorkloadGeneratorBuilder.java index 785087c13480b7149a5726dfce8bbf4307b57933..165709a11965c771cb41f3b9b0f75f3e6fe400a7 100644 --- a/workload-generator-commons/src/main/java/theodolite/commons/workloadgeneration/generators/KafkaWorkloadGeneratorBuilder.java +++ b/workload-generator-commons/src/main/java/theodolite/commons/workloadgeneration/generators/KafkaWorkloadGeneratorBuilder.java @@ -2,7 +2,7 @@ package theodolite.commons.workloadgeneration.generators; import java.time.Duration; import java.util.Objects; -import org.apache.avro.specific.SpecificRecord; +import kieker.common.record.IMonitoringRecord; import theodolite.commons.workloadgeneration.communication.kafka.KafkaRecordSender; import theodolite.commons.workloadgeneration.dimensions.KeySpace; import theodolite.commons.workloadgeneration.functions.BeforeAction; @@ -14,7 +14,7 @@ import theodolite.commons.workloadgeneration.misc.ZooKeeper; * * @param <T> the record for which the builder is dedicated for. */ -public final class KafkaWorkloadGeneratorBuilder<T extends SpecificRecord> { // NOPMD +public final class KafkaWorkloadGeneratorBuilder<T extends IMonitoringRecord> { // NOPMD private int instances; // NOPMD private ZooKeeper zooKeeper; // NOPMD @@ -35,7 +35,7 @@ public final class KafkaWorkloadGeneratorBuilder<T extends SpecificRecord> { // * * @return the builder. */ - public static <T extends SpecificRecord> KafkaWorkloadGeneratorBuilder<T> builder() { + public static <T extends IMonitoringRecord> KafkaWorkloadGeneratorBuilder<T> builder() { return new KafkaWorkloadGeneratorBuilder<>(); }