[libvirt-java] [PATCH 02/15] Remove processError from Device class

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Wrap any fallible libvirt function in a call to ErrorHandler.processError(..).
---
Note, that this patch depends on another patch[1] still awaiting review.

[1] http://www.redhat.com/archives/libvir-list/2014-January/msg00397.html

 src/main/java/org/libvirt/Device.java | 49 ++++++++++-------------------------
 1 file changed, 14 insertions(+), 35 deletions(-)

diff --git a/src/main/java/org/libvirt/Device.java b/src/main/java/org/libvirt/Device.java
index d55321e..a3b20b8 100644
--- a/src/main/java/org/libvirt/Device.java
+++ b/src/main/java/org/libvirt/Device.java
@@ -2,6 +2,9 @@ package org.libvirt;
 
 import org.libvirt.jna.DevicePointer;
 import static org.libvirt.Library.libvirt;
+import static org.libvirt.ErrorHandler.processError;
+
+import com.sun.jna.Pointer;
 
 import com.sun.jna.Pointer;
 
@@ -43,8 +46,7 @@ public class Device {
     public int destroy() throws LibvirtException {
         int success = 0;
         if (VDP != null) {
-            success = libvirt.virNodeDeviceDestroy(VDP);
-            processError();
+            success = processError(libvirt.virNodeDeviceDestroy(VDP));
             VDP = null;
         }
 
@@ -58,9 +60,7 @@ public class Device {
      * @throws LibvirtException
      */
     public int detach() throws LibvirtException {
-        int num = libvirt.virNodeDeviceDettach(VDP);
-        processError();
-        return num;
+        return processError(libvirt.virNodeDeviceDettach(VDP));
     }
 
     @Override
@@ -78,8 +78,7 @@ public class Device {
     public int free() throws LibvirtException {
         int success = 0;
         if (VDP != null) {
-            success = libvirt.virNodeDeviceFree(VDP);
-            processError();
+            success = processError(libvirt.virNodeDeviceFree(VDP));
             VDP = null;
         }
 
@@ -92,9 +91,7 @@ public class Device {
      * @throws LibvirtException
      */
     public String getName() throws LibvirtException {
-        String name = libvirt.virNodeDeviceGetName(VDP);
-        processError();
-        return name;
+        return processError(libvirt.virNodeDeviceGetName(VDP));
     }
 
     /**
@@ -103,9 +100,7 @@ public class Device {
      * @throws LibvirtException
      */
     public int getNumberOfCapabilities() throws LibvirtException {
-        int num = libvirt.virNodeDeviceNumOfCaps(VDP);
-        processError();
-        return num;
+        return processError(libvirt.virNodeDeviceNumOfCaps(VDP));
     }
 
     /**
@@ -114,9 +109,7 @@ public class Device {
      * @throws LibvirtException
      */
     public String getParent() throws LibvirtException {
-        String parent = libvirt.virNodeDeviceGetParent(VDP);
-        processError();
-        return parent;
+        return processError(libvirt.virNodeDeviceGetParent(VDP));
     }
 
     /**
@@ -125,9 +118,7 @@ public class Device {
      * @throws LibvirtException
      */
     public String getXMLDescription() throws LibvirtException {
-        String desc = libvirt.virNodeDeviceGetXMLDesc(VDP);
-        processError();
-        return desc;
+        return processError(libvirt.virNodeDeviceGetXMLDesc(VDP));
     }
 
     /**
@@ -140,8 +131,8 @@ public class Device {
 
         if (maxCaps > 0) {
             Pointer[] ptrs = new Pointer[maxCaps];
-            int got = libvirt.virNodeDeviceListCaps(VDP, ptrs, maxCaps);
-            processError();
+            int got = processError(libvirt.virNodeDeviceListCaps(VDP, ptrs, maxCaps));
+
             return Library.toStringArray(ptrs, got);
         } else {
             return Library.NO_STRINGS;
@@ -149,22 +140,12 @@ public class Device {
     }
 
     /**
-     * Error handling logic to throw errors. Must be called after every libvirt
-     * call.
-     */
-    protected void processError() throws LibvirtException {
-        virConnect.processError();
-    }
-
-    /**
      * ReAttach a device to the node.
      *
      * @throws LibvirtException
      */
     public int reAttach() throws LibvirtException {
-        int num = libvirt.virNodeDeviceReAttach(VDP);
-        processError();
-        return num;
+        return processError(libvirt.virNodeDeviceReAttach(VDP));
     }
 
     /**
@@ -174,8 +155,6 @@ public class Device {
      * @throws LibvirtException
      */
     public int reset() throws LibvirtException {
-        int num = libvirt.virNodeDeviceReset(VDP);
-        processError();
-        return num;
+        return processError(libvirt.virNodeDeviceReset(VDP));
     }
 }
-- 
1.8.5.2.msysgit.0

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]