* ============LICENSE_START=======================================================
* ONAP
* ================================================================================
- * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2019-2020 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@Override
public boolean afterStart(PolicyEngine engine) {
- fsm.start();
- return false;
+ return fsmStart();
}
@Override
public boolean afterStart(PolicyController controller) {
- fsm.start(controller);
- return false;
+ return fsmStart(controller);
}
@Override
public boolean beforeStop(PolicyEngine engine) {
- fsm.stop();
- return false;
+ return fsmStop();
}
@Override
public boolean beforeStop(PolicyController controller) {
- fsm.stop(controller);
- return false;
+ return fsmStop(controller);
}
@Override
@Override
public boolean beforeHalt(PolicyController controller) {
- fsm.stop(controller);
- return false;
+ return fsmStop(controller);
}
@Override
public boolean beforeLock(PolicyController controller) {
- fsm.stop(controller);
- return false;
+ return fsmStop(controller);
}
@Override
public boolean afterUnlock(PolicyController controller) {
+ return fsmStart(controller);
+ }
+
+ private boolean fsmStart() {
+ fsm.start();
+ return false;
+ }
+
+ private boolean fsmStart(PolicyController controller) {
fsm.start(controller);
return false;
}
+
+ private boolean fsmStop() {
+ fsm.stop();
+ return false;
+ }
+
+ private boolean fsmStop(PolicyController controller) {
+ fsm.stop(controller);
+ return false;
+ }
}
@Getter
protected final String name = NetworkUtil.getHostname();
- protected volatile LifecycleState state = new LifecycleStateTerminated(this);
+ protected LifecycleState state = new LifecycleStateTerminated(this);
@GsonJsonIgnore
protected ScheduledExecutorService scheduler = makeExecutor();
* Stop a controller event.
*/
public synchronized void stop(@NonNull PolicyController controller) {
- logger.info("lifecycle event: stop controller: {}" + controller.getName());
+ logger.info("lifecycle event: stop controller: {}", controller.getName());
for (ToscaPolicyTypeIdentifier id : controller.getPolicyTypes()) {
policyTypesMap.remove(id);
}
this.subgroup = subgroup;
}
- protected void transitionToAction(@NonNull LifecycleState newState) {
+ protected synchronized void transitionToAction(@NonNull LifecycleState newState) {
state = newState;
}
package org.onap.policy.drools.lifecycle;
import java.util.List;
-import java.util.function.BiFunction;
+import java.util.function.BiPredicate;
import lombok.NonNull;
import org.onap.policy.drools.system.PolicyController;
import org.onap.policy.models.pdp.concepts.PdpResponseDetails;
}
protected boolean syncPolicies(List<ToscaPolicy> policies,
- BiFunction<PolicyController, ToscaPolicy, Boolean> sync) {
+ BiPredicate<PolicyController, ToscaPolicy> sync) {
boolean success = true;
for (ToscaPolicy policy : policies) {
ToscaPolicyTypeIdentifier policyType = policy.getTypeIdentifier();
continue;
}
- success = sync.apply(controller, policy) && success;
+ success = sync.test(controller, policy) && success;
}
return success;