Skip to content

Commit

Permalink
fix: removed deprecated `io.fabric8.kubernetes.client.utils.Utils.get…
Browse files Browse the repository at this point in the history
…PluralFromKind` method

Signed-off-by: Marc Nuri <[email protected]>
  • Loading branch information
manusa authored Nov 20, 2024
1 parent 4beec62 commit 65a474c
Show file tree
Hide file tree
Showing 5 changed files with 55 additions and 75 deletions.
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,11 +38,13 @@
* Fix #6138: Removed unused `io:fabric8:kubernetes-model` artifact
* Fix #6156: Removed deprecated extension `io:fabric8:service-catalog`
* Fix #6158: Removed deprecated methods from `io.fabric8.kubernetes.client.utils.IOHelpers`
* Fix #6159: Removed deprecated `io.fabric8.kubernetes.client.utils.Utils.getPluralFromKind` method
* Fix #6361: Renamed SettableBeanPropertyDelegate to SettableBeanPropertyDelegating
* Fix #6603: Removed deprecated `io.fabric8.openshift.api.model.runtime.RawExtension` class
* Fix #6605: Removed deprecated `ApiVersionUtil` classes in extension modules
* Fix #6609: Removed deprecated `io.fabric8.crd.generator.CRDInfo.getVersion` method
* Fix #6612: Removed deprecated `io.fabric8.kubernetes.client.Client.isAdaptable` method
* Fix #6627: Removed deprecated methods from `io.fabric8.kubernetes.client.CustomResource` class

### 6.13.4 (2024-09-25)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,15 @@
*/
package io.fabric8.kubernetes.client.dsl.base;

import io.fabric8.kubernetes.api.Pluralize;
import io.fabric8.kubernetes.api.model.APIResource;
import io.fabric8.kubernetes.api.model.HasMetadata;
import io.fabric8.kubernetes.api.model.KubernetesResource;
import io.fabric8.kubernetes.client.KubernetesClientException;
import io.fabric8.kubernetes.client.utils.ApiVersionUtil;
import io.fabric8.kubernetes.client.utils.Utils;

import java.util.Locale;
import java.util.Optional;

