http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/3ae274a4/vmware-base/src/com/cloud/hypervisor/vmware/util/VmwareContext.java
----------------------------------------------------------------------
diff --git 
a/vmware-base/src/com/cloud/hypervisor/vmware/util/VmwareContext.java 
b/vmware-base/src/com/cloud/hypervisor/vmware/util/VmwareContext.java
index 155a3a7..6dd6475 100755
--- a/vmware-base/src/com/cloud/hypervisor/vmware/util/VmwareContext.java
+++ b/vmware-base/src/com/cloud/hypervisor/vmware/util/VmwareContext.java
@@ -27,38 +27,38 @@ import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.io.OutputStream;
 import java.net.ConnectException;
-import java.net.HttpURLConnection;
-import java.net.URL;
-import java.net.URLEncoder;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.net.ssl.HostnameVerifier;
-import javax.net.ssl.HttpsURLConnection;
-import javax.net.ssl.SSLSession;
-
-import org.apache.log4j.Logger;
-
-import com.cloud.hypervisor.vmware.mo.DatacenterMO;
-import com.cloud.hypervisor.vmware.mo.DatastoreFile;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.net.URLEncoder;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.net.ssl.HostnameVerifier;
+import javax.net.ssl.HttpsURLConnection;
+import javax.net.ssl.SSLSession;
+
+import org.apache.log4j.Logger;
+
+import com.cloud.hypervisor.vmware.mo.DatacenterMO;
+import com.cloud.hypervisor.vmware.mo.DatastoreFile;
 import com.cloud.utils.ActionDelegate;
