<HTML><HEAD><link type="text/css" href="../css/main_styles.css" rel="stylesheet"></HEAD>
<BODY><TITLE>%mqc_empty_part_attribute</TITLE><H1>%mqc_empty_part_attribute  </H1><P CLASS="Paragraph">Classname: <B>%mqc_empty_part_attribute  </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 the part attributes which do not have values.
Parameters:
    (String)   Part_attributes  -  part attribute names. Multiple names are separated by commas.
                                   If it is empty string (i.e. ""), the check will apply to all
                                   the part attributes.
    (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 3 to log info.
    (String)   log_msg          -  User defined message to be added when the system
                                   reports the violation.
                                   Default is an empty string.
Results:
   list all attribute with empty value
</PRE><PRE><FONT COLOR= blue>DefClass: %mqc_empty_part_attribute ( %ug_base_checker );
</FONT></PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   ( String )               %test_category: "Get Information.File Structure";
   ( String )               %displayed_name: "Attributes with no values assigned";
   
</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;
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">   Attributes for this class</PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>(String)                    Part_attributes_label:        "Part Attribute to Check";

</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 Parameter)          Part_attributes:              "";
( Integer Parameter )       log_type: 3;
( string Parameter )        log_msg: "";
</SPAN></FONT></PRE></DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\">   Checker function</PRE><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>( string )                  log_msg_label: "Additional Message";
(list)                      PA_list: mqc_removePreSufBlank( splitstring(  Part_attributes: , ",") );
   
</SPAN></FONT></PRE></DIV><DIV><PRE STYLE=\"text-align : left;\" CLASS=\"Code\"><FONT COLOR=blue>   (Any Uncached)   do_check: 
@{ 
	    $usr_msg << If ( log_msg: = "" ) 
	                Then "" 
	                Else log_msg: + "~n";

	    $all_attrs_info << mqc_askPartAttributeInfo();
	    
	    If  ( Empty?( $all_attrs_info) )  
	    Then 
	         Ug_mqc_log( LOG_INFO, {}, "No part attributes found in the part file.")
	         
	    Else @{
	            $attr_titles <<  First($all_attrs_info);
	    	    $attr_vals <<  Second($all_attrs_info);	    

		    $empty_attrs << 
			    Loop {
				    For $each_title  In   $attr_titles;
				    For $each_val    In   $attr_vals;
				    Append 
					   If        ($each_val = "")  
					   Then   {$each_title }
					   Else    {};
				     };

		    $empty_attrs_ck << 
			If    ( !Empty?( PA_list: ) & !Empty?( $empty_attrs ) )   
			Then
			   setintersection (PA_list: , $empty_attrs)
			Else    $empty_attrs;

		    If     !Empty?($empty_attrs_ck)
		    Then   
		    @{ 
			$detail_msg << "Found " + StringValue( Length( $empty_attrs_ck ) )  + 
			" attributes without values.~n ";
			$attr_titles << mqc_list_to_string($empty_attrs_ck, "~n");

		        Ug_mqc_log( Nth(log_type:, log_type_option:), {}, 
		        $usr_msg + $detail_msg + $attr_titles);
		      }
		    Else     Donothing;
	    };
   };
</SPAN></FONT></PRE></DIV></TABLE><p class=EndLine>&nbsp;</p><p class=blank>&nbsp;</p></BODY></HTML>