Main Content

slreq.getCurrentImportOptions

Get import options in PreImportFcn callback

    Description

    example

    importOptions = slreq.getCurrentImportOptions returns the import options for the current import. You can only call this function in the PreImportFcn callback.

    Examples

    collapse all

    This example shows how to assign a script as the PreImportFcn callback for an Import node. You get the contents of the PreImportFcn callback for an Import node and register a different script as the PreImportFcn callback after you import the requirements.

    Import the Requirements

    Use slreq.import to import the ReqIF™ file mySpec.reqif into Requirements Toolbox™. Name the imported requirement set myReqSet and register the script myPreImportScript as the PreImportFcn callback to use during import. Return a handle to the requirement set.

    [~,~,rs] = slreq.import("mySpec.reqif",ReqSet="myReqSet",preImportFcn="myPreImportScript");

    The script myPreImportScript uses slreq.getCurrentImportOptions to get the import options, then specifies the attribute mapping file to use during import.

    type myPreImportScript.m
    importOptions = slreq.getCurrentImportOptions;
    importOptions.MappingFile = "myMappingFile.xml";
    

    The mapping file myMappingFile.xml uses a generic mapping.

    Get the custom ID for the requirement with Index set to 1.

    req1 = find(rs,Index="1");
    cID = req1.CustomId
    cID =
    
      0x0 empty char array
    

    The generic mapping does not map the ReqIF attribute ID to the Requirement Toolbox attribute Custom ID. Instead, ID imports as a custom attribute. Get the value for the ID custom attribute for Requirement 1.

    cID = getAttribute(req1,"ID")
    cID = 
    'A1'
    

    Get and Set the PreImportFcn Callback Script

    Get a handle to the Import node, then register the script myPreImportScrip2 as the PreImportFcn callback. Confirm that the registered callback was changed.

    topRef = children(rs);
    setPreImportFcn(topRef,"myPreImportScript2")
    newCallback = getPreImportFcn(topRef)
    newCallback = 
    'myPreImportScript2'
    

    The script myPreImportScript2 uses slreq.getCurrentImportOptions to get the import options, then specifies the attribute mapping file to use during import.

    type myPreImportScript2.m
    importOptions = slreq.getCurrentImportOptions;
    importOptions.MappingFile = "myMappingFile2.xml";
    

    The mapping file myMappingFile2.xml maps these attributes from the ReqIF™ file to these properties in Requirements Toolbox™:

    • ReqSum to Summary

    • Desc to Description

    • ID to Custom ID

    Update the requirement set. The PreImportFcn callback script also executes when you update the requirement set.

    updateReferences(rs,topRef);

    Get the custom ID for the requirement with Index set to 1.

    req1 = find(rs,Index="1");
    cID = req1.CustomId
    cID = 
    'A1'
    

    Output Arguments

    collapse all

    Version History

    Introduced in R2022a