aboutsummaryrefslogtreecommitdiffstats
path: root/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeDroolsController.java
diff options
context:
space:
mode:
Diffstat (limited to 'feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeDroolsController.java')
-rw-r--r--feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeDroolsController.java24
1 files changed, 14 insertions, 10 deletions
diff --git a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeDroolsController.java b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeDroolsController.java
index 8dfbf2f3..71e40726 100644
--- a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeDroolsController.java
+++ b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/PolicyTypeDroolsController.java
@@ -24,7 +24,7 @@ import com.fasterxml.jackson.annotation.JsonIgnore;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
-import java.util.function.Function;
+import java.util.function.Predicate;
import lombok.Getter;
import lombok.NonNull;
import org.apache.commons.lang3.StringUtils;
@@ -50,7 +50,7 @@ public class PolicyTypeDroolsController implements PolicyTypeController {
protected static final ToscaPolicyTypeIdentifier compliantType =
new ToscaPolicyTypeIdentifier("onap.policies.controlloop.operational.common.Drools", "1.0.0");
- private static final Logger logger = LoggerFactory.getLogger(PolicyTypeController.class);
+ private static final Logger logger = LoggerFactory.getLogger(PolicyTypeDroolsController.class);
@Getter
protected final Map<String, PolicyController> controllers = new ConcurrentHashMap<>();
@@ -60,7 +60,7 @@ public class PolicyTypeDroolsController implements PolicyTypeController {
@GsonJsonIgnore
@JsonIgnore
- protected final transient LifecycleFsm fsm;
+ protected final LifecycleFsm fsm;
/**
* Creates a Policy Type Drools Controller.
@@ -120,17 +120,12 @@ public class PolicyTypeDroolsController implements PolicyTypeController {
return List.of(this.controllers.get(controllerName));
}
- private boolean perform(ToscaPolicy policy, Function<PolicyController, Boolean> operation) {
+ private boolean perform(ToscaPolicy policy, Predicate<PolicyController> operation) {
try {
List<PolicyController> selected = selectControllers(policy);
boolean success = true;
for (PolicyController controller : selected) {
- try {
- success = operation.apply(controller) && success;
- } catch (RuntimeException r) {
- logger.warn("invalid offer to controller: {}", controller);
- success = false;
- }
+ success = modifyController(operation, controller) && success;
}
return success && !selected.isEmpty();
} catch (CoderException e) {
@@ -139,6 +134,15 @@ public class PolicyTypeDroolsController implements PolicyTypeController {
}
}
+ private boolean modifyController(Predicate<PolicyController> operation, PolicyController controller) {
+ try {
+ return operation.test(controller);
+ } catch (RuntimeException r) {
+ logger.warn("invalid offer to controller: {}", controller);
+ return false;
+ }
+ }
+
private List<PolicyController> selectControllers(ToscaPolicy policy) throws CoderException {
List<PolicyController> selected;
if (legacyType.equals(policyType)) {