Skip to content

refactor: clean namespaces constants #1206

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
May 11, 2022
Merged
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
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
import io.javaoperatorsdk.operator.processing.event.source.controller.ResourceEventFilter;
import io.javaoperatorsdk.operator.processing.event.source.controller.ResourceEventFilters;

import static io.javaoperatorsdk.operator.api.reconciler.Constants.DEFAULT_NAMESPACES;
import static io.javaoperatorsdk.operator.api.reconciler.Constants.DEFAULT_NAMESPACES_SET;

@SuppressWarnings("rawtypes")
public class AnnotationControllerConfiguration<R extends HasMetadata>
Expand Down Expand Up @@ -75,7 +75,7 @@ public boolean isGenerationAware() {
@Override
public Set<String> getNamespaces() {
return Set.of(valueOrDefault(annotation, ControllerConfiguration::namespaces,
DEFAULT_NAMESPACES.toArray(String[]::new)));
DEFAULT_NAMESPACES_SET.toArray(String[]::new)));
}

@Override
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
import io.javaoperatorsdk.operator.processing.dependent.kubernetes.KubernetesDependentResourceConfig;
import io.javaoperatorsdk.operator.processing.event.source.controller.ResourceEventFilter;

import static io.javaoperatorsdk.operator.api.reconciler.Constants.DEFAULT_NAMESPACES;
import static io.javaoperatorsdk.operator.api.reconciler.Constants.DEFAULT_NAMESPACES_SET;
import static io.javaoperatorsdk.operator.api.reconciler.Constants.WATCH_CURRENT_NAMESPACE_SET;

