package io.cattle.platform.process.volume; import io.cattle.platform.core.dao.GenericMapDao; import io.cattle.platform.core.model.StoragePool; import io.cattle.platform.core.model.Volume; import io.cattle.platform.core.model.VolumeStoragePoolMap; import io.cattle.platform.engine.process.ProcessInstance; import io.cattle.platform.engine.process.ProcessState; import io.cattle.platform.process.common.handler.AgentBasedProcessHandler; import java.util.List; import javax.inject.Inject; public class SnapshotAgentProcessHandler extends AgentBasedProcessHandler { @Inject GenericMapDao mapDao; @Override protected Object getAgentResource(ProcessState state, ProcessInstance process, Object dataResource) { Object resource = state.getResource(); Volume instance = (Volume)getObjectByRelationship("volume", resource); List<? extends VolumeStoragePoolMap> maps = objectManager.children(instance, VolumeStoragePoolMap.class); StoragePool sp = maps.size() > 0 ? objectManager.loadResource(StoragePool.class, maps.get(0).getStoragePoolId()) : null; return sp; } }