Skip to content

Commit 82b953c

Browse files
russgoldrjeberhard
authored andcommitted
Use getClusterResourceName to access the name of the resource
1 parent a6468b7 commit 82b953c

File tree

6 files changed

+43
-26
lines changed

6 files changed

+43
-26
lines changed

operator/src/main/java/oracle/kubernetes/operator/http/rest/RestBackendImpl.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (c) 2017, 2022, Oracle and/or its affiliates.
1+
// Copyright (c) 2017, 2023, Oracle and/or its affiliates.
22
// Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
33

44
package oracle.kubernetes.operator.http.rest;
@@ -288,18 +288,18 @@ private Optional<ClusterResource> getClusterResource(DomainResource domain, Stri
288288
.findFirst();
289289
}
290290

291-
private boolean isInSameNamespace(ClusterResource c, DomainResource domain) {
292-
return Objects.equals(c.getNamespace(), domain.getNamespace());
291+
private boolean isInSameNamespace(ClusterResource clusterResource, DomainResource domain) {
292+
return Objects.equals(clusterResource.getNamespace(), domain.getNamespace());
293293
}
294294

295-
private boolean isReferencedByDomain(ClusterResource c, List<String> referencedClusterResources) {
295+
private boolean isReferencedByDomain(ClusterResource clusterResource, List<String> referencedClusterResources) {
296296
return Optional.ofNullable(referencedClusterResources)
297-
.map(l -> l.contains(c.getMetadata().getName()))
297+
.map(l -> l.contains(clusterResource.getClusterResourceName()))
298298
.orElse(false);
299299
}
300300

301-
private boolean isMatchingClusterResource(String clusterName, ClusterResource c) {
302-
return clusterName.equals(c.getClusterName());
301+
private boolean isMatchingClusterResource(String clusterName, ClusterResource clusterResource) {
302+
return clusterName.equals(clusterResource.getClusterName());
303303
}
304304

305305
@Override
@@ -370,7 +370,7 @@ private void patchCluster(ClusterResource cluster, JsonPatchBuilder patchBuilder
370370
try {
371371
callBuilder
372372
.patchCluster(
373-
cluster.getMetadata().getName(), cluster.getMetadata().getNamespace(),
373+
cluster.getClusterResourceName(), cluster.getNamespace(),
374374
new V1Patch(patchBuilder.build().toString()));
375375
} catch (ApiException e) {
376376
throw handleApiException(e);

operator/src/main/java/oracle/kubernetes/weblogic/domain/model/ClusterResource.java

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,12 +19,14 @@
1919
import org.apache.commons.lang3.builder.HashCodeBuilder;
2020
import org.apache.commons.lang3.builder.ToStringBuilder;
2121
import org.jetbrains.annotations.NotNull;
22+
import org.jetbrains.annotations.Nullable;
2223

2324
/**
2425
* An element representing a cluster in the domain configuration.
2526
*
2627
* @since 4.0
2728
*/
29+
@SuppressWarnings("JavadocLinkAsPlainText")
2830
@Description(
2931
"A Cluster resource describes the lifecycle options for all "
3032
+ "of the Managed Server members of a WebLogic cluster, including Java "
@@ -80,8 +82,30 @@ public class ClusterResource implements KubernetesObject {
8082
@Description("The current status of the operation of the WebLogic cluster. Updated automatically by the operator.")
8183
private ClusterStatus status;
8284

85+
public ClusterResource() {
86+
}
87+
88+
/**
89+
* Returns the Kubernetes name of this cluster resource. This must be unique within a namespace and should not be
90+
* confused with {@link #getClusterName()}.
91+
*/
92+
@Nullable
93+
public String getClusterResourceName() {
94+
return getMetadata().getName();
95+
}
96+
97+
/**
98+
* Returns the WebLogic name of the cluster represented by this resource. It should not be confused with
99+
* {@link #getClusterResourceName()}.
100+
*/
101+
@Nonnull
83102
public String getClusterName() {
84-
return Optional.ofNullable(spec.getClusterName()).orElse(getMetadata().getName());
103+
return spec.getClusterName();
104+
}
105+
106+
ClusterResource withClusterName(String clusterName) {
107+
spec.withClusterName(clusterName);
108+
return this;
85109
}
86110

87111
Integer getReplicas() {

operator/src/main/java/oracle/kubernetes/weblogic/domain/model/DomainResource.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1407,9 +1407,9 @@ private void verifyClusterResourcesNotInUse(
14071407
private void verifyClusterNotInUseByAnotherDomain(KubernetesResourceLookup kubernetesResources,
14081408
ClusterResource cluster) {
14091409
String domainAlreadyReferenceCluster =
1410-
getReferencingDomains(kubernetesResources, cluster.getNamespace(), cluster.getMetadata().getName());
1410+
getReferencingDomains(kubernetesResources, cluster.getNamespace(), cluster.getClusterResourceName());
14111411
if (domainAlreadyReferenceCluster != null) {
1412-
failures.add(clusterInUse(cluster.getMetadata().getName(), domainAlreadyReferenceCluster));
1412+
failures.add(clusterInUse(cluster.getClusterResourceName(), domainAlreadyReferenceCluster));
14131413
}
14141414
}
14151415

operator/src/test/java/oracle/kubernetes/operator/http/rest/RestBackendImplTest.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (c) 2018, 2022, Oracle and/or its affiliates.
1+
// Copyright (c) 2018, 2023, Oracle and/or its affiliates.
22
// Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
33

44
package oracle.kubernetes.operator.http.rest;
@@ -328,7 +328,7 @@ void whenPerClusterResourceReplicaSetting_scaleClusterUpdatesClusterResource() {
328328
.withReplicas(1);
329329
testSupport.defineResources(clusterResource);
330330

331-
configureDomain().withClusterReference(clusterResource.getMetadata().getName());
331+
configureDomain().withClusterReference(clusterResource.getClusterResourceName());
332332
restBackend.scaleCluster(DOMAIN1, CLUSTER_1, 5);
333333

334334
assertThat(getUpdatedClusterResource().getSpec().getReplicas(), equalTo(5));
@@ -340,7 +340,7 @@ void whenPerClusterResourceReplicaSetting_NullReplica_scaleClusterUpdatesCluster
340340
clusterResource.getSpec().setReplicas(null);
341341
testSupport.defineResources(clusterResource);
342342

343-
configureDomain().withClusterReference(clusterResource.getMetadata().getName());
343+
configureDomain().withClusterReference(clusterResource.getClusterResourceName());
344344
restBackend.scaleCluster(DOMAIN1, CLUSTER_1, 5);
345345

346346
assertThat(getUpdatedClusterResource().getSpec().getReplicas(), equalTo(5));
@@ -351,7 +351,7 @@ void whenMultipleClusterResourceWithSameClusterName_scaleClusterUpdatesClusterIn
351351
defineClusterResources(new String[] {DOMAIN2, DOMAIN1, DOMAIN3}, new String[] {NS, NS, NS});
352352
restBackend.scaleCluster(DOMAIN1, CLUSTER_1, 5);
353353

354-
assertThat(getUpdatedClusterResource().getMetadata().getName(), equalTo(DOMAIN1 + '-' + CLUSTER_1));
354+
assertThat(getUpdatedClusterResource().getClusterResourceName(), equalTo(DOMAIN1 + '-' + CLUSTER_1));
355355
assertThat(getUpdatedClusterResource().getSpec().getReplicas(), equalTo(5));
356356
}
357357

operator/src/test/java/oracle/kubernetes/weblogic/domain/model/ClusterResourceTest.java

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// Copyright (c) 2022, Oracle and/or its affiliates.
1+
// Copyright (c) 2022, 2023, Oracle and/or its affiliates.
22
// Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
33

44
package oracle.kubernetes.weblogic.domain.model;
@@ -41,16 +41,9 @@ void canReadClusterNameFromSpec() {
4141
}
4242

4343
@Test
44-
void canReadClusterNameFromMetadata() {
44+
void canReadClusterResourceNameFromMetadata() {
4545
resource.setMetadata(new V1ObjectMeta().name("cluster-2"));
4646

47-
assertThat(resource.getClusterName(), equalTo("cluster-2"));
48-
}
49-
50-
@Test
51-
void whenNameInBothMetadataAndSpec_useNameFromSpec() {
52-
resource.withMetadata(new V1ObjectMeta().name("cluster-2")).spec(new ClusterSpec().withClusterName("cluster-1"));
53-
54-
assertThat(resource.getClusterName(), equalTo("cluster-1"));
47+
assertThat(resource.getClusterResourceName(), equalTo("cluster-2"));
5548
}
5649
}

operator/src/test/java/oracle/kubernetes/weblogic/domain/model/DomainValidationTestBase.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ <T extends KubernetesObject> T getPlaceholder(String name,
6565
return (T) new V1Secret().metadata(meta);
6666
}
6767
if (ClusterResource.class.equals(type)) {
68-
return (T) new ClusterResource().withMetadata(meta);
68+
return (T) new ClusterResource().withMetadata(meta).withClusterName(name);
6969
}
7070
if (DomainResource.class.equals(type)) {
7171
return (T) new DomainResource().withMetadata(meta);

0 commit comments

Comments
 (0)