protected Map<String,List<StoragePool>> sortPoolsByVPlexStorageSystem(List<StoragePool> storagePools,String varrayId,String cluster){
  Map<String,List<StoragePool>> vplexPoolMap=new HashMap<String,List<StoragePool>>();
  Map<URI,List<StoragePool>> poolsBySystem=getPoolsBySystem(storagePools);
  for (  URI systemUri : poolsBySystem.keySet()) {
    Set<URI> vplexSystemURIs=ConnectivityUtil.getVPlexSystemsAssociatedWithArray(_dbClient,systemUri,new HashSet<String>(Arrays.asList(varrayId)),cluster);
    for (    URI vplexUri : vplexSystemURIs) {
      StorageSystem vplexSystem=_dbClient.queryObject(StorageSystem.class,vplexUri);
      String vplexId=vplexUri.toString();
      if (vplexSystem != null) {
        if (!vplexPoolMap.containsKey(vplexId)) {
          List<StoragePool> vplexPoolList=new ArrayList<StoragePool>();
          vplexPoolList.addAll(poolsBySystem.get(systemUri));
          vplexPoolMap.put(vplexId,vplexPoolList);
        }
 else {
          List<StoragePool> vplexPoolList=vplexPoolMap.get(vplexId);
          vplexPoolList.addAll(poolsBySystem.get(systemUri));
        }
      }
    }
  }
  return vplexPoolMap;
}

protected Map < String , List < StoragePool > > sortPoolsByVPlexStorageSystem ( List < StoragePool > storagePools , String varrayId , String cluster ) { Map < String , List < StoragePool > > vplexPoolMap = new HashMap < String , List < StoragePool > > ( ) ; Map < URI , List < StoragePool > > poolsBySystem = getPoolsBySystem ( storagePools ) ; for ( URI systemUri : poolsBySystem . keySet ( ) ) { Set < URI > vplexSystemURIs = ConnectivityUtil . getVPlexSystemsAssociatedWithArray ( _dbClient , systemUri , new HashSet < String > ( Arrays . asList ( varrayId ) ) , cluster ) ; for ( URI vplexUri : vplexSystemURIs ) { StorageSystem vplexSystem = _dbClient . queryObject ( StorageSystem . class , vplexUri ) ; String vplexId = vplexUri . toString ( ) ; if ( vplexSystem != null ) { if ( ! vplexPoolMap . containsKey ( vplexId ) ) { List < StoragePool > vplexPoolList = new ArrayList < StoragePool > ( ) ; vplexPoolList . addAll ( poolsBySystem . get ( systemUri ) ) ; vplexPoolMap . put ( vplexId , vplexPoolList ) ; } else { List < StoragePool > vplexPoolList = vplexPoolMap . get ( vplexId ) ; vplexPoolList . addAll ( poolsBySystem . get ( systemUri ) ) ; } } } } return vplexPoolMap ; }
determines if each pool is on storage system that is connected to a vplex storage system that has connectivity to the passed varray . if so , the pool is mapped to that vplex storage system .
