/* * Copyright (c) 2012-2015 iWave Software LLC * All Rights Reserved */ package com.emc.sa.service.vmware.tasks; import com.iwave.ext.vmware.HostStorageAPI; import com.iwave.ext.vmware.VMWareException; import com.vmware.vim25.ResourceInUse; import com.vmware.vim25.mo.Datastore; import com.vmware.vim25.mo.HostSystem; public class DeleteDatastore extends RetryableTask<Void> { private final Datastore datastore; private final HostStorageAPI hostStorageAPI; public DeleteDatastore(HostSystem host, Datastore datastore) { this.datastore = datastore; this.hostStorageAPI = new HostStorageAPI(host); provideDetailArgs(datastore.getName(), host.getName()); provideNameArgs(datastore.getName()); } @Override protected Void tryExecute() { hostStorageAPI.deleteDatastore(datastore); return null; } @Override protected boolean canRetry(VMWareException e) { return e.getCause() instanceof ResourceInUse; } }