Ramesh N has uploaded a new change for review.

Change subject: gluster: vdsm change for fetching volume capacity info
......................................................................

gluster: vdsm change for fetching volume capacity info

   Fetch the volume capacity information as part of
gluster volume advanced details.

Change-Id: I126eb7057ee1cc9abb31c0a9579c48a5cccb8be0
Signed-off-by: Ramesh Nachimuthu <rnach...@redhat.com>
---
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeAdvancedDetails.java
M 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeEntity.java
A 
backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeSizeInfo.java
M 
backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterVolumeStatusReturnForXmlRpc.java
M 
frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml
5 files changed, 151 insertions(+), 0 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/91/23091/1

diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeAdvancedDetails.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeAdvancedDetails.java
index 9ca1ead..1b79a81 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeAdvancedDetails.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeAdvancedDetails.java
@@ -21,6 +21,7 @@
 
     private List<BrickDetails> brickDetails;
     private List<GlusterServerService> serviceInfo;
+    private GlusterVolumeSizeInfo capacityInfo;
 
     public GlusterVolumeAdvancedDetails() {
     }
@@ -105,4 +106,12 @@
     public void setServiceInfo(List<GlusterServerService> serviceInfo) {
         this.serviceInfo = serviceInfo;
     }
+
+    public GlusterVolumeSizeInfo getCapacityInfo() {
+        return capacityInfo;
+    }
+
+    public void setCapacityInfo(GlusterVolumeSizeInfo capacityInfo) {
+        this.capacityInfo = capacityInfo;
+    }
 }
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeEntity.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeEntity.java
index e7fc8c2..aba97e7 100644
--- 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeEntity.java
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeEntity.java
@@ -77,6 +77,8 @@
 
     private GlusterAsyncTask asyncTask;
 
+    private GlusterVolumeAdvancedDetails advancedDetails;
+
     public GlusterVolumeEntity() {
         options = new LinkedHashMap<String, GlusterVolumeOptionEntity>();
         bricks = new ArrayList<GlusterBrickEntity>();
@@ -374,6 +376,7 @@
         result = prime * result + ((accessProtocols == null) ? 0 : 
accessProtocols.hashCode());
         result = prime * result + ((bricks == null) ? 0 : bricks.hashCode());
         result = prime * result + ((asyncTask == null) ? 0 : 
asyncTask.hashCode());
+        result = prime * result + ((advancedDetails == null) ? 0 : 
advancedDetails.hashCode());
         return result;
     }
 
@@ -417,6 +420,10 @@
             return false;
         }
 
+        if (!ObjectUtils.objectsEqual(getAdvancedDetails(), 
volume.getAdvancedDetails())) {
+            return false;
+        }
+
         return true;
     }
 
@@ -453,4 +460,12 @@
     public void setAsyncTask(GlusterAsyncTask asyncTask) {
         this.asyncTask = asyncTask;
     }
+
+    public GlusterVolumeAdvancedDetails getAdvancedDetails() {
+        return advancedDetails;
+    }
+
+    public void setAdvancedDetails(GlusterVolumeAdvancedDetails 
advancedDetails) {
+        this.advancedDetails = advancedDetails;
+    }
 }
diff --git 
a/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeSizeInfo.java
 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeSizeInfo.java
new file mode 100644
index 0000000..2af0ca1
--- /dev/null
+++ 
b/backend/manager/modules/common/src/main/java/org/ovirt/engine/core/common/businessentities/gluster/GlusterVolumeSizeInfo.java
@@ -0,0 +1,113 @@
+package org.ovirt.engine.core.common.businessentities.gluster;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import org.ovirt.engine.core.common.utils.ObjectUtils;
+import org.ovirt.engine.core.compat.Guid;
+
+public class GlusterVolumeSizeInfo implements Serializable {
+    private static final long serialVersionUID = -5145858224564431005L;
+
+    private Guid volumeId;
+
+    private Long totalSize;
+
+    private Long freeSize;
+
+    private Long usedSize;
+
+    private Date updatedAt;
+
+    public GlusterVolumeSizeInfo() {
+    }
+
+    public GlusterVolumeSizeInfo(Long totalSize, Long freeSize, Long usedSize, 
Date updatedAt) {
+        this.totalSize = totalSize;
+        this.freeSize = freeSize;
+        this.usedSize = usedSize;
+        this.updatedAt = updatedAt;
+    }
+
+    public Guid getVolumeId() {
+        return this.volumeId;
+    }
+
+    public void setVolumeId(Guid id) {
+        this.volumeId = id;
+    }
+
+    public Long getTotalSize() {
+        return totalSize;
+    }
+
+    public void setTotalSize(Long totalSize) {
+        this.totalSize = totalSize;
+    }
+
+    public Long getFreeSize() {
+        return freeSize;
+    }
+
+    public void setFreeSize(Long freeSize) {
+        this.freeSize = freeSize;
+    }
+
+    public Long getUsedSize() {
+        return usedSize;
+    }
+
+    public void setUsedSize(Long usedSize) {
+        this.usedSize = usedSize;
+    }
+
+    public Date getUpdatedAt() {
+        return updatedAt;
+    }
+
+    public void setUpdatedAt(Date updatedAt) {
+        this.updatedAt = updatedAt;
+    }
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + ((volumeId == null) ? 0 : 
volumeId.hashCode());
+        result = prime * result + ((totalSize == null) ? 0 : 
totalSize.hashCode());
+        result = prime * result + ((freeSize == null) ? 0 : 
freeSize.hashCode());
+        result = prime * result + ((usedSize == null) ? 0 : 
usedSize.hashCode());
+        result = prime * result + ((updatedAt == null) ? 0 : 
updatedAt.hashCode());
+        return result;
+    }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (!(obj instanceof GlusterVolumeSizeInfo)) {
+            return false;
+        }
+        GlusterVolumeSizeInfo sizeInfo = (GlusterVolumeSizeInfo) obj;
+
+        if (!ObjectUtils.objectsEqual(volumeId, sizeInfo.getVolumeId())) {
+            return false;
+        }
+
+        if (!ObjectUtils.objectsEqual(updatedAt, sizeInfo.getUpdatedAt())) {
+            return false;
+        }
+
+        if (!ObjectUtils.objectsEqual(totalSize, sizeInfo.getTotalSize())) {
+            return false;
+        }
+
+        if (!ObjectUtils.objectsEqual(freeSize, sizeInfo.getFreeSize())) {
+            return false;
+        }
+
+        if (!ObjectUtils.objectsEqual(usedSize, sizeInfo.getUsedSize())) {
+            return false;
+        }
+
+        return true;
+    }
+}
diff --git 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterVolumeStatusReturnForXmlRpc.java
 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterVolumeStatusReturnForXmlRpc.java
