package io.cattle.iaas.healthcheck.process; import io.cattle.platform.core.model.HealthcheckInstance; import io.cattle.platform.core.model.ServiceEvent; import io.cattle.platform.engine.handler.HandlerResult; import io.cattle.platform.engine.handler.ProcessPreListener; import io.cattle.platform.engine.process.ProcessInstance; import io.cattle.platform.engine.process.ProcessState; import io.cattle.platform.object.meta.ObjectMetaDataManager; import io.cattle.platform.process.common.handler.AbstractObjectProcessLogic; import io.cattle.platform.util.type.Priority; import javax.inject.Named; @Named public class ServiceEventPreCreate extends AbstractObjectProcessLogic implements ProcessPreListener, Priority { @Override public String[] getProcessNames() { return new String[] { "serviceevent.create" }; } @Override public HandlerResult handle(ProcessState state, ProcessInstance process) { ServiceEvent event = (ServiceEvent)state.getResource(); HealthcheckInstance hcInstance = objectManager.loadResource(HealthcheckInstance.class, event.getHealthcheckInstanceId()); if (hcInstance != null) { return new HandlerResult( ObjectMetaDataManager.ACCOUNT_FIELD, hcInstance.getAccountId() ); } return null; } @Override public int getPriority() { return Priority.DEFAULT; } }