diff options
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.java | 24 |
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)) { |