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

Reply via email to