-import com.vmware.apputils.version.ExtendedAppUtil;
-import com.vmware.apputils.vim25.ServiceConnection;
-import com.vmware.apputils.vim25.ServiceUtil;
-import com.vmware.vim25.ManagedObjectReference;
-import com.vmware.vim25.ObjectContent;
-import com.vmware.vim25.ObjectSpec;
-import com.vmware.vim25.PropertyFilterSpec;
-import com.vmware.vim25.PropertySpec;
-import com.vmware.vim25.SelectionSpec;
-import com.vmware.vim25.ServiceContent;
-import com.vmware.vim25.TaskInfo;
-import com.vmware.vim25.TraversalSpec;
-import com.vmware.vim25.VimPortType;
-
-public class VmwareContext {
+import com.vmware.apputils.version.ExtendedAppUtil;
+import com.vmware.apputils.vim25.ServiceConnection;
+import com.vmware.apputils.vim25.ServiceUtil;
+import com.vmware.vim25.ManagedObjectReference;
+import com.vmware.vim25.ObjectContent;
+import com.vmware.vim25.ObjectSpec;
+import com.vmware.vim25.PropertyFilterSpec;
+import com.vmware.vim25.PropertySpec;
+import com.vmware.vim25.SelectionSpec;
+import com.vmware.vim25.ServiceContent;
+import com.vmware.vim25.TaskInfo;
+import com.vmware.vim25.TraversalSpec;
+import com.vmware.vim25.VimPortType;
+
+public class VmwareContext {
     private static final Logger s_logger = 
Logger.getLogger(VmwareContext.class);
 
     private static int MAX_CONNECT_RETRY = 5;
@@ -69,229 +69,229 @@ public class VmwareContext {
        
        private Map<String, Object> _stockMap = new HashMap<String, Object>();
        private int _CHUNKSIZE = 1*1024*1024;           // 1M
-       
-       static {
-               try {
-                       javax.net.ssl.TrustManager[] trustAllCerts = new 
javax.net.ssl.TrustManager[1]; 
-                       javax.net.ssl.TrustManager tm = new TrustAllManager(); 
-                       trustAllCerts[0] = tm; 
-                       javax.net.ssl.SSLContext sc = 
javax.net.ssl.SSLContext.getInstance("SSL"); 
-                       sc.init(null, trustAllCerts, null); 
-                       
javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
-               } catch (Exception e) {
-                       s_logger.error("Unexpected exception ", e);
-               }
-       }
-       
-       public VmwareContext(ExtendedAppUtil appUtil, String address) {
-               assert(appUtil != null) : "Invalid parameter in constructing 
VmwareContext object";
-               
-               _appUtil = appUtil;             
-               _serverAddress = address;
-       }
-
-       public void registerStockObject(String name, Object obj) {
-               synchronized(_stockMap) {
-                       _stockMap.put(name, obj);
-               }
-       }
-       
-       public void uregisterStockObject(String name) {
-               synchronized(_stockMap) {
-                       _stockMap.remove(name);
-               }
-       }
-       
-       @SuppressWarnings("unchecked")
-       public <T> T getStockObject(String name) {
-               synchronized(_stockMap) {
-                       return (T)_stockMap.get(name);
-               }
-       }
-       
-       public String getServerAddress() {
-               return _serverAddress;
-       }
-       
-       public ServiceConnection getServiceConnection() {
-               return _appUtil.getServiceConnection3();
-       }
-       
-       public VimPortType getService() {
-               return getServiceConnection().getService();
-       }
-       
-       public ServiceContent getServiceContent() {
-               return getServiceConnection().getServiceContent();
-       }
-       
-       public ServiceUtil getServiceUtil() {
-               return _appUtil.getServiceUtil3(); 
-       }
-       
-       public ManagedObjectReference getRootFolder() {
-               return getServiceContent().getRootFolder();
-       }
-       
-       public ManagedObjectReference getHostMorByPath(String inventoryPath) 
throws Exception {
-               assert(inventoryPath != null);
-               
-               String[] tokens;
-               if(inventoryPath.startsWith("/"))
-                       tokens = inventoryPath.substring(1).split("/");
-               else
-                       tokens = inventoryPath.split("/");
-               
-               ManagedObjectReference mor = getRootFolder();
-               for(int i=0; i < tokens.length;i++) {
-                       String token = tokens[i];
-                       ObjectContent[] ocs;
-                       if(mor.getType().equalsIgnoreCase("Datacenter")) {
-                               PropertySpec pSpec = new PropertySpec();
-                               pSpec.setType("ManagedEntity");
-                               pSpec.setPathSet(new String[] { "name" });
-                               
-                           TraversalSpec dcHostFolderTraversal = new 
TraversalSpec();
-                           dcHostFolderTraversal.setType("Datacenter");
-                           dcHostFolderTraversal.setPath("hostFolder");
-                           
dcHostFolderTraversal.setName("dcHostFolderTraversal");
-
-                           ObjectSpec oSpec = new ObjectSpec();
-                           oSpec.setObj(mor);
-                           oSpec.setSkip(Boolean.TRUE);
-                           oSpec.setSelectSet(new SelectionSpec[] { 
dcHostFolderTraversal });
-
-                           PropertyFilterSpec pfSpec = new 
PropertyFilterSpec();
-                           pfSpec.setPropSet(new PropertySpec[] { pSpec });
-                           pfSpec.setObjectSet(new ObjectSpec[] { oSpec });
-                           ocs = getService().retrieveProperties(
-                               getServiceContent().getPropertyCollector(), 
-                               new PropertyFilterSpec[] { pfSpec });
-                               
-                       } else if(mor.getType().equalsIgnoreCase("Folder")) {
-                               PropertySpec pSpec = new PropertySpec();
-                               pSpec.setType("ManagedEntity");
-                               pSpec.setPathSet(new String[] { "name" });
-                               
-                           TraversalSpec folderChildrenTraversal = new 
TraversalSpec();
-                           folderChildrenTraversal.setType("Folder");
-                           folderChildrenTraversal.setPath("childEntity");
-                           
folderChildrenTraversal.setName("folderChildrenTraversal");
-
-                           ObjectSpec oSpec = new ObjectSpec();
-                           oSpec.setObj(mor);
-                           oSpec.setSkip(Boolean.TRUE);
-                           oSpec.setSelectSet(new SelectionSpec[] { 
folderChildrenTraversal });
-
-                           PropertyFilterSpec pfSpec = new 
PropertyFilterSpec();
-                           pfSpec.setPropSet(new PropertySpec[] { pSpec });
-                           pfSpec.setObjectSet(new ObjectSpec[] { oSpec });
-                           
-                           ocs = getService().retrieveProperties(
-                               getServiceContent().getPropertyCollector(), 
-                               new PropertyFilterSpec[] { pfSpec });
-                       } else 
if(mor.getType().equalsIgnoreCase("ClusterComputeResource")) {
-                               PropertySpec pSpec = new PropertySpec();
-                               pSpec.setType("ManagedEntity");
-                               pSpec.setPathSet(new String[] { "name" });
-                               
-                           TraversalSpec clusterHostTraversal = new 
TraversalSpec();
-                           
clusterHostTraversal.setType("ClusterComputeResource");
-                           clusterHostTraversal.setPath("host");
-                           
clusterHostTraversal.setName("folderChildrenTraversal");
-
-                           ObjectSpec oSpec = new ObjectSpec();
-                           oSpec.setObj(mor);
-                           oSpec.setSkip(Boolean.TRUE);
-                           oSpec.setSelectSet(new SelectionSpec[] { 
clusterHostTraversal });
-
-                           PropertyFilterSpec pfSpec = new 
PropertyFilterSpec();
-                           pfSpec.setPropSet(new PropertySpec[] { pSpec });
-                           pfSpec.setObjectSet(new ObjectSpec[] { oSpec });
-                           
-                           ocs = getService().retrieveProperties(
-                               getServiceContent().getPropertyCollector(), 
-                               new PropertyFilterSpec[] { pfSpec });
-                       } else {
-                               s_logger.error("Invalid inventory path, path 
element can only be datacenter and folder");
-                               return null;
-                       }
-                       
-                   if(ocs != null && ocs.length > 0) {
-                       boolean found = false;
-                       for(ObjectContent oc : ocs) {
-                               String name = 
oc.getPropSet()[0].getVal().toString();                           
-                               if(name.equalsIgnoreCase(token) || 
name.equalsIgnoreCase("host")) {
-                                       mor = oc.getObj();
-                                       found  = true;
-                                       if (name.equalsIgnoreCase("host"))
-                                               i--;
-                                       break;
-                               }
-                       }
-                       if(!found) {
-                                       s_logger.error("Path element points to 
an un-existing inventory entity");
-                               return null;
-                       }
-                   } else {
-                               s_logger.error("Path element points to an 
un-existing inventory entity");
-                       return null;
-                   }
-               }
-               return mor;
-       }
-
-       // path in format of <datacenter name>/<datastore name>
-       public ManagedObjectReference getDatastoreMorByPath(String 
inventoryPath) throws Exception {
-               assert(inventoryPath != null);
-               
-               String[] tokens;
-               if(inventoryPath.startsWith("/"))
-                       tokens = inventoryPath.substring(1).split("/");
-               else
-                       tokens = inventoryPath.split("/");
-               
-               if(tokens == null || tokens.length != 2) {
-                       s_logger.error("Invalid datastore inventory path. path: 
" + inventoryPath);
-                       return null;
-               }
-                       
-               DatacenterMO dcMo = new DatacenterMO(this, tokens[0]);
-               if(dcMo.getMor() == null) {
-                       s_logger.error("Unable to locate the datacenter 
specified in path: " + inventoryPath);
-                       return null;
-               }
-               
-               return dcMo.findDatastore(tokens[1]);
-       }
-       
-       public void waitForTaskProgressDone(ManagedObjectReference morTask) 
throws Exception {
-               while(true) {
-                       TaskInfo tinfo = 
(TaskInfo)getServiceUtil().getDynamicProperty(morTask, "info");
-                       Integer progress = tinfo.getProgress();
-                       if(progress == null)
-                               break;
-                       
-                       if(progress.intValue() >= 100)
-                               break;
-                       
-                       Thread.sleep(1000);
-               }
-       }
-       
-       public void getFile(String urlString, String localFileFullName) throws 
Exception {
-               HttpURLConnection conn = getHTTPConnection(urlString);
-               
-           InputStream in = conn.getInputStream();
-           OutputStream out = new FileOutputStream(new 
File(localFileFullName));
-           byte[] buf = new byte[_CHUNKSIZE];
-           int len = 0;
-           while ((len = in.read(buf)) > 0) {
-               out.write(buf, 0, len);
-           }
-           in.close();
-           out.close();              
-       }
+       
+       static {
+               try {
+                       javax.net.ssl.TrustManager[] trustAllCerts = new 
javax.net.ssl.TrustManager[1]; 
+                       javax.net.ssl.TrustManager tm = new TrustAllManager(); 
+                       trustAllCerts[0] = tm; 
+                       javax.net.ssl.SSLContext sc = 
javax.net.ssl.SSLContext.getInstance("SSL"); 
+                       sc.init(null, trustAllCerts, null); 
+                       
javax.net.ssl.HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
+               } catch (Exception e) {
+                       s_logger.error("Unexpected exception ", e);
+               }
+       }
+       
+       public VmwareContext(ExtendedAppUtil appUtil, String address) {
+               assert(appUtil != null) : "Invalid parameter in constructing 
VmwareContext object";
+               
+               _appUtil = appUtil;             
+               _serverAddress = address;
+       }
+
+       public void registerStockObject(String name, Object obj) {
+               synchronized(_stockMap) {
+                       _stockMap.put(name, obj);
+               }
+       }
+       
+       public void uregisterStockObject(String name) {
+               synchronized(_stockMap) {
+                       _stockMap.remove(name);
+               }
+       }
+       
+       @SuppressWarnings("unchecked")
+       public <T> T getStockObject(String name) {
+               synchronized(_stockMap) {
+                       return (T)_stockMap.get(name);
+               }
+       }
+       
+       public String getServerAddress() {
+               return _serverAddress;
+       }
+       
+       public ServiceConnection getServiceConnection() {
+               return _appUtil.getServiceConnection3();
+       }
+       
+       public VimPortType getService() {
+               return getServiceConnection().getService();
+       }
+       
+       public ServiceContent getServiceContent() {
+               return getServiceConnection().getServiceContent();
+       }
+       
+       public ServiceUtil getServiceUtil() {
+               return _appUtil.getServiceUtil3(); 
+       }
+       
+       public ManagedObjectReference getRootFolder() {
+               return getServiceContent().getRootFolder();
+       }
+       
+       public ManagedObjectReference getHostMorByPath(String inventoryPath) 
throws Exception {
+               assert(inventoryPath != null);
+               
+               String[] tokens;
+               if(inventoryPath.startsWith("/"))
+                       tokens = inventoryPath.substring(1).split("/");
+               else
+                       tokens = inventoryPath.split("/");
+               
+               ManagedObjectReference mor = getRootFolder();
+               for(int i=0; i < tokens.length;i++) {
+                       String token = tokens[i];
+                       ObjectContent[] ocs;
+                       if(mor.getType().equalsIgnoreCase("Datacenter")) {
+                               PropertySpec pSpec = new PropertySpec();
+                               pSpec.setType("ManagedEntity");
+                               pSpec.setPathSet(new String[] { "name" });
+                               
+                           TraversalSpec dcHostFolderTraversal = new 
TraversalSpec();
+                           dcHostFolderTraversal.setType("Datacenter");
+                           dcHostFolderTraversal.setPath("hostFolder");
+                           
dcHostFolderTraversal.setName("dcHostFolderTraversal");
+
+                           ObjectSpec oSpec = new ObjectSpec();
+                           oSpec.setObj(mor);
+                           oSpec.setSkip(Boolean.TRUE);
+                           oSpec.setSelectSet(new SelectionSpec[] { 
dcHostFolderTraversal });
+
+                           PropertyFilterSpec pfSpec = new 
PropertyFilterSpec();
+                           pfSpec.setPropSet(new PropertySpec[] { pSpec });
+                           pfSpec.setObjectSet(new ObjectSpec[] { oSpec });
+                           ocs = getService().retrieveProperties(
+                               getServiceContent().getPropertyCollector(), 
+                               new PropertyFilterSpec[] { pfSpec });
+                               
+                       } else if(mor.getType().equalsIgnoreCase("Folder")) {
+                               PropertySpec pSpec = new PropertySpec();
+                               pSpec.setType("ManagedEntity");
+                               pSpec.setPathSet(new String[] { "name" });
+                               
+                           TraversalSpec folderChildrenTraversal = new 
TraversalSpec();
+                           folderChildrenTraversal.setType("Folder");
+                           folderChildrenTraversal.setPath("childEntity");
+                           
folderChildrenTraversal.setName("folderChildrenTraversal");
+
+                           ObjectSpec oSpec = new ObjectSpec();
+                           oSpec.setObj(mor);
+                           oSpec.setSkip(Boolean.TRUE);
+                           oSpec.setSelectSet(new SelectionSpec[] { 
folderChildrenTraversal });
+
+                           PropertyFilterSpec pfSpec = new 
PropertyFilterSpec();
+                           pfSpec.setPropSet(new PropertySpec[] { pSpec });
+                           pfSpec.setObjectSet(new ObjectSpec[] { oSpec });
+                           
+                           ocs = getService().retrieveProperties(
+                               getServiceContent().getPropertyCollector(), 
+                               new PropertyFilterSpec[] { pfSpec });
+                       } else 
if(mor.getType().equalsIgnoreCase("ClusterComputeResource")) {
+                               PropertySpec pSpec = new PropertySpec();
+                               pSpec.setType("ManagedEntity");
+                               pSpec.setPathSet(new String[] { "name" });
+                               
+                           TraversalSpec clusterHostTraversal = new 
TraversalSpec();
+                           
clusterHostTraversal.setType("ClusterComputeResource");
+                           clusterHostTraversal.setPath("host");
+                           
clusterHostTraversal.setName("folderChildrenTraversal");
+
+                           ObjectSpec oSpec = new ObjectSpec();
+                           oSpec.setObj(mor);
+                           oSpec.setSkip(Boolean.TRUE);
+                           oSpec.setSelectSet(new SelectionSpec[] { 
clusterHostTraversal });
+
+                           PropertyFilterSpec pfSpec = new 
PropertyFilterSpec();
+                           pfSpec.setPropSet(new PropertySpec[] { pSpec });
+                           pfSpec.setObjectSet(new ObjectSpec[] { oSpec });
+                           
+                           ocs = getService().retrieveProperties(
+                               getServiceContent().getPropertyCollector(), 
+                               new PropertyFilterSpec[] { pfSpec });
+                       } else {
+                               s_logger.error("Invalid inventory path, path 
element can only be datacenter and folder");
+                               return null;
+                       }
+                       
+                   if(ocs != null && ocs.length > 0) {
+                       boolean found = false;
+                       for(ObjectContent oc : ocs) {
+                               String name = 
oc.getPropSet()[0].getVal().toString();                           
+                               if(name.equalsIgnoreCase(token) || 
name.equalsIgnoreCase("host")) {
+                                       mor = oc.getObj();
+                                       found  = true;
+                                       if (name.equalsIgnoreCase("host"))
+                                               i--;
+                                       break;
+                               }
+                       }
+                       if(!found) {
+                                       s_logger.error("Path element points to 
an un-existing inventory entity");
+                               return null;
+                       }
+                   } else {
+                               s_logger.error("Path element points to an 
un-existing inventory entity");
+                       return null;
+                   }
+               }
+               return mor;
+       }
+
+       // path in format of <datacenter name>/<datastore name>
+       public ManagedObjectReference getDatastoreMorByPath(String 
inventoryPath) throws Exception {
+               assert(inventoryPath != null);
+               
+               String[] tokens;
+               if(inventoryPath.startsWith("/"))
+                       tokens = inventoryPath.substring(1).split("/");
+               else
+                       tokens = inventoryPath.split("/");
+               
+               if(tokens == null || tokens.length != 2) {
+                       s_logger.error("Invalid datastore inventory path. path: 
" + inventoryPath);
+                       return null;
+               }
+                       
+               DatacenterMO dcMo = new DatacenterMO(this, tokens[0]);
+               if(dcMo.getMor() == null) {
+                       s_logger.error("Unable to locate the datacenter 
specified in path: " + inventoryPath);
+                       return null;
+               }
+               
+               return dcMo.findDatastore(tokens[1]);
+       }
+       
+       public void waitForTaskProgressDone(ManagedObjectReference morTask) 
throws Exception {
+               while(true) {
+                       TaskInfo tinfo = 
(TaskInfo)getServiceUtil().getDynamicProperty(morTask, "info");
+                       Integer progress = tinfo.getProgress();
+                       if(progress == null)
+                               break;
+                       
+                       if(progress.intValue() >= 100)
+                               break;
+                       
+                       Thread.sleep(1000);
+               }
+       }
+       
+       public void getFile(String urlString, String localFileFullName) throws 
Exception {
+               HttpURLConnection conn = getHTTPConnection(urlString);
+               
+           InputStream in = conn.getInputStream();
+           OutputStream out = new FileOutputStream(new 
File(localFileFullName));
+           byte[] buf = new byte[_CHUNKSIZE];
+           int len = 0;
+           while ((len = in.read(buf)) > 0) {
+               out.write(buf, 0, len);
+           }
+           in.close();
+           out.close();              
+       }
        
        public void uploadFile(String urlString, String localFileFullName) 
throws Exception {
                uploadFile(urlString, new File(localFileFullName));

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/3ae274a4/vmware-base/src/com/cloud/hypervisor/vmware/util/VmwareHelper.java
----------------------------------------------------------------------
diff --git a/vmware-base/src/com/cloud/hypervisor/vmware/util/VmwareHelper.java 
b/vmware-base/src/com/cloud/hypervisor/vmware/util/VmwareHelper.java
index 746b714..47ff8e2 100644
--- a/vmware-base/src/com/cloud/hypervisor/vmware/util/VmwareHelper.java
+++ b/vmware-base/src/com/cloud/hypervisor/vmware/util/VmwareHelper.java
@@ -15,7 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-package com.cloud.hypervisor.vmware.util;
+package com.cloud.hypervisor.vmware.util;
 
 import java.io.BufferedWriter;
 import java.io.ByteArrayOutputStream;
@@ -108,9 +108,9 @@ public class VmwareHelper {
                nic.setAddressType("Manual");
                nic.setConnectable(connectInfo);
                nic.setMacAddress(macAddress);
-               nic.setUnitNumber(deviceNumber);
-               nic.setKey(-contextNumber);
-               return nic;
+               nic.setUnitNumber(deviceNumber);
+               nic.setKey(-contextNumber);
+               return nic;
        }
        
     public static VirtualDevice prepareDvNicDevice(VirtualMachineMO vmMo, 
ManagedObjectReference morNetwork, VirtualEthernetCardType deviceType,
@@ -160,93 +160,93 @@ public class VmwareHelper {
         nic.setKey(-contextNumber);
         return nic;
     }
-
-       // vmdkDatastorePath: [datastore name] vmdkFilePath
-       public static VirtualDevice prepareDiskDevice(VirtualMachineMO vmMo, 
int controllerKey, String vmdkDatastorePath, 
-               int sizeInMb, ManagedObjectReference morDs, int deviceNumber, 
int contextNumber) throws Exception {
-               
-               VirtualDisk disk = new VirtualDisk();
-
-               VirtualDiskFlatVer2BackingInfo backingInfo = new 
VirtualDiskFlatVer2BackingInfo();
-        backingInfo.setDiskMode(VirtualDiskMode.persistent.toString());
-       backingInfo.setThinProvisioned(true);
-       backingInfo.setEagerlyScrub(false);
-        backingInfo.setDatastore(morDs);
-        backingInfo.setFileName(vmdkDatastorePath);
-        disk.setBacking(backingInfo);
+
+       // vmdkDatastorePath: [datastore name] vmdkFilePath
+       public static VirtualDevice prepareDiskDevice(VirtualMachineMO vmMo, 
int controllerKey, String vmdkDatastorePath, 
+               int sizeInMb, ManagedObjectReference morDs, int deviceNumber, 
int contextNumber) throws Exception {
+               
+               VirtualDisk disk = new VirtualDisk();
+
+               VirtualDiskFlatVer2BackingInfo backingInfo = new 
VirtualDiskFlatVer2BackingInfo();
+        backingInfo.setDiskMode(VirtualDiskMode.persistent.toString());
+       backingInfo.setThinProvisioned(true);
+       backingInfo.setEagerlyScrub(false);
+        backingInfo.setDatastore(morDs);
+        backingInfo.setFileName(vmdkDatastorePath);
+        disk.setBacking(backingInfo);
 
                if(controllerKey < 0)
                        controllerKey = vmMo.getIDEDeviceControllerKey();
         if(deviceNumber < 0)
                deviceNumber = vmMo.getNextDeviceNumber(controllerKey);
                disk.setControllerKey(controllerKey);
-               
-           disk.setKey(-contextNumber);
-           disk.setUnitNumber(deviceNumber);
-           disk.setCapacityInKB(sizeInMb*1024);
-
-           VirtualDeviceConnectInfo connectInfo = new 
VirtualDeviceConnectInfo();
-           connectInfo.setConnected(true);
-           connectInfo.setStartConnected(true);
-           disk.setConnectable(connectInfo);
-           
-           return disk;
+               
+           disk.setKey(-contextNumber);
+           disk.setUnitNumber(deviceNumber);
+           disk.setCapacityInKB(sizeInMb*1024);
+
+           VirtualDeviceConnectInfo connectInfo = new 
VirtualDeviceConnectInfo();
+           connectInfo.setConnected(true);
+           connectInfo.setStartConnected(true);
+           disk.setConnectable(connectInfo);
+           
+           return disk;
        }
        
-       // vmdkDatastorePath: [datastore name] vmdkFilePath, create delta disk 
based on disk from template
-       public static VirtualDevice prepareDiskDevice(VirtualMachineMO vmMo, 
int controllerKey, String vmdkDatastorePath, 
-               int sizeInMb, ManagedObjectReference morDs, VirtualDisk 
templateDisk, int deviceNumber, int contextNumber) throws Exception {
-               
-               assert(templateDisk != null);
-               VirtualDeviceBackingInfo parentBacking = 
templateDisk.getBacking();
-               assert(parentBacking != null);
-               
-               // TODO Not sure if we need to check if the disk in template 
and the new disk needs to share the 
-               // same datastore
-               VirtualDisk disk = new VirtualDisk();
-               if(parentBacking instanceof VirtualDiskFlatVer1BackingInfo) {
-                       VirtualDiskFlatVer1BackingInfo backingInfo = new 
VirtualDiskFlatVer1BackingInfo();
-               
backingInfo.setDiskMode(((VirtualDiskFlatVer1BackingInfo)parentBacking).getDiskMode());
-               backingInfo.setDatastore(morDs);
-               backingInfo.setFileName(vmdkDatastorePath);
-               
backingInfo.setParent((VirtualDiskFlatVer1BackingInfo)parentBacking);
-               disk.setBacking(backingInfo);
-               } else if(parentBacking instanceof 
VirtualDiskFlatVer2BackingInfo) {
-                       VirtualDiskFlatVer2BackingInfo backingInfo = new 
VirtualDiskFlatVer2BackingInfo();
-               
backingInfo.setDiskMode(((VirtualDiskFlatVer2BackingInfo)parentBacking).getDiskMode());
-               backingInfo.setDatastore(morDs);
-               backingInfo.setFileName(vmdkDatastorePath);
-               
backingInfo.setParent((VirtualDiskFlatVer2BackingInfo)parentBacking);
-               disk.setBacking(backingInfo);
-               } else if(parentBacking instanceof 
VirtualDiskRawDiskMappingVer1BackingInfo) {
-                       VirtualDiskRawDiskMappingVer1BackingInfo backingInfo = 
new VirtualDiskRawDiskMappingVer1BackingInfo();
-               
backingInfo.setDiskMode(((VirtualDiskRawDiskMappingVer1BackingInfo)parentBacking).getDiskMode());
-               backingInfo.setDatastore(morDs);
-               backingInfo.setFileName(vmdkDatastorePath);
-               
backingInfo.setParent((VirtualDiskRawDiskMappingVer1BackingInfo)parentBacking);
-               disk.setBacking(backingInfo);
-               } else if(parentBacking instanceof 
VirtualDiskSparseVer1BackingInfo) {
-                       VirtualDiskSparseVer1BackingInfo backingInfo = new 
VirtualDiskSparseVer1BackingInfo();
-               
backingInfo.setDiskMode(((VirtualDiskSparseVer1BackingInfo)parentBacking).getDiskMode());
-               backingInfo.setDatastore(morDs);
-               backingInfo.setFileName(vmdkDatastorePath);
-               
backingInfo.setParent((VirtualDiskSparseVer1BackingInfo)parentBacking);
-               disk.setBacking(backingInfo);
-               } else if(parentBacking instanceof 
VirtualDiskSparseVer2BackingInfo) {
-                       VirtualDiskSparseVer2BackingInfo backingInfo = new 
VirtualDiskSparseVer2BackingInfo();
-               
backingInfo.setDiskMode(((VirtualDiskSparseVer2BackingInfo)parentBacking).getDiskMode());
-               backingInfo.setDatastore(morDs);
-               backingInfo.setFileName(vmdkDatastorePath);
-               
backingInfo.setParent((VirtualDiskSparseVer2BackingInfo)parentBacking);
-               disk.setBacking(backingInfo);
-               } else {
-                       throw new Exception("Unsupported disk backing: " + 
parentBacking.getClass().getCanonicalName());
-               }
-               
-               if(controllerKey < 0)
-                       controllerKey = vmMo.getIDEDeviceControllerKey();
-               disk.setControllerKey(controllerKey);
-               if(deviceNumber < 0)
+       // vmdkDatastorePath: [datastore name] vmdkFilePath, create delta disk 
based on disk from template
+       public static VirtualDevice prepareDiskDevice(VirtualMachineMO vmMo, 
int controllerKey, String vmdkDatastorePath, 
+               int sizeInMb, ManagedObjectReference morDs, VirtualDisk 
templateDisk, int deviceNumber, int contextNumber) throws Exception {
+               
+               assert(templateDisk != null);
+               VirtualDeviceBackingInfo parentBacking = 
templateDisk.getBacking();
+               assert(parentBacking != null);
+               
+               // TODO Not sure if we need to check if the disk in template 
and the new disk needs to share the 
+               // same datastore
+               VirtualDisk disk = new VirtualDisk();
+               if(parentBacking instanceof VirtualDiskFlatVer1BackingInfo) {
+                       VirtualDiskFlatVer1BackingInfo backingInfo = new 
VirtualDiskFlatVer1BackingInfo();
+               
backingInfo.setDiskMode(((VirtualDiskFlatVer1BackingInfo)parentBacking).getDiskMode());
+               backingInfo.setDatastore(morDs);
+               backingInfo.setFileName(vmdkDatastorePath);
+               
backingInfo.setParent((VirtualDiskFlatVer1BackingInfo)parentBacking);
+               disk.setBacking(backingInfo);
+               } else if(parentBacking instanceof 
VirtualDiskFlatVer2BackingInfo) {
+                       VirtualDiskFlatVer2BackingInfo backingInfo = new 
VirtualDiskFlatVer2BackingInfo();
+               
backingInfo.setDiskMode(((VirtualDiskFlatVer2BackingInfo)parentBacking).getDiskMode());
+               backingInfo.setDatastore(morDs);
+               backingInfo.setFileName(vmdkDatastorePath);
+               
backingInfo.setParent((VirtualDiskFlatVer2BackingInfo)parentBacking);
+               disk.setBacking(backingInfo);
+               } else if(parentBacking instanceof 
VirtualDiskRawDiskMappingVer1BackingInfo) {
+                       VirtualDiskRawDiskMappingVer1BackingInfo backingInfo = 
new VirtualDiskRawDiskMappingVer1BackingInfo();
+               
backingInfo.setDiskMode(((VirtualDiskRawDiskMappingVer1BackingInfo)parentBacking).getDiskMode());
+               backingInfo.setDatastore(morDs);
+               backingInfo.setFileName(vmdkDatastorePath);
+               
backingInfo.setParent((VirtualDiskRawDiskMappingVer1BackingInfo)parentBacking);
+               disk.setBacking(backingInfo);
+               } else if(parentBacking instanceof 
VirtualDiskSparseVer1BackingInfo) {
+                       VirtualDiskSparseVer1BackingInfo backingInfo = new 
VirtualDiskSparseVer1BackingInfo();
+               
backingInfo.setDiskMode(((VirtualDiskSparseVer1BackingInfo)parentBacking).getDiskMode());
+               backingInfo.setDatastore(morDs);
+               backingInfo.setFileName(vmdkDatastorePath);
+               
backingInfo.setParent((VirtualDiskSparseVer1BackingInfo)parentBacking);
+               disk.setBacking(backingInfo);
+               } else if(parentBacking instanceof 
VirtualDiskSparseVer2BackingInfo) {
+                       VirtualDiskSparseVer2BackingInfo backingInfo = new 
VirtualDiskSparseVer2BackingInfo();
+               
backingInfo.setDiskMode(((VirtualDiskSparseVer2BackingInfo)parentBacking).getDiskMode());
+               backingInfo.setDatastore(morDs);
+               backingInfo.setFileName(vmdkDatastorePath);
+               
backingInfo.setParent((VirtualDiskSparseVer2BackingInfo)parentBacking);
+               disk.setBacking(backingInfo);
+               } else {
+                       throw new Exception("Unsupported disk backing: " + 
parentBacking.getClass().getCanonicalName());
+               }
+               
+               if(controllerKey < 0)
+                       controllerKey = vmMo.getIDEDeviceControllerKey();
+               disk.setControllerKey(controllerKey);
+               if(deviceNumber < 0)
                        deviceNumber = vmMo.getNextDeviceNumber(controllerKey);
                
            disk.setKey(-contextNumber);
@@ -285,19 +285,19 @@ public class VmwareHelper {
 
                if(controllerKey < 0)
                        controllerKey = vmMo.getIDEDeviceControllerKey();
-        if(deviceNumber < 0)
-               deviceNumber = vmMo.getNextDeviceNumber(controllerKey);
-               
-               disk.setControllerKey(controllerKey);
-           disk.setKey(-contextNumber);
-           disk.setUnitNumber(deviceNumber);
-           
-           VirtualDeviceConnectInfo connectInfo = new 
VirtualDeviceConnectInfo();
-           connectInfo.setConnected(true);
-           connectInfo.setStartConnected(true);
-           disk.setConnectable(connectInfo);
-           
-           return disk;
+        if(deviceNumber < 0)
+               deviceNumber = vmMo.getNextDeviceNumber(controllerKey);
+               
+               disk.setControllerKey(controllerKey);
+           disk.setKey(-contextNumber);
+           disk.setUnitNumber(deviceNumber);
+           
+           VirtualDeviceConnectInfo connectInfo = new 
VirtualDeviceConnectInfo();
+           connectInfo.setConnected(true);
+           connectInfo.setStartConnected(true);
+           disk.setConnectable(connectInfo);
+           
+           return disk;
        }
        
        public static VirtualDevice prepareDiskDevice(VirtualMachineMO vmMo, 
int controllerKey, 
@@ -339,23 +339,23 @@ public class VmwareHelper {
            
            return disk;
        }
-       
-       private static void setParentBackingInfo(VirtualDiskFlatVer2BackingInfo 
backingInfo, 
-               ManagedObjectReference morDs, String[] parentDatastorePathList) 
{
-               
-               VirtualDiskFlatVer2BackingInfo parentBacking = new 
VirtualDiskFlatVer2BackingInfo();
-               parentBacking.setDatastore(morDs);
-               
parentBacking.setDiskMode(VirtualDiskMode.persistent.toString());
-               
-               if(parentDatastorePathList.length > 1) {
-                       String[] nextDatastorePathList = new 
String[parentDatastorePathList.length -1];
-                       for(int i = 0; i < parentDatastorePathList.length -1; 
i++)
-                               nextDatastorePathList[i] = 
parentDatastorePathList[i + 1];
-                       setParentBackingInfo(parentBacking, morDs, 
nextDatastorePathList);
-               }
-               parentBacking.setFileName(parentDatastorePathList[0]);
-               
-               backingInfo.setParent(parentBacking);
+       
+       private static void setParentBackingInfo(VirtualDiskFlatVer2BackingInfo 
backingInfo, 
+               ManagedObjectReference morDs, String[] parentDatastorePathList) 
{
+               
+               VirtualDiskFlatVer2BackingInfo parentBacking = new 
VirtualDiskFlatVer2BackingInfo();
+               parentBacking.setDatastore(morDs);
+               
parentBacking.setDiskMode(VirtualDiskMode.persistent.toString());
+               
+               if(parentDatastorePathList.length > 1) {
+                       String[] nextDatastorePathList = new 
String[parentDatastorePathList.length -1];
+                       for(int i = 0; i < parentDatastorePathList.length -1; 
i++)
+                               nextDatastorePathList[i] = 
parentDatastorePathList[i + 1];
+                       setParentBackingInfo(parentBacking, morDs, 
nextDatastorePathList);
+               }
+               parentBacking.setFileName(parentDatastorePathList[0]);
+               
+               backingInfo.setParent(parentBacking);
        }
        
        private static void setParentBackingInfo(VirtualDiskFlatVer2BackingInfo 
backingInfo, 
@@ -375,14 +375,14 @@ public class VmwareHelper {
                
                backingInfo.setParent(parentBacking);
        }
-       
-       public static Pair<VirtualDevice, Boolean> 
prepareIsoDevice(VirtualMachineMO vmMo, String isoDatastorePath, 
ManagedObjectReference morDs,
-               boolean connect, boolean connectAtBoot, int deviceNumber, int 
contextNumber) throws Exception {
-               
-               boolean newCdRom = false;
-               VirtualCdrom cdRom = (VirtualCdrom )vmMo.getIsoDevice();
-               if(cdRom == null) {
-                       newCdRom = true;
+       
+       public static Pair<VirtualDevice, Boolean> 
prepareIsoDevice(VirtualMachineMO vmMo, String isoDatastorePath, 
ManagedObjectReference morDs,
+               boolean connect, boolean connectAtBoot, int deviceNumber, int 
contextNumber) throws Exception {
+               
+               boolean newCdRom = false;
+               VirtualCdrom cdRom = (VirtualCdrom )vmMo.getIsoDevice();
+               if(cdRom == null) {
+                       newCdRom = true;
                        cdRom = new VirtualCdrom();
                        
                        assert(vmMo.getIDEDeviceControllerKey() >= 0);

Reply via email to