@Test
 public void checkStorageDomainNotEqualWithStatusActive() {
   setStorageDomainStatus(StorageDomainStatus.Active);
   assertFalse(cmd.checkStorageDomainStatusNotEqual(StorageDomainStatus.Active));
   List<String> messages = cmd.getReturnValue().getCanDoActionMessages();
   assertEquals(messages.size(), 2);
   assertEquals(
       messages.get(0),
       VdcBllMessages.ACTION_TYPE_FAILED_STORAGE_DOMAIN_STATUS_ILLEGAL2.toString());
   assertEquals(messages.get(1), String.format("$status %1$s", StorageDomainStatus.Active));
 }
 protected boolean CheckStorageDomainStatusNotEqual(StorageDomainStatus status) {
   boolean returnValue = false;
   if (getStorageDomain() != null && getStorageDomain().getstatus() != null) {
     returnValue = (getStorageDomain().getstatus() != status);
     if (!returnValue) {
       addCanDoActionMessage(
           VdcBllMessages.ACTION_TYPE_FAILED_STORAGE_DOMAIN_STATUS_ILLEGAL2.toString());
       addCanDoActionMessage(String.format("$status %1$s", getStorageDomain().getstatus()));
     }
   }
   return returnValue;
 }
  @Override
  protected boolean canDoAction() {
    boolean returnValue = super.canDoAction() && CheckStoragePool();
    getReturnValue()
        .getCanDoActionMessages()
        .remove(VdcBllMessages.VAR__ACTION__RECONSTRUCT_MASTER.toString());

    addCanDoActionMessage(VdcBllMessages.VAR__ACTION__RECOVER_POOL);
    addCanDoActionMessage(VdcBllMessages.VAR__TYPE__STORAGE__DOMAIN);
    if (returnValue) {
      if (getStoragePool().getstatus() == StoragePoolStatus.Uninitialized) {
        addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_STORAGE_POOL_STATUS_ILLEGAL);
        return false;
      } else if (getStorageDomain() != null
          && getStorageDomain().getstatus() != null
          && getStorageDomain().getstatus() == StorageDomainStatus.Active) {
        getReturnValue()
            .getCanDoActionMessages()
            .add(VdcBllMessages.ACTION_TYPE_FAILED_STORAGE_DOMAIN_STATUS_ILLEGAL2.toString());
        returnValue = false;
      } else if (electNewMaster() != null) {
        getReturnValue()
            .getCanDoActionMessages()
            .add(
                VdcBllMessages.STORAGE_POOL_REINITIALIZE_WITH_MORE_THAN_ONE_DATA_DOMAIN.toString());
        returnValue = false;
      } else {
        storage_domains domain =
            DbFacade.getInstance().getStorageDomainDAO().get(_newMasterStorageDomainId);
        if (domain.getstorage_domain_shared_status() != StorageDomainSharedStatus.Unattached) {
          addCanDoActionMessage(VdcBllMessages.ACTION_TYPE_FAILED_STORAGE_DOMAIN_STATUS_ILLEGAL);
          returnValue = false;
        } else if (domain.getstorage_type() != getStoragePool().getstorage_pool_type()) {
          addCanDoActionMessage(
              VdcBllMessages.ERROR_CANNOT_RECOVERY_STORAGE_POOL_STORAGE_TYPE_MISSMATCH);
          returnValue = false;
        }
      }
    }
    return returnValue;
  }