package org.zstack.test.storage.backup;
import org.zstack.header.storage.backup.BackupStorageDeleteExtensionPoint;
import org.zstack.header.storage.backup.BackupStorageException;
import org.zstack.header.storage.backup.BackupStorageInventory;
import org.zstack.utils.Utils;
import org.zstack.utils.logging.CLogger;
public class BackupStorageDeleteExtension implements BackupStorageDeleteExtensionPoint {
CLogger logger = Utils.getLogger(BackupStorageDeleteExtensionPoint.class);
boolean preventDelete = false;
boolean beforeCalled = false;
boolean afterCalled = false;
String expectedBackupStorageUuid;
@Override
public void preDeleteSecondaryStorage(BackupStorageInventory inv) throws BackupStorageException {
if (preventDelete) {
throw new BackupStorageException("Prevent deleting backup storage on purpose");
}
}
@Override
public void beforeDeleteSecondaryStorage(BackupStorageInventory inv) {
if (inv.getUuid().equals(expectedBackupStorageUuid)) {
beforeCalled = true;
} else {
String err = String.format("beforeDeleteSecondaryStorage: expect back storage uuid:%s but got %s", expectedBackupStorageUuid, inv.getUuid());
logger.warn(err);
}
}
@Override
public void afterDeleteSecondaryStorage(BackupStorageInventory inv) {
if (inv.getUuid().equals(expectedBackupStorageUuid)) {
afterCalled = true;
} else {
String err = String.format("afterDeleteSecondaryStorage: expect back storage uuid:%s but got %s", expectedBackupStorageUuid, inv.getUuid());
logger.warn(err);
}
}
public CLogger getLogger() {
return logger;
}
public void setLogger(CLogger logger) {
this.logger = logger;
}
public boolean isPreventDelete() {
return preventDelete;
}
public void setPreventDelete(boolean preventDelete) {
this.preventDelete = preventDelete;
}
public boolean isBeforeCalled() {
return beforeCalled;
}
public void setBeforeCalled(boolean beforeCalled) {
this.beforeCalled = beforeCalled;
}
public boolean isAfterCalled() {
return afterCalled;
}
public void setAfterCalled(boolean afterCalled) {
this.afterCalled = afterCalled;
}
public String getExpectedBackupStorageUuid() {
return expectedBackupStorageUuid;
}
public void setExpectedBackupStorageUuid(String expectedBackupStorageUuid) {
this.expectedBackupStorageUuid = expectedBackupStorageUuid;
}
}