@SuppressWarnings({"rawtypes", "unused"})
Expand Down Expand Up @@ -68,7 +68,7 @@ public ControllerConfigurationOverrider<R> addingNamespaces(String... namespaces
public ControllerConfigurationOverrider<R> removingNamespaces(String... namespaces) {
List.of(namespaces).forEach(this.namespaces::remove);
if (this.namespaces.isEmpty()) {
this.namespaces = DEFAULT_NAMESPACES;
this.namespaces = DEFAULT_NAMESPACES_SET;
}
return this;
}
Expand All @@ -80,7 +80,7 @@ public ControllerConfigurationOverrider<R> settingNamespace(String namespace) {
}

public ControllerConfigurationOverrider<R> watchingAllNamespaces() {
this.namespaces = DEFAULT_NAMESPACES;
this.namespaces = DEFAULT_NAMESPACES_SET;
return this;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

import io.fabric8.kubernetes.api.model.HasMetadata;

import static io.javaoperatorsdk.operator.api.reconciler.Constants.DEFAULT_NAMESPACES;
import static io.javaoperatorsdk.operator.api.reconciler.Constants.DEFAULT_NAMESPACES_SET;

public class DefaultResourceConfiguration<R extends HasMetadata>
implements ResourceConfiguration<R> {
Expand All @@ -16,7 +16,7 @@ public class DefaultResourceConfiguration<R extends HasMetadata>
public DefaultResourceConfiguration(String labelSelector, Class<R> resourceClass,
String... namespaces) {
this(labelSelector, resourceClass,
namespaces == null || namespaces.length == 0 ? DEFAULT_NAMESPACES
namespaces == null || namespaces.length == 0 ? DEFAULT_NAMESPACES_SET
: Set.of(namespaces));
}

Expand All @@ -25,7 +25,7 @@ public DefaultResourceConfiguration(String labelSelector, Class<R> resourceClass
this.labelSelector = labelSelector;
this.resourceClass = resourceClass;
this.namespaces =
namespaces == null || namespaces.isEmpty() ? DEFAULT_NAMESPACES
namespaces == null || namespaces.isEmpty() ? DEFAULT_NAMESPACES_SET
: namespaces;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import java.util.Set;

import static io.javaoperatorsdk.operator.api.reconciler.Constants.DEFAULT_NAMESPACES;
import static io.javaoperatorsdk.operator.api.reconciler.Constants.DEFAULT_NAMESPACES_SET;

public interface NamespaceChangeable {

Expand All @@ -18,7 +18,7 @@ public interface NamespaceChangeable {

default void changeNamespaces(String... namespaces) {
changeNamespaces(
namespaces != null ? Set.of(namespaces) : DEFAULT_NAMESPACES);
namespaces != null ? Set.of(namespaces) : DEFAULT_NAMESPACES_SET);
}

default boolean allowsNamespaceChanges() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
import io.javaoperatorsdk.operator.ReconcilerUtils;
import io.javaoperatorsdk.operator.api.reconciler.Constants;

import static io.javaoperatorsdk.operator.api.reconciler.Constants.DEFAULT_NAMESPACES;
import static io.javaoperatorsdk.operator.api.reconciler.Constants.DEFAULT_NAMESPACES_SET;
import static io.javaoperatorsdk.operator.api.reconciler.Constants.WATCH_CURRENT_NAMESPACE_SET;

public interface ResourceConfiguration<R extends HasMetadata> {
Expand All @@ -35,7 +35,7 @@ default Class<R> getResourceClass() {
}

default Set<String> getNamespaces() {
return DEFAULT_NAMESPACES;
return DEFAULT_NAMESPACES_SET;
}

default boolean watchAllNamespaces() {
Expand All @@ -44,7 +44,7 @@ default boolean watchAllNamespaces() {

static boolean allNamespacesWatched(Set<String> namespaces) {
failIfNotValid(namespaces);
return DEFAULT_NAMESPACES.equals(namespaces);
return DEFAULT_NAMESPACES_SET.equals(namespaces);
}

default boolean watchCurrentNamespace() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
import io.javaoperatorsdk.operator.processing.event.source.SecondaryToPrimaryMapper;
import io.javaoperatorsdk.operator.processing.event.source.informer.Mappers;

import static io.javaoperatorsdk.operator.api.reconciler.Constants.DEFAULT_NAMESPACES;
import static io.javaoperatorsdk.operator.api.reconciler.Constants.DEFAULT_NAMESPACES_SET;

public interface InformerConfiguration<R extends HasMetadata>
extends ResourceConfiguration<R> {
Expand Down Expand Up @@ -73,7 +73,7 @@ public InformerConfigurationBuilder<R> withSecondaryToPrimaryMapper(

public InformerConfigurationBuilder<R> withNamespaces(String... namespaces) {
return withNamespaces(
namespaces != null ? Set.of(namespaces) : DEFAULT_NAMESPACES);
namespaces != null ? Set.of(namespaces) : DEFAULT_NAMESPACES_SET);
}

public InformerConfigurationBuilder<R> withNamespaces(Set<String> namespaces) {
Expand All @@ -92,7 +92,7 @@ public InformerConfigurationBuilder<R> withNamespaces(Set<String> namespaces) {
*/
public InformerConfigurationBuilder<R> withNamespaces(Set<String> namespaces,
boolean followChanges) {
this.namespaces = namespaces != null ? namespaces : DEFAULT_NAMESPACES;
this.namespaces = namespaces != null ? namespaces : DEFAULT_NAMESPACES_SET;
this.inheritControllerNamespacesOnChange = true;
return this;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,19 @@

public final class Constants {

public static final Set<String> DEFAULT_NAMESPACES =
public static final Set<String> DEFAULT_NAMESPACES_SET =
Collections.singleton(Constants.WATCH_ALL_NAMESPACES);
public static final Set<String> WATCH_CURRENT_NAMESPACE_SET =
Collections.singleton(Constants.WATCH_CURRENT_NAMESPACE);

public static final Set<String> SAME_AS_CONTROLLER_NAMESPACES_SET =
Collections.singleton(Constants.SAME_AS_CONTROLLER);

public static final String NO_VALUE_SET = "";
public static final String WATCH_CURRENT_NAMESPACE = "JOSDK_WATCH_CURRENT";
public static final String WATCH_ALL_NAMESPACES = "JOSDK_ALL_NAMESPACES";
public static final long NO_RECONCILIATION_MAX_INTERVAL = -1L;
public static final String SAME_AS_CONTROLLER = "JOSDK_SAME_AS_CONTROLLER";

private Constants() {}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,15 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import io.javaoperatorsdk.operator.api.reconciler.Constants;

import static io.javaoperatorsdk.operator.api.reconciler.Constants.NO_VALUE_SET;

@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
public @interface KubernetesDependent {
String SAME_AS_CONTROLLER = "JOSDK_SAME_AS_CONTROLLER";

String[] DEFAULT_NAMESPACES = {SAME_AS_CONTROLLER};
String[] DEFAULT_NAMESPACES = {Constants.SAME_AS_CONTROLLER};

/**
* Specified which namespaces this Controller monitors for custom resources events. If no
Expand All @@ -21,7 +22,7 @@
*
* @return the list of namespaces this controller monitors
*/
String[] namespaces() default {SAME_AS_CONTROLLER};
String[] namespaces() default {Constants.SAME_AS_CONTROLLER};

/**
* Optional label selector used to identify the set of custom resources the controller will acc
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,14 @@
package io.javaoperatorsdk.operator.processing.dependent.kubernetes;

import java.util.Collections;
import java.util.Set;

import io.javaoperatorsdk.operator.api.reconciler.Constants;

import static io.javaoperatorsdk.operator.api.reconciler.Constants.NO_VALUE_SET;

public class KubernetesDependentResourceConfig {

private Set<String> namespaces = Collections.emptySet();
private Set<String> namespaces = Constants.SAME_AS_CONTROLLER_NAMESPACES_SET;
private String labelSelector = NO_VALUE_SET;

private boolean namespacesWereConfigured = false;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

import io.fabric8.kubernetes.api.model.HasMetadata;

import static io.javaoperatorsdk.operator.api.reconciler.Constants.DEFAULT_NAMESPACES;
import static io.javaoperatorsdk.operator.api.reconciler.Constants.DEFAULT_NAMESPACES_SET;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;

Expand All @@ -12,7 +12,7 @@ public static <R extends HasMetadata> ControllerConfiguration<R> forResource(
Class<R> resourceType) {
final ControllerConfiguration configuration = mock(ControllerConfiguration.class);
when(configuration.getResourceClass()).thenReturn(resourceType);
when(configuration.getNamespaces()).thenReturn(DEFAULT_NAMESPACES);
when(configuration.getNamespaces()).thenReturn(DEFAULT_NAMESPACES_SET);
when(configuration.getEffectiveNamespaces()).thenCallRealMethod();
return configuration;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@
import io.javaoperatorsdk.operator.processing.event.source.SecondaryToPrimaryMapper;
import io.javaoperatorsdk.operator.sample.simple.TestCustomResource;

import static io.javaoperatorsdk.operator.api.reconciler.Constants.DEFAULT_NAMESPACES;
import static io.javaoperatorsdk.operator.api.reconciler.Constants.DEFAULT_NAMESPACES_SET;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.*;

Expand Down Expand Up @@ -55,7 +55,7 @@ void setup() {
when(informer.getIndexer()).thenReturn(mock(Indexer.class));

when(informerConfiguration.getEffectiveNamespaces())
.thenReturn(DEFAULT_NAMESPACES);
.thenReturn(DEFAULT_NAMESPACES_SET);
when(informerConfiguration.getSecondaryToPrimaryMapper())
.thenReturn(mock(SecondaryToPrimaryMapper.class));

Expand Down