public Map<URI,List<URI>> assignStoragePorts(StorageSystem storage,ExportGroup exportGroup,List<Initiator> initiators,StringSetMap existingZoningMap,ExportPathParams pathParams,Collection<URI> volumeURIs,NetworkDeviceController networkDeviceController,URI virtualArrayUri,String token){
  StringSetMap preZonedZoningMap=assignPrezonedStoragePorts(storage,exportGroup,initiators,existingZoningMap,pathParams,volumeURIs,networkDeviceController,virtualArrayUri,token);
  Map<URI,List<URI>> assignments=assignStoragePorts(storage,virtualArrayUri,initiators,pathParams,preZonedZoningMap,volumeURIs);
  ExportUtils.addPrezonedAssignments(existingZoningMap,assignments,preZonedZoningMap);
  return assignments;
}

public Map < URI , List < URI > > assignStoragePorts ( StorageSystem storage , ExportGroup exportGroup , List < Initiator > initiators , StringSetMap existingZoningMap , ExportPathParams pathParams , Collection < URI > volumeURIs , NetworkDeviceController networkDeviceController , URI virtualArrayUri , String token ) { StringSetMap preZonedZoningMap = assignPrezonedStoragePorts ( storage , exportGroup , initiators , existingZoningMap , pathParams , volumeURIs , networkDeviceController , virtualArrayUri , token ) ; Map < URI , List < URI > > assignments = assignStoragePorts ( storage , virtualArrayUri , initiators , pathParams , preZonedZoningMap , volumeURIs ) ; ExportUtils . addPrezonedAssignments ( existingZoningMap , assignments , preZonedZoningMap ) ; return assignments ; }
this function wraps the two calls necessary to get port assignments , the first one is getting pre - zoned ports assigned followed by the call to add any additional ports .
