<HTML><HEAD><link type="text/css" href="../css/main_styles.css" rel="stylesheet"></HEAD>
<BODY><TITLE>%mqc_fam_check_member_names</TITLE><H1>%mqc_fam_check_member_names </H1><P CLASS="Paragraph">Classname: <B>%mqc_fam_check_member_names </B></P><P CLASS="Paragraph">Inherits from: <B><A href=..\checkmate\xug_base_checker.html>%ug_base_checker </A></B></P><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"> </PRE><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"> 
<B>Description:</B>
   List all part family members, whose name does not
   match the naming requirements.
 Parameters:
     (String)  rexp_rule          -  regular expression.
                                     Default is "".
     (Boolean)  disabled?         -  If it is true, the checker is disabled.
                                     Default is False.
     (Boolean)  save_log_in_part  -  The flag indicates whether the checking results can
                                     be saved to the part file
                                     Default is True.
     (Integer)  log_type          -  Indicate which logging type to use to report the violation.
                                      1 - LOG_ERROR,
                                      2 - LOG_WARNING,
                                      3 - LOG_INFO,
                                      Default is 1 to log error.
     (String)  log_msg            -  User defined message to be added when the system reports the violation.
                                     Default is an empty string.
 Result:  None
</PRE><PRE><FONT COLOR= blue>DefClass: %mqc_fam_check_member_names( %ug_base_checker );
</FONT></PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>( String )                      %test_category: "Modeling.Part Family";
( String )                      %displayed_name: "Validate part family member names";

</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>( list )                        log_type_option: { LOG_ERROR, 
                                                   LOG_WARNING, 
                                                   LOG_INFO};
( string )                      log_type_label: "Log Option";


</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>( string )                      log_msg_label: "Log Message";

</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>( Boolean Parameter )           disabled?: false;
( Boolean Parameter )           save_log_in_part: true;
( Integer Parameter )           log_type: 1;
( string Parameter )            log_msg: "";
( String Parameter )            rexp_rule: "";
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">  checking ...</PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>( String )                      rexp_rule_label: "Name matching regular expression";


</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue> ( any Uncached ) do_check:
 
If ( rexp_rule: = "" )
       
Then ug_mqc_log( LOG_WARNING, {}, "The parameter 'Name matching regular expression' is empty." )

Else If ( ug_rexp_is_valid( rexp_rule: ) = false )
       
then ug_mqc_log( LOG_WARNING, {},"Invalid regular expression." )

Else
@{
    $usr_msg << If ( "" = log_msg: ) Then "" Else log_msg: + "~n";

    If ( mqc_fam_is_template?( "" ) )
    Then
    @{
        $member_names << mqc_fam_ask_member_names( "", "" );

        $error_members << If ( Empty?( $member_names ) )
                          Then
                          @{
                              ug_mqc_log( LOG_INFO, {}, 
                                          $usr_msg + 
                                          "This is an empty part family template." );
                              {};
                          }
                          Else Loop
                          {
                             For  $member_index  From  1  To  Length( $member_names );
                             For  $member_name   Is    Nth( $member_index, $member_names );
                             If ( -ug_rexp_match( $member_name, rexp_rule: ) )
                             Append  { $member_name };
                          };

        If ( Empty?( $error_members ) )
        Then ug_mqc_lprintf( {"MQC debug: Either all member names match the rule or no members in template."} )
        Else
        @{
            $error_member_num << Length( $error_members );
            $error_member_str << "~n     "+
                                 mqc_list_to_string( $error_members, "~n    " );

            ug_mqc_log( Nth( log_type:, log_type_option: ), {},
                        $usr_msg +
                        "Regular Expression naming pattern is: " + rexp_rule: +
                        "~nFound "+Stringvalue( $error_member_num ) +
                        " member(s), that do not match naming rule." +
                        "~nFollowing list the error member(s):" +
                        $error_member_str );
        };
    }
    Else  ug_mqc_log( LOG_INFO, {}, $usr_msg + "This is not a part family template part." );
};

</SPAN></FONT></PRE></DIV></TABLE><p class=EndLine>&nbsp;</p><p class=blank>&nbsp;</p></BODY></HTML>