Skip to content

Commit d42942b

Browse files
authored
Sonar reported issues (#816)
1 parent bd242ea commit d42942b

File tree

14 files changed

+51
-43
lines changed

14 files changed

+51
-43
lines changed

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/Operator.java

+3-9
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import io.javaoperatorsdk.operator.processing.LifecycleAware;
2121

2222
@SuppressWarnings("rawtypes")
23-
public class Operator implements AutoCloseable, LifecycleAware {
23+
public class Operator implements LifecycleAware {
2424
private static final Logger log = LoggerFactory.getLogger(Operator.class);
2525
private final KubernetesClient kubernetesClient;
2626
private final ConfigurationService configurationService;
@@ -43,9 +43,9 @@ public Operator(KubernetesClient kubernetesClient, ConfigurationService configur
4343
this.configurationService = configurationService;
4444
}
4545

46-
/** Adds a shutdown hook that automatically calls {@link #close()} when the app shuts down. */
46+
/** Adds a shutdown hook that automatically calls {@link #stop()} ()} when the app shuts down. */
4747
public void installShutdownHook() {
48-
Runtime.getRuntime().addShutdownHook(new Thread(this::close));
48+
Runtime.getRuntime().addShutdownHook(new Thread(this::stop));
4949
}
5050

5151
public KubernetesClient getKubernetesClient() {
@@ -95,12 +95,6 @@ public void stop() throws OperatorException {
9595
}
9696
}
9797

98-
/** Stop the operator. */
99-
@Override
100-
public void close() {
101-
stop();
102-
}
103-
10498
/**
10599
* Add a registration requests for the specified reconciler with this operator. The effective
106100
* registration of the reconciler is delayed till the operator is started.

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/retry/GenericRetryExecution.java

+6-4
Original file line numberDiff line numberDiff line change
@@ -6,16 +6,17 @@ public class GenericRetryExecution implements RetryExecution {
66

77
private final GenericRetry genericRetry;
88

9-
private volatile int lastAttemptIndex = 0;
10-
private volatile long currentInterval;
9+
private int lastAttemptIndex = 0;
10+
private long currentInterval;
1111

1212
public GenericRetryExecution(GenericRetry genericRetry) {
1313
this.genericRetry = genericRetry;
1414
this.currentInterval = genericRetry.getInitialInterval();
1515
}
1616

1717
public Optional<Long> nextDelay() {
18-
if (genericRetry.getMaxAttempts() > -1 && lastAttemptIndex >= genericRetry.getMaxAttempts()) {
18+
if (genericRetry.getMaxAttempts() > -1
19+
&& lastAttemptIndex >= genericRetry.getMaxAttempts()) {
1920
return Optional.empty();
2021
}
2122
if (lastAttemptIndex > 1) {
@@ -30,7 +31,8 @@ public Optional<Long> nextDelay() {
3031

3132
@Override
3233
public boolean isLastAttempt() {
33-
return genericRetry.getMaxAttempts() > -1 && lastAttemptIndex >= genericRetry.getMaxAttempts();
34+
return genericRetry.getMaxAttempts() > -1
35+
&& lastAttemptIndex >= genericRetry.getMaxAttempts();
3436
}
3537

3638
@Override

operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/event/ReconciliationDispatcherTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -103,7 +103,7 @@ void addFinalizerOnNewResource() {
103103
verify(customResourceFacade, times(1))
104104
.replaceWithLock(
105105
argThat(testCustomResource -> testCustomResource.hasFinalizer(DEFAULT_FINALIZER)));
106-
assertThat(testCustomResource.hasFinalizer(DEFAULT_FINALIZER));
106+
assertThat(testCustomResource.hasFinalizer(DEFAULT_FINALIZER)).isTrue();
107107
}
108108

109109
@Test
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
import static org.mockito.Mockito.mock;
88

9-
public class AbstractEventSourceTest<S extends EventSource, T extends EventHandler> {
9+
public class AbstractEventSourceTestBase<S extends EventSource, T extends EventHandler> {
1010
protected T eventHandler;
1111
protected S source;
1212

operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/event/source/CachingEventSourceTest.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
import static org.mockito.Mockito.*;
1313

1414
class CachingEventSourceTest extends
15-
AbstractEventSourceTest<CachingEventSource<SampleExternalResource, HasMetadata>, EventHandler> {
15+
AbstractEventSourceTestBase<CachingEventSource<SampleExternalResource, HasMetadata>, EventHandler> {
1616

1717
@BeforeEach
1818
public void setup() {

operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/event/source/CustomResourceSelectorTest.java

+7-3
Original file line numberDiff line numberDiff line change
@@ -60,9 +60,9 @@ void resourceWatchedByLabel() {
6060
assertThat(server).isNotNull();
6161
assertThat(client).isNotNull();
6262

63-
try (Operator o1 = new Operator(client, configurationService);
64-
Operator o2 = new Operator(client, configurationService)) {
65-
63+
Operator o1 = new Operator(client, configurationService);
64+
Operator o2 = new Operator(client, configurationService);
65+
try {
6666
AtomicInteger c1 = new AtomicInteger();
6767
AtomicInteger c1err = new AtomicInteger();
6868
AtomicInteger c2 = new AtomicInteger();
@@ -113,7 +113,11 @@ void resourceWatchedByLabel() {
113113
assertThrows(
114114
ConditionTimeoutException.class,
115115
() -> await().atMost(2, TimeUnit.SECONDS).untilAtomic(c2err, is(greaterThan(0))));
116+
} finally {
117+
o1.stop();
118+
o2.stop();
116119
}
120+
117121
}
118122

119123
public TestCustomResource newMyResource(String app, String namespace) {

operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/event/source/controller/ControllerResourceEventSourceTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
import io.javaoperatorsdk.operator.processing.event.EventHandler;
1616
import io.javaoperatorsdk.operator.processing.event.EventSourceManager;
1717
import io.javaoperatorsdk.operator.processing.event.ResourceID;
18-
import io.javaoperatorsdk.operator.processing.event.source.AbstractEventSourceTest;
18+
import io.javaoperatorsdk.operator.processing.event.source.AbstractEventSourceTestBase;
1919
import io.javaoperatorsdk.operator.sample.simple.TestCustomResource;
2020

2121
import static org.mockito.ArgumentMatchers.eq;
@@ -25,7 +25,7 @@
2525
import static org.mockito.Mockito.verify;
2626

2727
class ControllerResourceEventSourceTest extends
28-
AbstractEventSourceTest<ControllerResourceEventSource<TestCustomResource>, EventHandler> {
28+
AbstractEventSourceTestBase<ControllerResourceEventSource<TestCustomResource>, EventHandler> {
2929

3030
public static final String FINALIZER = "finalizer";
3131
private static final MixedOperation<TestCustomResource, KubernetesResourceList<TestCustomResource>, Resource<TestCustomResource>> client =

operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/event/source/polling/PerResourcePollingEventSourceTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import io.javaoperatorsdk.operator.TestUtils;
99
import io.javaoperatorsdk.operator.processing.event.EventHandler;
1010
import io.javaoperatorsdk.operator.processing.event.ResourceID;
11-
import io.javaoperatorsdk.operator.processing.event.source.AbstractEventSourceTest;
11+
import io.javaoperatorsdk.operator.processing.event.source.AbstractEventSourceTestBase;
1212
import io.javaoperatorsdk.operator.processing.event.source.Cache;
1313
import io.javaoperatorsdk.operator.processing.event.source.SampleExternalResource;
1414
import io.javaoperatorsdk.operator.sample.simple.TestCustomResource;
@@ -24,7 +24,7 @@
2424
import static org.mockito.Mockito.when;
2525

2626
class PerResourcePollingEventSourceTest extends
27-
AbstractEventSourceTest<PerResourcePollingEventSource<SampleExternalResource, TestCustomResource>, EventHandler> {
27+
AbstractEventSourceTestBase<PerResourcePollingEventSource<SampleExternalResource, TestCustomResource>, EventHandler> {
2828

2929
public static final int PERIOD = 80;
3030
private PerResourcePollingEventSource.ResourceSupplier<SampleExternalResource, TestCustomResource> supplier =

operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/event/source/polling/PollingEventSourceTest.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@
1010
import io.fabric8.kubernetes.api.model.HasMetadata;
1111
import io.javaoperatorsdk.operator.processing.event.EventHandler;
1212
import io.javaoperatorsdk.operator.processing.event.ResourceID;
13-
import io.javaoperatorsdk.operator.processing.event.source.AbstractEventSourceTest;
13+
import io.javaoperatorsdk.operator.processing.event.source.AbstractEventSourceTestBase;
1414
import io.javaoperatorsdk.operator.processing.event.source.SampleExternalResource;
1515

1616
import static io.javaoperatorsdk.operator.processing.event.source.SampleExternalResource.*;
1717
import static org.mockito.Mockito.*;
1818

1919
class PollingEventSourceTest
2020
extends
21-
AbstractEventSourceTest<PollingEventSource<SampleExternalResource, HasMetadata>, EventHandler> {
21+
AbstractEventSourceTestBase<PollingEventSource<SampleExternalResource, HasMetadata>, EventHandler> {
2222

2323
private Supplier<Map<ResourceID, SampleExternalResource>> supplier = mock(Supplier.class);
2424

operator-framework-core/src/test/java/io/javaoperatorsdk/operator/processing/event/source/timer/TimerEventSourceTest.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,16 @@
1515
import io.javaoperatorsdk.operator.processing.event.Event;
1616
import io.javaoperatorsdk.operator.processing.event.EventHandler;
1717
import io.javaoperatorsdk.operator.processing.event.ResourceID;
18-
import io.javaoperatorsdk.operator.processing.event.source.AbstractEventSourceTest;
18+
import io.javaoperatorsdk.operator.processing.event.source.AbstractEventSourceTestBase;
1919
import io.javaoperatorsdk.operator.processing.event.source.timer.TimerEventSourceTest.CapturingEventHandler;
2020
import io.javaoperatorsdk.operator.sample.simple.TestCustomResource;
2121

2222
import static org.assertj.core.api.Assertions.assertThat;
2323
import static org.assertj.core.api.Assertions.assertThatExceptionOfType;
2424

2525
class TimerEventSourceTest
26-
extends AbstractEventSourceTest<TimerEventSource<TestCustomResource>, CapturingEventHandler> {
26+
extends
27+
AbstractEventSourceTestBase<TimerEventSource<TestCustomResource>, CapturingEventHandler> {
2728

2829
public static final int INITIAL_DELAY = 50;
2930
public static final int PERIOD = 50;

operator-framework-junit5/src/main/java/io/javaoperatorsdk/operator/junit/OperatorExtension.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,7 @@ protected void after(ExtensionContext context) {
206206
}
207207

208208
try {
209-
this.operator.close();
209+
this.operator.stop();
210210
} catch (Exception e) {
211211
// ignored
212212
}

operator-framework/src/main/java/io/javaoperatorsdk/operator/config/runtime/AccumulativeMappingWriter.java

+10-10
Original file line numberDiff line numberDiff line change
@@ -35,14 +35,15 @@ public AccumulativeMappingWriter loadExistingMappings() {
3535
.getFiler()
3636
.getResource(StandardLocation.CLASS_OUTPUT, "", resourcePath);
3737

38-
final var bufferedReader =
39-
new BufferedReader(new InputStreamReader(readonlyResource.openInputStream()));
40-
final var existingLines =
41-
bufferedReader
42-
.lines()
43-
.map(l -> l.split(","))
44-
.collect(Collectors.toMap(parts -> parts[0], parts -> parts[1]));
45-
mappings.putAll(existingLines);
38+
try (BufferedReader bufferedReader =
39+
new BufferedReader(new InputStreamReader(readonlyResource.openInputStream()))) {
40+
final var existingLines =
41+
bufferedReader
42+
.lines()
43+
.map(l -> l.split(","))
44+
.collect(Collectors.toMap(parts -> parts[0], parts -> parts[1]));
45+
mappings.putAll(existingLines);
46+
}
4647
} catch (IOException e) {
4748
}
4849
return this;
@@ -71,8 +72,7 @@ public void flush() {
7172
printWriter.println(entry.getKey() + "," + entry.getValue());
7273
}
7374
} catch (IOException e) {
74-
e.printStackTrace();
75-
throw new RuntimeException(e);
75+
throw new IllegalStateException(e);
7676
} finally {
7777
if (printWriter != null) {
7878
printWriter.close();

operator-framework/src/main/java/io/javaoperatorsdk/operator/config/runtime/ClassMappingProvider.java

+4-3
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,9 @@ static <T, V> Map<T, V> provide(final String resourcePath, T key, V value) {
5555
}
5656

5757
private static List<String> retrieveClassNamePairs(URL url) throws IOException {
58-
return new BufferedReader(new InputStreamReader(url.openStream()))
59-
.lines()
60-
.collect(Collectors.toList());
58+
try (BufferedReader br = new BufferedReader(new InputStreamReader(url.openStream()))) {
59+
return br.lines()
60+
.collect(Collectors.toList());
61+
}
6162
}
6263
}

operator-framework/src/main/java/io/javaoperatorsdk/operator/config/runtime/ControllerConfigurationAnnotationProcessor.java

+8-2
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@
1515
import javax.lang.model.type.DeclaredType;
1616
import javax.lang.model.type.TypeMirror;
1717

18+
import org.slf4j.Logger;
19+
import org.slf4j.LoggerFactory;
20+
1821
import io.fabric8.kubernetes.client.CustomResource;
1922
import io.javaoperatorsdk.operator.api.reconciler.Reconciler;
2023

@@ -28,6 +31,9 @@
2831
@AutoService(Processor.class)
2932
public class ControllerConfigurationAnnotationProcessor extends AbstractProcessor {
3033

34+
private static final Logger log =
35+
LoggerFactory.getLogger(ControllerConfigurationAnnotationProcessor.class);
36+
3137
private AccumulativeMappingWriter controllersResourceWriter;
3238
private TypeParameterResolver typeParameterResolver;
3339

@@ -89,7 +95,7 @@ private void recordCRType(TypeElement controllerClassSymbol) {
8995
controllerClassSymbol.getQualifiedName().toString(), customResourceType.toString());
9096

9197
} catch (Exception ioException) {
92-
ioException.printStackTrace();
98+
log.error("Error", ioException);
9399
}
94100
}
95101

@@ -99,7 +105,7 @@ private TypeMirror findResourceType(TypeElement controllerClassSymbol) {
99105
return typeParameterResolver.resolve(
100106
processingEnv.getTypeUtils(), (DeclaredType) controllerClassSymbol.asType());
101107
} catch (Exception e) {
102-
e.printStackTrace();
108+
log.error("Error", e);
103109
return null;
104110
}
105111
}

0 commit comments

Comments
 (0)