Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 10 additions & 4 deletions .github/workflows/linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,13 @@ jobs:
formatting:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3 # v2 minimum required
- uses: axel-op/googlejavaformat-action@v3
with:
args: "--set-exit-if-changed"
- name: Checkout Code
uses: actions/checkout@v3 # v2 minimum required
- name: Lint Codebase
uses: github/super-linter@v5
env:
VALIDATE_ALL_CODEBASE: true
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
SSH_KEY: ${{ secrets.SSH_PRIVATE_KEY }}
LINTER_RULES_PATH: /
JAVA_FILE_NAME: checkstyle_checks.xml
392 changes: 392 additions & 0 deletions checkstyle_checks.xml

Large diffs are not rendered by default.

Empty file added scripts/prognose.py
Empty file.
Original file line number Diff line number Diff line change
@@ -1,14 +1,12 @@
// package com.example.kafka;
package com.ganges.examples.interceptor_consumer;

import java.util.Properties;
import java.util.Arrays;
import java.time.Duration;

import java.util.Collections;
import java.util.Properties;
import org.apache.kafka.clients.consumer.ConsumerConfig;
import org.apache.kafka.clients.consumer.KafkaConsumer;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.apache.kafka.clients.consumer.KafkaConsumer;

public class DemoConsumer {
public static void main(String[] args) {
Expand All @@ -24,12 +22,13 @@ public static void main(String[] args) {
props.setProperty(
ConsumerConfig.INTERCEPTOR_CLASSES_CONFIG, DemoConsumerInterceptor.class.getName());
KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
consumer.subscribe(Arrays.asList("energy-usage"));
consumer.subscribe(Collections.singletonList("energy-usage"));
while (true) {
ConsumerRecords<String, String> records = consumer.poll(Duration.ofMillis(100));
for (ConsumerRecord<String, String> record : records)
for (ConsumerRecord<String, String> record : records) {
System.out.printf(
"offset = %d, key = %s, value = %s%n", record.offset(), record.key(), record.value());
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,12 +1,15 @@
package com.ganges.examples.interceptor_consumer;

import java.util.ArrayList;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import org.apache.kafka.clients.consumer.ConsumerInterceptor;
import org.apache.kafka.clients.consumer.ConsumerRecord;
import org.apache.kafka.clients.consumer.ConsumerRecords;
import org.apache.kafka.clients.consumer.OffsetAndMetadata;
import org.apache.kafka.common.TopicPartition;

import java.util.*;

// import static jdk.internal.org.jline.reader.impl.LineReaderImpl.CompletionType.List;
public class DemoConsumerInterceptor implements ConsumerInterceptor<String, String> {
Expand All @@ -19,9 +22,7 @@ public ConsumerRecords<String, String> onConsume(
// Source for iter:
// https://stackoverflow.com/questions/1839668/what-is-the-best-way-to-combine-two-lists-into-a-map-java
List<ConsumerRecord<String, String>> mutatedRecords = new ArrayList<>();
Iterator<ConsumerRecord<String, String>> iter = consumerRecords.iterator();
while (iter.hasNext()) {
ConsumerRecord<String, String> element = iter.next();
for (ConsumerRecord<String, String> element : consumerRecords) {
topicpartition = new TopicPartition(element.topic(), element.partition());
ConsumerRecord<String, String> mutatedRecord =
new ConsumerRecord<>(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
package com.ganges.examples.interceptor_producer;

import java.util.Properties;
import org.apache.kafka.clients.producer.KafkaProducer;
import org.apache.kafka.clients.producer.ProducerConfig;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.common.serialization.StringSerializer;

import java.util.Properties;

public class DemoProducer {
static final String BOOTSTRAP_SERVER = "127.0.0.1:9092";
static final String MAIN_TOPIC = "energy-usage";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
package com.ganges.examples.interceptor_producer;

import java.util.Map;
import org.apache.kafka.clients.producer.ProducerInterceptor;
import org.apache.kafka.clients.producer.ProducerRecord;
import org.apache.kafka.clients.producer.RecordMetadata;

import java.util.Map;

public class DemoProducerInterceptor implements ProducerInterceptor<String, String> {
@Override
public ProducerRecord<String, String> onSend(ProducerRecord<String, String> producerRecord) {
Expand Down
2 changes: 1 addition & 1 deletion src/main/java/myapps/AnonymizationAlgorithm.java
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
package myapps;

public interface AnonymizationAlgorithm {
double[][] anonymize(double[][] X);
double[][] anonymize(double[][] x);
}
5 changes: 3 additions & 2 deletions src/main/java/serdes/AnonymizedMessage.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
package serdes;

public interface AnonymizedMessage {
public String getId();
public Double[] getValuesListByKeys(String[] keys);
String getId();

Double[] getValuesListByKeys(String[] keys);

}
79 changes: 42 additions & 37 deletions src/main/java/serdes/chargingstation/ChargingStationMessage.java
Original file line number Diff line number Diff line change
@@ -1,52 +1,57 @@
package serdes.chargingstation;
import java.io.Serializable;
import java.util.UUID;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonRootName;
import java.io.Serializable;
import java.util.UUID;
import lombok.Data;
import serdes.AnonymizedMessage;

@JsonRootName("chargingStationMessage")
@Data
public class ChargingStationMessage implements Serializable, AnonymizedMessage {
private UUID aeSessionId;
private String buildingType;
private float urbanisationLevel;
private int numberLoadingStations;
private int numberParkingSpaces;
private long startTimeLoading;
private long endTimeLoading;
private int loadingTime;
private float kwh;
private int loadingPotential;
private UUID aeSessionId;
private String buildingType;
private float urbanisationLevel;
private int numberLoadingStations;
private int numberParkingSpaces;
private long startTimeLoading;
private long endTimeLoading;
private int loadingTime;
private float kwh;
private int loadingPotential;

@JsonCreator
public ChargingStationMessage(@JsonProperty("ae_session_id")UUID ae_session_id, @JsonProperty("building_type") String building_type,
@JsonProperty("urbanisation_level") float urbanisation_level, @JsonProperty("number_loading_stations") int number_loading_stations,
@JsonProperty("number_parking_spaces") int number_parking_spaces, @JsonProperty("start_time_loading")long start_time_loading,
@JsonProperty("end_time_loading") long end_time_loading, @JsonProperty("loading_time") int loading_time,
@JsonProperty("kwh") float kwh, @JsonProperty("loading_potential")int loading_potential){
this.aeSessionId = ae_session_id;
this.buildingType = building_type;
this.urbanisationLevel = urbanisation_level;
this.numberLoadingStations = number_loading_stations;
this.numberParkingSpaces = number_parking_spaces;
this.startTimeLoading = start_time_loading;
this.endTimeLoading = end_time_loading;
this.loadingTime = loading_time;
this.kwh = kwh;
this.loadingPotential = loading_potential;
}
@JsonCreator
public ChargingStationMessage(@JsonProperty("ae_session_id")UUID aeSessionId,
@JsonProperty("building_type") String buildingType,
@JsonProperty("urbanisation_level") float urbanisationLevel,
@JsonProperty("number_loading_stations") int numberLoadingStations,
@JsonProperty("number_parking_spaces") int numberParkingSpaces,
@JsonProperty("start_time_loading")long startTimeLoading,
@JsonProperty("end_time_loading") long endTimeLoading,
@JsonProperty("loading_time") int loadingTime,
@JsonProperty("kwh") float kwh,
@JsonProperty("loading_potential")int loadingPotential) {
this.aeSessionId = aeSessionId;
this.buildingType = buildingType;
this.urbanisationLevel = urbanisationLevel;
this.numberLoadingStations = numberLoadingStations;
this.numberParkingSpaces = numberParkingSpaces;
this.startTimeLoading = startTimeLoading;
this.endTimeLoading = endTimeLoading;
this.loadingTime = loadingTime;
this.kwh = kwh;
this.loadingPotential = loadingPotential;
}

@Override
public String getId() {
return aeSessionId.toString();
}
@Override
public String getId() {
return aeSessionId.toString();
}

@Override
public Double[] getValuesListByKeys(String[] keys) {
return new Double[0]; // TODO: Move function from pipe her
}
@Override
public Double[] getValuesListByKeys(String[] keys) {
return new Double[0]; // TODO: Move function from pipe her
}
}