cloudstack-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mc...@apache.org
Subject [7/40] Upgrade to use Vsphere 5.1 SDK jar, fixed all compilation error with new wrapper class VmwareClient.
Date Tue, 05 Mar 2013 02:09:46 GMT
http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/481f4804/vmware-base/src/com/cloud/hypervisor/vmware/mo/ClusterMO.java
----------------------------------------------------------------------
diff --git a/vmware-base/src/com/cloud/hypervisor/vmware/mo/ClusterMO.java b/vmware-base/src/com/cloud/hypervisor/vmware/mo/ClusterMO.java
index 2ce6695..1026554 100755
--- a/vmware-base/src/com/cloud/hypervisor/vmware/mo/ClusterMO.java
+++ b/vmware-base/src/com/cloud/hypervisor/vmware/mo/ClusterMO.java
@@ -26,7 +26,6 @@ import org.apache.log4j.Logger;
 import com.cloud.hypervisor.vmware.util.VmwareContext;
 import com.cloud.utils.Pair;
 import com.google.gson.Gson;
-import com.vmware.apputils.vim25.ServiceUtil;
 import com.vmware.vim25.ArrayOfHostIpRouteEntry;
 import com.vmware.vim25.ClusterComputeResourceSummary;
 import com.vmware.vim25.ClusterConfigInfoEx;
@@ -47,24 +46,25 @@ import com.vmware.vim25.ObjectSpec;
 import com.vmware.vim25.OptionValue;
 import com.vmware.vim25.PropertyFilterSpec;
 import com.vmware.vim25.PropertySpec;
-import com.vmware.vim25.SelectionSpec;
 import com.vmware.vim25.TraversalSpec;
 import com.vmware.vim25.VirtualMachineConfigSpec;
 
