@Override protected void executeCommand() { TransactionSupport.executeInNewTransaction( new TransactionMethod<Object>() { @Override public Object runInTransaction() { storage_pool_iso_map domainPoolMap = new storage_pool_iso_map( getRecoveryStoragePoolParametersData().getNewMasterDomainId(), getRecoveryStoragePoolParametersData().getStoragePoolId(), StorageDomainStatus.Active); DbFacade.getInstance().getStoragePoolIsoMapDAO().save(domainPoolMap); getCompensationContext().snapshotNewEntity(domainPoolMap); getCompensationContext().stateChanged(); return null; } }); getStoragePool().setstatus(StoragePoolStatus.Problematic); if (StorageHelperDirector.getInstance() .getItem(getStorageDomain().getstorage_type()) .ConnectStorageToDomainByVdsId(getNewMaster(), getVds().getvds_id())) { super.executeCommand(); } else { getReturnValue() .setFault( new VdcFault( new VdcBLLException( VdcBllErrors.StorageServerConnectionError, "Failed to connect storage"), VdcBllErrors.StorageServerConnectionError)); } }
@Override public NGuid getStorageDomainId() { super.setStorageDomainId(getMasterDomainIdFromDb()); return super.getStorageDomainId(); }