public void validateChangePathParams(URI volumeURI,ExportPathParams newParam){
  BlockObject volume=BlockObject.fetch(_dbClient,volumeURI);
  _log.info(String.format("Validating path parameters for volume %s (%s) new path parameters %s",volume.getLabel(),volume.getId(),newParam.toString()));
  Map<ExportMask,ExportGroup> maskToGroupMap=ExportUtils.getExportMasks(volume,_dbClient);
  for (  ExportGroup exportGroup : maskToGroupMap.values()) {
    validateChangePathParams(volume.getStorageController(),exportGroup.getId(),volume,newParam);
  }
}

public void validateChangePathParams ( URI volumeURI , ExportPathParams newParam ) { BlockObject volume = BlockObject . fetch ( _dbClient , volumeURI ) ; _log . info ( String . format ( "Validating path parameters for volume %s (%s) new path parameters %s" , volume . getLabel ( ) , volume . getId ( ) , newParam . toString ( ) ) ) ; Map < ExportMask , ExportGroup > maskToGroupMap = ExportUtils . getExportMasks ( volume , _dbClient ) ; for ( ExportGroup exportGroup : maskToGroupMap . values ( ) ) { validateChangePathParams ( volume . getStorageController ( ) , exportGroup . getId ( ) , volume , newParam ) ; } }
this routine is called by the api service to validate that the change path parameters call will succeed . it locates all the exportgroups that are exporting the volume .
