/*
* Copyright (c) 2016 EMC Corporation
* All Rights Reserved
*/
package com.emc.sa.service.vipr.tasks;
import com.emc.sa.engine.ExecutionTask;
import com.emc.sa.engine.ExecutionUtils;
import com.emc.storageos.db.client.model.Cluster;
import com.emc.storageos.db.client.model.Host;
public class ReleaseHostLock extends ExecutionTask<Void> {
private Host host;
private Cluster cluster;
public ReleaseHostLock(Host host) {
this(host, null);
}
public ReleaseHostLock(Host host, Cluster cluster) {
this.host = host;
this.cluster = cluster;
provideDetailArgs(host.getHostName());
}
@Override
public void execute() throws Exception {
acquireClusterLock();
String lockName = host.getId().toString();
ExecutionUtils.releaseLock(lockName);
}
private void acquireClusterLock() {
if (cluster != null) {
String lockName = cluster.getId().toString();
ExecutionUtils.releaseLock(lockName);
}
}
}