|
RULE restrict_concept_feature_operator FOR (concept_feature_operator); WHERE wr1: SIZEOF ( QUERY ( cfo <* concept_feature_operator | NOT ( cfo . name IN [ 'and' , 'or' , 'oneof' , 'not' , 'implication' ] ) ) ) = 0 ; wr2: SIZEOF ( QUERY ( cfo <* concept_feature_operator | ( cfo . name = 'implication' ) AND ( SIZEOF ( QUERY ( cfrwc <* USEDIN ( cfo , 'product_concept_schema.' + 'concept_feature_relationship_with_condition.' + 'conditional_operator' ) | SIZEOF ( QUERY ( ccf <* USEDIN ( cfrwc , 'product_concept_schema.' + 'conditional_concept_feature.condition' ) | NOT ( 'product_class_mim.' + 'inclusion_product_concept_feature' IN TYPEOF ( ccf ) ) ) ) > 0 ) ) > 0 ) ) ) = 0 ; wr3: SIZEOF ( QUERY ( cfo <* concept_feature_operator | ( cfo . name = 'not' ) AND ( SIZEOF ( QUERY ( cfrwc <* USEDIN ( cfo , 'product_concept_schema.' + 'concept_feature_relationship_with_condition.conditional_operator' ) | cfrwc . related_product_concept_feature :<>: cfrwc . relating_product_concept_feature ) ) > 0 ) ) ) = 0 ; END_RULE; -- restrict_concept_feature_operator |
|
public class RRestrict_concept_feature_operator public int rWr3(SdaiContext _context) public int rWr2(SdaiContext _context) public int rWr1(SdaiContext _context) public int run(SdaiContext _context, A_string violations) |