package io.cattle.iaas.healthcheck.service.impl; import io.cattle.iaas.healthcheck.service.HealthcheckInstancesLookup; import io.cattle.platform.core.model.HealthcheckInstance; import io.cattle.platform.core.model.HealthcheckInstanceHostMap; import io.cattle.platform.core.model.Instance; import io.cattle.platform.db.jooq.dao.impl.AbstractJooqDao; import io.cattle.platform.object.ObjectManager; import java.util.ArrayList; import java.util.List; import javax.inject.Inject; public class HostMapHealthcheckInstancesLookup extends AbstractJooqDao implements HealthcheckInstancesLookup { @Inject ObjectManager objectManager; @Override public List<? extends Instance> getInstances(Object obj) { if (!(obj instanceof HealthcheckInstanceHostMap)) { return null; } HealthcheckInstanceHostMap hostMap = (HealthcheckInstanceHostMap) obj; List<Instance> instances = new ArrayList<>(); HealthcheckInstance hInstance = objectManager.loadResource(HealthcheckInstance.class, hostMap.getHealthcheckInstanceId()); if (hInstance == null || hInstance.getRemoved() != null) { return instances; } Instance instance = objectManager.loadResource(Instance.class, hInstance.getInstanceId()); if (instance != null && instance.getRemoved() == null) { instances.add(instance); } return instances; } }