index 0b6896b..3fb9f53 100644
--- 
a/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterVolumeStatusReturnForXmlRpc.java
+++ 
b/backend/manager/modules/vdsbroker/src/main/java/org/ovirt/engine/core/vdsbroker/gluster/GlusterVolumeStatusReturnForXmlRpc.java
@@ -14,6 +14,7 @@
 import org.ovirt.engine.core.common.businessentities.gluster.GlusterStatus;
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeAdvancedDetails;
 import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeEntity;
+import 
org.ovirt.engine.core.common.businessentities.gluster.GlusterVolumeSizeInfo;
 import org.ovirt.engine.core.common.businessentities.gluster.MallInfo;
 import org.ovirt.engine.core.common.businessentities.gluster.MemoryStatus;
 import org.ovirt.engine.core.common.businessentities.gluster.Mempool;
@@ -42,6 +43,7 @@
 
     private static final String DETAIL_SIZE_TOTAL = "sizeTotal";
     private static final String DETAIL_SIZE_FREE = "sizeFree";
+    private static final String DETAIL_SIZE_USED = "sizeUsed";
     private static final String DETAIL_DEVICE = "device";
     private static final String DETAIL_BLOCK_SIZE = "blockSize";
     private static final String DETAIL_MNT_OPTIONS = "mntOptions";
@@ -90,6 +92,17 @@
             List<BrickDetails> brickDetails = prepareBrickDetails(volume, 
(Object[]) statusInfo.get(BRICKS));
             volumeAdvancedDetails.setBrickDetails(brickDetails);
             
volumeAdvancedDetails.setServiceInfo(prepareServiceInfo(statusInfo));
+            GlusterVolumeSizeInfo capacityInfo = null;
+
+            // Fetch the volume capacity detail
+            if (statusInfo.containsKey(DETAIL_SIZE_TOTAL)) {
+                capacityInfo = new GlusterVolumeSizeInfo();
+                capacityInfo.setVolumeId(volume.getId());
+                capacityInfo.setTotalSize(Long.valueOf((String) 
statusInfo.get(DETAIL_SIZE_TOTAL)));
+                capacityInfo.setUsedSize(Long.valueOf((String) 
statusInfo.get(DETAIL_SIZE_USED)));
+                capacityInfo.setFreeSize(Long.valueOf((String) 
statusInfo.get(DETAIL_SIZE_FREE)));
+                volumeAdvancedDetails.setCapacityInfo(capacityInfo);
+            }
         }
     }
 
diff --git 
a/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml
 
b/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml
index 258ac04..d20fc8a 100644
--- 
a/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml
+++ 
b/frontend/webadmin/modules/gwt-common/src/main/resources/org/ovirt/engine/core/Common.gwt.xml
@@ -279,6 +279,7 @@
                <include 
name="common/businessentities/gluster/GlusterHookStatus.java"/>
                <include 
name="common/businessentities/gluster/GlusterHookContentType.java"/>
                <include 
name="common/businessentities/gluster/GlusterHookConflictFlags.java"/>
+               <include 
name="common/businessentities/gluster/GlusterVolumeSizeInfo.java"/>
                <include 
name="common/asynctasks/gluster/GlusterAsyncTask.java"/>
                <include 
name="common/asynctasks/gluster/GlusterTaskStatus.java"/>
                <include name="common/asynctasks/gluster/GlusterTaskType.java"/>


-- 
To view, visit http://gerrit.ovirt.org/23091
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I126eb7057ee1cc9abb31c0a9579c48a5cccb8be0
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: master
Gerrit-Owner: Ramesh N <rnach...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to