RULE plib_property_reference_requires_name_scope FOR (externally_defined_general_property); LOCAL known_sourced_properties : SET OF externally_defined_general_property; END_LOCAL; known_sourced_properties := QUERY( edc <* externally_defined_general_property | 'PLIB_CLASS_REFERENCE_MIM.' + 'KNOWN_SOURCE' IN TYPEOF(edc.source) ); WHERE wr1: SIZEOF ( QUERY ( edgp <* known_sourced_properties | ( SIZEOF ( QUERY ( edir <* USEDIN ( edgp, 'EXTERNAL_REFERENCE_SCHEMA.' + 'EXTERNALLY_DEFINED_ITEM_RELATIONSHIP.RELATING_ITEM' )| ( edir.name = 'name scope' ) AND ('EXTERNAL_CLASS_MIM.' + 'EXTERNALLY_DEFINED_CLASS' IN TYPEOF ( edir.related_item ) ) AND ( 'PLIB_CLASS_REFERENCE_MIM.' + 'KNOWN_SOURCE' IN TYPEOF ( edir.related_item.source ) ) ) ) <>1 ) ) ) = 0; END_RULE; -- plib_property_reference_requires_name_scope |
public class RPlib_property_reference_requires_name_scope public int rWr1(SdaiContext _context) public int run(SdaiContext _context, A_string violations) |