package io.cattle.platform.process.generic;
import io.cattle.platform.archaius.util.ArchaiusUtil;
import io.cattle.platform.engine.handler.HandlerResult;
import io.cattle.platform.engine.handler.ProcessPostListener;
import io.cattle.platform.engine.process.ProcessInstance;
import io.cattle.platform.engine.process.ProcessState;
import io.cattle.platform.object.util.DataAccessor;
import io.cattle.platform.process.common.handler.AbstractObjectProcessLogic;
import io.cattle.platform.util.type.Priority;
import java.util.Map;
import javax.inject.Named;
@Named
public class ActivateByDefault extends AbstractObjectProcessLogic implements ProcessPostListener, Priority {
@Override
public HandlerResult handle(ProcessState state, ProcessInstance process) {
HandlerResult result = new HandlerResult(true, (Map<Object, Object>) null);
String type = getObjectManager().getType(state.getResource());
if (ArchaiusUtil.getBoolean("activate.by.default." + type).get()) {
result.shouldDelegate(true);
} else if (DataAccessor.fieldBool(state.getResource(), "activateOnCreate")) {
result.shouldDelegate(true);
}
return result;
}
@Override
public int getPriority() {
return Priority.DEFAULT;
}
@Override
public String[] getProcessNames() {
return new String[] { "*.create" };
}
}