Mike Kolesnik has uploaded a new change for review. Change subject: engine: Use AutoCloseableLock in MacPoolManagerRanges ......................................................................
engine: Use AutoCloseableLock in MacPoolManagerRanges Refactored MacPoolManagerRanges to use the AutoCloseableLock to simplify lock blocks. Change-Id: I5fdb1cb8c302e88dbcbdc434313a6b11f7b15d5b Signed-off-by: Mike Kolesnik <mkole...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/MacPoolManagerRanges.java 1 file changed, 10 insertions(+), 37 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/18/29618/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/MacPoolManagerRanges.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/MacPoolManagerRanges.java index 243941e..1e8cf7d 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/MacPoolManagerRanges.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/MacPoolManagerRanges.java @@ -14,6 +14,7 @@ import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogDirector; import org.ovirt.engine.core.dal.dbbroker.auditloghandling.AuditLogableBase; import org.ovirt.engine.core.utils.MacAddressRangeUtils; +import org.ovirt.engine.core.utils.lock.AutoCloseableLock; import org.ovirt.engine.core.utils.log.Log; import org.ovirt.engine.core.utils.log.LogFactory; @@ -35,9 +36,7 @@ @Override public void initialize() { - lockObj.writeLock().lock(); - - try { + try (AutoCloseableLock l = new AutoCloseableLock(lockObj.writeLock())) { if (initialized) { log.error("Trying to initialized " + getClass().getName() + " multiple times."); return; @@ -57,8 +56,6 @@ log.infoFormat("Finished initializing. Available MACs in pool: {0}", macsStorage.getAvailableMacsCount()); } catch (Exception ex) { log.errorFormat("Error in initializing MAC Addresses pool manager.", ex); - } finally { - lockObj.writeLock().unlock(); } } @@ -89,12 +86,9 @@ @Override public String allocateNewMac() { - lockObj.writeLock().lock(); - try { + try (AutoCloseableLock l = new AutoCloseableLock(lockObj.writeLock())) { checkIfInitialized(); return allocateNewMacsWithoutLocking(1).get(0); - } finally { - lockObj.writeLock().unlock(); } } @@ -108,51 +102,39 @@ @Override public int getAvailableMacsCount() { - lockObj.readLock().lock(); - try { + try (AutoCloseableLock l = new AutoCloseableLock(lockObj.readLock())) { checkIfInitialized(); int availableMacsSize = macsStorage.getAvailableMacsCount(); log.debugFormat("Number of available Mac addresses = {1}", availableMacsSize); return availableMacsSize; - } finally { - lockObj.readLock().unlock(); } } @Override public void freeMac(String mac) { - lockObj.writeLock().lock(); - try { + try (AutoCloseableLock l = new AutoCloseableLock(lockObj.writeLock())) { checkIfInitialized(); macsStorage.freeMac(MacAddressRangeUtils.macToLong(mac)); - } finally { - lockObj.writeLock().unlock(); } } @Override public boolean addMac(String mac) { - lockObj.writeLock().lock(); - try { + try (AutoCloseableLock l = new AutoCloseableLock(lockObj.writeLock())) { checkIfInitialized(); boolean added = macsStorage.useMac(MacAddressRangeUtils.macToLong(mac)); logWhenMacPoolIsEmpty(); return added; - } finally { - lockObj.writeLock().unlock(); } } @Override public void forceAddMac(String mac) { - lockObj.writeLock().lock(); - try { + try (AutoCloseableLock l = new AutoCloseableLock(lockObj.writeLock())) { checkIfInitialized(); forceAddMacWithoutLocking(mac); - } finally { - lockObj.writeLock().unlock(); } } @@ -163,38 +145,29 @@ @Override public boolean isMacInUse(String mac) { - lockObj.readLock().lock(); - try { + try (AutoCloseableLock l = new AutoCloseableLock(lockObj.readLock())) { checkIfInitialized(); return macsStorage.isMacInUse(MacAddressRangeUtils.macToLong(mac)); - } finally { - lockObj.readLock().unlock(); } } @Override public void freeMacs(List<String> macs) { - lockObj.writeLock().lock(); - try { + try (AutoCloseableLock l = new AutoCloseableLock(lockObj.writeLock())) { checkIfInitialized(); for (String mac : macs) { macsStorage.freeMac(MacAddressRangeUtils.macToLong(mac)); } - } finally { - lockObj.writeLock().unlock(); } } @Override public List<String> allocateMacAddresses(int numberOfAddresses) { - lockObj.writeLock().lock(); - try { + try (AutoCloseableLock l = new AutoCloseableLock(lockObj.writeLock())) { checkIfInitialized(); return allocateNewMacsWithoutLocking(numberOfAddresses); - } finally { - lockObj.writeLock().unlock(); } } -- To view, visit http://gerrit.ovirt.org/29618 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I5fdb1cb8c302e88dbcbdc434313a6b11f7b15d5b Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Mike Kolesnik <mkole...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches