Skip to content

Commit 844fbc9

Browse files
authored
BE: Clean some Sonar issues (#832)
1 parent cb52c06 commit 844fbc9

34 files changed

+172
-184
lines changed

api/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -329,7 +329,7 @@
329329
<groupId>org.apache.maven.plugins</groupId>
330330
<artifactId>maven-surefire-plugin</artifactId>
331331
<configuration>
332-
<argLine>@{argLine} --illegal-access=permit</argLine>
332+
<argLine>@{argLine}</argLine>
333333
</configuration>
334334
</plugin>
335335
<plugin>

api/src/main/java/io/kafbat/ui/exception/CelException.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
package io.kafbat.ui.exception;
22

3+
import lombok.Getter;
4+
5+
@Getter
36
public class CelException extends CustomBaseException {
4-
private String celOriginalExpression;
7+
private final String celOriginalExpression;
58

69
public CelException(String celOriginalExpression, String errorMessage) {
710
super("CEL error. Original expression: %s. Error message: %s".formatted(celOriginalExpression, errorMessage));

api/src/main/java/io/kafbat/ui/exception/GlobalErrorWebExceptionHandler.java

+7-9
Original file line numberDiff line numberDiff line change
@@ -54,18 +54,18 @@ private Mono<ServerResponse> renderErrorResponse(ServerRequest request) {
5454
Throwable throwable = getError(request);
5555

5656
// validation and params binding errors
57-
if (throwable instanceof WebExchangeBindException) {
58-
return render((WebExchangeBindException) throwable, request);
57+
if (throwable instanceof WebExchangeBindException webExchangeBindException) {
58+
return render(webExchangeBindException, request);
5959
}
6060

6161
// requests mapping & access errors
62-
if (throwable instanceof ResponseStatusException) {
63-
return render((ResponseStatusException) throwable, request);
62+
if (throwable instanceof ResponseStatusException responseStatusException) {
63+
return render(responseStatusException, request);
6464
}
6565

6666
// custom exceptions
67-
if (throwable instanceof CustomBaseException) {
68-
return render((CustomBaseException) throwable, request);
67+
if (throwable instanceof CustomBaseException customBaseException) {
68+
return render(customBaseException, request);
6969
}
7070

7171
return renderDefault(throwable, request);
@@ -151,9 +151,7 @@ private String requestId(ServerRequest request) {
151151
}
152152

153153
private Consumer<HttpHeaders> headers(ServerRequest request) {
154-
return (HttpHeaders headers) -> {
155-
CorsGlobalConfiguration.fillCorsHeader(headers, request.exchange().getRequest());
156-
};
154+
return (HttpHeaders headers) -> CorsGlobalConfiguration.fillCorsHeader(headers, request.exchange().getRequest());
157155
}
158156

159157
private BigDecimal currentTimestamp() {

api/src/main/java/io/kafbat/ui/model/rbac/provider/Provider.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ public static Provider fromString(String name) {
2121
}
2222

2323
public static class Name {
24-
public static String GOOGLE = "google";
25-
public static String GITHUB = "github";
26-
public static String COGNITO = "cognito";
24+
public static final String GOOGLE = "google";
25+
public static final String GITHUB = "github";
26+
public static final String COGNITO = "cognito";
2727

28-
public static String OAUTH = "oauth";
28+
public static final String OAUTH = "oauth";
2929
}
3030

3131
}

api/src/main/java/io/kafbat/ui/serdes/builtin/Base64Serde.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public Serde.Serializer serializer(String topic, Serde.Target type) {
4040
return inputString -> {
4141
inputString = inputString.trim();
4242
// it is actually a hack to provide ability to sent empty array as a key/value
43-
if (inputString.length() == 0) {
43+
if (inputString.isEmpty()) {
4444
return new byte[] {};
4545
}
4646
return decoder.decode(inputString);

api/src/main/java/io/kafbat/ui/serdes/builtin/HexSerde.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public Serializer serializer(String topic, Target type) {
6262
return input -> {
6363
input = input.trim();
6464
// it is a hack to provide ability to sent empty array as a key/value
65-
if (input.length() == 0) {
65+
if (input.isEmpty()) {
6666
return new byte[] {};
6767
}
6868
return HexFormat.of().parseHex(prepareInputForParse(input));

api/src/main/java/io/kafbat/ui/serdes/builtin/ProtobufFileSerde.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -383,9 +383,9 @@ private ProtoFile loadKnownProtoFile(String path, Descriptors.FileDescriptor fil
383383
String protoFileString = null;
384384
// know type file contains either message or enum
385385
if (!fileDescriptor.getMessageTypes().isEmpty()) {
386-
protoFileString = new ProtobufSchema(fileDescriptor.getMessageTypes().get(0)).canonicalString();
386+
protoFileString = new ProtobufSchema(fileDescriptor.getMessageTypes().getFirst()).canonicalString();
387387
} else if (!fileDescriptor.getEnumTypes().isEmpty()) {
388-
protoFileString = new ProtobufSchema(fileDescriptor.getEnumTypes().get(0)).canonicalString();
388+
protoFileString = new ProtobufSchema(fileDescriptor.getEnumTypes().getFirst()).canonicalString();
389389
} else {
390390
throw new IllegalStateException();
391391
}

api/src/main/java/io/kafbat/ui/service/audit/AuditRecord.java

+6-8
Original file line numberDiff line numberDiff line change
@@ -53,14 +53,12 @@ static OperationResult successful() {
5353
}
5454

5555
static OperationResult error(Throwable th) {
56-
OperationError err = OperationError.UNRECOGNIZED_ERROR;
57-
if (th instanceof AccessDeniedException) {
58-
err = OperationError.ACCESS_DENIED;
59-
} else if (th instanceof ValidationException) {
60-
err = OperationError.VALIDATION_ERROR;
61-
} else if (th instanceof CustomBaseException) {
62-
err = OperationError.EXECUTION_ERROR;
63-
}
56+
OperationError err = switch (th) {
57+
case AccessDeniedException ignored -> OperationError.ACCESS_DENIED;
58+
case ValidationException ignored -> OperationError.VALIDATION_ERROR;
59+
case CustomBaseException ignored -> OperationError.EXECUTION_ERROR;
60+
case null, default -> OperationError.UNRECOGNIZED_ERROR;
61+
};
6462
return new OperationResult(false, err);
6563
}
6664

api/src/main/java/io/kafbat/ui/service/integration/odd/ConnectorInfo.java

+8-8
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import java.util.List;
66
import java.util.Map;
77
import java.util.Objects;
8-
import java.util.function.Function;
8+
import java.util.function.UnaryOperator;
99
import java.util.stream.Stream;
1010
import javax.annotation.Nullable;
1111
import org.apache.commons.collections.CollectionUtils;
@@ -22,7 +22,7 @@ static ConnectorInfo extract(String className,
2222
ConnectorTypeDTO type,
2323
Map<String, Object> config,
2424
List<String> topicsFromApi, // can be empty for old Connect API versions
25-
Function<String, String> topicOddrnBuilder) {
25+
UnaryOperator<String> topicOddrnBuilder) {
2626
return switch (className) {
2727
case "org.apache.kafka.connect.file.FileStreamSinkConnector",
2828
"org.apache.kafka.connect.file.FileStreamSourceConnector",
@@ -43,7 +43,7 @@ static ConnectorInfo extract(String className,
4343
private static ConnectorInfo extractFileIoConnector(ConnectorTypeDTO type,
4444
List<String> topics,
4545
Map<String, Object> config,
46-
Function<String, String> topicOddrnBuilder) {
46+
UnaryOperator<String> topicOddrnBuilder) {
4747
return new ConnectorInfo(
4848
extractInputs(type, topics, config, topicOddrnBuilder),
4949
extractOutputs(type, topics, config, topicOddrnBuilder)
@@ -53,7 +53,7 @@ private static ConnectorInfo extractFileIoConnector(ConnectorTypeDTO type,
5353
private static ConnectorInfo extractJdbcSink(ConnectorTypeDTO type,
5454
List<String> topics,
5555
Map<String, Object> config,
56-
Function<String, String> topicOddrnBuilder) {
56+
UnaryOperator<String> topicOddrnBuilder) {
5757
String tableNameFormat = (String) config.getOrDefault("table.name.format", "${topic}");
5858
List<String> targetTables = extractTopicNamesBestEffort(topics, config)
5959
.map(topic -> tableNameFormat.replace("${kafka}", topic))
@@ -106,7 +106,7 @@ private static ConnectorInfo extractDebeziumMysql(Map<String, Object> config) {
106106
private static ConnectorInfo extractS3Sink(ConnectorTypeDTO type,
107107
List<String> topics,
108108
Map<String, Object> config,
109-
Function<String, String> topicOrrdnBuilder) {
109+
UnaryOperator<String> topicOrrdnBuilder) {
110110
String bucketName = (String) config.get("s3.bucket.name");
111111
String topicsDir = (String) config.getOrDefault("topics.dir", "topics");
112112
String directoryDelim = (String) config.getOrDefault("directory.delim", "/");
@@ -122,7 +122,7 @@ private static ConnectorInfo extractS3Sink(ConnectorTypeDTO type,
122122
private static List<String> extractInputs(ConnectorTypeDTO type,
123123
List<String> topicsFromApi,
124124
Map<String, Object> config,
125-
Function<String, String> topicOrrdnBuilder) {
125+
UnaryOperator<String> topicOrrdnBuilder) {
126126
return type == ConnectorTypeDTO.SINK
127127
? extractTopicsOddrns(config, topicsFromApi, topicOrrdnBuilder)
128128
: List.of();
@@ -131,7 +131,7 @@ private static List<String> extractInputs(ConnectorTypeDTO type,
131131
private static List<String> extractOutputs(ConnectorTypeDTO type,
132132
List<String> topicsFromApi,
133133
Map<String, Object> config,
134-
Function<String, String> topicOrrdnBuilder) {
134+
UnaryOperator<String> topicOrrdnBuilder) {
135135
return type == ConnectorTypeDTO.SOURCE
136136
? extractTopicsOddrns(config, topicsFromApi, topicOrrdnBuilder)
137137
: List.of();
@@ -158,7 +158,7 @@ private static Stream<String> extractTopicNamesBestEffort(
158158

159159
private static List<String> extractTopicsOddrns(Map<String, Object> config,
160160
List<String> topicsFromApi,
161-
Function<String, String> topicOrrdnBuilder) {
161+
UnaryOperator<String> topicOrrdnBuilder) {
162162
return extractTopicNamesBestEffort(topicsFromApi, config)
163163
.map(topicOrrdnBuilder)
164164
.toList();

api/src/main/java/io/kafbat/ui/service/integration/odd/schema/JsonSchemaExtractor.java

+11-19
Original file line numberDiff line numberDiff line change
@@ -286,25 +286,17 @@ private static DataSetField createDataSetField(Schema schema,
286286
}
287287

288288
private static DataSetFieldType.TypeEnum mapType(Schema type) {
289-
if (type instanceof NumberSchema) {
290-
return DataSetFieldType.TypeEnum.NUMBER;
291-
}
292-
if (type instanceof StringSchema) {
293-
return DataSetFieldType.TypeEnum.STRING;
294-
}
295-
if (type instanceof BooleanSchema || type instanceof TrueSchema || type instanceof FalseSchema) {
296-
return DataSetFieldType.TypeEnum.BOOLEAN;
297-
}
298-
if (type instanceof ObjectSchema) {
299-
return DataSetFieldType.TypeEnum.STRUCT;
300-
}
301-
if (type instanceof ReferenceSchema s) {
302-
return mapType(s.getReferredSchema());
303-
}
304-
if (type instanceof CombinedSchema) {
305-
return DataSetFieldType.TypeEnum.UNION;
306-
}
307-
return DataSetFieldType.TypeEnum.UNKNOWN;
289+
return switch (type) {
290+
case NumberSchema ignored -> DataSetFieldType.TypeEnum.NUMBER;
291+
case StringSchema ignored -> DataSetFieldType.TypeEnum.STRING;
292+
case BooleanSchema ignored -> DataSetFieldType.TypeEnum.BOOLEAN;
293+
case TrueSchema ignored -> DataSetFieldType.TypeEnum.BOOLEAN;
294+
case FalseSchema ignored -> DataSetFieldType.TypeEnum.BOOLEAN;
295+
case ObjectSchema ignored -> DataSetFieldType.TypeEnum.STRUCT;
296+
case ReferenceSchema referenceSchema -> mapType(referenceSchema.getReferredSchema());
297+
case CombinedSchema ignored -> DataSetFieldType.TypeEnum.UNION;
298+
default -> DataSetFieldType.TypeEnum.UNKNOWN;
299+
};
308300
}
309301

310302
}

api/src/main/java/io/kafbat/ui/service/ksql/KsqlGrammar.java

+4-7
Original file line numberDiff line numberDiff line change
@@ -74,13 +74,10 @@ public static CaseInsensitiveStream from(CharStream stream) {
7474
@Override
7575
public int LA(final int i) {
7676
final int result = stream.LA(i);
77-
switch (result) {
78-
case 0:
79-
case IntStream.EOF:
80-
return result;
81-
default:
82-
return Character.toUpperCase(result);
83-
}
77+
return switch (result) {
78+
case 0, IntStream.EOF -> result;
79+
default -> Character.toUpperCase(result);
80+
};
8481
}
8582
};
8683
}

api/src/main/java/io/kafbat/ui/service/metrics/JmxMetricsFormatter.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -51,10 +51,10 @@ private static Optional<BigDecimal> convertNumericValue(Object value) {
5151
return Optional.empty();
5252
}
5353
try {
54-
if (value instanceof Long) {
55-
return Optional.of(new BigDecimal((Long) value));
56-
} else if (value instanceof Integer) {
57-
return Optional.of(new BigDecimal((Integer) value));
54+
if (value instanceof Long longValue) {
55+
return Optional.of(new BigDecimal(longValue));
56+
} else if (value instanceof Integer integerValue) {
57+
return Optional.of(new BigDecimal(integerValue));
5858
}
5959
return Optional.of(new BigDecimal(value.toString()));
6060
} catch (NumberFormatException nfe) {

api/src/main/java/io/kafbat/ui/util/jsonschema/AvroJsonSchemaConverter.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -153,12 +153,11 @@ private JsonType convertType(Schema schema) {
153153
case INT, LONG -> new SimpleJsonType(JsonType.Type.INTEGER);
154154
case MAP, RECORD -> new SimpleJsonType(JsonType.Type.OBJECT);
155155
case ENUM -> new EnumJsonType(schema.getEnumSymbols());
156-
case BYTES, STRING -> new SimpleJsonType(JsonType.Type.STRING);
157156
case NULL -> new SimpleJsonType(JsonType.Type.NULL);
158157
case ARRAY -> new SimpleJsonType(JsonType.Type.ARRAY);
159158
case FIXED, FLOAT, DOUBLE -> new SimpleJsonType(JsonType.Type.NUMBER);
160159
case BOOLEAN -> new SimpleJsonType(JsonType.Type.BOOLEAN);
161-
default -> new SimpleJsonType(JsonType.Type.STRING);
160+
default -> new SimpleJsonType(JsonType.Type.STRING); // BYTES, STRING and the remaining possibilities
162161
};
163162
}
164163
}

0 commit comments

Comments
 (0)