package org.ovirt.engine.core.vdsbroker.vdsbroker; import org.ovirt.engine.core.common.businessentities.*; import org.ovirt.engine.core.common.config.Config; import org.ovirt.engine.core.common.config.ConfigValues; import org.ovirt.engine.core.common.vdscommands.*; import java.util.Map; import java.util.HashMap; public class ReconstructMasterVDSCommand<P extends ReconstructMasterVDSCommandParameters> extends VdsBrokerCommand<P> { public ReconstructMasterVDSCommand(P parameters) { super(parameters); } @Override protected void ExecuteVdsBrokerCommand() { Map<String, String> domains = new HashMap<String, String>(); for (storage_pool_iso_map domain : getParameters().getDomainsList()) { domains.put(domain.getstorage_id().toString(), domain.getstatus() != null ? domain.getstatus() == StorageDomainStatus.InActive ? "attached" : domain.getstatus().toString().toLowerCase() : StorageDomainStatus.Unknown.toString() .toLowerCase()); } status = getBroker().reconstructMaster(getParameters().getStoragePoolId().toString(), getParameters().getStoragePoolName(), getParameters().getMasterDomainId().toString(), domains, getParameters().getMasterVersion(), Config.<String> GetValue(ConfigValues.LockPolicy), Config.<Integer> GetValue(ConfigValues.LockRenewalIntervalSec), Config.<Integer> GetValue(ConfigValues.LeaseTimeSec), Config.<Integer> GetValue(ConfigValues.IoOpTimeoutSec), Config.<Integer> GetValue(ConfigValues.LeaseRetries)); ProceedProxyReturnValue(); } }