Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method ReceiveMetadataRequestSetTypeInterestDeleted (owning NamedValueTree nvt_i, LibDEF_System requestor_i, LibDEF_IntegrationEvent event_i) 
 | 
{ 
 | 
  Description: 'Receive a Metadata message for requesting a SetTypeInterest to be deleted for certain SetType.' 
 | 
  TextBody: 
 | 
  [* 
 | 
    LibDEF_Util::EventLog( event_i, "Receiving SetTypeInterest deleted request" ); 
 | 
     
 | 
    setTypeGUID := LibDEF_DataAccessor::GetMetadataHeaderPropertyAsString( nvt_i, LibDEF_DataAccessor::HEADER_SETTYPEGUID() ); 
 | 
     
 | 
    setGUIDsExcludedFromDeletion := LibDEF_DataAccessor::GetMetadataHeaderPropertyAsString( nvt_i, LibDEF_DataAccessor::HEADER_SETGUIDSEXCLUDEDFROMDELETION() ); 
 | 
    setGUIDs := setGUIDsExcludedFromDeletion.Tokenize( "," ); 
 | 
     
 | 
    actionFeedbackText := "SetTypeInterest cannot be deleted. "; 
 | 
     
 | 
    setTypeMeta := this.FindSetTypeMeta( setTypeGUID, actionFeedbackText, event_i ); 
 | 
     
 | 
    if( not isnull( setTypeMeta ) ) 
 | 
    { 
 | 
      // Get the interested System's System-level SetTypeInterest 
 | 
      setTypeInterestFromSystem := select( setTypeMeta, SetTypeInterestFromSystem, systemInt, systemInt.SystemInterestedIn() = requestor_i ); 
 | 
       
 | 
      if( not isnull( setTypeInterestFromSystem ) ) 
 | 
      {  
 | 
        traverse( setTypeInterestFromSystem, SetInterestFromSystem, setInterestFromSystem ) 
 | 
        { 
 | 
          if( not exists( setGUIDs, Elements, setGUID, setGUID = setInterestFromSystem.SetMeta().GUID() ) ) 
 | 
          { 
 | 
            setInterestFromSystem.Delete();  
 | 
          } 
 | 
        } 
 | 
         
 | 
        setTypeInterestFromSystem.Delete(); 
 | 
      } 
 | 
     
 | 
      // Inform the requestor about the successful deletion of interest subscription 
 | 
      this.SendMetadataSuccessSetTypeInterestDeleted( &nvt_i, requestor_i, event_i ); 
 | 
    } 
 | 
    else 
 | 
    { 
 | 
      LibDEF_Util::EventLogError( event_i, 
 | 
                                  actionFeedbackText, 
 | 
                                  actionFeedbackText + "SetType with GUID '" + setTypeGUID + "' is not found in the DataBroker." ); 
 | 
    } 
 | 
  *] 
 | 
  InterfaceProperties { Accessibility: 'Module' } 
 | 
} 
 |