Skip to content

Commit 0d2e40b

Browse files
authored
feat: simplified sample conversion (#36)
1 parent db6b9ca commit 0d2e40b

File tree

12 files changed

+56
-96
lines changed

12 files changed

+56
-96
lines changed

samples/commons/src/main/java/io/javaoperatorsdk/webhook/sample/commons/customresource/MultiVersionCustomResource.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@
1111
@Kind("MultiVersionCustomResource")
1212
@ShortNames("tcr")
1313
public class MultiVersionCustomResource
14-
extends CustomResource<MultiVersionCustomResourceSpec, MultiVersionCustomResourceStatus> {
14+
extends CustomResource<MultiVersionCustomResourceSpec, Void> {
1515

1616
}

samples/commons/src/main/java/io/javaoperatorsdk/webhook/sample/commons/customresource/MultiVersionCustomResourceSpecV2.java

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ public class MultiVersionCustomResourceSpecV2 {
44

55
private String value;
66

7-
private String additionalValue;
87

98
public String getValue() {
109
return value;
@@ -15,11 +14,4 @@ public MultiVersionCustomResourceSpecV2 setValue(String value) {
1514
return this;
1615
}
1716

18-
public String getAdditionalValue() {
19-
return additionalValue;
20-
}
21-
22-
public void setAdditionalValue(String additionalValue) {
23-
this.additionalValue = additionalValue;
24-
}
2517
}

samples/commons/src/main/java/io/javaoperatorsdk/webhook/sample/commons/customresource/MultiVersionCustomResourceStatus.java

Lines changed: 0 additions & 16 deletions
This file was deleted.

samples/commons/src/main/java/io/javaoperatorsdk/webhook/sample/commons/customresource/MultiVersionCustomResourceStatusV2.java

Lines changed: 0 additions & 27 deletions
This file was deleted.

samples/commons/src/main/java/io/javaoperatorsdk/webhook/sample/commons/customresource/MultiVersionCustomResourceV2.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,5 +11,5 @@
1111
@Kind("MultiVersionCustomResource")
1212
@ShortNames("tcr")
1313
public class MultiVersionCustomResourceV2
14-
extends CustomResource<MultiVersionCustomResourceSpecV2, MultiVersionCustomResourceStatusV2> {
14+
extends CustomResource<MultiVersionCustomResourceSpecV2, Void> {
1515
}

samples/commons/src/main/java/io/javaoperatorsdk/webhook/sample/commons/mapper/AsyncV1Mapper.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,21 @@
66
import io.javaoperatorsdk.webhook.conversion.AsyncMapper;
77
import io.javaoperatorsdk.webhook.conversion.TargetVersion;
88
import io.javaoperatorsdk.webhook.sample.commons.customresource.MultiVersionCustomResource;
9-
import io.javaoperatorsdk.webhook.sample.commons.customresource.MultiVersionCustomResourceV2;
109

1110
@TargetVersion("v1")
1211
public class AsyncV1Mapper
13-
implements AsyncMapper<MultiVersionCustomResource, MultiVersionCustomResourceV2> {
12+
implements AsyncMapper<MultiVersionCustomResource, MultiVersionHub> {
1413

1514
private V1Mapper mapper = new V1Mapper();
1615

1716
@Override
18-
public CompletionStage<MultiVersionCustomResourceV2> toHub(MultiVersionCustomResource resource) {
17+
public CompletionStage<MultiVersionHub> toHub(MultiVersionCustomResource resource) {
1918
return CompletableFuture.completedStage(mapper.toHub(resource));
2019
}
2120

2221
@Override
2322
public CompletionStage<MultiVersionCustomResource> fromHub(
24-
MultiVersionCustomResourceV2 testCustomResourceV2) {
25-
return CompletableFuture.completedStage(mapper.fromHub(testCustomResourceV2));
23+
MultiVersionHub hub) {
24+
return CompletableFuture.completedStage(mapper.fromHub(hub));
2625
}
2726
}

samples/commons/src/main/java/io/javaoperatorsdk/webhook/sample/commons/mapper/AsyncV2Mapper.java

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,17 @@
99

1010
@TargetVersion("v2")
1111
public class AsyncV2Mapper
12-
implements AsyncMapper<MultiVersionCustomResourceV2, MultiVersionCustomResourceV2> {
12+
implements AsyncMapper<MultiVersionCustomResourceV2, MultiVersionHub> {
1313

1414
private V2Mapper mapper = new V2Mapper();
1515

1616
@Override
17-
public CompletionStage<MultiVersionCustomResourceV2> toHub(
18-
MultiVersionCustomResourceV2 resource) {
17+
public CompletionStage<MultiVersionHub> toHub(MultiVersionCustomResourceV2 resource) {
1918
return CompletableFuture.completedStage(mapper.toHub(resource));
2019
}
2120

2221
@Override
23-
public CompletionStage<MultiVersionCustomResourceV2> fromHub(
24-
MultiVersionCustomResourceV2 multiVersionCustomResourceV2) {
25-
return CompletableFuture.completedStage(mapper.fromHub(multiVersionCustomResourceV2));
22+
public CompletionStage<MultiVersionCustomResourceV2> fromHub(MultiVersionHub multiVersionHub) {
23+
return CompletableFuture.completedStage(mapper.fromHub(multiVersionHub));
2624
}
2725
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package io.javaoperatorsdk.webhook.sample.commons.mapper;
2+
3+
import io.fabric8.kubernetes.api.model.ObjectMeta;
4+
5+
public class MultiVersionHub {
6+
7+
private ObjectMeta metadata = new ObjectMeta();
8+
9+
private int value;
10+
11+
public ObjectMeta getMetadata() {
12+
return metadata;
13+
}
14+
15+
public void setMetadata(ObjectMeta metadata) {
16+
this.metadata = metadata;
17+
}
18+
19+
public int getValue() {
20+
return value;
21+
}
22+
23+
public void setValue(int value) {
24+
this.value = value;
25+
}
26+
}

samples/commons/src/main/java/io/javaoperatorsdk/webhook/sample/commons/mapper/V1Mapper.java

Lines changed: 6 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,44 +5,26 @@
55
import io.javaoperatorsdk.webhook.sample.commons.customresource.*;
66

77
@TargetVersion("v1")
8-
public class V1Mapper implements Mapper<MultiVersionCustomResource, MultiVersionCustomResourceV2> {
9-
8+
public class V1Mapper implements Mapper<MultiVersionCustomResource, MultiVersionHub> {
109

1110
public static final String DEFAULT_ADDITIONAL_VALUE = "default_additional_value";
1211

1312
@Override
14-
public MultiVersionCustomResourceV2 toHub(MultiVersionCustomResource resource) {
15-
var hub = new MultiVersionCustomResourceV2();
13+
public MultiVersionHub toHub(MultiVersionCustomResource resource) {
14+
var hub = new MultiVersionHub();
1615
hub.setMetadata(resource.getMetadata());
17-
18-
var spec = new MultiVersionCustomResourceSpecV2();
19-
spec.setValue(String.valueOf(resource.getSpec().getValue()));
20-
spec.setAdditionalValue(DEFAULT_ADDITIONAL_VALUE);
21-
hub.setSpec(spec);
22-
23-
24-
if (resource.getStatus() != null) {
25-
var status = new MultiVersionCustomResourceStatusV2();
26-
status.setReady(resource.getStatus().getReady());
27-
hub.setStatus(status);
28-
}
16+
hub.setValue(resource.getSpec().getValue());
2917
return hub;
3018
}
3119

3220
@Override
33-
public MultiVersionCustomResource fromHub(MultiVersionCustomResourceV2 hub) {
21+
public MultiVersionCustomResource fromHub(MultiVersionHub hub) {
3422
var res = new MultiVersionCustomResource();
3523
res.setMetadata(hub.getMetadata());
3624

3725
var spec = new MultiVersionCustomResourceSpec();
38-
spec.setValue(Integer.parseInt(hub.getSpec().getValue()));
26+
spec.setValue(hub.getValue());
3927
res.setSpec(spec);
40-
41-
if (hub.getStatus() != null) {
42-
var status = new MultiVersionCustomResourceStatus();
43-
status.setReady(hub.getStatus().getReady());
44-
res.setStatus(status);
45-
}
4628
return res;
4729
}
4830
}

samples/commons/src/main/java/io/javaoperatorsdk/webhook/sample/commons/mapper/V2Mapper.java

Lines changed: 13 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,28 @@
22

33
import io.javaoperatorsdk.webhook.conversion.Mapper;
44
import io.javaoperatorsdk.webhook.conversion.TargetVersion;
5+
import io.javaoperatorsdk.webhook.sample.commons.customresource.MultiVersionCustomResourceSpecV2;
56
import io.javaoperatorsdk.webhook.sample.commons.customresource.MultiVersionCustomResourceV2;
67

78
@TargetVersion("v2")
89
public class V2Mapper
9-
implements Mapper<MultiVersionCustomResourceV2, MultiVersionCustomResourceV2> {
10+
implements Mapper<MultiVersionCustomResourceV2, MultiVersionHub> {
1011

1112
@Override
12-
public MultiVersionCustomResourceV2 toHub(MultiVersionCustomResourceV2 resource) {
13-
return resource;
13+
public MultiVersionHub toHub(MultiVersionCustomResourceV2 resource) {
14+
var hub = new MultiVersionHub();
15+
hub.setMetadata(resource.getMetadata());
16+
hub.setValue(Integer.parseInt(resource.getSpec().getValue()));
17+
return hub;
1418
}
1519

1620
@Override
1721
public MultiVersionCustomResourceV2 fromHub(
18-
MultiVersionCustomResourceV2 multiVersionCustomResourceV2) {
19-
return multiVersionCustomResourceV2;
22+
MultiVersionHub hub) {
23+
var res = new MultiVersionCustomResourceV2();
24+
res.setMetadata(hub.getMetadata());
25+
res.setSpec(new MultiVersionCustomResourceSpecV2());
26+
res.getSpec().setValue(Integer.toString(hub.getValue()));
27+
return res;
2028
}
2129
}

0 commit comments

Comments
 (0)