package io.cattle.platform.process.volume; import io.cattle.platform.core.model.Volume; import io.cattle.platform.core.model.VolumeStoragePoolMap; 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.engine.process.impl.ProcessCancelException; import io.cattle.platform.process.base.AbstractDefaultProcessHandler; import java.util.HashSet; import java.util.Set; import javax.inject.Named; @Named public class VolumeDeactivate extends AbstractDefaultProcessHandler { @Override public HandlerResult handle(ProcessState state, ProcessInstance process) { Volume volume = (Volume) state.getResource(); Set<Long> pools = new HashSet<Long>(); for (VolumeStoragePoolMap map : getObjectManager().children(volume, VolumeStoragePoolMap.class)) { if (map.getRemoved() == null) { try { deactivate(map, state.getData()); } catch (ProcessCancelException e) { remove(map, state.getData()); } pools.add(map.getStoragePoolId()); } } return new HandlerResult("_deactivatedPools", pools); } }