Skip to content

Commit e277db1

Browse files
authored
Fix init (#1)
1 parent 396490a commit e277db1

File tree

10 files changed

+179
-46
lines changed

10 files changed

+179
-46
lines changed

.github/release_drafter.yaml

Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
name-template: '$RESOLVED_VERSION'
2+
tag-template: 'v$RESOLVED_VERSION'
3+
template: |
4+
## Changes
5+
$CHANGES
6+
## Contributors
7+
$CONTRIBUTORS
8+
9+
exclude-labels:
10+
- 'scope/infrastructure'
11+
- 'scope/QA'
12+
- 'scope/AQA'
13+
- 'type/dependencies'
14+
- 'type/chore'
15+
- 'type/documentation'
16+
- 'type/refactoring'
17+
18+
categories:
19+
- title: '⚙️Features'
20+
labels:
21+
- 'type/feature'
22+
- title: '🪛Enhancements'
23+
labels:
24+
- 'type/enhancement'
25+
- title: '🔨Bug Fixes'
26+
labels:
27+
- 'type/bug'
28+
- title: 'Security'
29+
labels:
30+
- 'type/security'
31+
- title: '⎈ Helm/K8S Changes'
32+
labels:
33+
- 'scope/k8s'
34+
35+
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
36+
37+
version-resolver:
38+
major:
39+
labels:
40+
- 'major'
41+
minor:
42+
labels:
43+
- 'minor'
44+
patch:
45+
labels:
46+
- 'patch'
47+
default: patch

.github/workflows/pr.yaml

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
name: Pull Request Build
2+
3+
on:
4+
5+
pull_request:
6+
types: [ "opened", "reopened", "synchronize", ]
7+
8+
jobs:
9+
release:
10+
runs-on: ubuntu-latest
11+
outputs:
12+
version: ${{steps.build.outputs.version}}
13+
steps:
14+
- uses: actions/checkout@v3
15+
with:
16+
fetch-depth: 0
17+
18+
- name: Set up JDK
19+
uses: actions/setup-java@v3
20+
with:
21+
java-version: '17'
22+
distribution: 'zulu'
23+
cache: 'maven'
24+
25+
- name: Build with Maven
26+
id: build
27+
run: |
28+
mvn -B -V -ntp clean package

.github/workflows/release.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -36,11 +36,11 @@ jobs:
3636
uses: svenstaro/upload-release-action@2.3.0
3737
with:
3838
repo_token: ${{ secrets.GITHUB_TOKEN }}
39-
file: target/kafka-ui-smile-serde-${{ steps.build.outputs.version }}-jar-with-dependencies.jar
39+
file: target/serde-smile-${{ steps.build.outputs.version }}-jar-with-dependencies.jar
4040
tag: ${{ github.event.release.tag_name }}
4141

4242
- name: Archive JAR
4343
uses: actions/upload-artifact@v3
4444
with:
45-
name: kafka-ui-smile-serde-${{ steps.build.outputs.version }}
46-
path: target/kafka-ui-smile-serde-${{ steps.build.outputs.version }}-jar-with-dependencies.jar
45+
name: serde-smile-${{ steps.build.outputs.version }}.jar
46+
path: target/serde-smile-${{ steps.build.outputs.version }}-jar-with-dependencies.jar
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
name: Release Drafter
2+
3+
on:
4+
push:
5+
# branches to consider in the event; optional, defaults to all
6+
branches:
7+
- main
8+
workflow_dispatch:
9+
10+
jobs:
11+
update_release_draft:
12+
runs-on: ubuntu-latest
13+
steps:
14+
- uses: release-drafter/release-drafter@v5
15+
with:
16+
config-name: release_drafter.yaml
17+
disable-autolabeler: true
18+
env:
19+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

.gitignore

Lines changed: 42 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,44 @@
1+
target/
2+
!.mvn/wrapper/maven-wrapper.jar
3+
!**/src/main/**
4+
!**/src/test/**
5+
6+
### STS ###
7+
.apt_generated
8+
.classpath
9+
.factorypath
10+
.project
11+
.settings
12+
.springBeans
13+
.sts4-cache
14+
15+
### IntelliJ IDEA ###
16+
.idea
17+
*.iws
18+
*.iml
19+
*.ipr
20+
21+
### NetBeans ###
22+
/nbproject/private/
23+
/nbbuild/
24+
/dist/
25+
/nbdist/
26+
/.nb-gradle/
27+
build/
28+
29+
### VS Code ###
30+
.vscode/
31+
/kafka-ui-api/app/node
32+
33+
.DS_Store
34+
*.code-workspace
35+
36+
37+
*.tar.gz
38+
*.tgz
39+
40+
/docker/*.override.yaml
41+
=======
142
# Compiled class file
243
*.class
344

@@ -20,4 +61,4 @@
2061
*.rar
2162

2263
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
23-
hs_err_pid*
64+
hs_err_pid*

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Smile serde plugin for kafka-ui
22

3-
This is sample pluggable serde implementation for [kafka-ui](https://github.com/provectus/kafka-ui/).
3+
This is sample pluggable serde implementation for [kafka-ui](https://github.com/kafbat/kafka-ui/).
44

55
This serde uses [Jackson library](https://github.com/FasterXML/jackson-dataformats-binary) as a [Smile](https://github.com/FasterXML/smile-format-specification) format parser/generator implementation.
66

docker-compose/setup-example.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ services:
44

55
kafka-ui:
66
container_name: kafka-ui
7-
image: provectuslabs/kafka-ui:latest
7+
image: ghcr.io/kafbat/kafka-ui:latest
88
ports:
99
- 8080:8080
1010
depends_on:
@@ -16,19 +16,19 @@ services:
1616

1717
kafka.clusters.0.serde.0.name: Smile (Default)
1818
kafka.clusters.0.serde.0.filePath: /smile-serde/kafka-ui-smile-serde-0.0.1-SNAPSHOT-jar-with-dependencies.jar
19-
kafka.clusters.0.serde.0.className: com.provectus.kafka.ui.serdes.smile.SmileSerde
19+
kafka.clusters.0.serde.0.className: io.kafbat.serde.smile.SmileSerde
2020

2121
kafka.clusters.0.serde.1.name: Smile (Without header)
2222
kafka.clusters.0.serde.1.filePath: /smile-serde/kafka-ui-smile-serde-0.0.1-SNAPSHOT-jar-with-dependencies.jar
23-
kafka.clusters.0.serde.1.className: com.provectus.kafka.ui.serdes.smile.SmileSerde
23+
kafka.clusters.0.serde.1.className: io.kafbat.serde.smile.SmileSerde
2424
# you can enable/disable parsers's and generator's features:
2525
kafka.clusters.0.serde.1.properties.generator.WRITE_HEADER: "false"
2626
kafka.clusters.0.serde.1.properties.parser.REQUIRE_HEADER: "false"
2727

2828
# you can also use upper-cased variables like that:
2929
# KAFKA_CLUSTERS_0_SERDE_1_NAME: Smile
3030
# KAFKA_CLUSTERS_0_SERDE_1_FILE_PATH: /smile-serde
31-
# KAFKA_CLUSTERS_0_SERDE_1_CLASS_NAME: com.provectus.kafka.ui.serdes.smile.SmileSerde
31+
# KAFKA_CLUSTERS_0_SERDE_1_CLASS_NAME: io.kafbat.serde.smile.SmileSerde
3232
# KAFKA_CLUSTERS_0_SERDE_1_PROPERTIES_PARSER_REQUIRE_HEADER: "false"
3333
# KAFKA_CLUSTERS_0_SERDE_1_PROPERTIES_GENERATOR_WRITE_HEADER: "false"
3434
volumes:

pom.xml

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,13 @@
33
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
44
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
55

6-
<groupId>com.provectus</groupId>
7-
<version>0.0.1-SNAPSHOT</version>
86
<modelVersion>4.0.0</modelVersion>
9-
<artifactId>kafka-ui-smile-serde</artifactId>
7+
8+
<groupId>io.kafbat.ui.serde</groupId>
9+
<artifactId>serde-smile</artifactId>
10+
<name>kafbat-ui-serde-glue</name>
11+
12+
<version>1.0-SNAPSHOT</version>
1013
<packaging>jar</packaging>
1114

1215
<properties>
@@ -17,11 +20,12 @@
1720

1821
<dependencies>
1922
<dependency>
20-
<groupId>com.provectus</groupId>
21-
<artifactId>kafka-ui-serde-api</artifactId>
22-
<version>1.1.0</version>
23+
<groupId>io.kafbat.ui</groupId>
24+
<artifactId>serde-api</artifactId>
25+
<version>1.0.0</version>
2326
<scope>provided</scope>
2427
</dependency>
28+
2529
<dependency>
2630
<groupId>com.fasterxml.jackson.dataformat</groupId>
2731
<artifactId>jackson-dataformat-smile</artifactId>

src/main/java/com/provectus/kafka/ui/serdes/smile/SmileSerde.java renamed to src/main/java/io/kafbat/serde/smile/SmileSerde.java

Lines changed: 19 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
package com.provectus.kafka.ui.serdes.smile;
1+
package io.kafbat.serde.smile;
22

33
import com.fasterxml.jackson.core.JsonProcessingException;
44
import com.fasterxml.jackson.databind.JsonNode;
@@ -7,11 +7,10 @@
77
import com.fasterxml.jackson.dataformat.smile.SmileGenerator;
88
import com.fasterxml.jackson.dataformat.smile.SmileParser;
99
import com.fasterxml.jackson.dataformat.smile.databind.SmileMapper;
10-
import com.provectus.kafka.ui.serde.api.DeserializeResult;
11-
import com.provectus.kafka.ui.serde.api.PropertyResolver;
12-
import com.provectus.kafka.ui.serde.api.RecordHeaders;
13-
import com.provectus.kafka.ui.serde.api.SchemaDescription;
14-
import com.provectus.kafka.ui.serde.api.Serde;
10+
import io.kafbat.ui.serde.api.DeserializeResult;
11+
import io.kafbat.ui.serde.api.PropertyResolver;
12+
import io.kafbat.ui.serde.api.SchemaDescription;
13+
import io.kafbat.ui.serde.api.Serde;
1514
import java.io.IOException;
1615
import java.util.Collections;
1716
import java.util.Optional;
@@ -59,32 +58,26 @@ public boolean canSerialize(String topic, Target target) {
5958

6059
@Override
6160
public Serializer serializer(String topic, Target target) {
62-
return new Serializer() {
63-
@Override
64-
public byte[] serialize(String inputString) {
65-
try {
66-
JsonNode jsonNode = JSON_MAPPER.readTree(inputString);
67-
return smileMapper.writeValueAsBytes(jsonNode);
68-
} catch (JsonProcessingException e) {
69-
throw new RuntimeException("Serialization error", e);
70-
}
61+
return inputString -> {
62+
try {
63+
JsonNode jsonNode = JSON_MAPPER.readTree(inputString);
64+
return smileMapper.writeValueAsBytes(jsonNode);
65+
} catch (JsonProcessingException e) {
66+
throw new RuntimeException("Serialization error", e);
7167
}
7268
};
7369
}
7470

7571
@Override
7672
public Deserializer deserializer(String topic, Target target) {
77-
return new Deserializer() {
78-
@Override
79-
public DeserializeResult deserialize(RecordHeaders recordHeaders, byte[] bytes) {
80-
try {
81-
return new DeserializeResult(
82-
smileMapper.readTree(bytes).toString(),
83-
DeserializeResult.Type.JSON,
84-
Collections.emptyMap());
85-
} catch (IOException e) {
86-
throw new RuntimeException("Deserialization error", e);
87-
}
73+
return (recordHeaders, bytes) -> {
74+
try {
75+
return new DeserializeResult(
76+
smileMapper.readTree(bytes).toString(),
77+
DeserializeResult.Type.JSON,
78+
Collections.emptyMap());
79+
} catch (IOException e) {
80+
throw new RuntimeException("Deserialization error", e);
8881
}
8982
};
9083
}

src/test/java/com/provectus/kafka/ui/serdes/smile/SmileSerdeTest.java renamed to src/test/java/io/kafbat/serde/smile/SmileSerdeTest.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,19 @@
1-
package com.provectus.kafka.ui.serdes.smile;
1+
package io.kafbat.serde.smile;
22

33

44
import static org.junit.jupiter.api.Assertions.assertEquals;
55
import static org.junit.jupiter.api.Assertions.assertFalse;
66
import static org.junit.jupiter.api.Assertions.assertTrue;
7-
import static org.mockito.Mockito.*;
7+
import static org.mockito.Mockito.mock;
8+
import static org.mockito.Mockito.when;
89

910
import com.fasterxml.jackson.core.JsonProcessingException;
1011
import com.fasterxml.jackson.databind.json.JsonMapper;
1112
import com.fasterxml.jackson.dataformat.smile.SmileGenerator;
1213
import com.fasterxml.jackson.dataformat.smile.SmileParser;
13-
import com.provectus.kafka.ui.serde.api.DeserializeResult;
14-
import com.provectus.kafka.ui.serde.api.PropertyResolver;
15-
import com.provectus.kafka.ui.serde.api.Serde;
14+
import io.kafbat.ui.serde.api.DeserializeResult;
15+
import io.kafbat.ui.serde.api.PropertyResolver;
16+
import io.kafbat.ui.serde.api.Serde;
1617
import java.util.Map;
1718
import java.util.Optional;
1819
import org.junit.jupiter.api.BeforeEach;

0 commit comments

Comments
 (0)