Skip to content

Commit 253adb1

Browse files
committed
condition impl
Signed-off-by: Attila Mészáros <[email protected]>
1 parent b9f469d commit 253adb1

File tree

2 files changed

+21
-2
lines changed

2 files changed

+21
-2
lines changed

src/main/java/io/javaoperatorsdk/operator/glue/conditions/QuteCondition.java

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package io.javaoperatorsdk.operator.glue.conditions;
22

3+
import org.slf4j.Logger;
4+
import org.slf4j.LoggerFactory;
5+
36
import io.fabric8.kubernetes.api.model.GenericKubernetesResource;
47
import io.javaoperatorsdk.operator.api.reconciler.Context;
58
import io.javaoperatorsdk.operator.api.reconciler.dependent.DependentResource;
@@ -9,6 +12,8 @@
912

1013
public class QuteCondition implements Condition<GenericKubernetesResource, Glue> {
1114

15+
private static final Logger LOG = LoggerFactory.getLogger(QuteCondition.class);
16+
1217
private final GenericTemplateHandler genericTemplateHandler;
1318
private final String template;
1419

@@ -20,7 +25,17 @@ public QuteCondition(GenericTemplateHandler genericTemplateHandler, String templ
2025
@Override
2126
public boolean isMet(DependentResource<GenericKubernetesResource, Glue> dependentResource,
2227
Glue primary, Context<Glue> context) {
23-
// TODO
24-
return false;
28+
29+
LOG.debug("Evaluating condition with template: {}", template);
30+
31+
var data = GenericTemplateHandler.createDataWithResources(primary, context);
32+
data.put("target", GenericTemplateHandler
33+
.convertToValue(dependentResource.getSecondaryResource(primary, context)));
34+
35+
var res = genericTemplateHandler.processTemplate(data, template, false);
36+
37+
LOG.debug("Qute condition result: {}", res);
38+
39+
return "true".equalsIgnoreCase(res.trim());
2540
}
2641
}

src/main/java/io/javaoperatorsdk/operator/glue/templating/GenericTemplateHandler.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,10 @@ public String processTemplate(String template, Glue primary, boolean objectTempl
7878
return res;
7979
}
8080

81+
public static Map<?, ?> convertToValue(Object value) {
82+
return objectMapper.convertValue(value, Map.class);
83+
}
84+
8185
@SuppressWarnings("unchecked")
8286
public static Map<String, ?> parseTemplateToMapObject(String template) {
8387
return Serialization.unmarshal(template, Map.class);

0 commit comments

Comments
 (0)