public class ResourceDefinitionContext {
Expand Down Expand Up @@ -56,7 +58,7 @@ protected void validate() {
if (kind == null) {
throw new IllegalArgumentException("Neither kind nor plural was set, at least one is required");
}
plural = Utils.getPluralFromKind(kind);
plural = Pluralize.toPlural(kind.toLowerCase(Locale.ROOT));
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
*/
package io.fabric8.kubernetes.client.utils;

import io.fabric8.kubernetes.api.Pluralize;
import io.fabric8.kubernetes.api.model.Namespaced;
import io.fabric8.kubernetes.client.KubernetesClientException;
import io.fabric8.kubernetes.model.annotation.Group;
Expand Down Expand Up @@ -341,17 +340,6 @@ public static String toUrlEncoded(String str) {
return null;
}

/**
*
* @param kind
* @return
* @deprecated use {@link io.fabric8.kubernetes.api.model.HasMetadata#getPlural(Class)}
*/
@Deprecated
public static String getPluralFromKind(String kind) {
return Pluralize.toPlural(kind.toLowerCase(Locale.ROOT));
}

/**
* Reads @Namespaced annotation in resource class to check whether
* resource is namespaced or not
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,6 @@
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.SortedMap;
import java.util.TreeMap;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ThreadFactory;
import java.util.concurrent.TimeUnit;
Expand Down Expand Up @@ -175,65 +173,6 @@ void interpolateStringWithParametersTest() {
assertEquals("This is a \"template string\" and the following is code ${NOT_REPLACED}: '1' === '1'; /* END */", result);
}

@Test
void testGetPluralFromKind() {
// Given
SortedMap<String, Class> pluralToKubernetesResourceMap = new TreeMap<>();
pluralToKubernetesResourceMap.put("bindings", Binding.class);
pluralToKubernetesResourceMap.put("componentstatuses", ComponentStatus.class);
pluralToKubernetesResourceMap.put("configmaps", ConfigMap.class);
pluralToKubernetesResourceMap.put("endpoints", Endpoints.class);
pluralToKubernetesResourceMap.put("events", Event.class);
pluralToKubernetesResourceMap.put("limitranges", LimitRange.class);
pluralToKubernetesResourceMap.put("namespaces", Namespace.class);
pluralToKubernetesResourceMap.put("nodes", Node.class);
pluralToKubernetesResourceMap.put("persistentvolumeclaims", PersistentVolumeClaim.class);
pluralToKubernetesResourceMap.put("persistentvolumes", PersistentVolume.class);
pluralToKubernetesResourceMap.put("pods", Pod.class);
pluralToKubernetesResourceMap.put("podtemplates", PodTemplate.class);
pluralToKubernetesResourceMap.put("replicationcontrollers", ReplicationController.class);
pluralToKubernetesResourceMap.put("resourcequotas", ResourceQuota.class);
pluralToKubernetesResourceMap.put("secrets", Secret.class);
pluralToKubernetesResourceMap.put("serviceaccounts", ServiceAccount.class);
pluralToKubernetesResourceMap.put("services", Service.class);
pluralToKubernetesResourceMap.put("mutatingwebhookconfigurations", MutatingWebhookConfiguration.class);
pluralToKubernetesResourceMap.put("validatingwebhookconfigurations", ValidatingWebhookConfiguration.class);
pluralToKubernetesResourceMap.put("customresourcedefinitions", CustomResourceDefinition.class);
pluralToKubernetesResourceMap.put("controllerrevisions", ControllerRevision.class);
pluralToKubernetesResourceMap.put("daemonsets", DaemonSet.class);
pluralToKubernetesResourceMap.put("deployments", Deployment.class);
pluralToKubernetesResourceMap.put("replicasets", ReplicaSet.class);
pluralToKubernetesResourceMap.put("statefulsets", StatefulSet.class);
pluralToKubernetesResourceMap.put("tokenreviews", TokenReview.class);
pluralToKubernetesResourceMap.put("localsubjectaccessreviews", LocalSubjectAccessReview.class);
pluralToKubernetesResourceMap.put("selfsubjectaccessreviews", SelfSubjectAccessReview.class);
pluralToKubernetesResourceMap.put("selfsubjectrulesreviews", SelfSubjectRulesReview.class);
pluralToKubernetesResourceMap.put("subjectaccessreviews", SubjectAccessReview.class);
pluralToKubernetesResourceMap.put("horizontalpodautoscalers", HorizontalPodAutoscaler.class);
pluralToKubernetesResourceMap.put("cronjobs", CronJob.class);
pluralToKubernetesResourceMap.put("jobs", Job.class);
pluralToKubernetesResourceMap.put("certificatesigningrequests", CertificateSigningRequest.class);
pluralToKubernetesResourceMap.put("leases", Lease.class);
pluralToKubernetesResourceMap.put("endpointslices", EndpointSlice.class);
pluralToKubernetesResourceMap.put("ingresses", Ingress.class);
pluralToKubernetesResourceMap.put("networkpolicies", NetworkPolicy.class);
pluralToKubernetesResourceMap.put("poddisruptionbudgets", PodDisruptionBudget.class);
pluralToKubernetesResourceMap.put("podsecuritypolicies", PodSecurityPolicy.class);
pluralToKubernetesResourceMap.put("clusterrolebindings", ClusterRoleBinding.class);
pluralToKubernetesResourceMap.put("clusterroles", ClusterRole.class);
pluralToKubernetesResourceMap.put("rolebindings", RoleBinding.class);
pluralToKubernetesResourceMap.put("roles", Role.class);
pluralToKubernetesResourceMap.put("priorityclasses", PriorityClass.class);
pluralToKubernetesResourceMap.put("csidrivers", CSIDriver.class);
pluralToKubernetesResourceMap.put("csinodes", CSINode.class);
pluralToKubernetesResourceMap.put("storageclasses", StorageClass.class);
pluralToKubernetesResourceMap.put("volumeattachments", VolumeAttachment.class);

// When & Then
pluralToKubernetesResourceMap.forEach(
(plural, kubernetesResource) -> assertEquals(plural, Utils.getPluralFromKind(kubernetesResource.getSimpleName())));
}

@Test
@DisplayName("Should test whether resource is namespaced or not")
void testWhetherNamespacedOrNot() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,56 @@ static Stream<Arguments> toPluralInput() {
arguments("women", "woman"),
arguments("men", "man"),
arguments("dnses", "dns"),
arguments("egressqoses", "egressqos"));
arguments("egressqoses", "egressqos"),
arguments("bindings", "binding"),
arguments("componentstatuses", "componentstatus"),
arguments("configmaps", "configmap"),
arguments("endpoints", "endpoints"),
arguments("events", "event"),
arguments("limitranges", "limitrange"),
arguments("namespaces", "namespace"),
arguments("nodes", "node"),
arguments("persistentvolumeclaims", "persistentvolumeclaim"),
arguments("persistentvolumes", "persistentvolume"),
arguments("pods", "pod"),
arguments("podtemplates", "podtemplate"),
arguments("replicationcontrollers", "replicationcontroller"),
arguments("resourcequotas", "resourcequota"),
arguments("secrets", "secret"),
arguments("serviceaccounts", "serviceaccount"),
arguments("services", "service"),
arguments("mutatingwebhookconfigurations", "mutatingwebhookconfiguration"),
arguments("validatingwebhookconfigurations", "validatingwebhookconfiguration"),
arguments("customresourcedefinitions", "customresourcedefinition"),
arguments("controllerrevisions", "controllerrevision"),
arguments("daemonsets", "daemonset"),
arguments("deployments", "deployment"),
arguments("replicasets", "replicaset"),
arguments("statefulsets", "statefulset"),
arguments("tokenreviews", "tokenreview"),
arguments("localsubjectaccessreviews", "localsubjectaccessreview"),
arguments("selfsubjectaccessreviews", "selfsubjectaccessreview"),
arguments("selfsubjectrulesreviews", "selfsubjectrulesreview"),
arguments("subjectaccessreviews", "subjectaccessreview"),
arguments("horizontalpodautoscalers", "horizontalpodautoscaler"),
arguments("cronjobs", "cronjob"),
arguments("jobs", "job"),
arguments("certificatesigningrequests", "certificatesigningrequest"),
arguments("leases", "lease"),
arguments("endpointslices", "endpointslice"),
arguments("ingresses", "ingress"),
arguments("networkpolicies", "networkpolicy"),
arguments("poddisruptionbudgets", "poddisruptionbudget"),
arguments("podsecuritypolicies", "podsecuritypolicy"),
arguments("clusterrolebindings", "clusterrolebinding"),
arguments("clusterroles", "clusterrole"),
arguments("rolebindings", "rolebinding"),
arguments("roles", "role"),
arguments("priorityclasses", "priorityclass"),
arguments("csidrivers", "csidriver"),
arguments("csinodes", "csinode"),
arguments("storageclasses", "storageclass"),
arguments("volumeattachments", "volumeattachment"));
}

}

0 comments on commit 65a474c

Please sign in to comment.