Overview Schemas Index

SHAPE_DATA_QUALITY_CRITERIA_SCHEMA (jsdai.SShape_data_quality_criteria_schema)


FUNCTION validate_measured_data_type
          (ei : shape_data_quality_criterion; type_string : STRING) : LOGICAL;

LOCAL
       sdqir: SET  OF
        SHAPE_DATA_QUALITY_INSPECTION_RESULT:=[];
       sdcr: SET  OF
        SHAPE_DATA_QUALITY_INSPECTION_CRITERION_REPORT:=[];
       sdir: SET  OF
        SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT:=[];
       sdii: SET OF
        SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM:=[];
       sdei: BAG OF
        INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES:=[];
     END_LOCAL;
  
     -- STEP-1
     -- collect all shape_data_quality_inspection_criterion_report instances,
     -- all shape_data_quality_inspection_instance_report_item instances, and
     -- instance_report_item_with_extreme_instances instances
     -- associated WITH the given shape_data_quality_criterion
     -- via shape_data_quality_inspection_result.
  
     sdqir := QUERY(q <* bag_to_set(USEDIN(ei,
                   'PRODUCT_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+
                   'DATA_QUALITY_INSPECTION_RESULT.'+
                   'CRITERION_INSPECTED'))|
           'SHAPE_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+
           'SHAPE_DATA_QUALITY_INSPECTION_RESULT'
            IN  TYPEOF(q));
     IF(SIZEOF(sdqir) = 0) THEN
       RETURN(TRUE);
     END_IF;
     REPEAT  i:= 1 TO  SIZEOF(sdqir);
       sdcr := sdcr + QUERY(q <* bag_to_set(USEDIN(sdqir[i],
                   'PRODUCT_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+
                   'DATA_QUALITY_INSPECTION_REPORT.'+
                   'INSPECTION_RESULT'))|
           'SHAPE_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+
           'SHAPE_DATA_QUALITY_INSPECTION_CRITERION_REPORT'
            IN  TYPEOF(q));
     END_REPEAT;
     REPEAT  i:= 1 TO  SIZEOF(sdqir);
       sdir := sdir + QUERY(q <* bag_to_set(USEDIN(sdqir[i],
                   'PRODUCT_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+
                   'DATA_QUALITY_INSPECTION_REPORT.'+
                   'INSPECTION_RESULT'))|
           'SHAPE_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+
           'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT'
            IN  TYPEOF(q));
     END_REPEAT;
  
     -- IF there is no report, THEN  RETURN true.
     IF((SIZEOF(sdcr) = 0) AND (SIZEOF(sdir) = 0)) THEN
       RETURN(TRUE);
     END_IF;
  
     REPEAT  i:= 1 TO  SIZEOF(sdir);
       sdii := sdii + QUERY(q <* sdir[i].inspected_instances|
           'SHAPE_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+
           'SHAPE_DATA_QUALITY_INSPECTION_INSTANCE_REPORT_ITEM'
            IN  TYPEOF(q));
     END_REPEAT;
     REPEAT  i:= 1 TO  SIZEOF(sdir);
       sdei := sdei + QUERY(q <* sdir[i].inspected_instances|
           'SHAPE_DATA_QUALITY_INSPECTION_RESULT_SCHEMA.'+
           'INSTANCE_REPORT_ITEM_WITH_EXTREME_INSTANCES'
            IN TYPEOF(q));
     END_REPEAT;
  
     -- When reports exist, THEN perform the following checking process.  
     -- Check representative_measured_value OF  
     -- shape_data_quality_inspection_criterion_report
     REPEAT  i:= 1 TO  SIZEOF(sdcr);
      IF(NOT(type_string IN
         TYPEOF(sdcr[i].representative_measured_value))) THEN
         RETURN(FALSE);
       END_IF;
     END_REPEAT;
  
     -- Check measured_value OF  shape_data_quality_inspection_
     -- instance_report_item
     REPEAT  i:= 1 TO  SIZEOF(sdii);
       IF(NOT(type_string IN
         TYPEOF(sdii[i].measured_value))) THEN
         RETURN(FALSE);
       END_IF;
     END_REPEAT;
  
     -- Check measured_value OF extreme_instances of
     -- instance_report_item_with_extreme_instance
     REPEAT  i:= 1 TO  SIZEOF(sdei);
       REPEAT j:= 1 TO SIZEOF(sdei[i].extreme_instances);
         IF(NOT(type_string IN
           TYPEOF(sdei[i].extreme_instances[j].measured_value)))
         THEN
           RETURN(FALSE);
         END_IF;
       END_REPEAT;
     END_REPEAT;
  
     RETURN(TRUE);

END_FUNCTION; -- validate_measured_data_type

public class FValidate_measured_data_type
          public static Value run(SdaiContext _context, Value ei, Value type_string)