+import edu.emory.mathcs.backport.java.util.Arrays;
+
 //
 // interface. This has changed as ClusterMO no longer works as a special host anymore. Need to refactor accordingly
 //
 public class ClusterMO extends BaseMO implements VmwareHypervisorHost {
     private static final Logger s_logger = Logger.getLogger(ClusterMO.class);
-	
+
 	public ClusterMO(VmwareContext context, ManagedObjectReference morCluster) {
 		super(context, morCluster);
 	}
-	
+
 	public ClusterMO(VmwareContext context, String morType, String morValue) {
 		super(context, morType, morValue);
 	}
-	
+
 	@Override
 	public String getHyperHostName() throws Exception {
 		return getName();
@@ -73,40 +73,39 @@ public class ClusterMO extends BaseMO implements VmwareHypervisorHost {
 	@Override
 	public ClusterDasConfigInfo getDasConfig() throws Exception {
 		// Note getDynamicProperty() with "configurationEx.dasConfig" does not work here because of that dasConfig is a property in subclass
-		ClusterConfigInfoEx configInfo = (ClusterConfigInfoEx)_context.getServiceUtil().getDynamicProperty(_mor, "configurationEx");
+		ClusterConfigInfoEx configInfo = (ClusterConfigInfoEx)_context.getVimClient().getDynamicProperty(_mor, "configurationEx");
 		return configInfo.getDasConfig();
 	}
-	
+
 	@Override
 	public ManagedObjectReference getHyperHostDatacenter() throws Exception {
 		Pair<DatacenterMO, String> dcPair = DatacenterMO.getOwnerDatacenter(getContext(), getMor());
 		assert(dcPair != null);
 		return dcPair.first().getMor();
 	}
-	
+
 	@Override
 	public ManagedObjectReference getHyperHostOwnerResourcePool() throws Exception {
-		ServiceUtil serviceUtil = _context.getServiceUtil();
-		return (ManagedObjectReference)serviceUtil.getDynamicProperty(getMor(), "resourcePool"); 
+		return (ManagedObjectReference)_context.getVimClient().getDynamicProperty(getMor(), "resourcePool");
 	}
-	
+
 	@Override
 	public ManagedObjectReference getHyperHostCluster() throws Exception {
 		return _mor;
 	}
-	
+
 	@Override
 	public VirtualMachineMO findVmOnHyperHost(String name) throws Exception {
 		ObjectContent[] ocs = getVmPropertiesOnHyperHost(new String[] { "name" });
 		return HypervisorHostHelper.findVmFromObjectContent(_context, ocs, name);
 	}
-	
+
 	@Override
 	public VirtualMachineMO findVmOnPeerHyperHost(String name) throws Exception {
 		ObjectContent[] ocs = getVmPropertiesOnHyperHost(new String[] { "name" });
 		if(ocs != null && ocs.length > 0) {
 			for(ObjectContent oc : ocs) {
-				DynamicProperty[] props = oc.getPropSet();
+				List<DynamicProperty> props = oc.getPropSet();
 				if(props != null) {
 					for(DynamicProperty prop : props) {
 						if(prop.getVal().toString().equals(name))
@@ -117,54 +116,54 @@ public class ClusterMO extends BaseMO implements VmwareHypervisorHost {
 		}
 		return null;
 	}
-	
+
 	@Override
 	public ObjectContent[] getVmPropertiesOnHyperHost(String[] propertyPaths) throws Exception {
 		if(s_logger.isTraceEnabled())
-			s_logger.trace("vCenter API trace - retrieveProperties() for VM properties. target MOR: " + _mor.get_value() + ", properties: " + new Gson().toJson(propertyPaths));
-		
+			s_logger.trace("vCenter API trace - retrieveProperties() for VM properties. target MOR: " + _mor.getValue() + ", properties: " + new Gson().toJson(propertyPaths));
+
 		PropertySpec pSpec = new PropertySpec();
 		pSpec.setType("VirtualMachine");
-		pSpec.setPathSet(propertyPaths);
+		pSpec.getPathSet().addAll(Arrays.asList(propertyPaths));
 
 	    TraversalSpec host2VmFolderTraversal = new TraversalSpec();
 	    host2VmFolderTraversal.setType("HostSystem");
 	    host2VmFolderTraversal.setPath("vm");
 	    host2VmFolderTraversal.setName("host2VmFolderTraversal");
-		
+
 	    TraversalSpec cluster2HostFolderTraversal = new TraversalSpec();
 	    cluster2HostFolderTraversal.setType("ClusterComputeResource");
 	    cluster2HostFolderTraversal.setPath("host");
 	    cluster2HostFolderTraversal.setName("cluster2HostFolderTraversal");
-	    cluster2HostFolderTraversal.setSelectSet(new SelectionSpec[] { host2VmFolderTraversal });
-	    
+	    cluster2HostFolderTraversal.getSelectSet().add(host2VmFolderTraversal);
+
 	    ObjectSpec oSpec = new ObjectSpec();
 	    oSpec.setObj(getMor());
 	    oSpec.setSkip(Boolean.TRUE);
-	    oSpec.setSelectSet(new SelectionSpec[] { cluster2HostFolderTraversal });
-	    
+	    oSpec.getSelectSet().add(cluster2HostFolderTraversal);
+
 	    PropertyFilterSpec pfSpec = new PropertyFilterSpec();
-	    pfSpec.setPropSet(new PropertySpec[] { pSpec });
-	    pfSpec.setObjectSet(new ObjectSpec[] { oSpec });
-	    
-	    ObjectContent[] properties = _context.getService().retrieveProperties(
-	    	_context.getServiceContent().getPropertyCollector(), 
-	    	new PropertyFilterSpec[] { pfSpec });
-	    
+	    pfSpec.getPropSet().add(pSpec);
+	    pfSpec.getObjectSet().add(oSpec);
+	    List<PropertyFilterSpec> pfSpecArr = new ArrayList<PropertyFilterSpec>();
+	    pfSpecArr.add(pfSpec);
+
+	    List<ObjectContent> properties = _context.getService().retrieveProperties(_context.getPropertyCollector(), pfSpecArr);
+
 	    if(s_logger.isTraceEnabled())
 			s_logger.trace("vCenter API trace - retrieveProperties() done");
-	    return properties;
+	    return properties.toArray(new ObjectContent[properties.size()]);
 	}
 
 	@Override
 	public ObjectContent[] getDatastorePropertiesOnHyperHost(String[] propertyPaths) throws Exception {
 		if(s_logger.isTraceEnabled())
-			s_logger.trace("vCenter API trace - retrieveProperties() on Datastore properties. target MOR: " + _mor.get_value() + ", properties: " + new Gson().toJson(propertyPaths));
-		
+			s_logger.trace("vCenter API trace - retrieveProperties() on Datastore properties. target MOR: " + _mor.getValue() + ", properties: " + new Gson().toJson(propertyPaths));
+
 		PropertySpec pSpec = new PropertySpec();
 		pSpec.setType("Datastore");
-		pSpec.setPathSet(propertyPaths);
-		
+        pSpec.getPathSet().addAll(Arrays.asList(propertyPaths));
+
 	    TraversalSpec cluster2DatastoreTraversal = new TraversalSpec();
 	    cluster2DatastoreTraversal.setType("ClusterComputeResource");
 	    cluster2DatastoreTraversal.setPath("datastore");
@@ -173,29 +172,30 @@ public class ClusterMO extends BaseMO implements VmwareHypervisorHost {
 	    ObjectSpec oSpec = new ObjectSpec();
 	    oSpec.setObj(_mor);
 	    oSpec.setSkip(Boolean.TRUE);
-	    oSpec.setSelectSet(new SelectionSpec[] { cluster2DatastoreTraversal });
+	    oSpec.getSelectSet().add(cluster2DatastoreTraversal);
 
 	    PropertyFilterSpec pfSpec = new PropertyFilterSpec();
-	    pfSpec.setPropSet(new PropertySpec[] { pSpec });
-	    pfSpec.setObjectSet(new ObjectSpec[] { oSpec });
-	    
-	    ObjectContent[] properties = _context.getService().retrieveProperties(
-	    	_context.getServiceContent().getPropertyCollector(), 
-	    	new PropertyFilterSpec[] { pfSpec }); 
-	    
+	    pfSpec.getPropSet().add(pSpec);
+	    pfSpec.getObjectSet().add(oSpec);
+	    List<PropertyFilterSpec> pfSpecArr = new ArrayList<PropertyFilterSpec>();
+	    pfSpecArr.add(pfSpec);
+
+	    List<ObjectContent> properties = _context.getService().retrieveProperties(
+	    	_context.getPropertyCollector(), pfSpecArr);
+
 	    if(s_logger.isTraceEnabled())
 			s_logger.trace("vCenter API trace - retrieveProperties() done");
-	    return properties;
+	    return properties.toArray(new ObjectContent[properties.size()]);
 	}
-	
+
 	private ObjectContent[] getHostPropertiesOnCluster(String[] propertyPaths) throws Exception {
 		if(s_logger.isTraceEnabled())
-			s_logger.trace("vCenter API trace - retrieveProperties() on Host properties. target MOR: " + _mor.get_value() + ", properties: " + new Gson().toJson(propertyPaths));
+			s_logger.trace("vCenter API trace - retrieveProperties() on Host properties. target MOR: " + _mor.getValue() + ", properties: " + new Gson().toJson(propertyPaths));
 
 		PropertySpec pSpec = new PropertySpec();
 		pSpec.setType("HostSystem");
-		pSpec.setPathSet(propertyPaths);
-		
+        pSpec.getPathSet().addAll(Arrays.asList(propertyPaths));
+
 	    TraversalSpec cluster2HostTraversal = new TraversalSpec();
 	    cluster2HostTraversal.setType("ClusterComputeResource");
 	    cluster2HostTraversal.setPath("host");
@@ -204,63 +204,65 @@ public class ClusterMO extends BaseMO implements VmwareHypervisorHost {
 	    ObjectSpec oSpec = new ObjectSpec();
 	    oSpec.setObj(_mor);
 	    oSpec.setSkip(Boolean.TRUE);
-	    oSpec.setSelectSet(new SelectionSpec[] { cluster2HostTraversal });
+	    oSpec.getSelectSet().add(cluster2HostTraversal);
 
 	    PropertyFilterSpec pfSpec = new PropertyFilterSpec();
-	    pfSpec.setPropSet(new PropertySpec[] { pSpec });
-	    pfSpec.setObjectSet(new ObjectSpec[] { oSpec });
-	    
-	    ObjectContent[] properties = _context.getService().retrieveProperties(
-	    	_context.getServiceContent().getPropertyCollector(), 
-	    	new PropertyFilterSpec[] { pfSpec });
+	    pfSpec.getPropSet().add(pSpec);
+	    pfSpec.getObjectSet().add(oSpec);
+
+        List<PropertyFilterSpec> pfSpecArr = new ArrayList<PropertyFilterSpec>();
+        pfSpecArr.add(pfSpec);
+
+        List<ObjectContent> properties = _context.getService().retrieveProperties(
+            _context.getPropertyCollector(), pfSpecArr);
 
 	    if(s_logger.isTraceEnabled())
 			s_logger.trace("vCenter API trace - retrieveProperties() done");
-	    return properties;
+	    return properties.toArray(new ObjectContent[properties.size()]);
 	}
 
 	@Override
 	public boolean createVm(VirtualMachineConfigSpec vmSpec) throws Exception {
 	    if(s_logger.isTraceEnabled())
-			s_logger.trace("vCenter API trace - createVM_Task(). target MOR: " + _mor.get_value() + ", VirtualMachineConfigSpec: " + new Gson().toJson(vmSpec));
-		
+			s_logger.trace("vCenter API trace - createVM_Task(). target MOR: " + _mor.getValue() + ", VirtualMachineConfigSpec: " + new Gson().toJson(vmSpec));
+
 		assert(vmSpec != null);
 		DatacenterMO dcMo = new DatacenterMO(_context, getHyperHostDatacenter());
         ManagedObjectReference morPool = getHyperHostOwnerResourcePool();
-		
-	    ManagedObjectReference morTask = _context.getService().createVM_Task(
+
+	    ManagedObjectReference morTask = _context.getService().createVMTask(
 	    	dcMo.getVmFolder(), vmSpec, morPool, null);
-		String result = _context.getServiceUtil().waitForTask(morTask);
-		
-		if(result.equals("sucess")) {
+		boolean result = _context.getVimClient().waitForTask(morTask);
+
+		if(result) {
 			_context.waitForTaskProgressDone(morTask);
-			
+
 		    if(s_logger.isTraceEnabled())
 				s_logger.trace("vCenter API trace - createVM_Task() done(successfully)");
 			return true;
 		} else {
         	s_logger.error("VMware createVM_Task failed due to " + TaskMO.getTaskFailureInfo(_context, morTask));
 		}
-		
+
 	    if(s_logger.isTraceEnabled())
 			s_logger.trace("vCenter API trace - createVM_Task() done(failed)");
 		return false;
 	}
-	
+
 	@Override
 	public void importVmFromOVF(String ovfFilePath, String vmName, DatastoreMO dsMo, String diskOption) throws Exception {
 	    if(s_logger.isTraceEnabled())
-			s_logger.trace("vCenter API trace - importVmFromOVF(). target MOR: " + _mor.get_value() + ", ovfFilePath: " + ovfFilePath + ", vmName: " + vmName 
-				+ ", datastore: " + dsMo.getMor().get_value() + ", diskOption: " + diskOption);
+			s_logger.trace("vCenter API trace - importVmFromOVF(). target MOR: " + _mor.getValue() + ", ovfFilePath: " + ovfFilePath + ", vmName: " + vmName
+				+ ", datastore: " + dsMo.getMor().getValue() + ", diskOption: " + diskOption);
 
 		ManagedObjectReference morRp = getHyperHostOwnerResourcePool();
 		assert(morRp != null);
-		
+
 		if(s_logger.isTraceEnabled())
-			s_logger.trace("vCenter API trace - importVmFromOVF(). resource pool: " + morRp.get_value()); 
-					
+			s_logger.trace("vCenter API trace - importVmFromOVF(). resource pool: " + morRp.getValue());
+
 		HypervisorHostHelper.importVmFromOVF(this, ovfFilePath, vmName, dsMo, diskOption, morRp, null);
-		
+
 	    if(s_logger.isTraceEnabled())
 			s_logger.trace("vCenter API trace - importVmFromOVF() done");
 	}
@@ -268,83 +270,83 @@ public class ClusterMO extends BaseMO implements VmwareHypervisorHost {
 	@Override
 	public boolean createBlankVm(String vmName, int cpuCount, int cpuSpeedMHz, int cpuReservedMHz, boolean limitCpuUse, int memoryMB, int memoryReserveMB,
 		String guestOsIdentifier, ManagedObjectReference morDs, boolean snapshotDirToParent) throws Exception {
-		
+
 	    if(s_logger.isTraceEnabled())
-			s_logger.trace("vCenter API trace - createBlankVm(). target MOR: " + _mor.get_value() + ", vmName: " + vmName + ", cpuCount: " + cpuCount
-				+ ", cpuSpeedMhz: " + cpuSpeedMHz + ", cpuReservedMHz: " + cpuReservedMHz + ", limitCpu: " + limitCpuUse + ", memoryMB: " + memoryMB 
-				+ ", guestOS: " + guestOsIdentifier + ", datastore: " + morDs.get_value() + ", snapshotDirToParent: " + snapshotDirToParent);
-		
+			s_logger.trace("vCenter API trace - createBlankVm(). target MOR: " + _mor.getValue() + ", vmName: " + vmName + ", cpuCount: " + cpuCount
+				+ ", cpuSpeedMhz: " + cpuSpeedMHz + ", cpuReservedMHz: " + cpuReservedMHz + ", limitCpu: " + limitCpuUse + ", memoryMB: " + memoryMB
+				+ ", guestOS: " + guestOsIdentifier + ", datastore: " + morDs.getValue() + ", snapshotDirToParent: " + snapshotDirToParent);
+
 		boolean result = HypervisorHostHelper.createBlankVm(this, vmName, cpuCount, cpuSpeedMHz, cpuReservedMHz, limitCpuUse,
 			memoryMB, memoryReserveMB, guestOsIdentifier, morDs, snapshotDirToParent);
-		
+
 		if(s_logger.isTraceEnabled())
 			s_logger.trace("vCenter API trace - createBlankVm() done");
-			
+
 		return result;
 	}
 
 	@Override
-	public ManagedObjectReference mountDatastore(boolean vmfsDatastore, String poolHostAddress, 
+	public ManagedObjectReference mountDatastore(boolean vmfsDatastore, String poolHostAddress,
 		int poolHostPort, String poolPath, String poolUuid) throws Exception {
 
 	    if(s_logger.isTraceEnabled())
-			s_logger.trace("vCenter API trace - mountDatastore(). target MOR: " + _mor.get_value() + ", vmfs: " + vmfsDatastore + ", poolHost: " + poolHostAddress
+			s_logger.trace("vCenter API trace - mountDatastore(). target MOR: " + _mor.getValue() + ", vmfs: " + vmfsDatastore + ", poolHost: " + poolHostAddress
 				+ ", poolHostPort: " + poolHostPort + ", poolPath: " + poolPath + ", poolUuid: " + poolUuid);
-		
+
 		ManagedObjectReference morDs = null;
 		ManagedObjectReference morDsFirst = null;
-		ManagedObjectReference[] hosts = (ManagedObjectReference[])_context.getServiceUtil().getDynamicProperty(_mor, "host");
+		ManagedObjectReference[] hosts = (ManagedObjectReference[])_context.getVimClient().getDynamicProperty(_mor, "host");
 		if(hosts != null && hosts.length > 0) {
 			for(ManagedObjectReference morHost : hosts) {
 				HostMO hostMo = new HostMO(_context, morHost);
 				morDs = hostMo.mountDatastore(vmfsDatastore, poolHostAddress, poolHostPort, poolPath, poolUuid);
 				if(morDsFirst == null)
 					morDsFirst = morDs;
-				
+
 				// assume datastore is in scope of datacenter
-				assert(morDsFirst.get_value().equals(morDs.get_value()));
+				assert(morDsFirst.getValue().equals(morDs.getValue()));
 			}
 		}
-		
+
 		if(morDs == null) {
 			String msg = "Failed to mount datastore in all hosts within the cluster";
 			s_logger.error(msg);
-			
+
 			if(s_logger.isTraceEnabled())
 				s_logger.trace("vCenter API trace - mountDatastore() done(failed)");
 			throw new Exception(msg);
 		}
-		
+
 		if(s_logger.isTraceEnabled())
 			s_logger.trace("vCenter API trace - mountDatastore() done(successfully)");
-		
+
 		return morDs;
 	}
-	
+
 	@Override
 	public void unmountDatastore(String poolUuid) throws Exception {
 	    if(s_logger.isTraceEnabled())
-			s_logger.trace("vCenter API trace - unmountDatastore(). target MOR: " + _mor.get_value() + ", poolUuid: " + poolUuid);
-		
-		ManagedObjectReference[] hosts = (ManagedObjectReference[])_context.getServiceUtil().getDynamicProperty(_mor, "host");
+			s_logger.trace("vCenter API trace - unmountDatastore(). target MOR: " + _mor.getValue() + ", poolUuid: " + poolUuid);
+
+		ManagedObjectReference[] hosts = (ManagedObjectReference[])_context.getVimClient().getDynamicProperty(_mor, "host");
 		if(hosts != null && hosts.length > 0) {
 			for(ManagedObjectReference morHost : hosts) {
 				HostMO hostMo = new HostMO(_context, morHost);
 				hostMo.unmountDatastore(poolUuid);
 			}
 		}
-		
+
 		if(s_logger.isTraceEnabled())
 			s_logger.trace("vCenter API trace - unmountDatastore() done");
 	}
-	
+
 	@Override
 	public ManagedObjectReference findDatastore(String poolUuid) throws Exception {
 
 	    if(s_logger.isTraceEnabled())
-			s_logger.trace("vCenter API trace - findDatastore(). target MOR: " + _mor.get_value() + ", poolUuid: " + poolUuid);
-		
-		CustomFieldsManagerMO cfmMo = new CustomFieldsManagerMO(_context, 
+			s_logger.trace("vCenter API trace - findDatastore(). target MOR: " + _mor.getValue() + ", poolUuid: " + poolUuid);
+
+		CustomFieldsManagerMO cfmMo = new CustomFieldsManagerMO(_context,
 				_context.getServiceContent().getCustomFieldsManager());
 		int key = cfmMo.getCustomFieldKey("Datastore", CustomFieldConstants.CLOUD_UUID);
 		assert(key != 0);
@@ -352,16 +354,16 @@ public class ClusterMO extends BaseMO implements VmwareHypervisorHost {
 		ObjectContent[] ocs = getDatastorePropertiesOnHyperHost(new String[] {"name", String.format("value[%d]", key)});
 		if(ocs != null) {
 			for(ObjectContent oc : ocs) {
-				if(oc.getPropSet(0).getVal().equals(poolUuid))
+				if(oc.getPropSet().get(0).getVal().equals(poolUuid))
 					return oc.getObj();
-				
-				if(oc.getPropSet().length > 1) {
-					DynamicProperty prop = oc.getPropSet(1);
+
+				if(oc.getPropSet().size() > 1) {
+					DynamicProperty prop = oc.getPropSet().get(1);
 					if(prop != null && prop.getVal() != null) {
 						if(prop.getVal() instanceof CustomFieldStringValue) {
 							String val = ((CustomFieldStringValue)prop.getVal()).getValue();
 							if(val.equalsIgnoreCase(poolUuid)) {
-								
+
 							    if(s_logger.isTraceEnabled())
 									s_logger.trace("vCenter API trace - findDatastore() done(successfully)");
 								return oc.getObj();
@@ -371,31 +373,31 @@ public class ClusterMO extends BaseMO implements VmwareHypervisorHost {
 				}
 			}
 		}
-		
+
 	    if(s_logger.isTraceEnabled())
 			s_logger.trace("vCenter API trace - findDatastore() done(failed)");
 		return null;
 	}
-	
+
 	@Override
 	public ManagedObjectReference findDatastoreByExportPath(String exportPath) throws Exception {
 	    if(s_logger.isTraceEnabled())
-			s_logger.trace("vCenter API trace - findDatastoreByExportPath(). target MOR: " + _mor.get_value() + ", exportPath: " + exportPath);
-		
+			s_logger.trace("vCenter API trace - findDatastoreByExportPath(). target MOR: " + _mor.getValue() + ", exportPath: " + exportPath);
+
 		ObjectContent[] ocs = getDatastorePropertiesOnHyperHost(new String[] {"info"});
 		if(ocs != null && ocs.length > 0) {
 			for(ObjectContent oc : ocs) {
-				DatastoreInfo dsInfo = (DatastoreInfo)oc.getPropSet(0).getVal();
+				DatastoreInfo dsInfo = (DatastoreInfo)oc.getPropSet().get(0).getVal();
 				if(dsInfo != null && dsInfo instanceof NasDatastoreInfo) {
 					NasDatastoreInfo info = (NasDatastoreInfo)dsInfo;
 					if(info != null) {
 						String vmwareUrl = info.getUrl();
 						if(vmwareUrl.charAt(vmwareUrl.length() - 1) == '/')
 							vmwareUrl = vmwareUrl.substring(0, vmwareUrl.length() - 1);
-						
+
 						URI uri = new URI(vmwareUrl);
 						if(uri.getPath().equals("/" + exportPath)) {
-							
+
 						    if(s_logger.isTraceEnabled())
 								s_logger.trace("vCenter API trace - findDatastoreByExportPath() done(successfully)");
 							return oc.getObj();
@@ -404,49 +406,49 @@ public class ClusterMO extends BaseMO implements VmwareHypervisorHost {
 				}
 			}
 		}
-		
+
 	    if(s_logger.isTraceEnabled())
 			s_logger.trace("vCenter API trace - findDatastoreByExportPath() done(failed)");
 		return null;
 	}
-	
+
 	@Override
 	public ManagedObjectReference findMigrationTarget(VirtualMachineMO vmMo) throws Exception {
 	    if(s_logger.isTraceEnabled())
-			s_logger.trace("vCenter API trace - findMigrationTarget(). target MOR: " + _mor.get_value() + ", vm: " + vmMo.getName());
+			s_logger.trace("vCenter API trace - findMigrationTarget(). target MOR: " + _mor.getValue() + ", vm: " + vmMo.getName());
 
-		ClusterHostRecommendation[] candidates = recommendHostsForVm(vmMo);
-		if(candidates != null && candidates.length > 0) {
+		List<ClusterHostRecommendation> candidates = recommendHostsForVm(vmMo);
+		if(candidates != null && candidates.size() > 0) {
 		    if(s_logger.isTraceEnabled())
 				s_logger.trace("vCenter API trace - findMigrationTarget() done(successfully)");
-			return candidates[0].getHost();
+			return candidates.get(0).getHost();
 		}
 
 	    if(s_logger.isTraceEnabled())
 			s_logger.trace("vCenter API trace - findMigrationTarget() done(failed)");
 		return null;
 	}
-	
+
 	@Override
 	public boolean isHyperHostConnected() throws Exception {
 		ObjectContent[] ocs = getHostPropertiesOnCluster(new String[] {"runtime"});
 		if(ocs != null && ocs.length > 0) {
 			for(ObjectContent oc : ocs) {
-				HostRuntimeInfo runtimeInfo = (HostRuntimeInfo)oc.getPropSet(0).getVal();
-				// as long as we have one host connected, we assume the cluster is up 
-				if(runtimeInfo.getConnectionState() == HostSystemConnectionState.connected)
+				HostRuntimeInfo runtimeInfo = (HostRuntimeInfo)oc.getPropSet().get(0).getVal();
+				// as long as we have one host connected, we assume the cluster is up
+				if(runtimeInfo.getConnectionState() == HostSystemConnectionState.CONNECTED)
 					return true;
 			}
 		}
 		return false;
 	}
-	
+
 	@Override
 	public String getHyperHostDefaultGateway() throws Exception {
 		ObjectContent[] ocs = getHostPropertiesOnCluster(new String[] {"config.network.routeTableInfo.ipRoute"});
 		if(ocs != null && ocs.length > 0) {
 			for(ObjectContent oc : ocs) {
-				ArrayOfHostIpRouteEntry entries = (ArrayOfHostIpRouteEntry)oc.getPropSet(0).getVal();
+				ArrayOfHostIpRouteEntry entries = (ArrayOfHostIpRouteEntry)oc.getPropSet().get(0).getVal();
 				if(entries != null) {
 					for(HostIpRouteEntry entry : entries.getHostIpRouteEntry()) {
 						if(entry.getNetwork().equalsIgnoreCase("0.0.0.0"))
@@ -455,28 +457,28 @@ public class ClusterMO extends BaseMO implements VmwareHypervisorHost {
 				}
 			}
 		}
-		
+
 		throw new Exception("Could not find host default gateway, host is not properly configured?");
 	}
-	
+
 	@Override
 	public VmwareHypervisorHostResourceSummary getHyperHostResourceSummary() throws Exception {
 	    if(s_logger.isTraceEnabled())
-			s_logger.trace("vCenter API trace - getHyperHostResourceSummary(). target MOR: " + _mor.get_value());
+			s_logger.trace("vCenter API trace - getHyperHostResourceSummary(). target MOR: " + _mor.getValue());
 
 		VmwareHypervisorHostResourceSummary summary = new VmwareHypervisorHostResourceSummary();
-	
-		ComputeResourceSummary vmwareSummary = (ComputeResourceSummary)_context.getServiceUtil().getDynamicProperty(
+
+		ComputeResourceSummary vmwareSummary = (ComputeResourceSummary)_context.getVimClient().getDynamicProperty(
 			_mor, "summary");
-		
-		// TODO, need to use traversal to optimize retrieve of 
+
+		// TODO, need to use traversal to optimize retrieve of
 		int cpuNumInCpuThreads = 1;
-		ManagedObjectReference[] hosts = (ManagedObjectReference[])_context.getServiceUtil().getDynamicProperty(_mor, "host");
+		ManagedObjectReference[] hosts = (ManagedObjectReference[])_context.getVimClient().getDynamicProperty(_mor, "host");
 		if(hosts != null && hosts.length > 0) {
 			for(ManagedObjectReference morHost : hosts) {
 				HostMO hostMo = new HostMO(_context, morHost);
 				HostHardwareSummary hardwareSummary = hostMo.getHostHardwareSummary();
-				
+
 				if(hardwareSummary.getNumCpuCores()*hardwareSummary.getNumCpuThreads() > cpuNumInCpuThreads)
 					cpuNumInCpuThreads = hardwareSummary.getNumCpuCores()*hardwareSummary.getNumCpuThreads();
 			}
@@ -484,74 +486,74 @@ public class ClusterMO extends BaseMO implements VmwareHypervisorHost {
 		summary.setCpuCount(cpuNumInCpuThreads);
 		summary.setCpuSpeed(vmwareSummary.getTotalCpu());
 		summary.setMemoryBytes(vmwareSummary.getTotalMemory());
-		
+
 	    if(s_logger.isTraceEnabled())
 			s_logger.trace("vCenter API trace - getHyperHostResourceSummary() done");
 		return summary;
 	}
-	
+
 	@Override
 	public VmwareHypervisorHostNetworkSummary getHyperHostNetworkSummary(String esxServiceConsolePort) throws Exception {
 
 	    if(s_logger.isTraceEnabled())
-			s_logger.trace("vCenter API trace - getHyperHostNetworkSummary(). target MOR: " + _mor.get_value() + ", mgmtPortgroup: " + esxServiceConsolePort);
-		
-		ManagedObjectReference[] hosts = (ManagedObjectReference[])_context.getServiceUtil().getDynamicProperty(_mor, "host");
+			s_logger.trace("vCenter API trace - getHyperHostNetworkSummary(). target MOR: " + _mor.getValue() + ", mgmtPortgroup: " + esxServiceConsolePort);
+
+		ManagedObjectReference[] hosts = (ManagedObjectReference[])_context.getVimClient().getDynamicProperty(_mor, "host");
 		if(hosts != null && hosts.length > 0) {
 			VmwareHypervisorHostNetworkSummary summary = new HostMO(_context, hosts[0]).getHyperHostNetworkSummary(esxServiceConsolePort);
-			
+
 		    if(s_logger.isTraceEnabled())
 				s_logger.trace("vCenter API trace - getHyperHostResourceSummary() done(successfully)");
 			return summary;
 		}
-		
+
 	    if(s_logger.isTraceEnabled())
 			s_logger.trace("vCenter API trace - getHyperHostResourceSummary() done(failed)");
 		return null;
 	}
-	
+
 	@Override
 	public ComputeResourceSummary getHyperHostHardwareSummary() throws Exception {
 	    if(s_logger.isTraceEnabled())
-			s_logger.trace("vCenter API trace - getHyperHostHardwareSummary(). target MOR: " + _mor.get_value());
+			s_logger.trace("vCenter API trace - getHyperHostHardwareSummary(). target MOR: " + _mor.getValue());
 
 		ClusterComputeResourceSummary hardwareSummary = (ClusterComputeResourceSummary)
-			_context.getServiceUtil().getDynamicProperty(_mor, "summary");
+			_context.getVimClient().getDynamicProperty(_mor, "summary");
 
 	    if(s_logger.isTraceEnabled())
 			s_logger.trace("vCenter API trace - getHyperHostHardwareSummary() done");
 		return hardwareSummary;
 	}
 
-	public ClusterHostRecommendation[] recommendHostsForVm(VirtualMachineMO vmMo) throws Exception {
-		return _context.getService().recommendHostsForVm(_mor, vmMo.getMor(), 
+	public List<ClusterHostRecommendation> recommendHostsForVm(VirtualMachineMO vmMo) throws Exception {
+		return _context.getService().recommendHostsForVm(_mor, vmMo.getMor(),
 			getHyperHostOwnerResourcePool());
 	}
-	
+
 	public List<Pair<ManagedObjectReference, String>> getClusterHosts() throws Exception {
 		List<Pair<ManagedObjectReference, String>> hosts = new ArrayList<Pair<ManagedObjectReference, String>>();
-		
+
 		ObjectContent[] ocs = getHostPropertiesOnCluster(new String[] {"name"});
 		if(ocs != null) {
 			for(ObjectContent oc : ocs) {
 				ManagedObjectReference morHost = oc.getObj();
-				String name = (String)oc.getPropSet(0).getVal();
-				
+				String name = (String)oc.getPropSet().get(0).getVal();
+
 				hosts.add(new Pair<ManagedObjectReference, String>(morHost, name));
 			}
 		}
 		return hosts;
 	}
-	
+
 	public HashMap<String, Integer> getVmVncPortsOnCluster() throws Exception {
     	ObjectContent[] ocs = getVmPropertiesOnHyperHost(
         		new String[] { "name", "config.extraConfig[\"RemoteDisplay.vnc.port\"]" }
         	);
-		
+
         HashMap<String, Integer> portInfo = new HashMap<String, Integer>();
     	if(ocs != null && ocs.length > 0) {
     		for(ObjectContent oc : ocs) {
-		        DynamicProperty[] objProps = oc.getPropSet();
+		        List<DynamicProperty> objProps = oc.getPropSet();
 		        if(objProps != null) {
 		        	String name = null;
 		        	String value = null;
@@ -561,16 +563,16 @@ public class ClusterMO extends BaseMO implements VmwareHypervisorHost {
 		        		} else {
 		        			OptionValue optValue = (OptionValue)objProp.getVal();
 		        			value = (String)optValue.getValue();
-		        		} 
+		        		}
 		        	}
-		        	
+
 		        	if(name != null && value != null) {
 		        		portInfo.put(name, Integer.parseInt(value));
 		        	}
 		        }
     		}
     	}
-    	
+
     	return portInfo;
 	}
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/481f4804/vmware-base/src/com/cloud/hypervisor/vmware/mo/CustomFieldsManagerMO.java
----------------------------------------------------------------------
diff --git a/vmware-base/src/com/cloud/hypervisor/vmware/mo/CustomFieldsManagerMO.java b/vmware-base/src/com/cloud/hypervisor/vmware/mo/CustomFieldsManagerMO.java
index 44de683..08932c5 100644
--- a/vmware-base/src/com/cloud/hypervisor/vmware/mo/CustomFieldsManagerMO.java
+++ b/vmware-base/src/com/cloud/hypervisor/vmware/mo/CustomFieldsManagerMO.java
@@ -26,32 +26,32 @@ public class CustomFieldsManagerMO extends BaseMO {
 	public CustomFieldsManagerMO(VmwareContext context, ManagedObjectReference mor) {
 		super(context, mor);
 	}
-	
+
 	public CustomFieldsManagerMO(VmwareContext context, String morType, String morValue) {
 		super(context, morType, morValue);
 	}
-	
-	public CustomFieldDef addCustomerFieldDef(String fieldName, String morType, 
+
+	public CustomFieldDef addCustomerFieldDef(String fieldName, String morType,
 		PrivilegePolicyDef fieldDefPolicy, PrivilegePolicyDef fieldPolicy) throws Exception {
 		return _context.getService().addCustomFieldDef(getMor(), fieldName, morType, fieldDefPolicy, fieldPolicy);
 	}
-	
+
 	public void removeCustomFieldDef(int key) throws Exception {
 		_context.getService().removeCustomFieldDef(getMor(), key);
 	}
-	
+
 	public void renameCustomFieldDef(int key, String name) throws Exception {
 		_context.getService().renameCustomFieldDef(getMor(), key, name);
 	}
-	
+
 	public void setField(ManagedObjectReference morEntity, int key, String value) throws Exception {
 		_context.getService().setField(getMor(), morEntity, key, value);
 	}
-	
+
 	public CustomFieldDef[] getFields() throws Exception {
-		return (CustomFieldDef[])_context.getServiceUtil().getDynamicProperty(getMor(), "field");
+		return (CustomFieldDef[])_context.getVimClient().getDynamicProperty(getMor(), "field");
 	}
-	
+
 	public int getCustomFieldKey(String morType, String fieldName) throws Exception {
 		CustomFieldDef[] fields = getFields();
 		if(fields != null) {
@@ -62,12 +62,12 @@ public class CustomFieldsManagerMO extends BaseMO {
 		}
 		return 0;
 	}
-	
+
 	public int ensureCustomFieldDef(String morType, String fieldName) throws Exception {
 		int key = getCustomFieldKey(morType, fieldName);
 		if(key > 0)
 			return key;
-		
+
 		try {
 			CustomFieldDef field = addCustomerFieldDef(fieldName, morType, null, null);
 			return field.getKey();
@@ -75,10 +75,10 @@ public class CustomFieldsManagerMO extends BaseMO {
 			// assuming that someone is adding it
 			key = getCustomFieldKey(morType, fieldName);
 		}
-		
+
 		if(key == 0)
 			throw new Exception("Unable to setup custom field facility for " + morType + ":" + fieldName);
-			
+
 		return key;
 	}
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/481f4804/vmware-base/src/com/cloud/hypervisor/vmware/mo/DatacenterMO.java
----------------------------------------------------------------------
diff --git a/vmware-base/src/com/cloud/hypervisor/vmware/mo/DatacenterMO.java b/vmware-base/src/com/cloud/hypervisor/vmware/mo/DatacenterMO.java
index eb10e16..4cb0a61 100755
--- a/vmware-base/src/com/cloud/hypervisor/vmware/mo/DatacenterMO.java
+++ b/vmware-base/src/com/cloud/hypervisor/vmware/mo/DatacenterMO.java
@@ -22,7 +22,6 @@ import java.util.List;
 
 import com.cloud.hypervisor.vmware.util.VmwareContext;
 import com.cloud.utils.Pair;
-import com.vmware.apputils.vim25.ServiceUtil;
 import com.vmware.vim25.CustomFieldStringValue;
 import com.vmware.vim25.DVPortgroupConfigInfo;
 import com.vmware.vim25.DistributedVirtualSwitchPortConnection;
@@ -34,59 +33,58 @@ import com.vmware.vim25.PropertyFilterSpec;
 import com.vmware.vim25.PropertySpec;
 import com.vmware.vim25.SelectionSpec;
 import com.vmware.vim25.TraversalSpec;
-import com.vmware.vim25.VirtualDeviceBackingInfo;
 import com.vmware.vim25.VirtualEthernetCardDistributedVirtualPortBackingInfo;
-import com.vmware.vim25.VirtualEthernetCardNetworkBackingInfo;
+import edu.emory.mathcs.backport.java.util.Arrays;
 
 public class DatacenterMO extends BaseMO {
-	
+
 	public DatacenterMO(VmwareContext context, ManagedObjectReference morDc) {
 		super(context, morDc);
 	}
-	
+
 	public DatacenterMO(VmwareContext context, String morType, String morValue) {
 		super(context, morType, morValue);
 	}
-	
+
 	public DatacenterMO(VmwareContext context, String dcName) throws Exception {
 		super(context, null);
-		
-		_mor = _context.getServiceUtil().getDecendentMoRef(_context.getRootFolder(), "Datacenter", dcName);
+
+		_mor = _context.getVimClient().getDecendentMoRef(_context.getRootFolder(), "Datacenter", dcName);
 		assert(_mor != null);
 	}
-	
-	public String getName() throws Exception {
-		return (String)_context.getServiceUtil().getDynamicProperty(_mor, "name");
+
+	@Override
+    public String getName() throws Exception {
+		return (String)_context.getVimClient().getDynamicProperty(_mor, "name");
 	}
-	
-	public void registerTemplate(ManagedObjectReference morHost, String datastoreName, 
+
+	public void registerTemplate(ManagedObjectReference morHost, String datastoreName,
 		String templateName, String templateFileName) throws Exception {
-		
-		ServiceUtil serviceUtil = _context.getServiceUtil();
-		
-		ManagedObjectReference morFolder = (ManagedObjectReference)serviceUtil.getDynamicProperty(
+
+
+		ManagedObjectReference morFolder = (ManagedObjectReference)_context.getVimClient().getDynamicProperty(
 			_mor, "vmFolder");
 		assert(morFolder != null);
-		
-		ManagedObjectReference morTask = _context.getService().registerVM_Task(
-    		 morFolder, 
+
+		ManagedObjectReference morTask = _context.getService().registerVMTask(
+    		 morFolder,
     		 String.format("[%s] %s/%s", datastoreName, templateName, templateFileName),
-    		 templateName, true, 
+    		 templateName, true,
     		 null, morHost);
-		
-		String result = serviceUtil.waitForTask(morTask);
-		if (!result.equalsIgnoreCase("Sucess")) {
+
+		boolean result = _context.getVimClient().waitForTask(morTask);
+		if (!result) {
 			throw new Exception("Unable to register template due to " + TaskMO.getTaskFailureInfo(_context, morTask));
 		} else {
 			_context.waitForTaskProgressDone(morTask);
 		}
 	}
-	
+
 	public VirtualMachineMO findVm(String vmName) throws Exception {
-		ObjectContent[] ocs = getVmPropertiesOnDatacenterVmFolder(new String[] { "name" });
-		if(ocs != null && ocs.length > 0) {
+		List<ObjectContent> ocs = getVmPropertiesOnDatacenterVmFolder(new String[] { "name" });
+		if(ocs != null && ocs.size() > 0) {
 			for(ObjectContent oc : ocs) {
-				DynamicProperty[] props = oc.getPropSet();
+				List<DynamicProperty> props = oc.getPropSet();
 				if(props != null) {
 					for(DynamicProperty prop : props) {
 						if(prop.getVal().toString().equals(vmName))
@@ -97,19 +95,19 @@ public class DatacenterMO extends BaseMO {
 		}
 		return null;
 	}
-	
+
 	public List<VirtualMachineMO> findVmByNameAndLabel(String vmLabel) throws Exception {
-		CustomFieldsManagerMO cfmMo = new CustomFieldsManagerMO(_context, 
+		CustomFieldsManagerMO cfmMo = new CustomFieldsManagerMO(_context,
 				_context.getServiceContent().getCustomFieldsManager());
 		int key = cfmMo.getCustomFieldKey("VirtualMachine", CustomFieldConstants.CLOUD_UUID);
 		assert(key != 0);
-		
+
 		List<VirtualMachineMO> list = new ArrayList<VirtualMachineMO>();
-		
-		ObjectContent[] ocs = getVmPropertiesOnDatacenterVmFolder(new String[] { "name",  String.format("value[%d]", key)});
-		if(ocs != null && ocs.length > 0) {
+
+		List<ObjectContent> ocs = getVmPropertiesOnDatacenterVmFolder(new String[] { "name",  String.format("value[%d]", key)});
+		if(ocs != null && ocs.size() > 0) {
 			for(ObjectContent oc : ocs) {
-				DynamicProperty[] props = oc.getPropSet();
+				List<DynamicProperty> props = oc.getPropSet();
 				if(props != null) {
 					for(DynamicProperty prop : props) {
 						if(prop.getVal() != null) {
@@ -135,209 +133,217 @@ public class DatacenterMO extends BaseMO {
 
 	public List<Pair<ManagedObjectReference, String>> getAllVmsOnDatacenter() throws Exception {
 	    List<Pair<ManagedObjectReference, String>> vms = new ArrayList<Pair<ManagedObjectReference, String>>();
-	    
-	    ObjectContent[] ocs = getVmPropertiesOnDatacenterVmFolder(new String[] { "name" });
+
+	    List<ObjectContent> ocs = getVmPropertiesOnDatacenterVmFolder(new String[] { "name" });
 	    if(ocs != null) {
 	        for(ObjectContent oc : ocs) {
-	            String vmName = oc.getPropSet(0).getVal().toString();
+	            String vmName = oc.getPropSet().get(0).getVal().toString();
 	            vms.add(new Pair<ManagedObjectReference, String>(oc.getObj(), vmName));
 	        }
 	    }
-	    
+
 	    return vms;
-	}	
-	
+	}
+
 	public ManagedObjectReference findDatastore(String name) throws Exception {
 		assert(name != null);
-		
-		ObjectContent[] ocs = getDatastorePropertiesOnDatacenter(new String[] { "name" });
+
+		List<ObjectContent> ocs = getDatastorePropertiesOnDatacenter(new String[] { "name" });
 		if(ocs != null) {
 			for(ObjectContent oc : ocs) {
-				if(oc.getPropSet(0).getVal().toString().equals(name)) {
+				if(oc.getPropSet().get(0).getVal().toString().equals(name)) {
 					return oc.getObj();
 				}
 			}
 		}
 		return null;
 	}
-	
+
 	public ManagedObjectReference findHost(String name) throws Exception {
-		ObjectContent[] ocs= getHostPropertiesOnDatacenterHostFolder(new String[] { "name" });
-		
+		List<ObjectContent> ocs= getHostPropertiesOnDatacenterHostFolder(new String[] { "name" });
+
 		if(ocs != null) {
 			for(ObjectContent oc : ocs) {
-				if(oc.getPropSet(0).getVal().toString().equals(name)) {
+				if(oc.getPropSet().get(0).getVal().toString().equals(name)) {
 					return oc.getObj();
 				}
 			}
 		}
 		return null;
 	}
-	
+
 	public ManagedObjectReference getVmFolder() throws Exception {
-		return (ManagedObjectReference)_context.getServiceUtil().getDynamicProperty(_mor, "vmFolder");
+		return (ManagedObjectReference)_context.getVimClient().getDynamicProperty(_mor, "vmFolder");
 	}
-	
-	public ObjectContent[] getHostPropertiesOnDatacenterHostFolder(String[] propertyPaths) throws Exception {
+
+	public List<ObjectContent> getHostPropertiesOnDatacenterHostFolder(String[] propertyPaths) throws Exception {
 		PropertySpec pSpec = new PropertySpec();
 		pSpec.setType("HostSystem");
-		pSpec.setPathSet(propertyPaths);
-		
+		pSpec.getPathSet().addAll(Arrays.asList(propertyPaths));
+
 	    TraversalSpec computeResource2HostTraversal = new TraversalSpec();
 	    computeResource2HostTraversal.setType("ComputeResource");
 	    computeResource2HostTraversal.setPath("host");
 	    computeResource2HostTraversal.setName("computeResource2HostTraversal");
-		
+
 	    SelectionSpec recurseFolders = new SelectionSpec();
 	    recurseFolders.setName("folder2childEntity");
-	      
+
 	    TraversalSpec folder2childEntity = new TraversalSpec();
 	    folder2childEntity.setType("Folder");
 	    folder2childEntity.setPath("childEntity");
 	    folder2childEntity.setName(recurseFolders.getName());
-	    folder2childEntity.setSelectSet(new SelectionSpec[] { recurseFolders, computeResource2HostTraversal });
-	    
+	    folder2childEntity.getSelectSet().add(recurseFolders);
+        folder2childEntity.getSelectSet().add(computeResource2HostTraversal);
+
 	    TraversalSpec dc2HostFolderTraversal = new TraversalSpec();
 	    dc2HostFolderTraversal.setType("Datacenter");
 	    dc2HostFolderTraversal.setPath("hostFolder");
 	    dc2HostFolderTraversal.setName("dc2HostFolderTraversal");
-	    dc2HostFolderTraversal.setSelectSet(new SelectionSpec[] { folder2childEntity } );
-	    
+	    dc2HostFolderTraversal.getSelectSet().add(folder2childEntity);
+
 	    ObjectSpec oSpec = new ObjectSpec();
 	    oSpec.setObj(_mor);
 	    oSpec.setSkip(Boolean.TRUE);
-	    oSpec.setSelectSet(new SelectionSpec[] { dc2HostFolderTraversal });
+	    oSpec.getSelectSet().add(dc2HostFolderTraversal);
 
 	    PropertyFilterSpec pfSpec = new PropertyFilterSpec();
-	    pfSpec.setPropSet(new PropertySpec[] { pSpec });
-	    pfSpec.setObjectSet(new ObjectSpec[] { oSpec });
-	    
-	    return _context.getService().retrieveProperties(
-	    	_context.getServiceContent().getPropertyCollector(), 
-	    	new PropertyFilterSpec[] { pfSpec }); 
+	    pfSpec.getPropSet().add(pSpec);
+	    pfSpec.getObjectSet().add(oSpec);
+	    List<PropertyFilterSpec> pfSpecArr = new ArrayList<PropertyFilterSpec>();
+	    pfSpecArr.add(pfSpec);
+
+	    return _context.getService().retrieveProperties(_context.getPropertyCollector(), pfSpecArr);
+
 	}
-	
-	public ObjectContent[] getDatastorePropertiesOnDatacenter(String[] propertyPaths) throws Exception {
-		
+
+	public List<ObjectContent> getDatastorePropertiesOnDatacenter(String[] propertyPaths) throws Exception {
+
 		PropertySpec pSpec = new PropertySpec();
 		pSpec.setType("Datastore");
-		pSpec.setPathSet(propertyPaths);
-		
+		pSpec.getPathSet().addAll(Arrays.asList(propertyPaths));
+
 	    TraversalSpec dc2DatastoreTraversal = new TraversalSpec();
 	    dc2DatastoreTraversal.setType("Datacenter");
 	    dc2DatastoreTraversal.setPath("datastore");
 	    dc2DatastoreTraversal.setName("dc2DatastoreTraversal");
-	    
+
 	    ObjectSpec oSpec = new ObjectSpec();
 	    oSpec.setObj(_mor);
 	    oSpec.setSkip(Boolean.TRUE);
-	    oSpec.setSelectSet(new SelectionSpec[] { dc2DatastoreTraversal });
+	    oSpec.getSelectSet().add(dc2DatastoreTraversal);
 
 	    PropertyFilterSpec pfSpec = new PropertyFilterSpec();
-	    pfSpec.setPropSet(new PropertySpec[] { pSpec });
-	    pfSpec.setObjectSet(new ObjectSpec[] { oSpec });
-	    
-	    return _context.getService().retrieveProperties(
-	    	_context.getServiceContent().getPropertyCollector(), 
-	    	new PropertyFilterSpec[] { pfSpec }); 
+	    pfSpec.getPropSet().add(pSpec);
+	    pfSpec.getObjectSet().add(oSpec);
+	    List<PropertyFilterSpec> pfSpecArr = new ArrayList<PropertyFilterSpec>();
+	    pfSpecArr.add(pfSpec);
+
+	    return _context.getService().retrieveProperties(_context.getPropertyCollector(), pfSpecArr);
+
 	}
-	
-	public ObjectContent[] getVmPropertiesOnDatacenterVmFolder(String[] propertyPaths) throws Exception {
+
+	public List<ObjectContent> getVmPropertiesOnDatacenterVmFolder(String[] propertyPaths) throws Exception {
 		PropertySpec pSpec = new PropertySpec();
 		pSpec.setType("VirtualMachine");
-		pSpec.setPathSet(propertyPaths);
-		
+		pSpec.getPathSet().addAll(Arrays.asList(propertyPaths));
+
 	    TraversalSpec dc2VmFolderTraversal = new TraversalSpec();
 	    dc2VmFolderTraversal.setType("Datacenter");
 	    dc2VmFolderTraversal.setPath("vmFolder");
 	    dc2VmFolderTraversal.setName("dc2VmFolderTraversal");
-	    
+
+
 	    SelectionSpec recurseFolders = new SelectionSpec();
 	    recurseFolders.setName("folder2childEntity");
-	      
+
 	    TraversalSpec folder2childEntity = new TraversalSpec();
 	    folder2childEntity.setType("Folder");
 	    folder2childEntity.setPath("childEntity");
 	    folder2childEntity.setName(recurseFolders.getName());
-	    folder2childEntity.setSelectSet(new SelectionSpec[] { recurseFolders });
-	    dc2VmFolderTraversal.setSelectSet(new SelectionSpec[] { folder2childEntity } );
+	    folder2childEntity.getSelectSet().add(recurseFolders);
+	    dc2VmFolderTraversal.getSelectSet().add(folder2childEntity);
 
 	    ObjectSpec oSpec = new ObjectSpec();
 	    oSpec.setObj(_mor);
 	    oSpec.setSkip(Boolean.TRUE);
-	    oSpec.setSelectSet(new SelectionSpec[] { dc2VmFolderTraversal });
+	    oSpec.getSelectSet().add(dc2VmFolderTraversal);
 
 	    PropertyFilterSpec pfSpec = new PropertyFilterSpec();
-	    pfSpec.setPropSet(new PropertySpec[] { pSpec });
-	    pfSpec.setObjectSet(new ObjectSpec[] { oSpec });
-	    
-	    return _context.getService().retrieveProperties(
-	    	_context.getServiceContent().getPropertyCollector(), 
-	    	new PropertyFilterSpec[] { pfSpec }); 
+	    pfSpec.getPropSet().add(pSpec);
+	    pfSpec.getObjectSet().add(oSpec);
+	    List<PropertyFilterSpec> pfSpecArr = new ArrayList<PropertyFilterSpec>();
+	    pfSpecArr.add(pfSpec);
+
+	    return _context.getService().retrieveProperties(_context.getPropertyCollector(), pfSpecArr);
 	}
-	
-	public static Pair<DatacenterMO, String> getOwnerDatacenter(VmwareContext context, 
+
+	public static Pair<DatacenterMO, String> getOwnerDatacenter(VmwareContext context,
 		ManagedObjectReference morEntity) throws Exception {
-		
+
 		PropertySpec pSpec = new PropertySpec();
 		pSpec.setType("Datacenter");
-		pSpec.setPathSet(new String[] { "name" });
-		
+		pSpec.getPathSet().add("name");
+
 	    TraversalSpec entityParentTraversal = new TraversalSpec();
 	    entityParentTraversal.setType("ManagedEntity");
 	    entityParentTraversal.setPath("parent");
 	    entityParentTraversal.setName("entityParentTraversal");
-	    entityParentTraversal.setSelectSet(new SelectionSpec[] { new SelectionSpec(null, null, "entityParentTraversal") });
+	    SelectionSpec selSpec = new SelectionSpec();
+	    selSpec.setName("entityParentTraversal");
+	    entityParentTraversal.getSelectSet().add(selSpec);
 
 	    ObjectSpec oSpec = new ObjectSpec();
 	    oSpec.setObj(morEntity);
 	    oSpec.setSkip(Boolean.TRUE);
-	    oSpec.setSelectSet(new SelectionSpec[] { entityParentTraversal });
+	    oSpec.getSelectSet().add(entityParentTraversal);
 
 	    PropertyFilterSpec pfSpec = new PropertyFilterSpec();
-	    pfSpec.setPropSet(new PropertySpec[] { pSpec });
-	    pfSpec.setObjectSet(new ObjectSpec[] { oSpec });
-	    
-	    ObjectContent[] ocs = context.getService().retrieveProperties(
-	    	context.getServiceContent().getPropertyCollector(), 
-	    	new PropertyFilterSpec[] { pfSpec });
-	    
-	    assert(ocs != null);
-	    assert(ocs[0].getObj() != null);
-	    assert(ocs[0].getPropSet(0) != null);
-	    assert(ocs[0].getPropSet(0).getVal() != null);
-	    
-	    String dcName = ocs[0].getPropSet(0).getVal().toString(); 
-	    return new Pair<DatacenterMO, String>(new DatacenterMO(context, ocs[0].getObj()), dcName); 
+	    pfSpec.getPropSet().add(pSpec);
+	    pfSpec.getObjectSet().add(oSpec);
+	    List<PropertyFilterSpec> pfSpecArr = new ArrayList<PropertyFilterSpec>();
+	    pfSpecArr.add(pfSpec);
+
+	    List<ObjectContent> ocs = context.getService().retrieveProperties(
+	    	context.getPropertyCollector(), pfSpecArr);
+
+	    assert(ocs != null && ocs.size() > 0);
+	    assert(ocs.get(0).getObj() != null);
+	    assert(ocs.get(0).getPropSet().get(0) != null);
+	    assert(ocs.get(0).getPropSet().get(0).getVal() != null);
+
+	    String dcName = ocs.get(0).getPropSet().get(0).getVal().toString();
+	    return new Pair<DatacenterMO, String>(new DatacenterMO(context, ocs.get(0).getObj()), dcName);
 	}
-	
+
 
 	public ManagedObjectReference getDvPortGroupMor(String dvPortGroupName) throws Exception {
     		PropertySpec pSpec = new PropertySpec();
 		pSpec.setType("DistributedVirtualPortgroup");
-		pSpec.setPathSet(new String[] {"name"});
-		
+		pSpec.getPathSet().add("name");
+
 		TraversalSpec datacenter2DvPortGroupTraversal = new TraversalSpec();
 		datacenter2DvPortGroupTraversal.setType("Datacenter");
 		datacenter2DvPortGroupTraversal.setPath("network");
 		datacenter2DvPortGroupTraversal.setName("datacenter2DvPortgroupTraversal");
-		
+
 		ObjectSpec oSpec = new ObjectSpec();
 	    oSpec.setObj(_mor);
 	    oSpec.setSkip(Boolean.TRUE);
-	    oSpec.setSelectSet(new SelectionSpec[] { datacenter2DvPortGroupTraversal });
+	    oSpec.getSelectSet().add(datacenter2DvPortGroupTraversal);
 
 	    PropertyFilterSpec pfSpec = new PropertyFilterSpec();
-	    pfSpec.setPropSet(new PropertySpec[] { pSpec });
-	    pfSpec.setObjectSet(new ObjectSpec[] { oSpec });
-	    
-	    ObjectContent[] ocs = _context.getService().retrieveProperties(
-	    	_context.getServiceContent().getPropertyCollector(), 
-	    	new PropertyFilterSpec[] { pfSpec });
-	    
+	    pfSpec.getPropSet().add(pSpec);
+	    pfSpec.getObjectSet().add(oSpec);
+	    List<PropertyFilterSpec> pfSpecArr = new ArrayList<PropertyFilterSpec>();
+	    pfSpecArr.add(pfSpec);
+
+	    List<ObjectContent> ocs = _context.getService().retrieveProperties(
+	    	_context.getPropertyCollector(), pfSpecArr);
+
 	    if(ocs != null) {
 	    	for(ObjectContent oc : ocs) {
-	    		DynamicProperty[] props = oc.getPropSet();
+	    		List<DynamicProperty> props = oc.getPropSet();
 	    		if(props != null) {
 	    			for(DynamicProperty prop : props) {
 	    				if(prop.getVal().equals(dvPortGroupName))
@@ -347,22 +353,23 @@ public class DatacenterMO extends BaseMO {
 	    	}
 	    }
 	    return null;
-	}	
+	}
 
 	public boolean hasDvPortGroup(String dvPortGroupName) throws Exception {
 		ManagedObjectReference morNetwork = getDvPortGroupMor(dvPortGroupName);
 		if(morNetwork != null)
 			return true;
-		return false;		
+		return false;
 	}
-	
+
 	public DVPortgroupConfigInfo getDvPortGroupSpec(String dvPortGroupName) throws Exception {
 		DVPortgroupConfigInfo configSpec = null;
 		String nameProperty = null;
 		PropertySpec pSpec = new PropertySpec();
 		pSpec.setType("DistributedVirtualPortgroup");
-		pSpec.setPathSet(new String[] {"name", "config"});
-		
+		pSpec.getPathSet().add("name");
+		pSpec.getPathSet().add("config");
+
 	    TraversalSpec datacenter2DvPortGroupTraversal = new TraversalSpec();
 	    datacenter2DvPortGroupTraversal.setType("Datacenter");
 	    datacenter2DvPortGroupTraversal.setPath("network");
@@ -371,21 +378,22 @@ public class DatacenterMO extends BaseMO {
 	    ObjectSpec oSpec = new ObjectSpec();
 	    oSpec.setObj(_mor);
 	    oSpec.setSkip(Boolean.TRUE);
-	    oSpec.setSelectSet(new SelectionSpec[] { datacenter2DvPortGroupTraversal });
+	    oSpec.getSelectSet().add(datacenter2DvPortGroupTraversal);
 
 	    PropertyFilterSpec pfSpec = new PropertyFilterSpec();
-	    pfSpec.setPropSet(new PropertySpec[] { pSpec });
-	    pfSpec.setObjectSet(new ObjectSpec[] { oSpec });
-	    
-	    ObjectContent[] ocs = _context.getService().retrieveProperties(
-	    	_context.getServiceContent().getPropertyCollector(), 
-	    	new PropertyFilterSpec[] { pfSpec });
-	    
+	    pfSpec.getPropSet().add(pSpec);
+	    pfSpec.getObjectSet().add(oSpec);
+	    List<PropertyFilterSpec> pfSpecArr = new ArrayList<PropertyFilterSpec>();
+	    pfSpecArr.add(pfSpec);
+
+	    List<ObjectContent> ocs = _context.getService().retrieveProperties(
+	    	_context.getPropertyCollector(), pfSpecArr);
+
 	    if(ocs != null) {
 	    	for(ObjectContent oc : ocs) {
-	    		DynamicProperty[] props = oc.getPropSet();
+	    		List<DynamicProperty> props = oc.getPropSet();
 	    		if(props != null) {
-	    			assert(props.length == 2);
+	    			assert(props.size() == 2);
 	    			for(DynamicProperty prop : props) {
 	    				if(prop.getName().equals("config")) {
 	    					  configSpec = (DVPortgroupConfigInfo) prop.getVal();
@@ -395,7 +403,7 @@ public class DatacenterMO extends BaseMO {
 	    				}
 	    			}
 	    			if(nameProperty.equalsIgnoreCase(dvPortGroupName)) {
-	    				return configSpec;	    			
+	    				return configSpec;
 	    			}
 	    		}
 	    	}
@@ -408,7 +416,8 @@ public class DatacenterMO extends BaseMO {
         ManagedObjectReference dvSwitchMor = null;
         PropertySpec pSpec = new PropertySpec();
         pSpec.setType("DistributedVirtualPortgroup");
-        pSpec.setPathSet(new String[] { "key", "config.distributedVirtualSwitch" });
+        pSpec.getPathSet().add("key");
+        pSpec.getPathSet().add("config.distributedVirtualSwitch");
 
         TraversalSpec datacenter2DvPortGroupTraversal = new TraversalSpec();
         datacenter2DvPortGroupTraversal.setType("Datacenter");
@@ -418,21 +427,22 @@ public class DatacenterMO extends BaseMO {
         ObjectSpec oSpec = new ObjectSpec();
         oSpec.setObj(_mor);
         oSpec.setSkip(Boolean.TRUE);
-        oSpec.setSelectSet(new SelectionSpec[] { datacenter2DvPortGroupTraversal });
+        oSpec.getSelectSet().add(datacenter2DvPortGroupTraversal);
 
         PropertyFilterSpec pfSpec = new PropertyFilterSpec();
-        pfSpec.setPropSet(new PropertySpec[] { pSpec });
-        pfSpec.setObjectSet(new ObjectSpec[] { oSpec });
+        pfSpec.getPropSet().add(pSpec);
+        pfSpec.getObjectSet().add(oSpec);
+        List<PropertyFilterSpec> pfSpecArr = new ArrayList<PropertyFilterSpec>();
+        pfSpecArr.add(pfSpec);
 
-        ObjectContent[] ocs = _context.getService().retrieveProperties(
-                _context.getServiceContent().getPropertyCollector(),
-                new PropertyFilterSpec[] { pfSpec });
+        List<ObjectContent> ocs = _context.getService().retrieveProperties(
+                _context.getPropertyCollector(), pfSpecArr);
 
         if (ocs != null) {
             for (ObjectContent oc : ocs) {
-                DynamicProperty[] props = oc.getPropSet();
+                List<DynamicProperty> props = oc.getPropSet();
                 if (props != null) {
-                    assert (props.length == 2);
+                    assert (props.size() == 2);
                     for (DynamicProperty prop : props) {
                         if (prop.getName().equals("key")) {
                             dvPortGroupKey = (String) prop.getVal();
@@ -441,7 +451,7 @@ public class DatacenterMO extends BaseMO {
                             dvSwitchMor = (ManagedObjectReference) prop.getVal();
                         }
                     }
-                    if ((dvPortGroupKey != null) && dvPortGroupKey.equals(dvPortGroupMor.get_value())) {
+                    if ((dvPortGroupKey != null) && dvPortGroupKey.equals(dvPortGroupMor.getValue())) {
                         return dvSwitchMor;
                     }
                 }
@@ -452,7 +462,7 @@ public class DatacenterMO extends BaseMO {
 
     public String getDvSwitchUuid(ManagedObjectReference dvSwitchMor) throws Exception {
         assert (dvSwitchMor != null);
-        return (String) _context.getServiceUtil().getDynamicProperty(dvSwitchMor, "uuid");
+        return (String) _context.getVimClient().getDynamicProperty(dvSwitchMor, "uuid");
     }
 
     public VirtualEthernetCardDistributedVirtualPortBackingInfo getDvPortBackingInfo(Pair<ManagedObjectReference, String> networkInfo)
@@ -464,7 +474,7 @@ public class DatacenterMO extends BaseMO {
         ManagedObjectReference dvsMor = getDvSwitchMor(networkInfo.first());
         String dvSwitchUuid = getDvSwitchUuid(dvsMor);
         dvPortConnection.setSwitchUuid(dvSwitchUuid);
-        dvPortConnection.setPortgroupKey(networkInfo.first().get_value());
+        dvPortConnection.setPortgroupKey(networkInfo.first().getValue());
         dvPortBacking.setPort(dvPortConnection);
         System.out.println("Plugging NIC device into network " + networkInfo.second() + " backed by dvSwitch: "
                 + dvSwitchUuid);

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/481f4804/vmware-base/src/com/cloud/hypervisor/vmware/mo/DatastoreMO.java
----------------------------------------------------------------------
diff --git a/vmware-base/src/com/cloud/hypervisor/vmware/mo/DatastoreMO.java b/vmware-base/src/com/cloud/hypervisor/vmware/mo/DatastoreMO.java
index 57e83b9..c79605d 100755
--- a/vmware-base/src/com/cloud/hypervisor/vmware/mo/DatastoreMO.java
+++ b/vmware-base/src/com/cloud/hypervisor/vmware/mo/DatastoreMO.java
@@ -36,95 +36,98 @@ import com.vmware.vim25.TraversalSpec;
 
 public class DatastoreMO extends BaseMO {
 	private static final Logger s_logger = Logger.getLogger(DatastoreMO.class);
-	
-	private String _name;							
-	private Pair<DatacenterMO, String> _ownerDc;	
-	
+
+	private String _name;
+	private Pair<DatacenterMO, String> _ownerDc;
+
 	public DatastoreMO(VmwareContext context, ManagedObjectReference morDatastore) {
 		super(context, morDatastore);
 	}
-	
+
 	public DatastoreMO(VmwareContext context, String morType, String morValue) {
 		super(context, morType, morValue);
 	}
 
 	public String getName() throws Exception {
-		if(_name == null) 
-			_name = (String)_context.getServiceUtil().getDynamicProperty(_mor, "name");
-		
+		if(_name == null)
+			_name = (String)_context.getVimClient().getDynamicProperty(_mor, "name");
+
 		return _name;
 	}
-	
+
 	public DatastoreSummary getSummary() throws Exception {
-		return (DatastoreSummary)_context.getServiceUtil().getDynamicProperty(_mor, "summary");
+		return (DatastoreSummary)_context.getVimClient().getDynamicProperty(_mor, "summary");
 	}
-	
+
 	public HostDatastoreBrowserMO getHostDatastoreBrowserMO() throws Exception {
-		return new HostDatastoreBrowserMO(_context, 
-				(ManagedObjectReference)_context.getServiceUtil().getDynamicProperty(_mor, "browser"));
+		return new HostDatastoreBrowserMO(_context,
+				(ManagedObjectReference)_context.getVimClient().getDynamicProperty(_mor, "browser"));
 	}
-	
+
 	public String getInventoryPath() throws Exception {
 		Pair<DatacenterMO, String> dcInfo = getOwnerDatacenter();
 		return dcInfo.second() + "/" + getName();
 	}
-	
+
 	public Pair<DatacenterMO, String> getOwnerDatacenter() throws Exception {
 		if(_ownerDc != null)
 			return _ownerDc;
-		
+
 		PropertySpec pSpec = new PropertySpec();
 		pSpec.setType("Datacenter");
-		pSpec.setPathSet(new String[] { "name" });
-		
+		pSpec.getPathSet().add("name");
+
 	    TraversalSpec folderParentTraversal = new TraversalSpec();
 	    folderParentTraversal.setType("Folder");
 	    folderParentTraversal.setPath("parent");
 	    folderParentTraversal.setName("folderParentTraversal");
-	    folderParentTraversal.setSelectSet(new SelectionSpec[] { new SelectionSpec(null, null, "folderParentTraversal") });
-	    
+	    SelectionSpec sSpec = new SelectionSpec();
+	    sSpec.setName("folderParentTraversal");
+	    folderParentTraversal.getSelectSet().add(sSpec);
+
 	    TraversalSpec dsParentTraversal = new TraversalSpec();
 	    dsParentTraversal.setType("Datastore");
 	    dsParentTraversal.setPath("parent");
 	    dsParentTraversal.setName("dsParentTraversal");
-	    dsParentTraversal.setSelectSet(new SelectionSpec[] { folderParentTraversal });
+	    dsParentTraversal.getSelectSet().add(folderParentTraversal);
 
 	    ObjectSpec oSpec = new ObjectSpec();
 	    oSpec.setObj(getMor());
 	    oSpec.setSkip(Boolean.TRUE);
-	    oSpec.setSelectSet(new SelectionSpec[] { dsParentTraversal });
+	    oSpec.getSelectSet().add(dsParentTraversal);
 
 	    PropertyFilterSpec pfSpec = new PropertyFilterSpec();
-	    pfSpec.setPropSet(new PropertySpec[] { pSpec });
-	    pfSpec.setObjectSet(new ObjectSpec[] { oSpec });
-	    
-	    ObjectContent[] ocs = _context.getService().retrieveProperties(
-	    	_context.getServiceContent().getPropertyCollector(), 
-	    	new PropertyFilterSpec[] { pfSpec });
-	    
-	    assert(ocs != null);
-	    assert(ocs[0].getObj() != null);
-	    assert(ocs[0].getPropSet() != null);
-	    String dcName = ocs[0].getPropSet()[0].getVal().toString(); 
-	    _ownerDc = new Pair<DatacenterMO, String>(new DatacenterMO(_context, ocs[0].getObj()), dcName);
+	    pfSpec.getPropSet().add(pSpec);
+	    pfSpec.getObjectSet().add(oSpec);
+        List<PropertyFilterSpec> pfSpecArr = new ArrayList<PropertyFilterSpec>();
+        pfSpecArr.add(pfSpec);
+
+	    List<ObjectContent> ocs = _context.getService().retrieveProperties(
+	    	_context.getPropertyCollector(), pfSpecArr);
+
+	    assert(ocs != null && ocs.size() > 0);
+	    assert(ocs.get(0).getObj() != null);
+	    assert(ocs.get(0).getPropSet() != null);
+	    String dcName = ocs.get(0).getPropSet().get(0).getVal().toString();
+	    _ownerDc = new Pair<DatacenterMO, String>(new DatacenterMO(_context, ocs.get(0).getObj()), dcName);
 	    return _ownerDc;
 	}
-	
+
 	public void makeDirectory(String path, ManagedObjectReference morDc) throws Exception {
 		String datastoreName = getName();
 		ManagedObjectReference morFileManager = _context.getServiceContent().getFileManager();
-		
+
 		String fullPath = path;
-		if(!DatastoreFile.isFullDatastorePath(fullPath)) 
+		if(!DatastoreFile.isFullDatastorePath(fullPath))
 			fullPath = String.format("[%s] %s", datastoreName, path);
-		
+
 		_context.getService().makeDirectory(morFileManager, fullPath, morDc, true);
 	}
-	
+
 	public boolean deleteFile(String path, ManagedObjectReference morDc, boolean testExistence) throws Exception {
 		String datastoreName = getName();
 		ManagedObjectReference morFileManager = _context.getServiceContent().getFileManager();
-		
+
 		String fullPath = path;
 		if(!DatastoreFile.isFullDatastorePath(fullPath))
 			fullPath = String.format("[%s] %s", datastoreName, path);
@@ -136,12 +139,11 @@ public class DatastoreMO extends BaseMO {
 			s_logger.info("Unable to test file existence due to exception " + e.getClass().getName() + ", skip deleting of it");
 			return true;
 		}
-		
-		ManagedObjectReference morTask = _context.getService().deleteDatastoreFile_Task(morFileManager, 
-			fullPath, morDc);
-		
-		String result = _context.getServiceUtil().waitForTask(morTask);
-		if(result.equals("sucess")) {
+
+		ManagedObjectReference morTask = _context.getService().deleteDatastoreFileTask(morFileManager, fullPath, morDc);
+
+		boolean result = _context.getVimClient().waitForTask(morTask);
+		if(result) {
 			_context.waitForTaskProgressDone(morTask);
 			return true;
 		} else {
@@ -149,29 +151,29 @@ public class DatastoreMO extends BaseMO {
 		}
 		return false;
 	}
-	
+
 	public boolean copyDatastoreFile(String srcFilePath, ManagedObjectReference morSrcDc,
-		ManagedObjectReference morDestDs, String destFilePath, ManagedObjectReference morDestDc, 
+		ManagedObjectReference morDestDs, String destFilePath, ManagedObjectReference morDestDc,
 		boolean forceOverwrite) throws Exception {
-		
+
 		String srcDsName = getName();
 		DatastoreMO destDsMo = new DatastoreMO(_context, morDestDs);
 		String destDsName = destDsMo.getName();
-		
+
 		ManagedObjectReference morFileManager = _context.getServiceContent().getFileManager();
 		String srcFullPath = srcFilePath;
 		if(!DatastoreFile.isFullDatastorePath(srcFullPath))
 			srcFullPath = String.format("[%s] %s", srcDsName, srcFilePath);
-		
+
 		String destFullPath = destFilePath;
 		if(!DatastoreFile.isFullDatastorePath(destFullPath))
 			destFullPath = String.format("[%s] %s", destDsName, destFilePath);
-		
-		ManagedObjectReference morTask = _context.getService().copyDatastoreFile_Task(morFileManager, 
+
+		ManagedObjectReference morTask = _context.getService().copyDatastoreFileTask(morFileManager,
 			srcFullPath, morSrcDc, destFullPath, morDestDc, forceOverwrite);
-		
-		String result = _context.getServiceUtil().waitForTask(morTask);
-		if(result.equals("sucess")) {
+
+		boolean result = _context.getVimClient().waitForTask(morTask);
+		if(result) {
 			_context.waitForTaskProgressDone(morTask);
 			return true;
 		} else {
@@ -179,29 +181,29 @@ public class DatastoreMO extends BaseMO {
 		}
 		return false;
 	}
-	
+
 	public boolean moveDatastoreFile(String srcFilePath, ManagedObjectReference morSrcDc,
-		ManagedObjectReference morDestDs, String destFilePath, ManagedObjectReference morDestDc, 
+		ManagedObjectReference morDestDs, String destFilePath, ManagedObjectReference morDestDc,
 		boolean forceOverwrite) throws Exception {
-		
+
 		String srcDsName = getName();
 		DatastoreMO destDsMo = new DatastoreMO(_context, morDestDs);
 		String destDsName = destDsMo.getName();
-		
+
 		ManagedObjectReference morFileManager = _context.getServiceContent().getFileManager();
 		String srcFullPath = srcFilePath;
 		if(!DatastoreFile.isFullDatastorePath(srcFullPath))
 			srcFullPath = String.format("[%s] %s", srcDsName, srcFilePath);
-		
+
 		String destFullPath = destFilePath;
 		if(!DatastoreFile.isFullDatastorePath(destFullPath))
 			destFullPath = String.format("[%s] %s", destDsName, destFilePath);
-		
-		ManagedObjectReference morTask = _context.getService().moveDatastoreFile_Task(morFileManager, 
+
+		ManagedObjectReference morTask = _context.getService().moveDatastoreFileTask(morFileManager,
 			srcFullPath, morSrcDc, destFullPath, morDestDc, forceOverwrite);
-		
-		String result = _context.getServiceUtil().waitForTask(morTask);
-		if(result.equals("sucess")) {
+
+		boolean result = _context.getVimClient().waitForTask(morTask);
+		if(result) {
 			_context.waitForTaskProgressDone(morTask);
 			return true;
 		} else {
@@ -209,23 +211,23 @@ public class DatastoreMO extends BaseMO {
 		}
 		return false;
 	}
-	
+
 	public String[] getVmdkFileChain(String rootVmdkDatastoreFullPath) throws Exception {
 		Pair<DatacenterMO, String> dcPair = getOwnerDatacenter();
-		
+
 		List<String> files = new ArrayList<String>();
 		files.add(rootVmdkDatastoreFullPath);
-		
+
 		String currentVmdkFullPath = rootVmdkDatastoreFullPath;
 		while(true) {
 			String url = getContext().composeDatastoreBrowseUrl(dcPair.second(), currentVmdkFullPath);
 			byte[] content = getContext().getResourceContent(url);
 			if(content == null || content.length == 0)
 				break;
-			
+
 			VmdkFileDescriptor descriptor = new VmdkFileDescriptor();
 			descriptor.parse(content);
-			
+
 			String parentFileName = descriptor.getParentFileName();
 			if(parentFileName == null)
 				break;
@@ -239,8 +241,8 @@ public class DatastoreMO extends BaseMO {
 					dir = dir.substring(0, dir.lastIndexOf('/'));
 				else
 					dir = "";
-				
-				currentVmdkFullPath = new DatastoreFile(dsFile.getDatastoreName(), dir, 
+
+				currentVmdkFullPath = new DatastoreFile(dsFile.getDatastoreName(), dir,
 					parentFileName.substring(parentFileName.lastIndexOf('/') + 1)).getPath();
 				files.add(currentVmdkFullPath);
 			} else {
@@ -248,7 +250,7 @@ public class DatastoreMO extends BaseMO {
 				files.add(currentVmdkFullPath);
 			}
 		}
-		
+
 		return files.toArray(new String[0]);
 	}
 
@@ -257,59 +259,59 @@ public class DatastoreMO extends BaseMO {
 		String fullPath = path;
 		if(!DatastoreFile.isFullDatastorePath(fullPath))
 			fullPath = String.format("[%s] %s", getName(), fullPath);
-		
+
 		Pair<DatacenterMO, String> dcPair = getOwnerDatacenter();
 		String url = getContext().composeDatastoreBrowseUrl(dcPair.second(), fullPath);
-		
+
 		// TODO, VMware currently does not have a formal API to list Datastore directory content,
 		// folloing hacking may have performance hit if datastore has a large number of files
 		return _context.listDatastoreDirContent(url);
 	}
-	
+
 	public boolean fileExists(String fileFullPath) throws Exception {
 		DatastoreFile file = new DatastoreFile(fileFullPath);
 		DatastoreFile dirFile = new DatastoreFile(file.getDatastoreName(), file.getDir());
-		
+
 		HostDatastoreBrowserMO browserMo = getHostDatastoreBrowserMO();
-	
+
 		s_logger.info("Search file " + file.getFileName() + " on " + dirFile.getPath());
 		HostDatastoreBrowserSearchResults results = browserMo.searchDatastore(dirFile.getPath(), file.getFileName(), true);
 		if(results != null) {
-			FileInfo[] info = results.getFile();
-			if(info != null && info.length > 0) {
+			List<FileInfo> info = results.getFile();
+			if(info != null && info.size() > 0) {
 				s_logger.info("File " + fileFullPath + " exists on datastore");
 				return true;
 			}
 		}
-		
+
 		s_logger.info("File " + fileFullPath + " does not exist on datastore");
 		return false;
 
-/*		
+/*
 		String[] fileNames = listDirContent(dirFile.getPath());
-		
+
 		String fileName = file.getFileName();
 		for(String name : fileNames) {
 			if(name.equalsIgnoreCase(fileName))
 				return true;
-		} 
-		
+		}
+
 		return false;
-*/		
+*/
 	}
-	
+
 	public boolean folderExists(String folderParentDatastorePath, String folderName) throws Exception {
 		HostDatastoreBrowserMO browserMo = getHostDatastoreBrowserMO();
-		
+
 		HostDatastoreBrowserSearchResults results = browserMo.searchDatastore(folderParentDatastorePath, folderName, true);
 		if(results != null) {
-			FileInfo[] info = results.getFile();
-			if(info != null && info.length > 0) {
+			List<FileInfo> info = results.getFile();
+			if(info != null && info.size() > 0) {
 				s_logger.info("Folder " + folderName + " exists on datastore");
 				return true;
 			}
 		}
-		
+
 		s_logger.info("Folder " + folderName + " does not exist on datastore");
 		return false;
 	}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/481f4804/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostDatastoreBrowserMO.java
----------------------------------------------------------------------
diff --git a/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostDatastoreBrowserMO.java b/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostDatastoreBrowserMO.java
index ec0a181..59e754c 100644
--- a/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostDatastoreBrowserMO.java
+++ b/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostDatastoreBrowserMO.java
@@ -24,39 +24,39 @@ import com.vmware.vim25.HostDatastoreBrowserSearchSpec;
 import com.vmware.vim25.ManagedObjectReference;
 
 public class HostDatastoreBrowserMO extends BaseMO {
-	
+
     private static final Logger s_logger = Logger.getLogger(HostDatastoreBrowserMO.class);
-	
+
 	public HostDatastoreBrowserMO(VmwareContext context, ManagedObjectReference morHostDatastoreBrowser) {
 		super(context, morHostDatastoreBrowser);
 	}
-	
+
 	public HostDatastoreBrowserMO(VmwareContext context, String morType, String morValue) {
 		super(context, morType, morValue);
 	}
-	
+
 	public void DeleteFile(String datastoreFullPath) throws Exception {
 		if(s_logger.isTraceEnabled())
-			s_logger.trace("vCenter API trace - deleteFile(). target mor: " + _mor.get_value() + ", file datastore path: " + datastoreFullPath);
-		
+			s_logger.trace("vCenter API trace - deleteFile(). target mor: " + _mor.getValue() + ", file datastore path: " + datastoreFullPath);
+
 		_context.getService().deleteFile(_mor, datastoreFullPath);
-		
+
 		if(s_logger.isTraceEnabled())
 			s_logger.trace("vCenter API trace - deleteFile() done");
 	}
-	
+
 	public HostDatastoreBrowserSearchResults searchDatastore(String datastorePath, HostDatastoreBrowserSearchSpec searchSpec) throws Exception {
 		if(s_logger.isTraceEnabled())
-			s_logger.trace("vCenter API trace - searchDatastore(). target mor: " + _mor.get_value() + ", file datastore path: " + datastorePath);
+			s_logger.trace("vCenter API trace - searchDatastore(). target mor: " + _mor.getValue() + ", file datastore path: " + datastorePath);
 
 		try {
-			ManagedObjectReference morTask = _context.getService().searchDatastore_Task(_mor, datastorePath, searchSpec);
-			
-			String result = _context.getServiceUtil().waitForTask(morTask);
-			if(result.equals("sucess")) {
+			ManagedObjectReference morTask = _context.getService().searchDatastoreTask(_mor, datastorePath, searchSpec);
+
+			boolean result = _context.getVimClient().waitForTask(morTask);
+			if(result) {
 				_context.waitForTaskProgressDone(morTask);
-				
-				return (HostDatastoreBrowserSearchResults)_context.getServiceUtil().getDynamicProperty(morTask, "info.result");
+
+				return (HostDatastoreBrowserSearchResults)_context.getVimClient().getDynamicProperty(morTask, "info.result");
 			} else {
 	        	s_logger.error("VMware searchDaastore_Task failed due to " + TaskMO.getTaskFailureInfo(_context, morTask));
 			}
@@ -64,30 +64,30 @@ public class HostDatastoreBrowserMO extends BaseMO {
 			if(s_logger.isTraceEnabled())
 				s_logger.trace("vCenter API trace - searchDatastore() done");
 		}
-		
+
 		return null;
 	}
-	
+
 	public HostDatastoreBrowserSearchResults searchDatastore(String datastorePath, String fileName, boolean caseInsensitive) throws Exception {
 		HostDatastoreBrowserSearchSpec spec = new HostDatastoreBrowserSearchSpec();
 		spec.setSearchCaseInsensitive(caseInsensitive);
-		spec.setMatchPattern(new String[] { fileName });
+		spec.getMatchPattern().add(fileName);
 
 		return searchDatastore(datastorePath, spec);
 	}
-	
+
 	public HostDatastoreBrowserSearchResults searchDatastoreSubFolders(String datastorePath, HostDatastoreBrowserSearchSpec searchSpec) throws Exception {
 		if(s_logger.isTraceEnabled())
-			s_logger.trace("vCenter API trace - searchDatastoreSubFolders(). target mor: " + _mor.get_value() + ", file datastore path: " + datastorePath);
+			s_logger.trace("vCenter API trace - searchDatastoreSubFolders(). target mor: " + _mor.getValue() + ", file datastore path: " + datastorePath);
 
 		try {
-			ManagedObjectReference morTask = _context.getService().searchDatastoreSubFolders_Task(_mor, datastorePath, searchSpec);
-			
-			String result = _context.getServiceUtil().waitForTask(morTask);
-			if(result.equals("sucess")) {
+			ManagedObjectReference morTask = _context.getService().searchDatastoreSubFoldersTask(_mor, datastorePath, searchSpec);
+
+			boolean result = _context.getVimClient().waitForTask(morTask);
+			if(result) {
 				_context.waitForTaskProgressDone(morTask);
-				
-				return (HostDatastoreBrowserSearchResults)_context.getServiceUtil().getDynamicProperty(morTask, "info.result");
+
+				return (HostDatastoreBrowserSearchResults)_context.getVimClient().getDynamicProperty(morTask, "info.result");
 			} else {
 	        	s_logger.error("VMware searchDaastoreSubFolders_Task failed due to " + TaskMO.getTaskFailureInfo(_context, morTask));
 			}
@@ -95,14 +95,14 @@ public class HostDatastoreBrowserMO extends BaseMO {
 			if(s_logger.isTraceEnabled())
 				s_logger.trace("vCenter API trace - searchDatastore() done");
 		}
-		
+
 		return null;
 	}
-	
+
 	public HostDatastoreBrowserSearchResults searchDatastoreSubFolders(String datastorePath, String folderName, boolean caseInsensitive) throws Exception {
 		HostDatastoreBrowserSearchSpec spec = new HostDatastoreBrowserSearchSpec();
 		spec.setSearchCaseInsensitive(caseInsensitive);
-		spec.setMatchPattern(new String[] { folderName });
+		spec.getMatchPattern().add(folderName);
 
 		return searchDatastore(datastorePath, spec);
 	}

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/481f4804/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostDatastoreSystemMO.java
----------------------------------------------------------------------
diff --git a/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostDatastoreSystemMO.java b/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostDatastoreSystemMO.java
index d94102b..7d967a9 100755
--- a/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostDatastoreSystemMO.java
+++ b/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostDatastoreSystemMO.java
@@ -17,6 +17,9 @@
 package com.cloud.hypervisor.vmware.mo;
 
 import java.net.URI;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
 
 import com.cloud.hypervisor.vmware.util.VmwareContext;
 import com.vmware.vim25.CustomFieldStringValue;
@@ -37,27 +40,27 @@ public class HostDatastoreSystemMO extends BaseMO {
 	public HostDatastoreSystemMO(VmwareContext context, ManagedObjectReference morHostDatastore) {
 		super(context, morHostDatastore);
 	}
-	
+
 	public HostDatastoreSystemMO(VmwareContext context, String morType, String morValue) {
 		super(context, morType, morValue);
 	}
-	
+
 	public ManagedObjectReference findDatastore(String name) throws Exception {
 		// added cloud.com specific name convention, we will use custom field "cloud.uuid" as datastore name as well
-		CustomFieldsManagerMO cfmMo = new CustomFieldsManagerMO(_context, 
+		CustomFieldsManagerMO cfmMo = new CustomFieldsManagerMO(_context,
 			_context.getServiceContent().getCustomFieldsManager());
 		int key = cfmMo.getCustomFieldKey("Datastore", CustomFieldConstants.CLOUD_UUID);
 		assert(key != 0);
 
-		ObjectContent[] ocs = getDatastorePropertiesOnHostDatastoreSystem(
+		List<ObjectContent> ocs = getDatastorePropertiesOnHostDatastoreSystem(
 			new String[] { "name", String.format("value[%d]", key) });
 		if(ocs != null) {
 			for(ObjectContent oc : ocs) {
-				if(oc.getPropSet(0).getVal().equals(name))
+				if(oc.getPropSet().get(0).getVal().equals(name))
 					return oc.getObj();
-				
-				if(oc.getPropSet().length > 1) {
-					DynamicProperty prop = oc.getPropSet(1);
+
+				if(oc.getPropSet().size() > 1) {
+					DynamicProperty prop = oc.getPropSet().get(1);
 					if(prop != null && prop.getVal() != null) {
 						if(prop.getVal() instanceof CustomFieldStringValue) {
 							String val = ((CustomFieldStringValue)prop.getVal()).getValue();
@@ -70,11 +73,11 @@ public class HostDatastoreSystemMO extends BaseMO {
 		}
 		return null;
 	}
-	
+
 	// storeUrl in nfs://host/exportpath format
 	public ManagedObjectReference findDatastoreByUrl(String storeUrl) throws Exception {
 		assert(storeUrl != null);
-		
+
 		ManagedObjectReference[] datastores = getDatastores();
 		if(datastores != null && datastores.length > 0) {
 			for(ManagedObjectReference morDatastore : datastores) {
@@ -87,7 +90,7 @@ public class HostDatastoreSystemMO extends BaseMO {
 				}
 			}
 		}
-		
+
 		return null;
 	}
 
@@ -95,30 +98,30 @@ public class HostDatastoreSystemMO extends BaseMO {
 	// we should be able to find the datastore by name
 	public ManagedObjectReference findDatastoreByExportPath(String exportPath) throws Exception {
 		assert(exportPath != null);
-		
+
 		ManagedObjectReference[] datastores = getDatastores();
 		if(datastores != null && datastores.length > 0) {
 			for(ManagedObjectReference morDatastore : datastores) {
 				DatastoreMO dsMo = new DatastoreMO(_context, morDatastore);
-				if(dsMo.getInventoryPath().equals(exportPath)) 
+				if(dsMo.getInventoryPath().equals(exportPath))
 					return morDatastore;
-				
+
 				NasDatastoreInfo info = getNasDatastoreInfo(morDatastore);
 				if(info != null) {
 					String vmwareUrl = info.getUrl();
 					if(vmwareUrl.charAt(vmwareUrl.length() - 1) == '/')
 						vmwareUrl = vmwareUrl.substring(0, vmwareUrl.length() - 1);
-					
+
 					URI uri = new URI(vmwareUrl);
 					if(uri.getPath().equals("/" + exportPath))
 						return morDatastore;
 				}
 			}
 		}
-		
+
 		return null;
 	}
-	
+
 	public boolean deleteDatastore(String name) throws Exception {
 		ManagedObjectReference morDatastore = findDatastore(name);
 		if(morDatastore != null) {
@@ -127,59 +130,60 @@ public class HostDatastoreSystemMO extends BaseMO {
 		}
 		return false;
 	}
-	
-	public ManagedObjectReference createNfsDatastore(String host, int port, 
+
+	public ManagedObjectReference createNfsDatastore(String host, int port,
 		String exportPath, String uuid) throws Exception {
-		
+
 		HostNasVolumeSpec spec = new HostNasVolumeSpec();
 		spec.setRemoteHost(host);
 		spec.setRemotePath(exportPath);
 		spec.setType("nfs");
 		spec.setLocalPath(uuid);
-		
+
 		// readOnly/readWrite
 		spec.setAccessMode("readWrite");
 		return _context.getService().createNasDatastore(_mor, spec);
 	}
-	
+
 	public ManagedObjectReference[] getDatastores() throws Exception {
-		return (ManagedObjectReference[])_context.getServiceUtil().getDynamicProperty(
+		return (ManagedObjectReference[])_context.getVimClient().getDynamicProperty(
 			_mor, "datastore");
 	}
-	
+
 	public DatastoreInfo getDatastoreInfo(ManagedObjectReference morDatastore) throws Exception {
-		return (DatastoreInfo)_context.getServiceUtil().getDynamicProperty(morDatastore, "info");
+		return (DatastoreInfo)_context.getVimClient().getDynamicProperty(morDatastore, "info");
 	}
-	
+
 	public NasDatastoreInfo getNasDatastoreInfo(ManagedObjectReference morDatastore) throws Exception {
-		DatastoreInfo info = (DatastoreInfo)_context.getServiceUtil().getDynamicProperty(morDatastore, "info");
+		DatastoreInfo info = (DatastoreInfo)_context.getVimClient().getDynamicProperty(morDatastore, "info");
 		if(info instanceof NasDatastoreInfo)
 			return (NasDatastoreInfo)info;
 		return null;
 	}
-	
-	public ObjectContent[] getDatastorePropertiesOnHostDatastoreSystem(String[] propertyPaths) throws Exception {
-		
+
+	public List<ObjectContent> getDatastorePropertiesOnHostDatastoreSystem(String[] propertyPaths) throws Exception {
+
 		PropertySpec pSpec = new PropertySpec();
 		pSpec.setType("Datastore");
-		pSpec.setPathSet(propertyPaths);
-		
+		pSpec.getPathSet().addAll(Arrays.asList(propertyPaths));
+
 	    TraversalSpec hostDsSys2DatastoreTraversal = new TraversalSpec();
 	    hostDsSys2DatastoreTraversal.setType("HostDatastoreSystem");
 	    hostDsSys2DatastoreTraversal.setPath("datastore");
 	    hostDsSys2DatastoreTraversal.setName("hostDsSys2DatastoreTraversal");
-	    
+
 	    ObjectSpec oSpec = new ObjectSpec();
 	    oSpec.setObj(_mor);
 	    oSpec.setSkip(Boolean.TRUE);
-	    oSpec.setSelectSet(new SelectionSpec[] { hostDsSys2DatastoreTraversal });
+	    oSpec.getSelectSet().add(hostDsSys2DatastoreTraversal);
 
 	    PropertyFilterSpec pfSpec = new PropertyFilterSpec();
-	    pfSpec.setPropSet(new PropertySpec[] { pSpec });
-	    pfSpec.setObjectSet(new ObjectSpec[] { oSpec });
-	    
+	    pfSpec.getPropSet().add(pSpec);
+	    pfSpec.getObjectSet().add(oSpec);
+        List<PropertyFilterSpec> pfSpecArr = new ArrayList<PropertyFilterSpec>();
+        pfSpecArr.add(pfSpec);
+
 	    return _context.getService().retrieveProperties(
-	    	_context.getServiceContent().getPropertyCollector(), 
-	    	new PropertyFilterSpec[] { pfSpec }); 
+	    	_context.getPropertyCollector(), pfSpecArr);
 	}
 }

http://git-wip-us.apache.org/repos/asf/incubator-cloudstack/blob/481f4804/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostFirewallSystemMO.java
----------------------------------------------------------------------
diff --git a/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostFirewallSystemMO.java b/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostFirewallSystemMO.java
index 2d2b353..df15926 100755
--- a/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostFirewallSystemMO.java
+++ b/vmware-base/src/com/cloud/hypervisor/vmware/mo/HostFirewallSystemMO.java
@@ -29,27 +29,27 @@ public class HostFirewallSystemMO extends BaseMO {
 	public HostFirewallSystemMO(VmwareContext context, ManagedObjectReference morFirewallSystem) {
 		super(context, morFirewallSystem);
 	}
-	
+
 	public HostFirewallSystemMO(VmwareContext context, String morType, String morValue) {
 		super(context, morType, morValue);
 	}
-	
+
 	public HostFirewallInfo getFirewallInfo() throws Exception {
-		return (HostFirewallInfo)_context.getServiceUtil().getDynamicProperty(_mor, "firewallInfo");
+		return (HostFirewallInfo)_context.getVimClient().getDynamicProperty(_mor, "firewallInfo");
 	}
-	
+
 	public void updateDefaultPolicy(HostFirewallDefaultPolicy policy) throws Exception {
 		_context.getService().updateDefaultPolicy(_mor, policy);
 	}
-	
+
 	public void enableRuleset(String rulesetName) throws Exception {
 		_context.getService().enableRuleset(_mor, rulesetName);
 	}
-	
+
 	public void disableRuleset(String rulesetName) throws Exception {
 		_context.getService().disableRuleset(_mor, rulesetName);
 	}
-	
+
 	public void refreshFirewall() throws Exception {
 		_context.getService().refreshFirewall(_mor);
 	}


Mime
View raw message