public void processVolumeExpansion(StorageSystem storageSystem,URI storagePoolURI,URI volumeId,CIMArgument[] outArgs) throws Exception {
  StringBuilder logMsgBuilder=new StringBuilder(String.format("Processing volume expansion - "));
  CimConnection connection=_cimConnection.getConnection(storageSystem);
  WBEMClient client=connection.getCimClient();
  StoragePool storagePool=_dbClient.queryObject(StoragePool.class,storagePoolURI);
  StringMap reservationMap=storagePool.getReservedCapacityMap();
  reservationMap.remove(volumeId.toString());
  updateStoragePoolCapacity(client,storagePool);
  _dbClient.persistObject(storagePool);
  Volume volume=_dbClient.queryObject(Volume.class,volumeId);
  CIMObjectPath volumePath=(CIMObjectPath)_cimPath.getFromOutputArgs(outArgs,IBMSmisConstants.CP_THE_ELEMENT);
  boolean isSuccess=false;
  if (volumePath != null) {
    CIMInstance volumeInstance=client.getInstance(volumePath,true,false,null);
    if (volumeInstance != null) {
      isSuccess=true;
      volume.setProvisionedCapacity(getProvisionedCapacityInformation(volumeInstance));
      volume.setAllocatedCapacity(getAllocatedCapacityInformation(client,volumeInstance));
      _dbClient.persistObject(volume);
      logMsgBuilder.append(String.format("%n   Capacity: %s, Provisioned capacity: %s, Allocated Capacity: %s",volume.getCapacity(),volume.getProvisionedCapacity(),volume.getAllocatedCapacity()));
    }
  }
  if (!isSuccess) {
    UnsignedInteger32 returnCoede=(UnsignedInteger32)_cimPath.getFromOutputArgs(outArgs,IBMSmisConstants.CP_RETURN_CODE);
    logMsgBuilder.append("\n");
    logMsgBuilder.append(String.format("Failed to expand volume: %s with return code: %s",volume.getId(),returnCoede.toString()));
  }
  _log.info(logMsgBuilder.toString());
}

public void processVolumeExpansion ( StorageSystem storageSystem , URI storagePoolURI , URI volumeId , CIMArgument [ ] outArgs ) throws Exception { StringBuilder logMsgBuilder = new StringBuilder ( String . format ( "Processing volume expansion - " ) ) ; CimConnection connection = _cimConnection . getConnection ( storageSystem ) ; WBEMClient client = connection . getCimClient ( ) ; StoragePool storagePool = _dbClient . queryObject ( StoragePool . class , storagePoolURI ) ; StringMap reservationMap = storagePool . getReservedCapacityMap ( ) ; reservationMap . remove ( volumeId . toString ( ) ) ; updateStoragePoolCapacity ( client , storagePool ) ; _dbClient . persistObject ( storagePool ) ; Volume volume = _dbClient . queryObject ( Volume . class , volumeId ) ; CIMObjectPath volumePath = ( CIMObjectPath ) _cimPath . getFromOutputArgs ( outArgs , IBMSmisConstants . CP_THE_ELEMENT ) ; boolean isSuccess = false ; if ( volumePath != null ) { CIMInstance volumeInstance = client . getInstance ( volumePath , true , false , null ) ; if ( volumeInstance != null ) { isSuccess = true ; volume . setProvisionedCapacity ( getProvisionedCapacityInformation ( volumeInstance ) ) ; volume . setAllocatedCapacity ( getAllocatedCapacityInformation ( client , volumeInstance ) ) ; _dbClient . persistObject ( volume ) ; logMsgBuilder . append ( String . format ( "%n   Capacity: %s, Provisioned capacity: %s, Allocated Capacity: %s" , volume . getCapacity ( ) , volume . getProvisionedCapacity ( ) , volume . getAllocatedCapacity ( ) ) ) ; } } if ( ! isSuccess ) { UnsignedInteger32 returnCoede = ( UnsignedInteger32 ) _cimPath . getFromOutputArgs ( outArgs , IBMSmisConstants . CP_RETURN_CODE ) ; logMsgBuilder . append ( "\n" ) ; logMsgBuilder . append ( String . format ( "Failed to expand volume: %s with return code: %s" , volume . getId ( ) , returnCoede . toString ( ) ) ) ; } _log . info ( logMsgBuilder . toString ( ) ) ; }
update db with smi - s output .
