CLOUDSTACK-9211: Add javadoc and refactor method

Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/448b43fa
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/448b43fa
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/448b43fa

Branch: refs/heads/master
Commit: 448b43faeae58c923fe52c5540d604db03d70b15
Parents: 656ae10
Author: nvazquez <nicolas.m.vazq...@gmail.com>
Authored: Thu Jan 14 17:26:36 2016 -0200
Committer: nvazquez <nicolas.m.vazq...@gmail.com>
Committed: Thu Jan 14 17:26:36 2016 -0200

----------------------------------------------------------------------
 .../vmware/resource/VmwareResource.java         | 88 ++++++++++++--------
 1 file changed, 51 insertions(+), 37 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/448b43fa/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
----------------------------------------------------------------------
diff --git 
a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
 
b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
index 7248b08..6796c47 100644
--- 
a/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
+++ 
b/plugins/hypervisors/vmware/src/com/cloud/hypervisor/vmware/resource/VmwareResource.java
@@ -1896,9 +1896,8 @@ public class VmwareResource implements 
StoragePoolResource, ServerResource, Vmwa
 
             postDiskConfigBeforeStart(vmMo, vmSpec, sortedDisks, 
ideControllerKey, scsiControllerKey, iqnToPath, hyperHost, context);
 
-            //Sets video card memory to the one provided in detail 
svga.vramSize (if provided), 64MB was always set before
             postVideoCardMemoryConfigBeforeStart(vmMo, vmSpec);
-            
+
             //
             // Power-on VM
             //
@@ -1947,42 +1946,57 @@ public class VmwareResource implements 
StoragePoolResource, ServerResource, Vmwa
         }
     }
 
+    /**
+     * Sets video card memory to the one provided in detail svga.vramSize (if 
provided).
+     * 64MB was always set before.
+     * Size must be in KB.
+     * @param vmMo virtual machine mo
+     * @param vmSpec virtual machine specs
+     */
     private void postVideoCardMemoryConfigBeforeStart(VirtualMachineMO vmMo, 
VirtualMachineTO vmSpec) {
-       String paramVRamSize = "svga.vramSize";
-       if (vmSpec.getDetails().containsKey(paramVRamSize)){
-               String value = vmSpec.getDetails().get(paramVRamSize);
-               try {
-                       long svgaVmramSize = Long.parseLong(value);
-                       for (VirtualDevice device : vmMo.getAllDeviceList()){
-                               if (device instanceof VirtualMachineVideoCard){
-                                       VirtualMachineVideoCard videoCard = 
(VirtualMachineVideoCard) device;
-                                       if 
(videoCard.getVideoRamSizeInKB().longValue() != svgaVmramSize){
-                                               s_logger.info("Video card 
memory was set " + videoCard.getVideoRamSizeInKB().longValue() + "kb instead of 
" + svgaVmramSize + "kb");
-                                               
videoCard.setVideoRamSizeInKB(svgaVmramSize);
-                                               
videoCard.setUseAutoDetect(false);
-
-                                               VirtualDeviceConfigSpec 
arrayVideoCardConfigSpecs = new VirtualDeviceConfigSpec();
-                                               
arrayVideoCardConfigSpecs.setDevice(videoCard);
-                                               
arrayVideoCardConfigSpecs.setOperation(VirtualDeviceConfigSpecOperation.EDIT);
-
-                                               VirtualMachineConfigSpec 
changeVideoCardSpecs = new VirtualMachineConfigSpec();
-                                               
changeVideoCardSpecs.getDeviceChange().add(arrayVideoCardConfigSpecs);
-
-                                               boolean res = 
vmMo.configureVm(changeVideoCardSpecs);
-                                               if (res) {
-                                                       s_logger.info("Video 
card memory successfully updated to " + svgaVmramSize + "kb");
-                                               }
-                                       }
-                               }
-                       }
-               }
-               catch (NumberFormatException e){
-                       s_logger.error("Unexpected value, cannot parse " + 
value + " to long due to: " + e.getMessage());
-               }
-               catch (Exception e){
-                       s_logger.error("Error while reconfiguring vm due to: " 
+ e.getMessage());
-               }
-       }
+        String paramVRamSize = "svga.vramSize";
+        if (vmSpec.getDetails().containsKey(paramVRamSize)){
+            String value = vmSpec.getDetails().get(paramVRamSize);
+            try {
+                long svgaVmramSize = Long.parseLong(value);
+                for (VirtualDevice device : vmMo.getAllDeviceList()){
+                    if (device instanceof VirtualMachineVideoCard){
+                        VirtualMachineVideoCard videoCard = 
(VirtualMachineVideoCard) device;
+                        if (videoCard.getVideoRamSizeInKB().longValue() != 
svgaVmramSize){
+                            s_logger.info("Video card memory was set " + 
videoCard.getVideoRamSizeInKB().longValue() + "kb instead of " + svgaVmramSize 
+ "kb");
+                            boolean res = 
vmMo.configureVm(configSpecVideoCardNewVRamSize(videoCard, svgaVmramSize));
+                            if (res) {
+                                s_logger.info("Video card memory successfully 
updated to " + svgaVmramSize + "kb");
+                            }
+                        }
+                    }
+                }
+            }
+            catch (NumberFormatException e){
+                s_logger.error("Unexpected value, cannot parse " + value + " 
to long due to: " + e.getMessage());
+            }
+            catch (Exception e){
+                s_logger.error("Error while reconfiguring vm due to: " + 
e.getMessage());
+            }
+        }
+    }
+
+    /**
+     * Returns a VirtualMachineConfigSpec to edit its svga vram size
+     * @param videoCard video card device to edit providing the svga vram size
+     * @param svgaVmramSize new svga vram size
+     */
+    private VirtualMachineConfigSpec 
configSpecVideoCardNewVRamSize(VirtualMachineVideoCard videoCard, long 
svgaVmramSize){
+        videoCard.setVideoRamSizeInKB(svgaVmramSize);
+        videoCard.setUseAutoDetect(false);
+
+        VirtualDeviceConfigSpec arrayVideoCardConfigSpecs = new 
VirtualDeviceConfigSpec();
+        arrayVideoCardConfigSpecs.setDevice(videoCard);
+        
arrayVideoCardConfigSpecs.setOperation(VirtualDeviceConfigSpecOperation.EDIT);
+
+        VirtualMachineConfigSpec changeVideoCardSpecs = new 
VirtualMachineConfigSpec();
+        changeVideoCardSpecs.getDeviceChange().add(arrayVideoCardConfigSpecs);
+        return changeVideoCardSpecs;
     }
 
     private void tearDownVm(VirtualMachineMO vmMo) throws Exception{

Reply via email to