package io.cattle.platform.process.driver; import io.cattle.platform.core.dao.StoragePoolDao; import io.cattle.platform.core.model.StorageDriver; import io.cattle.platform.core.model.StoragePool; import io.cattle.platform.engine.handler.HandlerResult; import io.cattle.platform.engine.process.ProcessInstance; import io.cattle.platform.engine.process.ProcessState; import io.cattle.platform.object.process.StandardProcess; import io.cattle.platform.process.base.AbstractDefaultProcessHandler; import javax.inject.Inject; import javax.inject.Named; @Named public class StorageDriverRemove extends AbstractDefaultProcessHandler { @Inject StoragePoolDao storagePoolDao; @Override public HandlerResult handle(ProcessState state, ProcessInstance process) { StorageDriver driver = (StorageDriver)state.getResource(); for (StoragePool pool : storagePoolDao.findNonRemovedStoragePoolByDriver(driver.getId())) { objectProcessManager.scheduleStandardChainedProcessAsync(StandardProcess.DEACTIVATE, StandardProcess.REMOVE, pool, null); } return null; } }