private boolean doesStorageSystemSupportVolumeExpand(StorageSystem storageSystem) throws WBEMException {
  boolean expandSupported=false;
  CloseableIterator<CIMInstance> cimInstances=null;
  CIMObjectPath storageConfigServicePath=_cimPath.getConfigSvcPath(storageSystem);
  try {
    cimInstances=_helper.getAssociatorInstances(storageSystem,storageConfigServicePath,null,SmisConstants.EMC_STORAGE_CONFIGURATION_CAPABILITIES,null,null,SmisConstants.PS_SUPPORTED_STORAGE_ELEMENT_FEATURES);
    if (cimInstances != null) {
      while (cimInstances.hasNext()) {
        CIMInstance capabilitiesInstance=cimInstances.next();
        UnsignedInteger16[] supportedFeatures=(UnsignedInteger16[])capabilitiesInstance.getPropertyValue(SmisConstants.CP_SUPPORTED_STORAGE_ELEMENT_FEATURES);
        for (        UnsignedInteger16 supportedFeatureEntry : supportedFeatures) {
          if (supportedFeatureEntry.intValue() == SmisConstants.STORAGE_ELEMENT_CAPACITY_EXPANSION_VALUE) {
            expandSupported=true;
            return true;
          }
        }
      }
    }
  }
  finally {
    if (cimInstances != null) {
      cimInstances.close();
    }
    _log.info(String.format("StorageSystem %s %s volume expand",storageSystem.getNativeGuid(),(expandSupported) ? "supports" : "does not support"));
  }
  return false;
}

private boolean doesStorageSystemSupportVolumeExpand ( StorageSystem storageSystem ) throws WBEMException { boolean expandSupported = false ; CloseableIterator < CIMInstance > cimInstances = null ; CIMObjectPath storageConfigServicePath = _cimPath . getConfigSvcPath ( storageSystem ) ; try { cimInstances = _helper . getAssociatorInstances ( storageSystem , storageConfigServicePath , null , SmisConstants . EMC_STORAGE_CONFIGURATION_CAPABILITIES , null , null , SmisConstants . PS_SUPPORTED_STORAGE_ELEMENT_FEATURES ) ; if ( cimInstances != null ) { while ( cimInstances . hasNext ( ) ) { CIMInstance capabilitiesInstance = cimInstances . next ( ) ; UnsignedInteger16 [ ] supportedFeatures = ( UnsignedInteger16 [ ] ) capabilitiesInstance . getPropertyValue ( SmisConstants . CP_SUPPORTED_STORAGE_ELEMENT_FEATURES ) ; for ( UnsignedInteger16 supportedFeatureEntry : supportedFeatures ) { if ( supportedFeatureEntry . intValue ( ) == SmisConstants . STORAGE_ELEMENT_CAPACITY_EXPANSION_VALUE ) { expandSupported = true ; return true ; } } } } } finally { if ( cimInstances != null ) { cimInstances . close ( ) ; } _log . info ( String . format ( "StorageSystem %s %s volume expand" , storageSystem . getNativeGuid ( ) , ( expandSupported ) ? "supports" : "does not support" ) ) ; } return false ; }
this method tests if the array represented by ' storagesystem ' supports volume expand .
