summaryrefslogtreecommitdiffstats
path: root/src/com.gluster.storage.management.client/src/com/gluster/storage/management
diff options
context:
space:
mode:
authorDhandapani <dhandapani@gluster.com>2011-07-15 14:06:58 +0530
committerShireesh Anjal <shireesh@gluster.com>2011-07-17 22:17:10 +0530
commit194d5787da03f843a4eb81f304d6f30057bb5be2 (patch)
tree5ca99137760b57c38587243a4f8e807d39d4fea7 /src/com.gluster.storage.management.client/src/com/gluster/storage/management
parent665b45744d06bd9c0a53263ec87630cdc2734c90 (diff)
Disk and Partition feature added
Diffstat (limited to 'src/com.gluster.storage.management.client/src/com/gluster/storage/management')
-rw-r--r--src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java106
1 files changed, 34 insertions, 72 deletions
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java
index ba5ce336..e6089360 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java
+++ b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterDataModelManager.java
@@ -31,12 +31,14 @@ import com.gluster.storage.management.core.exceptions.GlusterRuntimeException;
import com.gluster.storage.management.core.model.Brick;
import com.gluster.storage.management.core.model.Cluster;
import com.gluster.storage.management.core.model.ClusterListener;
+import com.gluster.storage.management.core.model.Device;
import com.gluster.storage.management.core.model.Device.DEVICE_STATUS;
import com.gluster.storage.management.core.model.Disk;
import com.gluster.storage.management.core.model.Event;
import com.gluster.storage.management.core.model.Event.EVENT_TYPE;
import com.gluster.storage.management.core.model.GlusterDataModel;
import com.gluster.storage.management.core.model.GlusterServer;
+import com.gluster.storage.management.core.model.Partition;
import com.gluster.storage.management.core.model.Server;
import com.gluster.storage.management.core.model.Status;
import com.gluster.storage.management.core.model.TaskInfo;
@@ -417,17 +419,11 @@ public class GlusterDataModelManager {
return volume;
}
- /**
- * @param serverPartition
- * Qualified name of the disk to be returned (serverName:diskName)
- * @return The disk object for given qualified name
- */
- public Disk getDisk(String serverPartition) {
- List<Disk> allDisks = getReadyDisksOfAllServers();
- String diskInfo[] = serverPartition.split(":");
- for (Disk disk : allDisks) {
- if (disk.getServerName().equals(diskInfo[0]) && disk.getName().equals(diskInfo[1])) {
- return disk;
+ private Device getDevice(String serverName, String deviceName) {
+ List<Device> allDevices = getReadyDevicesOfAllServers();
+ for (Device device : allDevices) {
+ if (device.getServerName().equals(serverName) && device.getName().equals(deviceName)) {
+ return device;
}
}
return null;
@@ -436,85 +432,51 @@ public class GlusterDataModelManager {
/*
* @param diskName (sda)
*
- * @return The disk object for given disk name
+ * @return The device object for given device name
*/
- public Disk getDiskDetails(String diskName) {
- List<Disk> allDisks = getReadyDisksOfAllServers();
- for (Disk disk : allDisks) {
- if (disk.getName().equals(diskName)) {
- return disk;
+ public Device getDeviceDetails(String deviceName) {
+ List<Device> allDevices = getReadyDevicesOfAllServers();
+ for (Device device : allDevices) {
+ if (device.getName().equals(deviceName)) {
+ return device;
}
}
return null;
}
- public List<Disk> getReadyDisksOfVolume(Volume volume) {
- /*
- * TODO: review the logic
- *
- * List<Disk> disks = new ArrayList<Disk>(); for (Disk disk : volume.getDisks()) { if (disk.isReady()) {
- * disks.add(disk); } }
- */
- Disk disk = null;
- List<Disk> volumeDisks = new ArrayList<Disk>();
- for (Brick brick : volume.getBricks()) {
- disk = getDisk(brick.getServerName() + ":" + brick.getDiskName());
- // disk = new Disk();
- // disk.setServerName(brick.getServerName());
- // disk.setName(brick.getDiskName());
- // disk.setStatus(DISK_STATUS.READY);
- // disk.setMountPoint("/export/" + disk.getName());
- // disk.setSpace(250d);
- // disk.setSpaceInUse(186.39);
- if (disk != null && disk.isReady()) {
- volumeDisks.add(disk);
- }
- }
- return volumeDisks;
- }
-
- public List<Brick> getOnlineBricks(Volume volume) {
- List<Brick> onlineBricks = new ArrayList<Brick>();
+ public List<Device> getReadyDevicesOfVolume(Volume volume) {
+ Device device = null;
+ List<Device> volumeDevices = new ArrayList<Device>();
for (Brick brick : volume.getBricks()) {
- if (isOnlineDisk(brick.getDiskName())) {
- onlineBricks.add(brick);
+ device = getDevice(brick.getServerName(), brick.getDeviceName());
+ if (device != null && device.isReady()) {
+ volumeDevices.add(device);
}
}
- return onlineBricks;
- }
-
- public boolean isOnlineDisk(String diskName) {
- for (Disk disk : getReadyDisksOfAllServers()) {
- if (disk.getName().equals(diskName) && disk.isReady()) {
- return true;
- }
- }
- return false;
- }
-
- public List<Disk> getReadyDisksOfAllVolumes() {
- List<Disk> disks = new ArrayList<Disk>();
- for (Volume volume : model.getCluster().getVolumes()) {
- disks.addAll(getReadyDisksOfVolume(volume));
- }
- return disks;
+ return volumeDevices;
}
- public List<Disk> getReadyDisksOfAllServers() {
- return getReadyDisksOfAllServersExcluding(new ArrayList<Disk>());
+ public List<Device> getReadyDevicesOfAllServers() {
+ return getReadyDevicesOfAllServersExcluding(new ArrayList<Device>());
}
- public List<Disk> getReadyDisksOfAllServersExcluding(List<Disk> excludeDisks) {
- List<Disk> disks = new ArrayList<Disk>();
+ public List<Device> getReadyDevicesOfAllServersExcluding(List<Device> excludeDevices) {
+ List<Device> devices = new ArrayList<Device>();
for (Server server : model.getCluster().getServers()) {
for (Disk disk : server.getDisks()) {
- if (disk.isReady() && !excludeDisks.contains(disk)) {
- disks.add(disk);
+ if(disk.hasPartitions()) {
+ for(Partition partition : disk.getPartitions()) {
+ if(partition.isReady() && !excludeDevices.contains(partition)) {
+ devices.add(partition);
+ }
+ }
+ } else if (disk.isReady() && !excludeDevices.contains(disk)) {
+ devices.add(disk);
}
}
}
- return disks;
+ return devices;
}
public void addClusterListener(ClusterListener listener) {
@@ -721,7 +683,7 @@ public class GlusterDataModelManager {
private Boolean isDiskUsed(Volume volume, Disk disk) {
for (Brick brick : volume.getBricks()) {
- if (disk.getName().equals(brick.getDiskName()) && disk.getServerName().equals(brick.getServerName())) {
+ if (disk.getName().equals(brick.getDeviceName()) && disk.getServerName().equals(brick.getServerName())) {
return true;
}
}