package org.ovirt.engine.core.bll.memory; import org.ovirt.engine.core.common.businessentities.Snapshot; import org.ovirt.engine.core.common.businessentities.Snapshot.SnapshotType; import org.ovirt.engine.core.common.businessentities.VM; import org.ovirt.engine.core.compat.Guid; import org.ovirt.engine.core.dal.dbbroker.DbFacade; import org.ovirt.engine.core.dao.SnapshotDao; /** * This builder is responsible to create the memory volumes for stateless snapshot - * it just take the memory volume of the previously active snapshot */ public class StatelessSnapshotMemoryImageBuilder implements MemoryImageBuilder { private final Snapshot activeSnapshot; public StatelessSnapshotMemoryImageBuilder(VM vm) { activeSnapshot = getSnapshotDao().get(vm.getId(), SnapshotType.ACTIVE); } @Override public void build() { //no op } @Override public String getVolumeStringRepresentation() { return activeSnapshot.getMemoryVolume(); } @Override public Guid getMemoryDiskId() { return activeSnapshot.getMemoryDiskId(); } @Override public Guid getMetadataDiskId() { return activeSnapshot.getMetadataDiskId(); } @Override public boolean isCreateTasks() { return false; } protected SnapshotDao getSnapshotDao() { return DbFacade.getInstance().getSnapshotDao(); } }