diff options
author | Dhandapani <dhandapani@gluster.com> | 2011-07-15 14:06:58 +0530 |
---|---|---|
committer | Shireesh Anjal <shireesh@gluster.com> | 2011-07-17 22:17:10 +0530 |
commit | 194d5787da03f843a4eb81f304d6f30057bb5be2 (patch) | |
tree | 5ca99137760b57c38587243a4f8e807d39d4fea7 /src/com.gluster.storage.management.client/src/com/gluster/storage/management | |
parent | 665b45744d06bd9c0a53263ec87630cdc2734c90 (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.java | 106 |
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; } } |