Skip to content

Commit db2ced0

Browse files
committed
revworked resource operations
Signed-off-by: Attila Mészáros <a_meszaros@apple.com>
1 parent f414e20 commit db2ced0

18 files changed

Lines changed: 440 additions & 178 deletions

File tree

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/ResourceOperations.java

Lines changed: 180 additions & 95 deletions
Large diffs are not rendered by default.

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/matcher/JsonMergePatchMatcher.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,14 @@
2020

2121
public class JsonMergePatchMatcher implements Matcher {
2222

23+
private static final JsonMergePatchMatcher INSTANCE = new JsonMergePatchMatcher();
24+
25+
public static JsonMergePatchMatcher getInstance() {
26+
return INSTANCE;
27+
}
28+
29+
private JsonMergePatchMatcher() {}
30+
2331
@Override
2432
public boolean matches(HasMetadata desired, HasMetadata actual, Context<?> context) {
2533
return MatcherUtils.mergePatchMatches(

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/matcher/JsonMergePatchStatusMatcher.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,14 @@
2020

2121
public class JsonMergePatchStatusMatcher implements Matcher {
2222

23+
private static final JsonMergePatchStatusMatcher INSTANCE = new JsonMergePatchStatusMatcher();
24+
25+
public static JsonMergePatchStatusMatcher getInstance() {
26+
return INSTANCE;
27+
}
28+
29+
private JsonMergePatchStatusMatcher() {}
30+
2331
@Override
2432
public boolean matches(HasMetadata desired, HasMetadata actual, Context<?> context) {
2533
return MatcherUtils.mergePatchMatches(

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/matcher/JsonPatchMacher.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,14 @@
2020

2121
public class JsonPatchMacher implements Matcher {
2222

23+
private static final JsonPatchMacher INSTANCE = new JsonPatchMacher();
24+
25+
public static JsonPatchMacher getInstance() {
26+
return INSTANCE;
27+
}
28+
29+
private JsonPatchMacher() {}
30+
2331
@Override
2432
public boolean matches(HasMetadata desired, HasMetadata actual, Context<?> context) {
2533
return MatcherUtils.jsonPatchMatches(

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/matcher/JsonPatchStatusMacher.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,14 @@
2020

2121
public class JsonPatchStatusMacher implements Matcher {
2222

23+
private static final JsonPatchStatusMacher INSTANCE = new JsonPatchStatusMacher();
24+
25+
public static JsonPatchStatusMacher getInstance() {
26+
return INSTANCE;
27+
}
28+
29+
private JsonPatchStatusMacher() {}
30+
2331
@Override
2432
public boolean matches(HasMetadata desired, HasMetadata actual, Context<?> context) {
2533
return MatcherUtils.jsonPatchMatches(

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/matcher/SSAMatcher.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,14 @@
2121

2222
public class SSAMatcher implements Matcher {
2323

24+
private static final SSAMatcher INSTANCE = new SSAMatcher();
25+
26+
public static SSAMatcher getInstance() {
27+
return INSTANCE;
28+
}
29+
30+
private SSAMatcher() {}
31+
2432
@Override
2533
public boolean matches(HasMetadata desired, HasMetadata actual, Context<?> context) {
2634
return SSABasedGenericKubernetesResourceMatcher.getInstance().matches(actual, desired, context);

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/matcher/SSAStatusMatcher.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,14 @@
2121

2222
public class SSAStatusMatcher implements Matcher {
2323

24+
private static final SSAStatusMatcher INSTANCE = new SSAStatusMatcher();
25+
26+
public static SSAStatusMatcher getInstance() {
27+
return INSTANCE;
28+
}
29+
30+
private SSAStatusMatcher() {}
31+
2432
@Override
2533
public boolean matches(HasMetadata desired, HasMetadata actual, Context<?> context) {
2634
return GenericKubernetesResourceMatcher.matchStatus(desired, actual, context).matched();

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/matcher/UpdateMatcher.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,14 @@
2121

2222
public class UpdateMatcher implements Matcher {
2323

24+
private static final UpdateMatcher INSTANCE = new UpdateMatcher();
25+
26+
public static UpdateMatcher getInstance() {
27+
return INSTANCE;
28+
}
29+
30+
private UpdateMatcher() {}
31+
2432
@Override
2533
public boolean matches(HasMetadata desired, HasMetadata actual, Context<?> context) {
2634
return GenericKubernetesResourceMatcher.match(desired, actual, context).matched();

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/api/reconciler/matcher/UpdateStatusMatcher.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,14 @@
2121

2222
public class UpdateStatusMatcher implements Matcher {
2323

24+
private static final UpdateStatusMatcher INSTANCE = new UpdateStatusMatcher();
25+
26+
public static UpdateStatusMatcher getInstance() {
27+
return INSTANCE;
28+
}
29+
30+
private UpdateStatusMatcher() {}
31+
2432
@Override
2533
public boolean matches(HasMetadata desired, HasMetadata actual, Context<?> context) {
2634
return GenericKubernetesResourceMatcher.matchStatus(desired, actual, context).matched();
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
/*
2+
* Copyright Java Operator SDK Authors
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
package io.javaoperatorsdk.operator.api.reconciler.matcher;
17+
18+
public enum UpdateType {
19+
UPDATE(UpdateMatcher.getInstance()),
20+
UPDATE_STATUS(UpdateStatusMatcher.getInstance()),
21+
SSA(SSAMatcher.getInstance()),
22+
SSA_STATUS(SSAStatusMatcher.getInstance()),
23+
JSON_PATCH(JsonPatchMacher.getInstance()),
24+
JSON_PATCH_STATUS(JsonPatchStatusMacher.getInstance()),
25+
JSON_MERGE_PATCH(JsonMergePatchMatcher.getInstance()),
26+
JSON_MERGE_PATCH_STATUS(JsonMergePatchStatusMatcher.getInstance());
27+
28+
private final Matcher defaultMatcher;
29+
30+
UpdateType(Matcher defaultMatcher) {
31+
this.defaultMatcher = defaultMatcher;
32+
}
33+
34+
public Matcher getMatcher() {
35+
return defaultMatcher;
36+
}
37+
}

0 commit comments

Comments
 (0)