Martin Mucha has uploaded a new change for review. Change subject: core: error fix: missing initialization checks ......................................................................
core: error fix: missing initialization checks Change-Id: If543d0a9c9d8826a09ab4415bc62ff2738b45885 Signed-off-by: Martin Mucha <mmu...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/network/MacPoolManagerRanges.java 1 file changed, 22 insertions(+), 0 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/97/26597/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 3e98841..da3e1ea 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 @@ -38,6 +38,8 @@ @Override public void initialize() { + checkNotInitialized(); + lockObj.writeLock().lock(); try { log.infoFormat("Start initializing "+getClass().getSimpleName()); @@ -87,6 +89,7 @@ @Override public String allocateNewMac() { + checkInitialized(); lockObj.writeLock().lock(); try { return allocateNewMacImpl(1)[0]; @@ -115,6 +118,7 @@ @Override public int getAvailableMacsCount() { + checkInitialized(); lockObj.readLock().lock(); try { if (!initialized) { @@ -132,6 +136,7 @@ @Override public void freeMac(String mac) { + checkInitialized(); lockObj.writeLock().lock(); try { if (!initialized) { @@ -159,6 +164,7 @@ */ @Override public boolean addMac(String mac) { + checkInitialized(); lockObj.writeLock().lock(); try { boolean added = this.macsStorage.useMac(MacAddressRangeUtils.macStringToLong(mac)); @@ -179,6 +185,7 @@ */ @Override public void forceAddMac(String mac) { + checkInitialized(); lockObj.writeLock().lock(); try { this.macsStorage.useMacNoDuplicityCheck(MacAddressRangeUtils.macStringToLong(mac)); @@ -192,6 +199,7 @@ @Override public boolean isMacInUse(String mac) { + checkInitialized(); lockObj.readLock().lock(); try { return this.macsStorage.isMacInUse(MacAddressRangeUtils.macStringToLong(mac)); @@ -203,6 +211,7 @@ @Override public void freeMacs(List<String> macs) { //TODO MM: how about some duplicities here? Release it twice or what? + checkInitialized(); if (!macs.isEmpty()) { lockObj.writeLock().lock(); try { @@ -228,6 +237,7 @@ */ @Override public List<String> allocateMacAddresses(int numberOfAddresses) { + checkInitialized(); lockObj.writeLock().lock(); try { String[] macAddresses = this.allocateNewMacImpl(numberOfAddresses); @@ -237,6 +247,18 @@ } } + private void checkNotInitialized() { + if (initialized) { + throw new IllegalStateException("This instance was already initialized."); + } + } + + private void checkInitialized() { + if (!initialized) { + throw new IllegalStateException("This instance not yet initialized."); + } + } + private static class MacsStorage { private final Boolean allowDuplicates; private List<Range> ranges = new LinkedList<>(); -- To view, visit http://gerrit.ovirt.org/26597 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: If543d0a9c9d8826a09ab4415bc62ff2738b45885 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Martin Mucha <mmu...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches