11package com .provectus .kafka .ui .service .integration .odd .schema ;
22
33import com .google .common .collect .ImmutableSet ;
4- import com .provectus .kafka .ui .service .integration .odd .Oddrn ;
54import com .provectus .kafka .ui .sr .model .SchemaSubject ;
65import java .util .ArrayList ;
76import java .util .List ;
8- import lombok .experimental .UtilityClass ;
97import org .apache .avro .Schema ;
108import org .opendatadiscovery .client .model .DataSetField ;
119import org .opendatadiscovery .client .model .DataSetFieldType ;
1210import org .opendatadiscovery .oddrn .model .KafkaPath ;
1311
14- @ UtilityClass
15- class AvroExtractor {
12+ final class AvroExtractor {
13+
14+ private AvroExtractor () {
15+ }
1616
1717 static List <DataSetField > extract (SchemaSubject subject , KafkaPath topicOddrn , boolean isKey ) {
1818 var schema = new Schema .Parser ().parse (subject .getSchema ());
@@ -31,14 +31,14 @@ static List<DataSetField> extract(SchemaSubject subject, KafkaPath topicOddrn, b
3131 return result ;
3232 }
3333
34- private void extract (Schema schema ,
35- String parentOddr ,
36- String oddrn , //null for root
37- String name ,
38- String doc ,
39- Boolean nullable ,
40- ImmutableSet <String > registeredRecords ,
41- List <DataSetField > sink
34+ private static void extract (Schema schema ,
35+ String parentOddr ,
36+ String oddrn , //null for root
37+ String name ,
38+ String doc ,
39+ Boolean nullable ,
40+ ImmutableSet <String > registeredRecords ,
41+ List <DataSetField > sink
4242 ) {
4343 switch (schema .getType ()) {
4444 case RECORD -> extractRecord (schema , parentOddr , oddrn , name , doc , nullable , registeredRecords , sink );
@@ -49,12 +49,12 @@ private void extract(Schema schema,
4949 }
5050 }
5151
52- private DataSetField createDataSetField (String name ,
53- String doc ,
54- String parentOddrn ,
55- String oddrn ,
56- Schema schema ,
57- Boolean nullable ) {
52+ private static DataSetField createDataSetField (String name ,
53+ String doc ,
54+ String parentOddrn ,
55+ String oddrn ,
56+ Schema schema ,
57+ Boolean nullable ) {
5858 return new DataSetField ()
5959 .name (name )
6060 .description (doc )
@@ -63,14 +63,14 @@ private DataSetField createDataSetField(String name,
6363 .type (mapSchema (schema , nullable ));
6464 }
6565
66- private void extractRecord (Schema schema ,
67- String parentOddr ,
68- String oddrn , //null for root
69- String name ,
70- String doc ,
71- Boolean nullable ,
72- ImmutableSet <String > registeredRecords ,
73- List <DataSetField > sink ) {
66+ private static void extractRecord (Schema schema ,
67+ String parentOddr ,
68+ String oddrn , //null for root
69+ String name ,
70+ String doc ,
71+ Boolean nullable ,
72+ ImmutableSet <String > registeredRecords ,
73+ List <DataSetField > sink ) {
7474 boolean isRoot = oddrn == null ;
7575 if (!isRoot ) {
7676 sink .add (createDataSetField (name , doc , parentOddr , oddrn , schema , nullable ));
@@ -99,13 +99,13 @@ private void extractRecord(Schema schema,
9999 ));
100100 }
101101
102- private void extractUnion (Schema schema ,
103- String parentOddr ,
104- String oddrn , //null for root
105- String name ,
106- String doc ,
107- ImmutableSet <String > registeredRecords ,
108- List <DataSetField > sink ) {
102+ private static void extractUnion (Schema schema ,
103+ String parentOddr ,
104+ String oddrn , //null for root
105+ String name ,
106+ String doc ,
107+ ImmutableSet <String > registeredRecords ,
108+ List <DataSetField > sink ) {
109109 boolean isRoot = oddrn == null ;
110110 boolean containsNull = schema .getTypes ().stream ().map (Schema ::getType ).anyMatch (t -> t == Schema .Type .NULL );
111111 // if it is not root and there is only 2 values for union (null and smth else)
@@ -149,14 +149,14 @@ private void extractUnion(Schema schema,
149149 }
150150 }
151151
152- private void extractArray (Schema schema ,
153- String parentOddr ,
154- String oddrn , //null for root
155- String name ,
156- String doc ,
157- Boolean nullable ,
158- ImmutableSet <String > registeredRecords ,
159- List <DataSetField > sink ) {
152+ private static void extractArray (Schema schema ,
153+ String parentOddr ,
154+ String oddrn , //null for root
155+ String name ,
156+ String doc ,
157+ Boolean nullable ,
158+ ImmutableSet <String > registeredRecords ,
159+ List <DataSetField > sink ) {
160160 boolean isRoot = oddrn == null ;
161161 oddrn = isRoot ? parentOddr + "/array" : oddrn ;
162162 if (isRoot ) {
@@ -176,14 +176,14 @@ private void extractArray(Schema schema,
176176 );
177177 }
178178
179- private void extractMap (Schema schema ,
180- String parentOddr ,
181- String oddrn , //null for root
182- String name ,
183- String doc ,
184- Boolean nullable ,
185- ImmutableSet <String > registeredRecords ,
186- List <DataSetField > sink ) {
179+ private static void extractMap (Schema schema ,
180+ String parentOddr ,
181+ String oddrn , //null for root
182+ String name ,
183+ String doc ,
184+ Boolean nullable ,
185+ ImmutableSet <String > registeredRecords ,
186+ List <DataSetField > sink ) {
187187 boolean isRoot = oddrn == null ;
188188 oddrn = isRoot ? parentOddr + "/map" : oddrn ;
189189 if (isRoot ) {
@@ -214,13 +214,13 @@ private void extractMap(Schema schema,
214214 }
215215
216216
217- private void extractPrimitive (Schema schema ,
218- String parentOddr ,
219- String oddrn , //null for root
220- String name ,
221- String doc ,
222- Boolean nullable ,
223- List <DataSetField > sink ) {
217+ private static void extractPrimitive (Schema schema ,
218+ String parentOddr ,
219+ String oddrn , //null for root
220+ String name ,
221+ String doc ,
222+ Boolean nullable ,
223+ List <DataSetField > sink ) {
224224 boolean isRoot = oddrn == null ;
225225 String primOddrn = isRoot ? (parentOddr + "/" + schema .getType ()) : oddrn ;
226226 if (isRoot ) {
@@ -231,7 +231,7 @@ private void extractPrimitive(Schema schema,
231231 }
232232 }
233233
234- private DataSetFieldType .TypeEnum mapType (Schema .Type type ) {
234+ private static DataSetFieldType .TypeEnum mapType (Schema .Type type ) {
235235 return switch (type ) {
236236 case INT , LONG -> DataSetFieldType .TypeEnum .INTEGER ;
237237 case FLOAT , DOUBLE , FIXED -> DataSetFieldType .TypeEnum .NUMBER ;
@@ -246,14 +246,14 @@ private DataSetFieldType.TypeEnum mapType(Schema.Type type) {
246246 };
247247 }
248248
249- private DataSetFieldType mapSchema (Schema schema , Boolean nullable ) {
249+ private static DataSetFieldType mapSchema (Schema schema , Boolean nullable ) {
250250 return new DataSetFieldType ()
251251 .logicalType (logicalType (schema ))
252252 .isNullable (nullable )
253253 .type (mapType (schema .getType ()));
254254 }
255255
256- private String logicalType (Schema schema ) {
256+ private static String logicalType (Schema schema ) {
257257 return schema .getType () == Schema .Type .RECORD
258258 ? schema .getFullName ()
259259 : schema .getType ().toString ().toLowerCase ();
0 commit comments